From fb8ddee01dd2bef7399e0b4d0b21521b977f1753 Mon Sep 17 00:00:00 2001 From: HybridDog Date: Wed, 28 May 2014 20:59:13 +0200 Subject: [PATCH] init --- game.conf | 1 + mods/3dforniture/crafting.lua | 179 + mods/3dforniture/depends.txt | 1 + mods/3dforniture/init.lua | 92 + mods/3dforniture/nodes.001 | 825 ++ mods/3dforniture/nodes.002 | 798 ++ mods/3dforniture/nodes.lua | 753 ++ .../sounds/3dforniture_dig_toilet.ogg | Bin 0 -> 21791 bytes .../textures/3dforniture_inv_chains.png | Bin 0 -> 5150 bytes .../textures/3dforniture_inv_shower_head.png | Bin 0 -> 3965 bytes .../textures/3dforniture_inv_shower_tray.png | Bin 0 -> 4540 bytes .../textures/3dforniture_inv_sink.png | Bin 0 -> 3877 bytes .../textures/3dforniture_inv_taps.png | Bin 0 -> 4236 bytes .../textures/3dforniture_inv_torch_wall.png | Bin 0 -> 4040 bytes .../textures/forniture_armchair_lat1.png | Bin 0 -> 1624 bytes .../textures/forniture_armchair_lat2.png | Bin 0 -> 1524 bytes .../textures/forniture_armchair_top.png | Bin 0 -> 1801 bytes .../textures/forniture_black_metal.png | Bin 0 -> 1388 bytes .../textures/forniture_black_metal_s1.png | Bin 0 -> 1450 bytes .../textures/forniture_black_metal_s2.png | Bin 0 -> 1304 bytes .../3dforniture/textures/forniture_marble.png | Bin 0 -> 4724 bytes .../forniture_marble_base_ducha_top.png | Bin 0 -> 5473 bytes .../textures/forniture_marble_s1.png | Bin 0 -> 4522 bytes .../textures/forniture_marble_s2.png | Bin 0 -> 5042 bytes .../textures/forniture_marble_sb1.png | Bin 0 -> 4456 bytes .../textures/forniture_marble_sb2.png | Bin 0 -> 4997 bytes .../textures/forniture_marble_top_sink.png | Bin 0 -> 5350 bytes .../textures/forniture_marble_top_toilet.png | Bin 0 -> 4926 bytes mods/3dforniture/textures/forniture_metal.png | Bin 0 -> 1528 bytes .../textures/forniture_metal_s1.png | Bin 0 -> 1413 bytes .../textures/forniture_metal_s2.png | Bin 0 -> 1544 bytes .../textures/forniture_papyrus.png | Bin 0 -> 550 bytes .../textures/forniture_papyrus_s1.png | Bin 0 -> 605 bytes .../textures/forniture_papyrus_s2.png | Bin 0 -> 643 bytes .../textures/forniture_table_lamp_l.png | Bin 0 -> 3958 bytes .../textures/forniture_table_lamp_s.png | Bin 0 -> 2390 bytes .../textures/forniture_torch_wall_anim.png | Bin 0 -> 4787 bytes .../textures/forniture_torch_wall_i.png | Bin 0 -> 3103 bytes .../textures/forniture_torch_wall_s.png | Bin 0 -> 3036 bytes mods/3dforniture/textures/forniture_wood.png | Bin 0 -> 1176 bytes .../textures/forniture_wood_s1.png | Bin 0 -> 1183 bytes .../textures/forniture_wood_s2.png | Bin 0 -> 1174 bytes mods/bags/depends.txt | 1 + mods/bags/init.lua | 140 + mods/bags/textures/bags_large.png | Bin 0 -> 572 bytes mods/bags/textures/bags_medium.png | Bin 0 -> 797 bytes mods/bags/textures/bags_small.png | Bin 0 -> 572 bytes mods/beds/README.txt | 47 + mods/beds/depends.txt | 2 + mods/beds/init.lua | 232 + mods/beds/textures/beds_bed_side.png | Bin 0 -> 536 bytes mods/beds/textures/beds_bed_side_top_l.png | Bin 0 -> 500 bytes mods/beds/textures/beds_bed_side_top_r.png | Bin 0 -> 502 bytes mods/beds/textures/beds_bed_top_bottom.png | Bin 0 -> 539 bytes mods/beds/textures/beds_bed_top_top.png | Bin 0 -> 605 bytes mods/boats/README.txt | 16 + mods/boats/depends.txt | 1 + mods/boats/init.lua | 158 + mods/boats/models/boat.x | 11110 ++++++++++++++++ mods/boats/textures/boat_inventory.png | Bin 0 -> 1495 bytes mods/boats/textures/boat_wield.png | Bin 0 -> 985 bytes mods/bobtraps/depends.txt | 2 + mods/bobtraps/init.lua | 183 + mods/bobtraps/readme.txt | 51 + mods/bobtraps/sounds/bobtraps_trap_fall.ogg | Bin 0 -> 12025 bytes .../sounds/bobtraps_trap_fall_major.ogg | Bin 0 -> 23782 bytes .../bobtraps/textures/bobtraps_majorspike.png | Bin 0 -> 3190 bytes .../bobtraps/textures/bobtraps_minorspike.png | Bin 0 -> 3190 bytes mods/bobtraps/textures/bobtraps_trap_set.png | Bin 0 -> 3211 bytes mods/bridges/README.md | 71 + mods/bridges/depends.txt | 1 + mods/bridges/init.lua | 355 + mods/bucket/README.txt | 26 + mods/bucket/depends.txt | 2 + mods/bucket/init.lua | 96 + mods/bucket/textures/bucket.png | Bin 0 -> 329 bytes mods/bucket/textures/bucket_lava.png | Bin 0 -> 363 bytes mods/bucket/textures/bucket_water.png | Bin 0 -> 369 bytes mods/camouflage/default_dirt.png | Bin 0 -> 942 bytes mods/camouflage/depends.txt | 1 + mods/camouflage/init.lua | 44 + mods/camouflage/textures/camo_ladder.png | Bin 0 -> 528 bytes mods/camouflage/textures/dirt.png | Bin 0 -> 905 bytes mods/camouflage/textures/grass.png | Bin 0 -> 874 bytes mods/camouflage/textures/grass_side.png | Bin 0 -> 878 bytes mods/camouflage/textures/leaves.png | Bin 0 -> 679 bytes mods/carts/README.txt | 22 + mods/carts/depends.txt | 1 + mods/carts/functions.lua | 56 + mods/carts/init.lua | 475 + mods/carts/models/cart.png | Bin 0 -> 422 bytes mods/carts/models/cart.x | 339 + mods/carts/textures/cart_bottom.png | Bin 0 -> 154 bytes mods/carts/textures/cart_side.png | Bin 0 -> 192 bytes mods/carts/textures/cart_top.png | Bin 0 -> 262 bytes mods/conifers/c1.jpg | Bin 0 -> 36071 bytes mods/conifers/c2.jpg | Bin 0 -> 37315 bytes mods/conifers/c3.jpg | Bin 0 -> 33340 bytes mods/conifers/depends.txt | 1 + mods/conifers/init.lua | 524 + mods/conifers/textures/conifers_leaves.png | Bin 0 -> 333 bytes .../textures/conifers_leaves_special.png | Bin 0 -> 367 bytes mods/conifers/textures/conifers_sapling.png | Bin 0 -> 454 bytes mods/conifers/textures/conifers_trunk.png | Bin 0 -> 699 bytes .../textures/conifers_trunk_reversed.png | Bin 0 -> 721 bytes mods/conifers/textures/conifers_trunktop.png | Bin 0 -> 768 bytes mods/creative/README.txt | 22 + mods/creative/init.lua | 116 + mods/default/README.txt | 95 + mods/default/init.lua | 1798 +++ mods/default/leafdecay.lua | 92 + mods/default/mapgen.lua | 292 + mods/default/models/character.blend | Bin 0 -> 581808 bytes mods/default/models/character.png | Bin 0 -> 2055 bytes mods/default/models/character.x | 6557 +++++++++ mods/default/player.lua | 132 + mods/default/sounds/default_break_glass.1.ogg | Bin 0 -> 11130 bytes mods/default/sounds/default_break_glass.2.ogg | Bin 0 -> 16058 bytes mods/default/sounds/default_break_glass.3.ogg | Bin 0 -> 12257 bytes mods/default/sounds/default_dig_choppy.ogg | Bin 0 -> 6087 bytes mods/default/sounds/default_dig_cracky.ogg | Bin 0 -> 6982 bytes mods/default/sounds/default_dig_crumbly.1.ogg | Bin 0 -> 6431 bytes mods/default/sounds/default_dig_crumbly.2.ogg | Bin 0 -> 5429 bytes .../sounds/default_dig_dig_immediate.ogg | Bin 0 -> 5625 bytes .../default_dig_oddly_breakable_by_hand.ogg | Bin 0 -> 6087 bytes mods/default/sounds/default_dug_node.1.ogg | Bin 0 -> 6184 bytes .../sounds/default_grass_footstep.1.ogg | Bin 0 -> 7014 bytes .../sounds/default_grass_footstep.2.ogg | Bin 0 -> 6953 bytes .../sounds/default_grass_footstep.3.ogg | Bin 0 -> 6658 bytes .../sounds/default_gravel_footstep.1.ogg | Bin 0 -> 6923 bytes .../sounds/default_gravel_footstep.2.ogg | Bin 0 -> 6240 bytes .../sounds/default_gravel_footstep.3.ogg | Bin 0 -> 5470 bytes .../sounds/default_gravel_footstep.4.ogg | Bin 0 -> 5906 bytes .../sounds/default_hard_footstep.1.ogg | Bin 0 -> 6634 bytes .../sounds/default_hard_footstep.2.ogg | Bin 0 -> 6852 bytes mods/default/sounds/default_place_node.1.ogg | Bin 0 -> 5625 bytes mods/default/sounds/default_place_node.2.ogg | Bin 0 -> 5726 bytes mods/default/sounds/default_place_node.3.ogg | Bin 0 -> 5585 bytes mods/default/textures/crack_anylength.png | Bin 0 -> 1076 bytes mods/default/textures/default_apple.png | Bin 0 -> 283 bytes mods/default/textures/default_book.png | Bin 0 -> 292 bytes mods/default/textures/default_bookshelf.png | Bin 0 -> 597 bytes mods/default/textures/default_brick.png | Bin 0 -> 626 bytes mods/default/textures/default_cactus_side.png | Bin 0 -> 763 bytes mods/default/textures/default_cactus_top.png | Bin 0 -> 682 bytes mods/default/textures/default_chest_front.png | Bin 0 -> 769 bytes mods/default/textures/default_chest_lock.png | Bin 0 -> 871 bytes mods/default/textures/default_chest_side.png | Bin 0 -> 714 bytes mods/default/textures/default_chest_top.png | Bin 0 -> 628 bytes mods/default/textures/default_clay.png | Bin 0 -> 613 bytes mods/default/textures/default_clay_brick.png | Bin 0 -> 271 bytes mods/default/textures/default_clay_lump.png | Bin 0 -> 210 bytes mods/default/textures/default_cloud.png | Bin 0 -> 118 bytes mods/default/textures/default_coal_lump.png | Bin 0 -> 933 bytes mods/default/textures/default_cobble.png | Bin 0 -> 744 bytes mods/default/textures/default_desert_sand.png | Bin 0 -> 627 bytes .../default/textures/default_desert_stone.png | Bin 0 -> 517 bytes mods/default/textures/default_dirt.png | Bin 0 -> 888 bytes mods/default/textures/default_dry_shrub.png | Bin 0 -> 450 bytes mods/default/textures/default_fence.png | Bin 0 -> 539 bytes .../textures/default_furnace_bottom.png | Bin 0 -> 731 bytes .../textures/default_furnace_fire_bg.png | Bin 0 -> 313 bytes .../textures/default_furnace_fire_fg.png | Bin 0 -> 865 bytes .../textures/default_furnace_front.png | Bin 0 -> 651 bytes .../textures/default_furnace_front_active.png | Bin 0 -> 826 bytes .../default/textures/default_furnace_side.png | Bin 0 -> 731 bytes mods/default/textures/default_furnace_top.png | Bin 0 -> 731 bytes mods/default/textures/default_glass.png | Bin 0 -> 978 bytes mods/default/textures/default_grass.png | Bin 0 -> 794 bytes .../textures/default_grass_footsteps.png | Bin 0 -> 856 bytes mods/default/textures/default_grass_side.png | Bin 0 -> 925 bytes mods/default/textures/default_gravel.png | Bin 0 -> 591 bytes mods/default/textures/default_iron_lump.png | Bin 0 -> 936 bytes mods/default/textures/default_junglegrass.png | Bin 0 -> 672 bytes mods/default/textures/default_jungletree.png | Bin 0 -> 751 bytes .../textures/default_jungletree_top.png | Bin 0 -> 865 bytes mods/default/textures/default_ladder.png | Bin 0 -> 395 bytes mods/default/textures/default_lava.png | Bin 0 -> 772 bytes .../default_lava_flowing_animated.png | Bin 0 -> 8715 bytes .../textures/default_lava_source_animated.png | Bin 0 -> 3481 bytes mods/default/textures/default_leaves.png | Bin 0 -> 451 bytes mods/default/textures/default_mese.png | Bin 0 -> 203 bytes .../default/textures/default_mineral_coal.png | Bin 0 -> 952 bytes .../default/textures/default_mineral_iron.png | Bin 0 -> 1614 bytes mods/default/textures/default_mossycobble.png | Bin 0 -> 988 bytes mods/default/textures/default_nc_back.png | Bin 0 -> 316 bytes mods/default/textures/default_nc_front.png | Bin 0 -> 378 bytes mods/default/textures/default_nc_rb.png | Bin 0 -> 205 bytes mods/default/textures/default_nc_side.png | Bin 0 -> 226 bytes mods/default/textures/default_paper.png | Bin 0 -> 242 bytes mods/default/textures/default_papyrus.png | Bin 0 -> 664 bytes mods/default/textures/default_rail.png | Bin 0 -> 507 bytes .../textures/default_rail_crossing.png | Bin 0 -> 555 bytes mods/default/textures/default_rail_curved.png | Bin 0 -> 545 bytes .../textures/default_rail_t_junction.png | Bin 0 -> 542 bytes mods/default/textures/default_sand.png | Bin 0 -> 732 bytes mods/default/textures/default_sandstone.png | Bin 0 -> 772 bytes mods/default/textures/default_sapling.png | Bin 0 -> 358 bytes .../textures/default_scorched_stuff.png | Bin 0 -> 233 bytes mods/default/textures/default_sign_wall.png | Bin 0 -> 617 bytes mods/default/textures/default_steel_block.png | Bin 0 -> 219 bytes mods/default/textures/default_steel_ingot.png | Bin 0 -> 207 bytes mods/default/textures/default_stick.png | Bin 0 -> 182 bytes mods/default/textures/default_stone.png | Bin 0 -> 558 bytes mods/default/textures/default_tnt_bottom.png | Bin 0 -> 161 bytes mods/default/textures/default_tnt_side.png | Bin 0 -> 186 bytes mods/default/textures/default_tnt_top.png | Bin 0 -> 264 bytes .../textures/default_tool_mesepick.png | Bin 0 -> 341 bytes .../textures/default_tool_steelaxe.png | Bin 0 -> 927 bytes .../textures/default_tool_steelpick.png | Bin 0 -> 322 bytes .../textures/default_tool_steelshovel.png | Bin 0 -> 216 bytes .../textures/default_tool_steelsword.png | Bin 0 -> 317 bytes .../textures/default_tool_stoneaxe.png | Bin 0 -> 931 bytes .../textures/default_tool_stonepick.png | Bin 0 -> 365 bytes .../textures/default_tool_stoneshovel.png | Bin 0 -> 203 bytes .../textures/default_tool_stonesword.png | Bin 0 -> 301 bytes .../default/textures/default_tool_woodaxe.png | Bin 0 -> 927 bytes .../textures/default_tool_woodpick.png | Bin 0 -> 307 bytes .../textures/default_tool_woodshovel.png | Bin 0 -> 203 bytes .../textures/default_tool_woodsword.png | Bin 0 -> 255 bytes mods/default/textures/default_torch.png | Bin 0 -> 252 bytes .../textures/default_torch_animated.png | Bin 0 -> 1441 bytes .../textures/default_torch_on_ceiling.png | Bin 0 -> 245 bytes .../default_torch_on_ceiling_animated.png | Bin 0 -> 1302 bytes .../textures/default_torch_on_floor.png | Bin 0 -> 282 bytes .../default_torch_on_floor_animated.png | Bin 0 -> 1355 bytes mods/default/textures/default_tree.png | Bin 0 -> 706 bytes mods/default/textures/default_tree_top.png | Bin 0 -> 843 bytes mods/default/textures/default_water.png | Bin 0 -> 710 bytes .../default_water_flowing_animated.png | Bin 0 -> 5972 bytes .../default_water_source_animated.png | Bin 0 -> 5170 bytes mods/default/textures/default_wood.png | Bin 0 -> 387 bytes mods/default/textures/heart.png | Bin 0 -> 308 bytes mods/default/textures/player.png | Bin 0 -> 21512 bytes mods/default/textures/player_back.png | Bin 0 -> 19781 bytes mods/default/textures/treeprop.png | Bin 0 -> 483 bytes mods/default/textures/wieldhand.png | Bin 0 -> 384 bytes mods/desert_uses | 1 + mods/digicode/depends.txt | 2 + mods/digicode/init.lua | 110 + mods/digicode/textures/digicode_front.png | Bin 0 -> 1143 bytes mods/digicode/textures/digicode_side.png | Bin 0 -> 229 bytes mods/dye/README.txt | 15 + mods/dye/depends.txt | 0 mods/dye/init.lua | 134 + mods/dye/textures/dye_black.png | Bin 0 -> 364 bytes mods/dye/textures/dye_blue.png | Bin 0 -> 352 bytes mods/dye/textures/dye_brown.png | Bin 0 -> 348 bytes mods/dye/textures/dye_cyan.png | Bin 0 -> 370 bytes mods/dye/textures/dye_dark_green.png | Bin 0 -> 367 bytes mods/dye/textures/dye_dark_grey.png | Bin 0 -> 371 bytes mods/dye/textures/dye_green.png | Bin 0 -> 376 bytes mods/dye/textures/dye_grey.png | Bin 0 -> 374 bytes mods/dye/textures/dye_magenta.png | Bin 0 -> 380 bytes mods/dye/textures/dye_orange.png | Bin 0 -> 374 bytes mods/dye/textures/dye_pink.png | Bin 0 -> 364 bytes mods/dye/textures/dye_red.png | Bin 0 -> 381 bytes mods/dye/textures/dye_violet.png | Bin 0 -> 376 bytes mods/dye/textures/dye_white.png | Bin 0 -> 375 bytes mods/dye/textures/dye_yellow.png | Bin 0 -> 389 bytes mods/exchange/depends.txt | 1 + mods/exchange/init.lua | 148 + mods/farming/README.txt | 46 + mods/farming/cactus.lua | 22 + mods/farming/changelog.txt | 17 + mods/farming/cotton.lua | 93 + mods/farming/depends.txt | 3 + mods/farming/hoes.lua | 83 + mods/farming/init.lua | 212 + mods/farming/papyrus.lua | 25 + mods/farming/pumpkin.lua | 454 + mods/farming/soil.lua | 45 + mods/farming/textures/farming_bread.png | Bin 0 -> 918 bytes .../textures/farming_bread_pumpkin.png | Bin 0 -> 511 bytes mods/farming/textures/farming_cake_mix.png | Bin 0 -> 343 bytes .../textures/farming_cake_mix_pumpkin.png | Bin 0 -> 343 bytes mods/farming/textures/farming_cotton.png | Bin 0 -> 428 bytes mods/farming/textures/farming_cotton_1.png | Bin 0 -> 359 bytes mods/farming/textures/farming_cotton_2.png | Bin 0 -> 351 bytes mods/farming/textures/farming_cotton_seed.png | Bin 0 -> 280 bytes mods/farming/textures/farming_flour.png | Bin 0 -> 344 bytes mods/farming/textures/farming_hoe_steel.png | Bin 0 -> 338 bytes mods/farming/textures/farming_hoe_stone.png | Bin 0 -> 333 bytes mods/farming/textures/farming_hoe_wood.png | Bin 0 -> 325 bytes .../textures/farming_pumpkin_big_side.png | Bin 0 -> 600 bytes .../textures/farming_pumpkin_big_top.png | Bin 0 -> 600 bytes .../farming_pumpkin_big_top_corner.png | Bin 0 -> 289 bytes .../textures/farming_pumpkin_big_top_side.png | Bin 0 -> 378 bytes .../farming/textures/farming_pumpkin_face.png | Bin 0 -> 622 bytes .../textures/farming_pumpkin_face_light.png | Bin 0 -> 632 bytes .../farming/textures/farming_pumpkin_seed.png | Bin 0 -> 312 bytes .../farming/textures/farming_pumpkin_side.png | Bin 0 -> 627 bytes mods/farming/textures/farming_pumpkin_top.png | Bin 0 -> 623 bytes .../textures/farming_scarecrow_front.png | Bin 0 -> 634 bytes .../farming_scarecrow_front_light.png | Bin 0 -> 641 bytes .../textures/farming_scarecrow_side.png | Bin 0 -> 613 bytes .../textures/farming_scarecrow_top.png | Bin 0 -> 639 bytes mods/farming/textures/farming_soil.png | Bin 0 -> 947 bytes mods/farming/textures/farming_soil_wet.png | Bin 0 -> 880 bytes .../textures/farming_soil_wet_side.png | Bin 0 -> 867 bytes mods/farming/textures/farming_string.png | Bin 0 -> 367 bytes mods/farming/textures/farming_weed.png | Bin 0 -> 591 bytes mods/farming/textures/farming_wheat.png | Bin 0 -> 536 bytes mods/farming/textures/farming_wheat_1.png | Bin 0 -> 540 bytes mods/farming/textures/farming_wheat_2.png | Bin 0 -> 534 bytes mods/farming/textures/farming_wheat_3.png | Bin 0 -> 500 bytes .../textures/farming_wheat_harvested.png | Bin 0 -> 597 bytes mods/farming/textures/farming_wheat_seed.png | Bin 0 -> 286 bytes mods/farming/weed.lua | 40 + mods/farming/wheat.lua | 176 + mods/farming_plus/README.txt | 48 + mods/farming_plus/bananas.lua | 63 + mods/farming_plus/carrots.lua | 89 + mods/farming_plus/cocoa.lua | 73 + mods/farming_plus/depends.txt | 4 + mods/farming_plus/init.lua | 52 + mods/farming_plus/oranges.lua | 89 + mods/farming_plus/potatoes.lua | 72 + mods/farming_plus/rhubarb.lua | 72 + mods/farming_plus/rubber.lua | 104 + mods/farming_plus/strawberries.lua | 89 + mods/farming_plus/textures/farming_banana.png | Bin 0 -> 515 bytes .../textures/farming_banana_leaves.png | Bin 0 -> 621 bytes .../textures/farming_banana_sapling.png | Bin 0 -> 647 bytes .../textures/farming_bucket_rubber.png | Bin 0 -> 317 bytes mods/farming_plus/textures/farming_carrot.png | Bin 0 -> 575 bytes .../textures/farming_carrot_1.png | Bin 0 -> 438 bytes .../textures/farming_carrot_2.png | Bin 0 -> 453 bytes .../textures/farming_carrot_3.png | Bin 0 -> 507 bytes .../textures/farming_carrot_4.png | Bin 0 -> 550 bytes .../textures/farming_carrot_seed.png | Bin 0 -> 476 bytes mods/farming_plus/textures/farming_cocoa.png | Bin 0 -> 535 bytes .../textures/farming_cocoa_bean.png | Bin 0 -> 184 bytes .../textures/farming_cocoa_sapling.png | Bin 0 -> 644 bytes mods/farming_plus/textures/farming_orange.png | Bin 0 -> 504 bytes .../textures/farming_orange_1.png | Bin 0 -> 430 bytes .../textures/farming_orange_2.png | Bin 0 -> 468 bytes .../textures/farming_orange_3.png | Bin 0 -> 544 bytes .../textures/farming_orange_4.png | Bin 0 -> 540 bytes .../textures/farming_orange_seed.png | Bin 0 -> 281 bytes .../farming_plus/textures/farming_potatoe.png | Bin 0 -> 525 bytes .../textures/farming_potatoe_1.png | Bin 0 -> 473 bytes .../textures/farming_potatoe_2.png | Bin 0 -> 502 bytes .../textures/farming_potatoe_3.png | Bin 0 -> 292 bytes .../textures/farming_potatoe_seed.png | Bin 0 -> 221 bytes .../farming_plus/textures/farming_rhubarb.png | Bin 0 -> 502 bytes .../textures/farming_rhubarb_1.png | Bin 0 -> 530 bytes .../textures/farming_rhubarb_2.png | Bin 0 -> 365 bytes .../textures/farming_rhubarb_3.png | Bin 0 -> 301 bytes .../textures/farming_rhubarb_seed.png | Bin 0 -> 219 bytes .../textures/farming_rubber_sapling.png | Bin 0 -> 333 bytes .../textures/farming_rubber_tree_empty.png | Bin 0 -> 835 bytes .../textures/farming_rubber_tree_full.png | Bin 0 -> 808 bytes .../textures/farming_strawberry.png | Bin 0 -> 250 bytes .../textures/farming_strawberry_1.png | Bin 0 -> 356 bytes .../textures/farming_strawberry_2.png | Bin 0 -> 342 bytes .../textures/farming_strawberry_3.png | Bin 0 -> 357 bytes .../textures/farming_strawberry_4.png | Bin 0 -> 400 bytes .../textures/farming_strawberry_seed.png | Bin 0 -> 212 bytes mods/farming_plus/textures/farming_tomato.png | Bin 0 -> 581 bytes .../textures/farming_tomato_1.png | Bin 0 -> 482 bytes .../textures/farming_tomato_2.png | Bin 0 -> 506 bytes .../textures/farming_tomato_3.png | Bin 0 -> 578 bytes .../textures/farming_tomato_4.png | Bin 0 -> 591 bytes .../textures/farming_tomato_seed.png | Bin 0 -> 221 bytes mods/farming_plus/tomatoes.lua | 89 + mods/flowers/.gitignore | 1 + mods/flowers/README | 6 + mods/flowers/changelog.txt | 24 + mods/flowers/copyright.txt | 4 + mods/flowers/depends.txt | 2 + mods/flowers/init.lua | 239 + mods/flowers/license.txt | 3 + mods/flowers/textures/cotton.png | Bin 0 -> 680 bytes mods/flowers/textures/flower_cotton.png | Bin 0 -> 315 bytes mods/flowers/textures/flower_cotton_pot.png | Bin 0 -> 498 bytes .../textures/flower_dandelion_white.png | Bin 0 -> 169 bytes .../textures/flower_dandelion_white_pot.png | Bin 0 -> 464 bytes .../textures/flower_dandelion_yellow.png | Bin 0 -> 166 bytes .../textures/flower_dandelion_yellow_pot.png | Bin 0 -> 462 bytes mods/flowers/textures/flower_geranium.png | Bin 0 -> 361 bytes mods/flowers/textures/flower_geranium_pot.png | Bin 0 -> 520 bytes mods/flowers/textures/flower_pot.png | Bin 0 -> 405 bytes mods/flowers/textures/flower_rose.png | Bin 0 -> 171 bytes mods/flowers/textures/flower_rose_pot.png | Bin 0 -> 479 bytes mods/flowers/textures/flower_seaweed.png | Bin 0 -> 416 bytes mods/flowers/textures/flower_tulip.png | Bin 0 -> 159 bytes mods/flowers/textures/flower_tulip_pot.png | Bin 0 -> 470 bytes mods/flowers/textures/flower_viola.png | Bin 0 -> 140 bytes mods/flowers/textures/flower_viola_pot.png | Bin 0 -> 465 bytes mods/flowers/textures/flower_waterlily.png | Bin 0 -> 221 bytes mods/give_initial_stuff/depends.txt | 2 + mods/give_initial_stuff/init.lua | 12 + mods/glow/depends.txt | 1 + mods/glow/init.lua | 39 + mods/glow/textures/glow_lamp.png | Bin 0 -> 1795 bytes mods/glow/textures/glow_stone.png | Bin 0 -> 1651 bytes mods/homedecor/.gitignore | 1 + mods/homedecor/README | 49 + mods/homedecor/changelog.txt | 89 + mods/homedecor/copyright.txt | 6 + mods/homedecor/crafts.lua | 1715 +++ mods/homedecor/depends.txt | 1 + mods/homedecor/door_models.lua | 317 + mods/homedecor/door_nodes.lua | 268 + mods/homedecor/fences.lua | 498 + mods/homedecor/init.lua | 806 ++ mods/homedecor/kitchen_cabinet.lua | 142 + mods/homedecor/lighting.lua | 342 + mods/homedecor/listnodes.sh | 13 + mods/homedecor/nightstands.lua | 235 + mods/homedecor/oven.lua | 188 + mods/homedecor/refrigerator.lua | 69 + mods/homedecor/television.lua | 27 + .../textures/homedecor_blanktile.png | Bin 0 -> 115 bytes .../textures/homedecor_brass_ingot.png | Bin 0 -> 425 bytes .../textures/homedecor_ceiling_paint.png | Bin 0 -> 524 bytes .../homedecor_ceiling_paint_roller.png | Bin 0 -> 340 bytes .../textures/homedecor_ceiling_tile.png | Bin 0 -> 507 bytes .../textures/homedecor_curtain_blue.png | Bin 0 -> 411 bytes .../textures/homedecor_curtain_green.png | Bin 0 -> 506 bytes .../textures/homedecor_curtain_pink.png | Bin 0 -> 626 bytes .../textures/homedecor_curtain_red.png | Bin 0 -> 431 bytes .../textures/homedecor_curtain_violet.png | Bin 0 -> 454 bytes .../textures/homedecor_curtain_white.png | Bin 0 -> 308 bytes ...decor_door_closet_mahogany_left_bottom.png | Bin 0 -> 1606 bytes ...omedecor_door_closet_mahogany_left_inv.png | Bin 0 -> 3824 bytes ...omedecor_door_closet_mahogany_left_top.png | Bin 0 -> 1598 bytes .../homedecor_door_closet_mahogany_lrb.png | Bin 0 -> 437 bytes .../homedecor_door_closet_mahogany_lrt.png | Bin 0 -> 437 bytes ...ecor_door_closet_mahogany_right_bottom.png | Bin 0 -> 1583 bytes ...medecor_door_closet_mahogany_right_inv.png | Bin 0 -> 3845 bytes ...medecor_door_closet_mahogany_right_top.png | Bin 0 -> 1607 bytes .../homedecor_door_closet_mahogany_tb.png | Bin 0 -> 573 bytes .../homedecor_door_closet_oak_left_bottom.png | Bin 0 -> 1648 bytes .../homedecor_door_closet_oak_left_inv.png | Bin 0 -> 3900 bytes .../homedecor_door_closet_oak_left_top.png | Bin 0 -> 1636 bytes .../homedecor_door_closet_oak_lrb.png | Bin 0 -> 447 bytes .../homedecor_door_closet_oak_lrt.png | Bin 0 -> 447 bytes ...homedecor_door_closet_oak_right_bottom.png | Bin 0 -> 1638 bytes .../homedecor_door_closet_oak_right_inv.png | Bin 0 -> 3917 bytes .../homedecor_door_closet_oak_right_top.png | Bin 0 -> 1644 bytes .../textures/homedecor_door_closet_oak_tb.png | Bin 0 -> 589 bytes ...edecor_door_exterior_fancy_left_bottom.png | Bin 0 -> 706 bytes ...homedecor_door_exterior_fancy_left_inv.png | Bin 0 -> 1379 bytes ...homedecor_door_exterior_fancy_left_top.png | Bin 0 -> 736 bytes .../homedecor_door_exterior_fancy_lrb.png | Bin 0 -> 305 bytes .../homedecor_door_exterior_fancy_lrt.png | Bin 0 -> 305 bytes ...decor_door_exterior_fancy_right_bottom.png | Bin 0 -> 706 bytes ...omedecor_door_exterior_fancy_right_inv.png | Bin 0 -> 1388 bytes ...omedecor_door_exterior_fancy_right_top.png | Bin 0 -> 740 bytes .../homedecor_door_exterior_fancy_tb.png | Bin 0 -> 317 bytes .../homedecor_door_glass_bottom_left.png | Bin 0 -> 364 bytes .../homedecor_door_glass_bottom_right.png | Bin 0 -> 375 bytes .../homedecor_door_glass_left_bottom.png | Bin 0 -> 345 bytes .../homedecor_door_glass_left_inv.png | Bin 0 -> 613 bytes .../homedecor_door_glass_left_top.png | Bin 0 -> 339 bytes .../textures/homedecor_door_glass_lrb.png | Bin 0 -> 199 bytes .../textures/homedecor_door_glass_lrt.png | Bin 0 -> 199 bytes .../homedecor_door_glass_right_bottom.png | Bin 0 -> 345 bytes .../homedecor_door_glass_right_inv.png | Bin 0 -> 640 bytes .../homedecor_door_glass_right_top.png | Bin 0 -> 337 bytes .../textures/homedecor_door_glass_tb.png | Bin 0 -> 188 bytes .../homedecor_door_glass_top_left.png | Bin 0 -> 364 bytes .../homedecor_door_glass_top_right.png | Bin 0 -> 375 bytes .../homedecor_door_wood_glass_inv.png | Bin 0 -> 4022 bytes .../homedecor_door_wood_glass_left_bottom.png | Bin 0 -> 1884 bytes .../homedecor_door_wood_glass_left_inv.png | Bin 0 -> 3984 bytes .../homedecor_door_wood_glass_left_top.png | Bin 0 -> 2072 bytes .../homedecor_door_wood_glass_lrb.png | Bin 0 -> 735 bytes .../homedecor_door_wood_glass_lrt.png | Bin 0 -> 735 bytes ...homedecor_door_wood_glass_mahogany_inv.png | Bin 0 -> 3903 bytes ...r_door_wood_glass_mahogany_left_bottom.png | Bin 0 -> 1830 bytes ...ecor_door_wood_glass_mahogany_left_inv.png | Bin 0 -> 3847 bytes ...ecor_door_wood_glass_mahogany_left_top.png | Bin 0 -> 1995 bytes ...homedecor_door_wood_glass_mahogany_lrb.png | Bin 0 -> 698 bytes ...homedecor_door_wood_glass_mahogany_lrt.png | Bin 0 -> 698 bytes ..._door_wood_glass_mahogany_right_bottom.png | Bin 0 -> 1867 bytes ...cor_door_wood_glass_mahogany_right_inv.png | Bin 0 -> 3791 bytes ...cor_door_wood_glass_mahogany_right_top.png | Bin 0 -> 1925 bytes .../homedecor_door_wood_glass_mahogany_tb.png | Bin 0 -> 698 bytes ...homedecor_door_wood_glass_right_bottom.png | Bin 0 -> 1925 bytes .../homedecor_door_wood_glass_right_inv.png | Bin 0 -> 3923 bytes .../homedecor_door_wood_glass_right_top.png | Bin 0 -> 1988 bytes .../textures/homedecor_door_wood_glass_tb.png | Bin 0 -> 702 bytes .../homedecor_door_wood_glass_white_inv.png | Bin 0 -> 2125 bytes ...ecor_door_wood_glass_white_left_bottom.png | Bin 0 -> 1090 bytes ...medecor_door_wood_glass_white_left_inv.png | Bin 0 -> 2127 bytes ...medecor_door_wood_glass_white_left_top.png | Bin 0 -> 1125 bytes .../homedecor_door_wood_glass_white_lrb.png | Bin 0 -> 443 bytes .../homedecor_door_wood_glass_white_lrt.png | Bin 0 -> 443 bytes ...cor_door_wood_glass_white_right_bottom.png | Bin 0 -> 1103 bytes ...edecor_door_wood_glass_white_right_inv.png | Bin 0 -> 2095 bytes ...edecor_door_wood_glass_white_right_top.png | Bin 0 -> 1093 bytes .../homedecor_door_wood_glass_white_tb.png | Bin 0 -> 396 bytes .../homedecor_door_wood_plain_left_bottom.png | Bin 0 -> 2207 bytes .../homedecor_door_wood_plain_left_inv.png | Bin 0 -> 4975 bytes .../homedecor_door_wood_plain_left_top.png | Bin 0 -> 2167 bytes .../homedecor_door_wood_plain_lrb.png | Bin 0 -> 724 bytes .../homedecor_door_wood_plain_lrt.png | Bin 0 -> 724 bytes ...homedecor_door_wood_plain_right_bottom.png | Bin 0 -> 2206 bytes .../homedecor_door_wood_plain_right_inv.png | Bin 0 -> 4963 bytes .../homedecor_door_wood_plain_right_top.png | Bin 0 -> 2157 bytes .../textures/homedecor_door_wood_plain_tb.png | Bin 0 -> 697 bytes .../textures/homedecor_drawer_large.png | Bin 0 -> 313 bytes .../textures/homedecor_drawer_small.png | Bin 0 -> 386 bytes .../textures/homedecor_fence_barbed_wire.png | Bin 0 -> 522 bytes ...edecor_fence_barbed_wire_gate_backside.png | Bin 0 -> 562 bytes ...homedecor_fence_barbed_wire_gate_edges.png | Bin 0 -> 397 bytes ...homedecor_fence_barbed_wire_gate_front.png | Bin 0 -> 529 bytes .../textures/homedecor_fence_brass.png | Bin 0 -> 399 bytes .../textures/homedecor_fence_chainlink_fb.png | Bin 0 -> 500 bytes ...omedecor_fence_chainlink_gate_backside.png | Bin 0 -> 601 bytes .../homedecor_fence_chainlink_gate_front.png | Bin 0 -> 591 bytes .../homedecor_fence_chainlink_gate_sides.png | Bin 0 -> 505 bytes .../homedecor_fence_chainlink_gate_tb.png | Bin 0 -> 490 bytes .../homedecor_fence_chainlink_sides.png | Bin 0 -> 461 bytes .../textures/homedecor_fence_chainlink_tb.png | Bin 0 -> 420 bytes .../textures/homedecor_fence_picket.png | Bin 0 -> 1768 bytes .../homedecor_fence_picket_backside.png | Bin 0 -> 1575 bytes .../textures/homedecor_fence_picket_gate.png | Bin 0 -> 1759 bytes .../homedecor_fence_picket_gate_backside.png | Bin 0 -> 1616 bytes .../homedecor_fence_picket_gate_white.png | Bin 0 -> 1252 bytes ...decor_fence_picket_gate_white_backside.png | Bin 0 -> 1091 bytes .../textures/homedecor_fence_picket_white.png | Bin 0 -> 1251 bytes .../homedecor_fence_picket_white_backside.png | Bin 0 -> 1050 bytes .../homedecor_fence_privacy_backside.png | Bin 0 -> 614 bytes .../homedecor_fence_privacy_front.png | Bin 0 -> 580 bytes .../homedecor_fence_privacy_sides.png | Bin 0 -> 342 bytes .../textures/homedecor_fence_privacy_tb.png | Bin 0 -> 308 bytes .../textures/homedecor_fence_wrought_iron.png | Bin 0 -> 418 bytes .../homedecor_flower_pot_black_bottom.png | Bin 0 -> 292 bytes .../homedecor_flower_pot_black_sides.png | Bin 0 -> 301 bytes .../homedecor_flower_pot_black_top.png | Bin 0 -> 607 bytes .../homedecor_flower_pot_green_bottom.png | Bin 0 -> 476 bytes .../homedecor_flower_pot_green_sides.png | Bin 0 -> 447 bytes .../homedecor_flower_pot_green_top.png | Bin 0 -> 699 bytes ...homedecor_flower_pot_terracotta_bottom.png | Bin 0 -> 480 bytes .../homedecor_flower_pot_terracotta_sides.png | Bin 0 -> 458 bytes .../homedecor_flower_pot_terracotta_top.png | Bin 0 -> 700 bytes .../textures/homedecor_glass_table_large.png | Bin 0 -> 201 bytes .../homedecor_glass_table_small_round.png | Bin 0 -> 226 bytes .../homedecor_glass_table_small_square.png | Bin 0 -> 213 bytes .../homedecor_glowlight_cube_white_sides.png | Bin 0 -> 233 bytes ...cor_glowlight_cube_white_sides_ceiling.png | Bin 0 -> 240 bytes .../homedecor_glowlight_cube_white_tb.png | Bin 0 -> 239 bytes .../homedecor_glowlight_cube_yellow_sides.png | Bin 0 -> 239 bytes ...or_glowlight_cube_yellow_sides_ceiling.png | Bin 0 -> 251 bytes .../homedecor_glowlight_cube_yellow_tb.png | Bin 0 -> 243 bytes .../homedecor_glowlight_thick_white_sides.png | Bin 0 -> 277 bytes ...decor_glowlight_thick_white_wall_sides.png | Bin 0 -> 263 bytes ...homedecor_glowlight_thick_yellow_sides.png | Bin 0 -> 336 bytes ...ecor_glowlight_thick_yellow_wall_sides.png | Bin 0 -> 340 bytes .../homedecor_glowlight_thin_white_sides.png | Bin 0 -> 222 bytes ...edecor_glowlight_thin_white_wall_sides.png | Bin 0 -> 234 bytes .../homedecor_glowlight_thin_yellow_sides.png | Bin 0 -> 271 bytes ...decor_glowlight_thin_yellow_wall_sides.png | Bin 0 -> 278 bytes .../textures/homedecor_glowlight_white_tb.png | Bin 0 -> 281 bytes .../homedecor_glowlight_yellow_tb.png | Bin 0 -> 371 bytes mods/homedecor/textures/homedecor_ic.png | Bin 0 -> 302 bytes .../homedecor_kitchen_cabinet_bottom.png | Bin 0 -> 393 bytes .../homedecor_kitchen_cabinet_front.png | Bin 0 -> 513 bytes .../homedecor_kitchen_cabinet_front_half.png | Bin 0 -> 380 bytes .../homedecor_kitchen_cabinet_sides.png | Bin 0 -> 429 bytes .../homedecor_kitchen_cabinet_sinktop.png | Bin 0 -> 347 bytes .../homedecor_kitchen_cabinet_top.png | Bin 0 -> 446 bytes ...cor_nightstand_mahogany_1_drawer_front.png | Bin 0 -> 591 bytes ...cor_nightstand_mahogany_2_drawer_front.png | Bin 0 -> 535 bytes .../homedecor_nightstand_mahogany_back.png | Bin 0 -> 3121 bytes .../homedecor_nightstand_mahogany_bottom.png | Bin 0 -> 3183 bytes .../homedecor_nightstand_mahogany_left.png | Bin 0 -> 3205 bytes .../homedecor_nightstand_mahogany_right.png | Bin 0 -> 3198 bytes .../homedecor_nightstand_mahogany_top.png | Bin 0 -> 3195 bytes ...omedecor_nightstand_oak_1_drawer_front.png | Bin 0 -> 632 bytes ...omedecor_nightstand_oak_2_drawer_front.png | Bin 0 -> 583 bytes .../homedecor_nightstand_oak_back.png | Bin 0 -> 3155 bytes .../homedecor_nightstand_oak_bottom.png | Bin 0 -> 3215 bytes .../homedecor_nightstand_oak_left.png | Bin 0 -> 3234 bytes .../homedecor_nightstand_oak_right.png | Bin 0 -> 3230 bytes .../textures/homedecor_nightstand_oak_top.png | Bin 0 -> 3224 bytes .../textures/homedecor_oven_bottom.png | Bin 0 -> 584 bytes .../textures/homedecor_oven_front.png | Bin 0 -> 454 bytes .../textures/homedecor_oven_front_active.png | Bin 0 -> 489 bytes .../textures/homedecor_oven_side.png | Bin 0 -> 507 bytes .../homedecor/textures/homedecor_oven_top.png | Bin 0 -> 389 bytes .../textures/homedecor_plastic_base.png | Bin 0 -> 419 bytes .../textures/homedecor_plastic_base_inv.png | Bin 0 -> 561 bytes .../textures/homedecor_plastic_sheeting.png | Bin 0 -> 198 bytes .../textures/homedecor_pole_brass.png | Bin 0 -> 349 bytes .../textures/homedecor_pole_brass2.png | Bin 0 -> 320 bytes .../textures/homedecor_pole_wrought_iron.png | Bin 0 -> 353 bytes .../textures/homedecor_projection_screen.png | Bin 0 -> 210 bytes .../homedecor_projection_screen_inv.png | Bin 0 -> 391 bytes .../textures/homedecor_refrigerator_back.png | Bin 0 -> 553 bytes .../homedecor_refrigerator_bottom.png | Bin 0 -> 445 bytes .../textures/homedecor_refrigerator_front.png | Bin 0 -> 443 bytes .../textures/homedecor_refrigerator_inv.png | Bin 0 -> 3451 bytes .../textures/homedecor_refrigerator_left.png | Bin 0 -> 450 bytes .../textures/homedecor_refrigerator_right.png | Bin 0 -> 458 bytes .../textures/homedecor_refrigerator_top.png | Bin 0 -> 494 bytes .../homedecor_roof_tile_terracotta.png | Bin 0 -> 350 bytes .../textures/homedecor_rug_large.png | Bin 0 -> 789 bytes .../textures/homedecor_rug_small.png | Bin 0 -> 946 bytes .../textures/homedecor_shingles_asphalt.png | Bin 0 -> 671 bytes .../homedecor_shingles_terracotta.png | Bin 0 -> 386 bytes .../textures/homedecor_shingles_wood.png | Bin 0 -> 567 bytes mods/homedecor/textures/homedecor_silicon.png | Bin 0 -> 867 bytes .../textures/homedecor_speaker_back.png | Bin 0 -> 3258 bytes .../textures/homedecor_speaker_bottom.png | Bin 0 -> 3266 bytes .../textures/homedecor_speaker_front.png | Bin 0 -> 121 bytes .../textures/homedecor_speaker_left.png | Bin 0 -> 3264 bytes .../textures/homedecor_speaker_right.png | Bin 0 -> 3260 bytes .../textures/homedecor_speaker_top.png | Bin 0 -> 3259 bytes .../textures/homedecor_stereo_back.png | Bin 0 -> 244 bytes .../textures/homedecor_stereo_bottom.png | Bin 0 -> 271 bytes .../textures/homedecor_stereo_front.png | Bin 0 -> 285 bytes .../textures/homedecor_stereo_left.png | Bin 0 -> 188 bytes .../textures/homedecor_stereo_right.png | Bin 0 -> 187 bytes .../textures/homedecor_stereo_top.png | Bin 0 -> 162 bytes .../textures/homedecor_table_legs_brass.png | Bin 0 -> 365 bytes .../homedecor_table_legs_wrought_iron.png | Bin 0 -> 519 bytes .../textures/homedecor_television_back.png | Bin 0 -> 241 bytes .../textures/homedecor_television_bottom.png | Bin 0 -> 166 bytes .../textures/homedecor_television_front.png | Bin 0 -> 484 bytes .../homedecor_television_front_animated.png | Bin 0 -> 3406 bytes .../textures/homedecor_television_left.png | Bin 0 -> 173 bytes .../textures/homedecor_television_right.png | Bin 0 -> 172 bytes .../textures/homedecor_television_top.png | Bin 0 -> 203 bytes .../textures/homedecor_terracotta_base.png | Bin 0 -> 379 bytes .../textures/homedecor_tile_brass.png | Bin 0 -> 514 bytes .../textures/homedecor_tile_brass2.png | Bin 0 -> 539 bytes .../textures/homedecor_tile_wrought_iron.png | Bin 0 -> 806 bytes .../textures/homedecor_tile_wrought_iron2.png | Bin 0 -> 553 bytes .../textures/homedecor_titanium_dioxide.png | Bin 0 -> 2909 bytes .../textures/homedecor_utility_table_legs.png | Bin 0 -> 3030 bytes .../homedecor_utility_table_legs_inv.png | Bin 0 -> 541 bytes .../textures/homedecor_utility_table_top.png | Bin 0 -> 3325 bytes .../textures/homedecor_white_paint.png | Bin 0 -> 329 bytes .../homedecor_window_shutter_black.png | Bin 0 -> 3125 bytes .../homedecor_window_shutter_dark_grey.png | Bin 0 -> 3284 bytes .../homedecor_window_shutter_forest_green.png | Bin 0 -> 3250 bytes .../homedecor_window_shutter_grey.png | Bin 0 -> 3285 bytes .../homedecor_window_shutter_light_blue.png | Bin 0 -> 3333 bytes .../homedecor_window_shutter_mahogany.png | Bin 0 -> 3327 bytes .../textures/homedecor_window_shutter_oak.png | Bin 0 -> 3361 bytes .../homedecor_window_shutter_purple.png | Bin 0 -> 3339 bytes .../textures/homedecor_window_shutter_red.png | Bin 0 -> 3248 bytes .../homedecor_window_shutter_white.png | Bin 0 -> 3228 bytes .../homedecor_window_shutter_yellow.png | Bin 0 -> 3307 bytes .../textures/homedecor_wood_table_large.png | Bin 0 -> 3277 bytes .../homedecor_wood_table_small_round.png | Bin 0 -> 3359 bytes .../homedecor_wood_table_small_square.png | Bin 0 -> 3351 bytes mods/hydro/depends.txt | 1 + mods/hydro/init.lua | 455 + mods/hydro/textures/hydro_coffee.png | Bin 0 -> 1166 bytes mods/hydro/textures/hydro_coffee1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_coffee2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_coffee3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_coffee4.png | Bin 0 -> 1166 bytes mods/hydro/textures/hydro_coffeecup.png | Bin 0 -> 4236 bytes mods/hydro/textures/hydro_grapes.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_grapes1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_grapes2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_grapes3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_grapes4.png | Bin 0 -> 1166 bytes mods/hydro/textures/hydro_growlamp.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_habanero.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_habanero1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_habanero2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_habanero3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_habanero4.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_peas.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_peas1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_peas2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_peas3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_peas4.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_promix.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_roastedcoffee.png | Bin 0 -> 3212 bytes mods/hydro/textures/hydro_rosebush.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_roses1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_roses2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_roses3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_roses4.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_seedlings.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_seeds.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_sproutlings.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_tomato.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_tomato1.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_tomato2.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_tomato3.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_tomato4.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_wildplant.png | Bin 0 -> 1179 bytes mods/hydro/textures/hydro_wine.png | Bin 0 -> 4267 bytes mods/inventory_plus/init.lua | 162 + mods/irc/API.txt | 115 + mods/irc/CHANGES.txt | 37 + mods/irc/LICENSE-LuaIRC.txt | 7 + mods/irc/LICENSE-luasocket.txt | 20 + mods/irc/LICENSE.txt | 15 + mods/irc/README.txt | 216 + mods/irc/TODO.txt | 20 + mods/irc/botcmds.lua | 92 + mods/irc/callback.lua | 213 + mods/irc/chatcmds.lua | 125 + mods/irc/config.lua | 61 + mods/irc/friends.lua | 22 + mods/irc/ftp.lua | 280 + mods/irc/http.lua | 326 + mods/irc/init.lua | 162 + mods/irc/irc.lua | 1023 ++ mods/irc/irc/channel.lua | 475 + mods/irc/irc/constants.lua | 191 + mods/irc/irc/ctcp.lua | 115 + mods/irc/irc/dcc.lua | 196 + mods/irc/irc/debug.lua | 92 + mods/irc/irc/message.lua | 69 + mods/irc/irc/misc.lua | 303 + mods/irc/libluasocket.so | Bin 0 -> 320368 bytes mods/irc/ltn12.lua | 291 + mods/irc/mime.lua | 86 + mods/irc/smtp.lua | 245 + mods/irc/socket.lua | 134 + mods/irc/tp.lua | 123 + mods/irc/url.lua | 297 + mods/lantern/depends.txt | 2 + mods/lantern/init.lua | 46 + mods/lantern/textures/lantern_torch_side.png | Bin 0 -> 1409 bytes mods/lantern/textures/lantern_torch_top.png | Bin 0 -> 280 bytes mods/legacy/depends.txt | 2 + mods/legacy/init.lua | 133 + mods/legacy/textures/apple_iron.png | Bin 0 -> 207 bytes mods/legacy/textures/cooked_rat.png | Bin 0 -> 239 bytes mods/legacy/textures/dungeon_master.png | Bin 0 -> 6636 bytes mods/legacy/textures/fireball.png | Bin 0 -> 603 bytes mods/legacy/textures/firefly.png | Bin 0 -> 116 bytes mods/legacy/textures/oerkki1.png | Bin 0 -> 250 bytes mods/legacy/textures/oerkki1_damaged.png | Bin 0 -> 341 bytes mods/legacy/textures/rat.png | Bin 0 -> 920 bytes mods/locks/README.md | 34 + mods/locks/depends.txt | 1 + mods/locks/init.lua | 533 + mods/locks/liscence.txt | 19 + mods/locks/shared_locked_chest.lua | 90 + mods/locks/shared_locked_sign_wall.lua | 74 + mods/locks/shared_locked_xdoors2.lua | 212 + mods/locks/textures/licence.txt | 88 + mods/locks/textures/locks_key16.png | Bin 0 -> 390 bytes mods/locks/textures/locks_key32.png | Bin 0 -> 726 bytes mods/locks/textures/locks_keychain16.png | Bin 0 -> 756 bytes mods/locks/textures/locks_keychain32.png | Bin 0 -> 1843 bytes mods/locks/textures/locks_lock16.png | Bin 0 -> 727 bytes mods/locks/textures/locks_lock32.png | Bin 0 -> 1906 bytes .../locks/textures/locks_xdoors2_bottom_1.png | Bin 0 -> 227 bytes .../locks/textures/locks_xdoors2_bottom_2.png | Bin 0 -> 230 bytes mods/locks/textures/locks_xdoors2_door.png | Bin 0 -> 266 bytes mods/locks/textures/xdoors2_bottom.png | Bin 0 -> 109 bytes mods/locks/textures/xdoors2_side.png | Bin 0 -> 109 bytes mods/locks/textures/xdoors2_top.png | Bin 0 -> 109 bytes mods/locks/textures/xdoors2_top_1.png | Bin 0 -> 144 bytes mods/locks/textures/xdoors2_top_2.png | Bin 0 -> 144 bytes .../locks/textures/xdoors2locked_bottom_1.png | Bin 0 -> 227 bytes .../locks/textures/xdoors2locked_bottom_2.png | Bin 0 -> 230 bytes mods/locks/textures/xdoors2locked_door.png | Bin 0 -> 266 bytes mods/minetest-craft_guide | 1 + mods/minetest-mod-jumping | 1 + mods/minetest-mod-mesecons | 1 + mods/money2/config.lua | 21 + mods/money2/init.lua | 200 + mods/money2/lockedsign.lua | 81 + mods/money2/textures/.directory | 3 + mods/moreblocks/LICENSE.txt | 13 + mods/moreblocks/depends.txt | 1 + mods/moreblocks/init.lua | 2345 ++++ .../textures/moreblocks_cactusbrick.png | Bin 0 -> 735 bytes .../textures/moreblocks_cactuschecker.png | Bin 0 -> 826 bytes .../textures/moreblocks_cactuschecker_2.png | Bin 0 -> 829 bytes .../textures/moreblocks_circlestonebrick.png | Bin 0 -> 646 bytes .../textures/moreblocks_cleanglass.png | Bin 0 -> 249 bytes .../textures/moreblocks_coalchecker.png | Bin 0 -> 902 bytes .../textures/moreblocks_coalchecker_2.png | Bin 0 -> 900 bytes .../textures/moreblocks_coalglass.png | Bin 0 -> 245 bytes .../textures/moreblocks_coalstone.png | Bin 0 -> 545 bytes .../textures/moreblocks_emptybookshelf.png | Bin 0 -> 675 bytes .../textures/moreblocks_glowglass.png | Bin 0 -> 265 bytes .../moreblocks_horizontaljungletree.png | Bin 0 -> 808 bytes .../textures/moreblocks_horizontaltree.png | Bin 0 -> 756 bytes .../textures/moreblocks_ironchecker.png | Bin 0 -> 884 bytes .../textures/moreblocks_ironchecker_2.png | Bin 0 -> 889 bytes .../textures/moreblocks_ironglass.png | Bin 0 -> 248 bytes .../textures/moreblocks_ironstone.png | Bin 0 -> 555 bytes .../textures/moreblocks_ironstonebrick.png | Bin 0 -> 741 bytes .../textures/moreblocks_junglestick.png | Bin 0 -> 215 bytes .../textures/moreblocks_junglewood.png | Bin 0 -> 362 bytes .../textures/moreblocks_junglewood_fence.png | Bin 0 -> 392 bytes .../textures/moreblocks_oerkkiblock.png | Bin 0 -> 634 bytes .../textures/moreblocks_plankstone.png | Bin 0 -> 598 bytes .../textures/moreblocks_plankstone_2.png | Bin 0 -> 604 bytes mods/moreblocks/textures/moreblocks_rope.png | Bin 0 -> 517 bytes .../textures/moreblocks_splitstonesquare.png | Bin 0 -> 734 bytes .../moreblocks_splitstonesquare_top.png | Bin 0 -> 752 bytes .../textures/moreblocks_stonebrick.png | Bin 0 -> 650 bytes .../textures/moreblocks_stonesquare.png | Bin 0 -> 700 bytes .../textures/moreblocks_sweeper.png | Bin 0 -> 477 bytes .../textures/moreblocks_trapglass.png | Bin 0 -> 261 bytes .../textures/moreblocks_trapstone.png | Bin 0 -> 817 bytes mods/moreores/LICENSE.txt | 17 + mods/moreores/depends.txt | 1 + mods/moreores/init.lua | 414 + mods/moreores/old_init.lua | 745 ++ .../textures/moreores_bronze_block.png | Bin 0 -> 256 bytes .../textures/moreores_bronze_ingot.png | Bin 0 -> 252 bytes .../textures/moreores_copper_ingot.png | Bin 0 -> 254 bytes .../textures/moreores_copper_lump.png | Bin 0 -> 226 bytes .../textures/moreores_copper_rail.png | Bin 0 -> 546 bytes .../moreores_copper_rail_crossing.png | Bin 0 -> 581 bytes .../textures/moreores_copper_rail_curved.png | Bin 0 -> 576 bytes .../moreores_copper_rail_t_junction.png | Bin 0 -> 577 bytes .../moreores/textures/moreores_gold_block.png | Bin 0 -> 261 bytes .../moreores/textures/moreores_gold_ingot.png | Bin 0 -> 252 bytes mods/moreores/textures/moreores_gold_lump.png | Bin 0 -> 226 bytes .../textures/moreores_mineral_copper.png | Bin 0 -> 253 bytes .../textures/moreores_mineral_gold.png | Bin 0 -> 254 bytes .../textures/moreores_mineral_mithril.png | Bin 0 -> 238 bytes .../textures/moreores_mineral_silver.png | Bin 0 -> 251 bytes .../textures/moreores_mineral_tin.png | Bin 0 -> 254 bytes .../textures/moreores_mithril_block.png | Bin 0 -> 254 bytes .../textures/moreores_mithril_ingot.png | Bin 0 -> 241 bytes .../textures/moreores_mithril_lump.png | Bin 0 -> 216 bytes .../textures/moreores_silver_block.png | Bin 0 -> 257 bytes .../textures/moreores_silver_ingot.png | Bin 0 -> 254 bytes .../textures/moreores_silver_lump.png | Bin 0 -> 226 bytes mods/moreores/textures/moreores_tin_ingot.png | Bin 0 -> 255 bytes mods/moreores/textures/moreores_tin_lump.png | Bin 0 -> 226 bytes .../textures/moreores_tool_bronzeaxe.png | Bin 0 -> 224 bytes .../textures/moreores_tool_bronzepick.png | Bin 0 -> 286 bytes .../textures/moreores_tool_bronzeshovel.png | Bin 0 -> 253 bytes .../textures/moreores_tool_bronzesword.png | Bin 0 -> 274 bytes .../textures/moreores_tool_goldaxe.png | Bin 0 -> 225 bytes .../textures/moreores_tool_goldpick.png | Bin 0 -> 294 bytes .../textures/moreores_tool_goldshovel.png | Bin 0 -> 256 bytes .../textures/moreores_tool_goldsword.png | Bin 0 -> 275 bytes .../textures/moreores_tool_mithrilaxe.png | Bin 0 -> 211 bytes .../textures/moreores_tool_mithrilpick.png | Bin 0 -> 279 bytes .../textures/moreores_tool_mithrilshovel.png | Bin 0 -> 242 bytes .../textures/moreores_tool_mithrilsword.png | Bin 0 -> 296 bytes .../textures/moreores_tool_silveraxe.png | Bin 0 -> 218 bytes .../textures/moreores_tool_silverpick.png | Bin 0 -> 290 bytes .../textures/moreores_tool_silvershovel.png | Bin 0 -> 254 bytes .../textures/moreores_tool_silversword.png | Bin 0 -> 299 bytes mods/pipeworks/.gitignore | 1 + mods/pipeworks/README | 34 + mods/pipeworks/autocrafter.lua | 80 + mods/pipeworks/autoplace.lua | 234 + mods/pipeworks/changelog.txt | 93 + mods/pipeworks/compat.lua | 180 + mods/pipeworks/crafts.lua | 168 + mods/pipeworks/depends.txt | 2 + mods/pipeworks/deployer.lua | 158 + mods/pipeworks/devices.lua | 465 + mods/pipeworks/flowing_logic.lua | 113 + mods/pipeworks/init.lua | 334 + mods/pipeworks/item_transport.lua | 382 + mods/pipeworks/node_breaker.lua | 100 + mods/pipeworks/oldpipes.lua | 360 + mods/pipeworks/teleport_tube.lua | 90 + .../pipeworks/textures/default_chest_side.png | Bin 0 -> 691 bytes .../textures/default_furnace_side.png | Bin 0 -> 688 bytes .../pipeworks_accelerator_tube_end.png | Bin 0 -> 2836 bytes .../pipeworks_accelerator_tube_inv.png | Bin 0 -> 1295 bytes .../pipeworks_accelerator_tube_noctr.png | Bin 0 -> 2182 bytes .../pipeworks_accelerator_tube_plain.png | Bin 0 -> 2742 bytes .../pipeworks_accelerator_tube_short.png | Bin 0 -> 1378 bytes .../textures/pipeworks_autocrafter.png | Bin 0 -> 167 bytes mods/pipeworks/textures/pipeworks_black.png | Bin 0 -> 150 bytes mods/pipeworks/textures/pipeworks_blue.png | Bin 0 -> 160 bytes .../textures/pipeworks_deployer_back.png | Bin 0 -> 757 bytes .../textures/pipeworks_deployer_bottom.png | Bin 0 -> 835 bytes .../textures/pipeworks_deployer_front_off.png | Bin 0 -> 800 bytes .../textures/pipeworks_deployer_front_on.png | Bin 0 -> 719 bytes .../textures/pipeworks_deployer_side.png | Bin 0 -> 908 bytes .../textures/pipeworks_deployer_side1.png | Bin 0 -> 908 bytes .../textures/pipeworks_deployer_side2.png | Bin 0 -> 910 bytes .../textures/pipeworks_deployer_top.png | Bin 0 -> 842 bytes .../textures/pipeworks_detector_tube_end.png | Bin 0 -> 2577 bytes .../textures/pipeworks_detector_tube_inv.png | Bin 0 -> 1267 bytes .../pipeworks_detector_tube_noctr.png | Bin 0 -> 1979 bytes .../pipeworks_detector_tube_plain.png | Bin 0 -> 2583 bytes .../pipeworks_detector_tube_short.png | Bin 0 -> 1248 bytes .../textures/pipeworks_filter_input.png | Bin 0 -> 12686 bytes .../textures/pipeworks_filter_output.png | Bin 0 -> 13205 bytes .../textures/pipeworks_filter_side.png | Bin 0 -> 13194 bytes .../textures/pipeworks_filter_top.png | Bin 0 -> 13137 bytes .../textures/pipeworks_grating_sides.png | Bin 0 -> 6739 bytes .../textures/pipeworks_grating_top.png | Bin 0 -> 7121 bytes mods/pipeworks/textures/pipeworks_green.png | Bin 0 -> 160 bytes .../textures/pipeworks_mese_tube_end.png | Bin 0 -> 2532 bytes .../textures/pipeworks_mese_tube_inv.png | Bin 0 -> 1212 bytes .../textures/pipeworks_mese_tube_noctr_1.png | Bin 0 -> 2063 bytes .../textures/pipeworks_mese_tube_noctr_2.png | Bin 0 -> 2011 bytes .../textures/pipeworks_mese_tube_noctr_3.png | Bin 0 -> 2055 bytes .../textures/pipeworks_mese_tube_noctr_4.png | Bin 0 -> 2056 bytes .../textures/pipeworks_mese_tube_noctr_5.png | Bin 0 -> 2059 bytes .../textures/pipeworks_mese_tube_noctr_6.png | Bin 0 -> 2056 bytes .../textures/pipeworks_mese_tube_plain_1.png | Bin 0 -> 2464 bytes .../textures/pipeworks_mese_tube_plain_2.png | Bin 0 -> 2468 bytes .../textures/pipeworks_mese_tube_plain_3.png | Bin 0 -> 2501 bytes .../textures/pipeworks_mese_tube_plain_4.png | Bin 0 -> 2484 bytes .../textures/pipeworks_mese_tube_plain_5.png | Bin 0 -> 2497 bytes .../textures/pipeworks_mese_tube_plain_6.png | Bin 0 -> 2499 bytes .../textures/pipeworks_mese_tube_short.png | Bin 0 -> 1209 bytes .../textures/pipeworks_nodebreaker_back.png | Bin 0 -> 632 bytes .../pipeworks_nodebreaker_bottom_off.png | Bin 0 -> 556 bytes .../pipeworks_nodebreaker_bottom_on.png | Bin 0 -> 549 bytes .../pipeworks_nodebreaker_front_off.png | Bin 0 -> 653 bytes .../pipeworks_nodebreaker_front_on.png | Bin 0 -> 659 bytes .../pipeworks_nodebreaker_side1_off.png | Bin 0 -> 616 bytes .../pipeworks_nodebreaker_side1_on.png | Bin 0 -> 610 bytes .../pipeworks_nodebreaker_side2_off.png | Bin 0 -> 606 bytes .../pipeworks_nodebreaker_side2_on.png | Bin 0 -> 598 bytes .../pipeworks_nodebreaker_top_off.png | Bin 0 -> 556 bytes .../textures/pipeworks_nodebreaker_top_on.png | Bin 0 -> 558 bytes .../pipeworks/textures/pipeworks_pipe_end.png | Bin 0 -> 338 bytes .../textures/pipeworks_pipe_end_empty.png | Bin 0 -> 331 bytes .../textures/pipeworks_pipe_end_loaded.png | Bin 0 -> 347 bytes mods/pipeworks/textures/pipeworks_plain.png | Bin 0 -> 274 bytes .../textures/pipeworks_plastic_sheeting.png | Bin 0 -> 198 bytes .../textures/pipeworks_pump_bottom.png | Bin 0 -> 6739 bytes .../pipeworks/textures/pipeworks_pump_off.png | Bin 0 -> 5128 bytes mods/pipeworks/textures/pipeworks_pump_on.png | Bin 0 -> 5848 bytes .../textures/pipeworks_pump_sides.png | Bin 0 -> 5116 bytes .../pipeworks/textures/pipeworks_pump_top.png | Bin 0 -> 7531 bytes mods/pipeworks/textures/pipeworks_red.png | Bin 0 -> 160 bytes .../textures/pipeworks_sand_tube_end.png | Bin 0 -> 2561 bytes .../textures/pipeworks_sand_tube_inv.png | Bin 0 -> 1209 bytes .../textures/pipeworks_sand_tube_noctr.png | Bin 0 -> 1969 bytes .../textures/pipeworks_sand_tube_plain.png | Bin 0 -> 2433 bytes .../textures/pipeworks_sand_tube_short.png | Bin 0 -> 1220 bytes .../textures/pipeworks_spigot_bottom2.png | Bin 0 -> 3389 bytes .../textures/pipeworks_spigot_sides.png | Bin 0 -> 338 bytes .../textures/pipeworks_spigot_sides2.png | Bin 0 -> 267 bytes .../textures/pipeworks_storage_tank_back.png | Bin 0 -> 483 bytes .../pipeworks_storage_tank_fittings.png | Bin 0 -> 631 bytes .../pipeworks_storage_tank_front_0.png | Bin 0 -> 5126 bytes .../pipeworks_storage_tank_front_1.png | Bin 0 -> 586 bytes .../pipeworks_storage_tank_front_10.png | Bin 0 -> 541 bytes .../pipeworks_storage_tank_front_2.png | Bin 0 -> 581 bytes .../pipeworks_storage_tank_front_3.png | Bin 0 -> 579 bytes .../pipeworks_storage_tank_front_4.png | Bin 0 -> 582 bytes .../pipeworks_storage_tank_front_5.png | Bin 0 -> 577 bytes .../pipeworks_storage_tank_front_6.png | Bin 0 -> 576 bytes .../pipeworks_storage_tank_front_7.png | Bin 0 -> 581 bytes .../pipeworks_storage_tank_front_8.png | Bin 0 -> 581 bytes .../pipeworks_storage_tank_front_9.png | Bin 0 -> 579 bytes .../textures/pipeworks_teleport_tube_end.png | Bin 0 -> 3348 bytes .../textures/pipeworks_teleport_tube_inv.png | Bin 0 -> 1319 bytes .../pipeworks_teleport_tube_noctr.png | Bin 0 -> 2633 bytes .../pipeworks_teleport_tube_plain.png | Bin 0 -> 3310 bytes .../pipeworks_teleport_tube_short.png | Bin 0 -> 1628 bytes .../textures/pipeworks_testobject.png | Bin 0 -> 4781 bytes .../pipeworks/textures/pipeworks_tube_end.png | Bin 0 -> 2577 bytes .../pipeworks/textures/pipeworks_tube_inv.png | Bin 0 -> 1217 bytes .../textures/pipeworks_tube_noctr.png | Bin 0 -> 1979 bytes .../textures/pipeworks_tube_plain.png | Bin 0 -> 2444 bytes .../textures/pipeworks_tube_short.png | Bin 0 -> 1248 bytes .../textures/pipeworks_tube_transparent.png | Bin 0 -> 109 bytes .../textures/pipeworks_valvebody_bottom.png | Bin 0 -> 5321 bytes .../textures/pipeworks_valvebody_ends.png | Bin 0 -> 6138 bytes .../textures/pipeworks_valvebody_sides.png | Bin 0 -> 4592 bytes .../textures/pipeworks_valvebody_top_off.png | Bin 0 -> 4557 bytes .../textures/pipeworks_valvebody_top_on.png | Bin 0 -> 4559 bytes mods/pipeworks/textures/pipeworks_white.png | Bin 0 -> 160 bytes .../textures/pipeworks_windowed_empty.png | Bin 0 -> 366 bytes .../textures/pipeworks_windowed_loaded.png | Bin 0 -> 347 bytes mods/pipeworks/textures/pipeworks_yellow.png | Bin 0 -> 160 bytes mods/pipeworks/tubes.lua | 466 + mods/places/depends.txt | 2 + mods/places/init.lua | 160 + mods/protector/depends.txt | 2 + mods/protector/init.lua | 112 + mods/protector/textures/glo2.png | Bin 0 -> 805 bytes mods/pulverize_all/depends.txt | 0 mods/pulverize_all/init.lua | 25 + mods/sethome/COPYING | 14 + mods/sethome/depends.txt | 1 + mods/sethome/homes | 6 + mods/sethome/init.lua | 141 + mods/signs/README.txt | 43 + mods/signs/changelog.txt | 10 + mods/signs/characters | 279 + mods/signs/depends.txt | 1 + mods/signs/init.lua | 300 + mods/signs/textures/_0.png | Bin 0 -> 239 bytes mods/signs/textures/_1.png | Bin 0 -> 238 bytes mods/signs/textures/_2.png | Bin 0 -> 235 bytes mods/signs/textures/_3.png | Bin 0 -> 241 bytes mods/signs/textures/_4.png | Bin 0 -> 240 bytes mods/signs/textures/_5.png | Bin 0 -> 237 bytes mods/signs/textures/_6.png | Bin 0 -> 246 bytes mods/signs/textures/_7.png | Bin 0 -> 243 bytes mods/signs/textures/_8.png | Bin 0 -> 235 bytes mods/signs/textures/_9.png | Bin 0 -> 245 bytes mods/signs/textures/_a.png | Bin 0 -> 238 bytes mods/signs/textures/_a_.png | Bin 0 -> 251 bytes mods/signs/textures/_am.png | Bin 0 -> 156 bytes mods/signs/textures/_ap.png | Bin 0 -> 228 bytes mods/signs/textures/_as.png | Bin 0 -> 238 bytes mods/signs/textures/_at.png | Bin 0 -> 254 bytes mods/signs/textures/_b.png | Bin 0 -> 249 bytes mods/signs/textures/_b_.png | Bin 0 -> 240 bytes mods/signs/textures/_bl.png | Bin 0 -> 237 bytes mods/signs/textures/_br.png | Bin 0 -> 237 bytes mods/signs/textures/_c.png | Bin 0 -> 236 bytes mods/signs/textures/_c_.png | Bin 0 -> 239 bytes mods/signs/textures/_ca.png | Bin 0 -> 231 bytes mods/signs/textures/_cl.png | Bin 0 -> 233 bytes mods/signs/textures/_cm.png | Bin 0 -> 226 bytes mods/signs/textures/_cr.png | Bin 0 -> 234 bytes mods/signs/textures/_d.png | Bin 0 -> 243 bytes mods/signs/textures/_d_.png | Bin 0 -> 239 bytes mods/signs/textures/_dl.png | Bin 0 -> 239 bytes mods/signs/textures/_dt.png | Bin 0 -> 224 bytes mods/signs/textures/_dv.png | Bin 0 -> 235 bytes mods/signs/textures/_e.png | Bin 0 -> 240 bytes mods/signs/textures/_e_.png | Bin 0 -> 242 bytes mods/signs/textures/_eq.png | Bin 0 -> 228 bytes mods/signs/textures/_ex.png | Bin 0 -> 230 bytes mods/signs/textures/_f.png | Bin 0 -> 244 bytes mods/signs/textures/_f_.png | Bin 0 -> 246 bytes mods/signs/textures/_g.png | Bin 0 -> 251 bytes mods/signs/textures/_g_.png | Bin 0 -> 243 bytes mods/signs/textures/_gt.png | Bin 0 -> 228 bytes mods/signs/textures/_h.png | Bin 0 -> 248 bytes mods/signs/textures/_h_.png | Bin 0 -> 252 bytes mods/signs/textures/_ha.png | Bin 0 -> 233 bytes mods/signs/textures/_hs.png | Bin 0 -> 144 bytes mods/signs/textures/_i.png | Bin 0 -> 237 bytes mods/signs/textures/_i_.png | Bin 0 -> 239 bytes mods/signs/textures/_j.png | Bin 0 -> 240 bytes mods/signs/textures/_j_.png | Bin 0 -> 243 bytes mods/signs/textures/_k.png | Bin 0 -> 247 bytes mods/signs/textures/_k_.png | Bin 0 -> 243 bytes mods/signs/textures/_l.png | Bin 0 -> 238 bytes mods/signs/textures/_l_.png | Bin 0 -> 242 bytes mods/signs/textures/_lt.png | Bin 0 -> 227 bytes mods/signs/textures/_m.png | Bin 0 -> 240 bytes mods/signs/textures/_m_.png | Bin 0 -> 244 bytes mods/signs/textures/_mn.png | Bin 0 -> 228 bytes mods/signs/textures/_n.png | Bin 0 -> 248 bytes mods/signs/textures/_n_.png | Bin 0 -> 252 bytes mods/signs/textures/_o.png | Bin 0 -> 238 bytes mods/signs/textures/_o_.png | Bin 0 -> 239 bytes mods/signs/textures/_p.png | Bin 0 -> 250 bytes mods/signs/textures/_p_.png | Bin 0 -> 246 bytes mods/signs/textures/_pr.png | Bin 0 -> 255 bytes mods/signs/textures/_ps.png | Bin 0 -> 235 bytes mods/signs/textures/_q.png | Bin 0 -> 251 bytes mods/signs/textures/_q_.png | Bin 0 -> 242 bytes mods/signs/textures/_qo.png | Bin 0 -> 232 bytes mods/signs/textures/_qu.png | Bin 0 -> 233 bytes mods/signs/textures/_r.png | Bin 0 -> 241 bytes mods/signs/textures/_r_.png | Bin 0 -> 248 bytes mods/signs/textures/_re.png | Bin 0 -> 243 bytes mods/signs/textures/_s.png | Bin 0 -> 239 bytes mods/signs/textures/_s_.png | Bin 0 -> 243 bytes mods/signs/textures/_sl.png | Bin 0 -> 240 bytes mods/signs/textures/_sm.png | Bin 0 -> 227 bytes mods/signs/textures/_sp.png | Bin 0 -> 215 bytes mods/signs/textures/_sr.png | Bin 0 -> 236 bytes mods/signs/textures/_t.png | Bin 0 -> 241 bytes mods/signs/textures/_t_.png | Bin 0 -> 249 bytes mods/signs/textures/_tl.png | Bin 0 -> 227 bytes mods/signs/textures/_u.png | Bin 0 -> 240 bytes mods/signs/textures/_u_.png | Bin 0 -> 252 bytes mods/signs/textures/_un.png | Bin 0 -> 226 bytes mods/signs/textures/_v.png | Bin 0 -> 249 bytes mods/signs/textures/_v_.png | Bin 0 -> 246 bytes mods/signs/textures/_vb.png | Bin 0 -> 229 bytes mods/signs/textures/_w.png | Bin 0 -> 238 bytes mods/signs/textures/_w_.png | Bin 0 -> 247 bytes mods/signs/textures/_x.png | Bin 0 -> 241 bytes mods/signs/textures/_x_.png | Bin 0 -> 246 bytes mods/signs/textures/_y.png | Bin 0 -> 246 bytes mods/signs/textures/_y_.png | Bin 0 -> 243 bytes mods/signs/textures/_z.png | Bin 0 -> 233 bytes mods/signs/textures/_z_.png | Bin 0 -> 235 bytes mods/signs/textures/signs_back.png | Bin 0 -> 277 bytes mods/signs/textures/signs_bottom.png | Bin 0 -> 132 bytes mods/signs/textures/signs_front.png | Bin 0 -> 263 bytes mods/signs/textures/signs_side.png | Bin 0 -> 134 bytes mods/signs/textures/signs_sign.png | Bin 0 -> 1526 bytes mods/signs/textures/signs_top.png | Bin 0 -> 132 bytes mods/skins/depends.txt | 1 + mods/skins/init.lua | 150 + mods/skins/skinlist.lua | 22 + mods/skins/textures/character_1.png | Bin 0 -> 2055 bytes mods/skins/textures/character_10.png | Bin 0 -> 563 bytes mods/skins/textures/character_11.png | Bin 0 -> 571 bytes mods/skins/textures/character_12.png | Bin 0 -> 3331 bytes mods/skins/textures/character_13.png | Bin 0 -> 591 bytes mods/skins/textures/character_14.png | Bin 0 -> 676 bytes mods/skins/textures/character_15.png | Bin 0 -> 3121 bytes mods/skins/textures/character_16.png | Bin 0 -> 2581 bytes mods/skins/textures/character_17.png | Bin 0 -> 539 bytes mods/skins/textures/character_18.png | Bin 0 -> 3121 bytes mods/skins/textures/character_19.png | Bin 0 -> 1620 bytes mods/skins/textures/character_2.png | Bin 0 -> 2648 bytes mods/skins/textures/character_3.png | Bin 0 -> 369 bytes mods/skins/textures/character_4.png | Bin 0 -> 939 bytes mods/skins/textures/character_5.png | Bin 0 -> 577 bytes mods/skins/textures/character_6.png | Bin 0 -> 360 bytes mods/skins/textures/character_7.png | Bin 0 -> 399 bytes mods/skins/textures/character_8.png | Bin 0 -> 436 bytes mods/skins/textures/character_9.png | Bin 0 -> 454 bytes mods/skins/textures/player_1.png | Bin 0 -> 21512 bytes mods/skins/textures/player_10.png | Bin 0 -> 2326 bytes mods/skins/textures/player_10_back.png | Bin 0 -> 1715 bytes mods/skins/textures/player_11.png | Bin 0 -> 471 bytes mods/skins/textures/player_11_back.png | Bin 0 -> 416 bytes mods/skins/textures/player_12.png | Bin 0 -> 4121 bytes mods/skins/textures/player_12_back.png | Bin 0 -> 3894 bytes mods/skins/textures/player_13.png | Bin 0 -> 410 bytes mods/skins/textures/player_13_back.png | Bin 0 -> 316 bytes mods/skins/textures/player_14.png | Bin 0 -> 612 bytes mods/skins/textures/player_14_back.png | Bin 0 -> 547 bytes mods/skins/textures/player_15.png | Bin 0 -> 1106 bytes mods/skins/textures/player_15_back.png | Bin 0 -> 1014 bytes mods/skins/textures/player_16.png | Bin 0 -> 1106 bytes mods/skins/textures/player_16_back.png | Bin 0 -> 1014 bytes mods/skins/textures/player_17.png | Bin 0 -> 13935 bytes mods/skins/textures/player_17_back.png | Bin 0 -> 5686 bytes mods/skins/textures/player_18.png | Bin 0 -> 222 bytes mods/skins/textures/player_18_back.png | Bin 0 -> 202 bytes mods/skins/textures/player_19.png | Bin 0 -> 1106 bytes mods/skins/textures/player_19_back.png | Bin 0 -> 1014 bytes mods/skins/textures/player_1_back.png | Bin 0 -> 19781 bytes mods/skins/textures/player_2.png | Bin 0 -> 319 bytes mods/skins/textures/player_20.png | Bin 0 -> 443 bytes mods/skins/textures/player_20_back.png | Bin 0 -> 359 bytes mods/skins/textures/player_21.png | Bin 0 -> 1499 bytes mods/skins/textures/player_21_back.png | Bin 0 -> 1370 bytes mods/skins/textures/player_22.png | Bin 0 -> 1770 bytes mods/skins/textures/player_22_back.png | Bin 0 -> 1656 bytes mods/skins/textures/player_23.png | Bin 0 -> 1770 bytes mods/skins/textures/player_23_back.png | Bin 0 -> 1656 bytes mods/skins/textures/player_24.png | Bin 0 -> 13935 bytes mods/skins/textures/player_24_back.png | Bin 0 -> 5686 bytes mods/skins/textures/player_25.png | Bin 0 -> 79350 bytes mods/skins/textures/player_25_back.png | Bin 0 -> 4243 bytes mods/skins/textures/player_2_back.png | Bin 0 -> 278 bytes mods/skins/textures/player_3.png | Bin 0 -> 594 bytes mods/skins/textures/player_3_back.png | Bin 0 -> 520 bytes mods/skins/textures/player_4.png | Bin 0 -> 518 bytes mods/skins/textures/player_4_back.png | Bin 0 -> 500 bytes mods/skins/textures/player_5.png | Bin 0 -> 78924 bytes mods/skins/textures/player_5_back.png | Bin 0 -> 58422 bytes mods/skins/textures/player_6.png | Bin 0 -> 52788 bytes mods/skins/textures/player_6_back.png | Bin 0 -> 36479 bytes mods/skins/textures/player_7.png | Bin 0 -> 1106 bytes mods/skins/textures/player_7_back.png | Bin 0 -> 1014 bytes mods/skins/textures/player_8.png | Bin 0 -> 7807 bytes mods/skins/textures/player_8_back.png | Bin 0 -> 6666 bytes mods/skins/textures/player_9.png | Bin 0 -> 1499 bytes mods/skins/textures/player_9_back.png | Bin 0 -> 1370 bytes mods/spawn/depends.txt | 0 mods/spawn/init.lua | 34 + mods/stairs/README.txt | 26 + mods/stairs/depends.txt | 1 + mods/stairs/init.lua | 146 + mods/stairsplus/LICENSE.txt | 13 + mods/stairsplus/depends.txt | 2 + mods/stairsplus/init.lua | 1413 ++ mods/technic/.gitattributes | 22 + mods/technic/.gitignore | 163 + mods/technic/alloy_furnace.lua | 424 + mods/technic/battery_box.lua | 398 + mods/technic/battery_box_mv.lua | 322 + mods/technic/cans.lua | 125 + mods/technic/chainsaw.lua | 59 + mods/technic/coal_furnace.lua | 171 + mods/technic/concrete.lua | 74 + mods/technic/config.lua | 2 + mods/technic/constructor.lua | 297 + mods/technic/copper_chest.lua | 162 + mods/technic/depends.txt | 5 + mods/technic/deployer.lua | 91 + mods/technic/electric.lua | 268 + mods/technic/electric_furnace.lua | 177 + mods/technic/flashlight.lua | 169 + mods/technic/generator.lua | 148 + mods/technic/geothermal.lua | 135 + mods/technic/gold_chest.lua | 611 + mods/technic/grinder.lua | 320 + mods/technic/init.lua | 85 + mods/technic/injector.lua | 325 + mods/technic/iron_chest.lua | 176 + mods/technic/item_drop.lua | 102 + mods/technic/items.lua | 157 + mods/technic/mining_drill.lua | 49 + mods/technic/mining_laser_mk1.lua | 174 + mods/technic/mithril_chest.lua | 145 + mods/technic/music_player.lua | 126 + mods/technic/node_breaker.lua | 94 + mods/technic/ores.lua | 201 + mods/technic/project_table.lua | 39 + mods/technic/rubber.lua | 186 + mods/technic/screwdriver.lua | 47 + mods/technic/silver_chest.lua | 197 + mods/technic/solar_panel.lua | 76 + mods/technic/solar_panel_mv.lua | 76 + mods/technic/sonic_screwdriver.lua | 55 + mods/technic/sounds/chainsaw.ogg | Bin 0 -> 38174 bytes mods/technic/sounds/item_drop_pickup.1.ogg | Bin 0 -> 9981 bytes mods/technic/sounds/item_drop_pickup.2.ogg | Bin 0 -> 10477 bytes mods/technic/sounds/item_drop_pickup.3.ogg | Bin 0 -> 9586 bytes mods/technic/sounds/item_drop_pickup.4.ogg | Bin 0 -> 9696 bytes mods/technic/sounds/mining_drill.ogg | Bin 0 -> 14499 bytes mods/technic/sounds/technic_laser.ogg | Bin 0 -> 13465 bytes .../sounds/technic_sonic_screwdriver.ogg | Bin 0 -> 29827 bytes .../textures/technic_alloy_furnace_front.png | Bin 0 -> 2756 bytes .../technic_alloy_furnace_front_active.png | Bin 0 -> 2757 bytes .../textures/technic_alloy_furnace_side.png | Bin 0 -> 2667 bytes .../textures/technic_alloy_furnace_top.png | Bin 0 -> 2431 bytes mods/technic/textures/technic_battery.png | Bin 0 -> 247 bytes .../textures/technic_battery_box_bottom.png | Bin 0 -> 2046 bytes .../textures/technic_battery_box_side0.png | Bin 0 -> 2313 bytes .../textures/technic_battery_box_top.png | Bin 0 -> 2390 bytes .../textures/technic_battery_reload.png | Bin 0 -> 8201 bytes mods/technic/textures/technic_brass_dust.png | Bin 0 -> 1297 bytes mods/technic/textures/technic_brass_ingot.png | Bin 0 -> 456 bytes mods/technic/textures/technic_bronze_dust.png | Bin 0 -> 1304 bytes mods/technic/textures/technic_chainsaw.png | Bin 0 -> 17656 bytes .../textures/technic_chromium_dust.png | Bin 0 -> 1162 bytes .../textures/technic_chromium_ingot.png | Bin 0 -> 242 bytes .../textures/technic_chromium_lump.png | Bin 0 -> 213 bytes .../technic_coal_alloy_furnace_bottom.png | Bin 0 -> 2957 bytes .../technic_coal_alloy_furnace_front.png | Bin 0 -> 2802 bytes ...echnic_coal_alloy_furnace_front_active.png | Bin 0 -> 2953 bytes .../technic_coal_alloy_furnace_side.png | Bin 0 -> 2667 bytes .../technic_coal_alloy_furnace_top.png | Bin 0 -> 2431 bytes mods/technic/textures/technic_coal_dust.png | Bin 0 -> 144 bytes .../textures/technic_concrete_block.png | Bin 0 -> 2319 bytes .../textures/technic_constructor_back.png | Bin 0 -> 2094 bytes .../technic_constructor_front_off.png | Bin 0 -> 2677 bytes .../textures/technic_constructor_front_on.png | Bin 0 -> 2627 bytes .../technic_constructor_mk1_bottom_off.png | Bin 0 -> 2272 bytes .../technic_constructor_mk1_bottom_on.png | Bin 0 -> 2308 bytes .../technic_constructor_mk1_side1_off.png | Bin 0 -> 2327 bytes .../technic_constructor_mk1_side1_on.png | Bin 0 -> 2342 bytes .../technic_constructor_mk1_side2_off.png | Bin 0 -> 2326 bytes .../technic_constructor_mk1_side2_on.png | Bin 0 -> 2338 bytes .../technic_constructor_mk1_top_off.png | Bin 0 -> 2292 bytes .../technic_constructor_mk1_top_on.png | Bin 0 -> 2319 bytes .../technic_constructor_mk2_bottom_off.png | Bin 0 -> 2281 bytes .../technic_constructor_mk2_bottom_on.png | Bin 0 -> 2316 bytes .../technic_constructor_mk2_side1_off.png | Bin 0 -> 2339 bytes .../technic_constructor_mk2_side1_on.png | Bin 0 -> 2355 bytes .../technic_constructor_mk2_side2_off.png | Bin 0 -> 2338 bytes .../technic_constructor_mk2_side2_on.png | Bin 0 -> 2354 bytes .../technic_constructor_mk2_top_off.png | Bin 0 -> 2307 bytes .../technic_constructor_mk2_top_on.png | Bin 0 -> 2329 bytes .../technic_constructor_mk3_bottom_off.png | Bin 0 -> 2286 bytes .../technic_constructor_mk3_bottom_on.png | Bin 0 -> 2318 bytes .../technic_constructor_mk3_side1_off.png | Bin 0 -> 2378 bytes .../technic_constructor_mk3_side1_on.png | Bin 0 -> 2402 bytes .../technic_constructor_mk3_side2_off.png | Bin 0 -> 2313 bytes .../technic_constructor_mk3_side2_on.png | Bin 0 -> 2338 bytes .../technic_constructor_mk3_top_off.png | Bin 0 -> 2313 bytes .../technic_constructor_mk3_top_on.png | Bin 0 -> 2338 bytes .../textures/technic_copper_chest_front.png | Bin 0 -> 2614 bytes .../textures/technic_copper_chest_locked.png | Bin 0 -> 2682 bytes .../textures/technic_copper_chest_side.png | Bin 0 -> 2568 bytes .../textures/technic_copper_chest_top.png | Bin 0 -> 2521 bytes mods/technic/textures/technic_copper_coil.png | Bin 0 -> 2447 bytes mods/technic/textures/technic_copper_dust.png | Bin 0 -> 1252 bytes .../textures/technic_deployer_back.png | Bin 0 -> 37128 bytes .../textures/technic_deployer_bottom.png | Bin 0 -> 38757 bytes .../textures/technic_deployer_front_off.png | Bin 0 -> 29441 bytes .../textures/technic_deployer_front_on.png | Bin 0 -> 23351 bytes .../textures/technic_deployer_side.png | Bin 0 -> 38136 bytes .../textures/technic_deployer_side1.png | Bin 0 -> 38291 bytes .../textures/technic_deployer_side2.png | Bin 0 -> 38195 bytes .../technic/textures/technic_deployer_top.png | Bin 0 -> 38904 bytes mods/technic/textures/technic_diamond.png | Bin 0 -> 693 bytes .../textures/technic_diamond_block.png | Bin 0 -> 2865 bytes .../textures/technic_diamond_block_blue.png | Bin 0 -> 3011 bytes .../textures/technic_diamond_block_green.png | Bin 0 -> 3033 bytes .../textures/technic_diamond_block_red.png | Bin 0 -> 2927 bytes .../textures/technic_diamond_drill_head.png | Bin 0 -> 978 bytes .../textures/technic_doped_silicon_wafer.png | Bin 0 -> 867 bytes .../technic_electric_furnace_bottom.png | Bin 0 -> 2876 bytes .../technic_electric_furnace_front.png | Bin 0 -> 2912 bytes .../technic_electric_furnace_front_active.png | Bin 0 -> 2912 bytes .../technic_electric_furnace_side.png | Bin 0 -> 2917 bytes .../textures/technic_electric_furnace_top.png | Bin 0 -> 2957 bytes .../textures/technic_fine_copper_wire.png | Bin 0 -> 1814 bytes mods/technic/textures/technic_flashlight.png | Bin 0 -> 1901 bytes .../textures/technic_generator_front.png | Bin 0 -> 430 bytes .../technic_generator_front_active.png | Bin 0 -> 454 bytes .../textures/technic_generator_side.png | Bin 0 -> 341 bytes .../textures/technic_generator_top.png | Bin 0 -> 388 bytes .../textures/technic_geothermal_side.png | Bin 0 -> 809 bytes .../textures/technic_geothermal_top.png | Bin 0 -> 828 bytes .../technic_geothermal_top_active.png | Bin 0 -> 819 bytes .../textures/technic_gold_chest_front.png | Bin 0 -> 2653 bytes .../technic_gold_chest_front_black.png | Bin 0 -> 2659 bytes .../technic_gold_chest_front_blue.png | Bin 0 -> 2666 bytes .../technic_gold_chest_front_brown.png | Bin 0 -> 2674 bytes .../technic_gold_chest_front_cyan.png | Bin 0 -> 2675 bytes .../technic_gold_chest_front_dark_green.png | Bin 0 -> 2672 bytes .../technic_gold_chest_front_dark_grey.png | Bin 0 -> 2659 bytes .../technic_gold_chest_front_green.png | Bin 0 -> 2665 bytes .../technic_gold_chest_front_grey.png | Bin 0 -> 2678 bytes .../technic_gold_chest_front_magenta.png | Bin 0 -> 2673 bytes .../technic_gold_chest_front_orange.png | Bin 0 -> 2667 bytes .../technic_gold_chest_front_pink.png | Bin 0 -> 2672 bytes .../textures/technic_gold_chest_front_red.png | Bin 0 -> 2661 bytes .../technic_gold_chest_front_violet.png | Bin 0 -> 2668 bytes .../technic_gold_chest_front_white.png | Bin 0 -> 2660 bytes .../technic_gold_chest_front_yellow.png | Bin 0 -> 2669 bytes .../textures/technic_gold_chest_locked.png | Bin 0 -> 2717 bytes .../technic_gold_chest_locked_black.png | Bin 0 -> 2720 bytes .../technic_gold_chest_locked_blue.png | Bin 0 -> 2728 bytes .../technic_gold_chest_locked_brown.png | Bin 0 -> 2736 bytes .../technic_gold_chest_locked_cyan.png | Bin 0 -> 2735 bytes .../technic_gold_chest_locked_dark_green.png | Bin 0 -> 2734 bytes .../technic_gold_chest_locked_dark_grey.png | Bin 0 -> 2722 bytes .../technic_gold_chest_locked_green.png | Bin 0 -> 2724 bytes .../technic_gold_chest_locked_grey.png | Bin 0 -> 2732 bytes .../technic_gold_chest_locked_magenta.png | Bin 0 -> 2732 bytes .../technic_gold_chest_locked_orange.png | Bin 0 -> 2728 bytes .../technic_gold_chest_locked_pink.png | Bin 0 -> 2730 bytes .../technic_gold_chest_locked_red.png | Bin 0 -> 2721 bytes .../technic_gold_chest_locked_violet.png | Bin 0 -> 2728 bytes .../technic_gold_chest_locked_white.png | Bin 0 -> 2723 bytes .../technic_gold_chest_locked_yellow.png | Bin 0 -> 2728 bytes .../textures/technic_gold_chest_side.png | Bin 0 -> 2617 bytes .../textures/technic_gold_chest_top.png | Bin 0 -> 2558 bytes mods/technic/textures/technic_gold_dust.png | Bin 0 -> 1285 bytes mods/technic/textures/technic_granite.png | Bin 0 -> 947 bytes .../textures/technic_grinder_front.png | Bin 0 -> 777 bytes .../technic/textures/technic_grinder_side.png | Bin 0 -> 692 bytes mods/technic/textures/technic_grinder_top.png | Bin 0 -> 465 bytes .../textures/technic_iron_chest_front.png | Bin 0 -> 2515 bytes .../textures/technic_iron_chest_locked.png | Bin 0 -> 2603 bytes .../textures/technic_iron_chest_side.png | Bin 0 -> 2478 bytes .../textures/technic_iron_chest_top.png | Bin 0 -> 2432 bytes mods/technic/textures/technic_iron_dust.png | Bin 0 -> 1199 bytes mods/technic/textures/technic_laser_beam.png | Bin 0 -> 119 bytes mods/technic/textures/technic_lava_can.png | Bin 0 -> 1045 bytes mods/technic/textures/technic_light.png | Bin 0 -> 246 bytes mods/technic/textures/technic_lv_cable.png | Bin 0 -> 381 bytes .../textures/technic_lv_cable_wield.png | Bin 0 -> 286 bytes .../textures/technic_machine_bottom.png | Bin 0 -> 572 bytes mods/technic/textures/technic_marble.png | Bin 0 -> 807 bytes .../textures/technic_marble_bricks.png | Bin 0 -> 959 bytes mods/technic/textures/technic_menu_bg.png | Bin 0 -> 11018 bytes .../textures/technic_mineral_chromium.png | Bin 0 -> 887 bytes .../textures/technic_mineral_diamond.png | Bin 0 -> 904 bytes .../textures/technic_mineral_uranium.png | Bin 0 -> 912 bytes .../technic/textures/technic_mineral_zinc.png | Bin 0 -> 891 bytes .../technic/textures/technic_mining_drill.png | Bin 0 -> 2099 bytes .../textures/technic_mining_laser_mk1.png | Bin 0 -> 358 bytes .../textures/technic_mithril_chest_front.png | Bin 0 -> 2656 bytes .../textures/technic_mithril_chest_locked.png | Bin 0 -> 2716 bytes .../textures/technic_mithril_chest_side.png | Bin 0 -> 2616 bytes .../textures/technic_mithril_chest_top.png | Bin 0 -> 2558 bytes .../technic/textures/technic_mithril_dust.png | Bin 0 -> 1289 bytes mods/technic/textures/technic_motor.png | Bin 0 -> 2517 bytes .../textures/technic_music_player_bottom.png | Bin 0 -> 744 bytes .../textures/technic_music_player_side.png | Bin 0 -> 788 bytes .../textures/technic_music_player_top.png | Bin 0 -> 916 bytes .../technic_mv_battery_box_bottom.png | Bin 0 -> 2019 bytes .../textures/technic_mv_battery_box_side0.png | Bin 0 -> 2309 bytes .../textures/technic_mv_battery_box_top.png | Bin 0 -> 2390 bytes mods/technic/textures/technic_mv_cable.png | Bin 0 -> 416 bytes .../textures/technic_mv_cable_wield.png | Bin 0 -> 2996 bytes .../technic_mv_solar_panel_bottom.png | Bin 0 -> 2019 bytes .../textures/technic_mv_solar_panel_side.png | Bin 0 -> 1772 bytes .../textures/technic_mv_solar_panel_top.png | Bin 0 -> 2728 bytes .../textures/technic_mv_transformer.png | Bin 0 -> 1748 bytes .../textures/technic_nodebreaker_back.png | Bin 0 -> 37128 bytes .../textures/technic_nodebreaker_bottom.png | Bin 0 -> 38757 bytes .../technic_nodebreaker_bottom_off.png | Bin 0 -> 41584 bytes .../technic_nodebreaker_bottom_on.png | Bin 0 -> 41522 bytes .../technic_nodebreaker_front_off.png | Bin 0 -> 37094 bytes .../textures/technic_nodebreaker_front_on.png | Bin 0 -> 36983 bytes .../textures/technic_nodebreaker_side.png | Bin 0 -> 38136 bytes .../textures/technic_nodebreaker_side1.png | Bin 0 -> 38291 bytes .../technic_nodebreaker_side1_off.png | Bin 0 -> 42142 bytes .../textures/technic_nodebreaker_side1_on.png | Bin 0 -> 42270 bytes .../textures/technic_nodebreaker_side2.png | Bin 0 -> 38195 bytes .../technic_nodebreaker_side2_off.png | Bin 0 -> 42183 bytes .../textures/technic_nodebreaker_side2_on.png | Bin 0 -> 42283 bytes .../textures/technic_nodebreaker_top.png | Bin 0 -> 38904 bytes .../textures/technic_nodebreaker_top_off.png | Bin 0 -> 42025 bytes .../textures/technic_nodebreaker_top_on.png | Bin 0 -> 42103 bytes mods/technic/textures/technic_power_meter.png | Bin 0 -> 209 bytes .../technic/textures/technic_power_meter1.png | Bin 0 -> 271 bytes .../technic/textures/technic_power_meter2.png | Bin 0 -> 349 bytes .../technic/textures/technic_power_meter3.png | Bin 0 -> 395 bytes .../technic/textures/technic_power_meter4.png | Bin 0 -> 434 bytes .../technic/textures/technic_power_meter5.png | Bin 0 -> 452 bytes .../technic/textures/technic_power_meter6.png | Bin 0 -> 509 bytes .../technic/textures/technic_power_meter7.png | Bin 0 -> 576 bytes .../technic/textures/technic_power_meter8.png | Bin 0 -> 655 bytes .../textures/technic_power_meter_bg.png | Bin 0 -> 278 bytes .../textures/technic_power_meter_fg.png | Bin 0 -> 465 bytes mods/technic/textures/technic_raw_latex.png | Bin 0 -> 1625 bytes mods/technic/textures/technic_rebar.png | Bin 0 -> 813 bytes mods/technic/textures/technic_rubber.png | Bin 0 -> 587 bytes .../textures/technic_rubber_sapling.png | Bin 0 -> 333 bytes .../textures/technic_rubber_tree_empty.png | Bin 0 -> 835 bytes .../textures/technic_rubber_tree_full.png | Bin 0 -> 808 bytes mods/technic/textures/technic_screwdriver.png | Bin 0 -> 1001 bytes .../textures/technic_silicon_wafer.png | Bin 0 -> 913 bytes .../textures/technic_silver_chest_front.png | Bin 0 -> 2241 bytes .../textures/technic_silver_chest_locked.png | Bin 0 -> 2368 bytes .../textures/technic_silver_chest_side.png | Bin 0 -> 2146 bytes .../textures/technic_silver_chest_top.png | Bin 0 -> 2226 bytes mods/technic/textures/technic_silver_dust.png | Bin 0 -> 1295 bytes .../textures/technic_solar_panel_bottom.png | Bin 0 -> 2046 bytes .../textures/technic_solar_panel_side.png | Bin 0 -> 465 bytes .../textures/technic_solar_panel_top.png | Bin 0 -> 569 bytes .../textures/technic_sonic_screwdriver.png | Bin 0 -> 2064 bytes .../textures/technic_stainless_steel_dust.png | Bin 0 -> 1145 bytes .../technic_stainless_steel_ingot.png | Bin 0 -> 230 bytes mods/technic/textures/technic_tin_dust.png | Bin 0 -> 1261 bytes mods/technic/textures/technic_tree_tap.png | Bin 0 -> 1045 bytes mods/technic/textures/technic_uranium.png | Bin 0 -> 213 bytes mods/technic/textures/technic_water_can.png | Bin 0 -> 1041 bytes .../textures/technic_water_mill_side.png | Bin 0 -> 907 bytes .../textures/technic_water_mill_top.png | Bin 0 -> 828 bytes .../technic_water_mill_top_active.png | Bin 0 -> 819 bytes .../textures/technic_workshop_bottom.png | Bin 0 -> 744 bytes .../textures/technic_workshop_side.png | Bin 0 -> 589 bytes .../technic/textures/technic_workshop_top.png | Bin 0 -> 555 bytes mods/technic/textures/technic_zinc_dust.png | Bin 0 -> 1150 bytes mods/technic/textures/technic_zinc_ingot.png | Bin 0 -> 242 bytes mods/technic/textures/technic_zinc_lump.png | Bin 0 -> 214 bytes mods/technic/tool_workshop.lua | 93 + mods/technic/tree_tap.lua | 49 + mods/technic/water_mill.lua | 128 + mods/technic/wires.lua | 401 + mods/technic/wires_mv.lua | 400 + mods/teleporters/depends.txt | 1 + mods/teleporters/init.001 | 192 + mods/teleporters/init.lua | 186 + .../sounds/teleporters_teleport.ogg | Bin 0 -> 4781 bytes .../textures/teleporter_teleporter_pad_16.png | Bin 0 -> 1047 bytes .../teleporters/textures/teleporters_base.png | Bin 0 -> 912 bytes .../textures/teleporters_spiral.png | Bin 0 -> 2196 bytes mods/usesdirt/depends.txt | 1 + mods/usesdirt/init.lua | 603 + .../textures/default_furnace_fire_fg.png | Bin 0 -> 865 bytes mods/usesdirt/textures/usesdirt_dirt_axe.png | Bin 0 -> 724 bytes .../usesdirt/textures/usesdirt_dirt_brick.png | Bin 0 -> 4274 bytes .../usesdirt/textures/usesdirt_dirt_chest.png | Bin 0 -> 500 bytes .../textures/usesdirt_dirt_cobble_stone.png | Bin 0 -> 7397 bytes .../usesdirt_dirt_cobble_stone_fence.png | Bin 0 -> 6533 bytes .../usesdirt_dirt_cobble_stone_ladder.png | Bin 0 -> 8930 bytes mods/usesdirt/textures/usesdirt_dirt_cup.png | Bin 0 -> 952 bytes .../usesdirt/textures/usesdirt_dirt_fence.png | Bin 0 -> 2176 bytes .../textures/usesdirt_dirt_furnace_bottom.png | Bin 0 -> 3062 bytes .../textures/usesdirt_dirt_furnace_front.png | Bin 0 -> 2853 bytes .../usesdirt_dirt_furnace_front_active.png | Bin 0 -> 4794 bytes .../textures/usesdirt_dirt_furnace_side.png | Bin 0 -> 3062 bytes .../textures/usesdirt_dirt_furnace_top.png | Bin 0 -> 3062 bytes .../textures/usesdirt_dirt_ladder.png | Bin 0 -> 2969 bytes .../textures/usesdirt_dirt_locked_chest.png | Bin 0 -> 948 bytes mods/usesdirt/textures/usesdirt_dirt_pick.png | Bin 0 -> 1041 bytes .../textures/usesdirt_dirt_shovel.png | Bin 0 -> 773 bytes .../usesdirt/textures/usesdirt_dirt_stone.png | Bin 0 -> 1619 bytes .../textures/usesdirt_dirt_stone_fence.png | Bin 0 -> 1630 bytes .../textures/usesdirt_dirt_stone_ladder.png | Bin 0 -> 1909 bytes .../usesdirt/textures/usesdirt_dirt_sword.png | Bin 0 -> 896 bytes .../usesdirt/textures/usesdirt_dirt_torch.png | Bin 0 -> 1103 bytes mods/vendor/depends.txt | 2 + mods/vendor/init.lua | 71 + mods/vendor/license.txt | 502 + mods/vendor/sounds/sound_license.txt | 5 + mods/vendor/sounds/vendor_activate.ogg | Bin 0 -> 10092 bytes mods/vendor/sounds/vendor_deposit.ogg | Bin 0 -> 9935 bytes mods/vendor/sounds/vendor_disable.ogg | Bin 0 -> 8181 bytes mods/vendor/sounds/vendor_error.ogg | Bin 0 -> 5676 bytes mods/vendor/sounds/vendor_vend.ogg | Bin 0 -> 9631 bytes .../textures/vendor_depositor_front.png | Bin 0 -> 765 bytes .../textures/vendor_depositor_front.xcf | Bin 0 -> 2244 bytes mods/vendor/textures/vendor_side.png | Bin 0 -> 760 bytes mods/vendor/textures/vendor_vendor_front.png | Bin 0 -> 768 bytes mods/vendor/textures/vendor_vendor_front.xcf | Bin 0 -> 2240 bytes mods/vendor/vendor.lua | 443 + mods/vessels/README.txt | 45 + mods/vessels/depends.txt | 1 + mods/vessels/init.lua | 86 + .../alternates/vessels_drinking_glass.png | Bin 0 -> 253 bytes .../alternates/vessels_glass_bottle.png | Bin 0 -> 242 bytes .../alternates/vessels_steel_bottle.png | Bin 0 -> 345 bytes .../textures/vessels_drinking_glass.png | Bin 0 -> 338 bytes .../vessels/textures/vessels_glass_bottle.png | Bin 0 -> 405 bytes .../textures/vessels_glass_fragments.png | Bin 0 -> 425 bytes .../vessels/textures/vessels_steel_bottle.png | Bin 0 -> 342 bytes mods/vines/README.md | 4 + mods/vines/depends.txt | 1 + mods/vines/init.lua | 251 + mods/vines/textures/vines_rope.png | Bin 0 -> 244 bytes mods/vines/textures/vines_rope_block.png | Bin 0 -> 625 bytes mods/vines/textures/vines_rope_wield.png | Bin 0 -> 673 bytes mods/vines/textures/vines_vine.png | Bin 0 -> 447 bytes mods/vines/textures/vines_vine_rotten.png | Bin 0 -> 463 bytes mods/whisper/init.lua | 21 + mods/wool/README.txt | 28 + mods/wool/depends.txt | 0 mods/wool/init.lua | 48 + mods/wool/textures/wool_black.png | Bin 0 -> 3177 bytes mods/wool/textures/wool_blue.png | Bin 0 -> 3214 bytes mods/wool/textures/wool_brown.png | Bin 0 -> 3229 bytes mods/wool/textures/wool_cyan.png | Bin 0 -> 3243 bytes mods/wool/textures/wool_dark_green.png | Bin 0 -> 3268 bytes mods/wool/textures/wool_dark_grey.png | Bin 0 -> 3384 bytes mods/wool/textures/wool_green.png | Bin 0 -> 3377 bytes mods/wool/textures/wool_grey.png | Bin 0 -> 3432 bytes mods/wool/textures/wool_magenta.png | Bin 0 -> 3366 bytes mods/wool/textures/wool_orange.png | Bin 0 -> 3386 bytes mods/wool/textures/wool_pink.png | Bin 0 -> 3115 bytes mods/wool/textures/wool_red.png | Bin 0 -> 3355 bytes mods/wool/textures/wool_violet.png | Bin 0 -> 3246 bytes mods/wool/textures/wool_white.png | Bin 0 -> 3275 bytes mods/wool/textures/wool_yellow.png | Bin 0 -> 3196 bytes mods/worldedit/Chat_Commands.md | 232 + mods/worldedit/LICENSE.txt | 661 + mods/worldedit/README.md | 57 + mods/worldedit/WorldEdit_API.md | 177 + mods/worldedit/modpack.txt | 0 mods/worldedit/worldedit/init.lua | 4 + mods/worldedit/worldedit/manipulations.lua | 307 + mods/worldedit/worldedit/primitives.lua | 262 + mods/worldedit/worldedit/serialization.lua | 254 + mods/worldedit/worldedit/table_save.lua | 133 + mods/worldedit/worldedit/visualization.lua | 164 + mods/worldedit/worldedit_commands/depends.txt | 1 + mods/worldedit/worldedit_commands/init.lua | 762 ++ mods/worldedit/worldedit_commands/mark.lua | 70 + .../textures/worldedit_pos1.png | Bin 0 -> 142 bytes .../textures/worldedit_pos2.png | Bin 0 -> 157 bytes mods/xdoors2/depends.txt | 1 + mods/xdoors2/init.lua | 156 + mods/xdoors2/textures/xdoors2_bottom.png | Bin 0 -> 109 bytes mods/xdoors2/textures/xdoors2_bottom_1.png | Bin 0 -> 189 bytes mods/xdoors2/textures/xdoors2_bottom_2.png | Bin 0 -> 187 bytes mods/xdoors2/textures/xdoors2_door.png | Bin 0 -> 166 bytes mods/xdoors2/textures/xdoors2_side.png | Bin 0 -> 109 bytes mods/xdoors2/textures/xdoors2_top.png | Bin 0 -> 109 bytes mods/xdoors2/textures/xdoors2_top_1.png | Bin 0 -> 144 bytes mods/xdoors2/textures/xdoors2_top_2.png | Bin 0 -> 144 bytes mods/xmas/crafts.lua | 230 + mods/xmas/depends.txt | 3 + mods/xmas/init.lua | 8 + mods/xmas/lights.lua | 137 + mods/xmas/misc.lua | 29 + mods/xmas/notworkingcode.txt | 25 + mods/xmas/presents.lua | 29 + mods/xmas/textures/xmas_blue_pres_side.png | Bin 0 -> 213 bytes mods/xmas/textures/xmas_blue_pres_top.png | Bin 0 -> 273 bytes mods/xmas/textures/xmas_gree_pres_side.png | Bin 0 -> 213 bytes mods/xmas/textures/xmas_gree_pres_top.png | Bin 0 -> 280 bytes mods/xmas/textures/xmas_lights_b.png | Bin 0 -> 417 bytes mods/xmas/textures/xmas_lights_g.png | Bin 0 -> 423 bytes mods/xmas/textures/xmas_lights_r.png | Bin 0 -> 408 bytes mods/xmas/textures/xmas_lights_y.png | Bin 0 -> 380 bytes mods/xmas/textures/xmas_red_pres_side.png | Bin 0 -> 213 bytes mods/xmas/textures/xmas_red_pres_top.png | Bin 0 -> 280 bytes mods/xmas/textures/xmas_star.png | Bin 0 -> 278 bytes mods/xmas/textures/xmas_tree_angel.png | Bin 0 -> 310 bytes mods/xmas/textures/xmas_tree_leaves.png | Bin 0 -> 475 bytes mods/xmas/textures/xmas_v_wall_lights_b.png | Bin 0 -> 266 bytes mods/xmas/textures/xmas_v_wall_lights_g.png | Bin 0 -> 252 bytes mods/xmas/textures/xmas_v_wall_lights_r.png | Bin 0 -> 250 bytes mods/xmas/textures/xmas_v_wall_lights_y.png | Bin 0 -> 261 bytes mods/xmas/textures/xmas_wall_lights_b.png | Bin 0 -> 253 bytes mods/xmas/textures/xmas_wall_lights_g.png | Bin 0 -> 239 bytes mods/xmas/textures/xmas_wall_lights_r.png | Bin 0 -> 236 bytes mods/xmas/textures/xmas_wall_lights_y.png | Bin 0 -> 232 bytes mods/xmas/textures/xmas_yel_pres_side.png | Bin 0 -> 207 bytes mods/xmas/textures/xmas_yel_pres_top.png | Bin 0 -> 274 bytes 1584 files changed, 64208 insertions(+) create mode 100644 game.conf create mode 100644 mods/3dforniture/crafting.lua create mode 100644 mods/3dforniture/depends.txt create mode 100644 mods/3dforniture/init.lua create mode 100644 mods/3dforniture/nodes.001 create mode 100644 mods/3dforniture/nodes.002 create mode 100644 mods/3dforniture/nodes.lua create mode 100644 mods/3dforniture/sounds/3dforniture_dig_toilet.ogg create mode 100644 mods/3dforniture/textures/3dforniture_inv_chains.png create mode 100644 mods/3dforniture/textures/3dforniture_inv_shower_head.png create mode 100644 mods/3dforniture/textures/3dforniture_inv_shower_tray.png create mode 100644 mods/3dforniture/textures/3dforniture_inv_sink.png create mode 100644 mods/3dforniture/textures/3dforniture_inv_taps.png create mode 100644 mods/3dforniture/textures/3dforniture_inv_torch_wall.png create mode 100644 mods/3dforniture/textures/forniture_armchair_lat1.png create mode 100644 mods/3dforniture/textures/forniture_armchair_lat2.png create mode 100644 mods/3dforniture/textures/forniture_armchair_top.png create mode 100644 mods/3dforniture/textures/forniture_black_metal.png create mode 100644 mods/3dforniture/textures/forniture_black_metal_s1.png create mode 100644 mods/3dforniture/textures/forniture_black_metal_s2.png create mode 100644 mods/3dforniture/textures/forniture_marble.png create mode 100644 mods/3dforniture/textures/forniture_marble_base_ducha_top.png create mode 100644 mods/3dforniture/textures/forniture_marble_s1.png create mode 100644 mods/3dforniture/textures/forniture_marble_s2.png create mode 100644 mods/3dforniture/textures/forniture_marble_sb1.png create mode 100644 mods/3dforniture/textures/forniture_marble_sb2.png create mode 100644 mods/3dforniture/textures/forniture_marble_top_sink.png create mode 100644 mods/3dforniture/textures/forniture_marble_top_toilet.png create mode 100644 mods/3dforniture/textures/forniture_metal.png create mode 100644 mods/3dforniture/textures/forniture_metal_s1.png create mode 100644 mods/3dforniture/textures/forniture_metal_s2.png create mode 100644 mods/3dforniture/textures/forniture_papyrus.png create mode 100644 mods/3dforniture/textures/forniture_papyrus_s1.png create mode 100644 mods/3dforniture/textures/forniture_papyrus_s2.png create mode 100644 mods/3dforniture/textures/forniture_table_lamp_l.png create mode 100644 mods/3dforniture/textures/forniture_table_lamp_s.png create mode 100644 mods/3dforniture/textures/forniture_torch_wall_anim.png create mode 100644 mods/3dforniture/textures/forniture_torch_wall_i.png create mode 100644 mods/3dforniture/textures/forniture_torch_wall_s.png create mode 100644 mods/3dforniture/textures/forniture_wood.png create mode 100644 mods/3dforniture/textures/forniture_wood_s1.png create mode 100644 mods/3dforniture/textures/forniture_wood_s2.png create mode 100644 mods/bags/depends.txt create mode 100644 mods/bags/init.lua create mode 100644 mods/bags/textures/bags_large.png create mode 100644 mods/bags/textures/bags_medium.png create mode 100644 mods/bags/textures/bags_small.png create mode 100644 mods/beds/README.txt create mode 100644 mods/beds/depends.txt create mode 100644 mods/beds/init.lua create mode 100644 mods/beds/textures/beds_bed_side.png create mode 100644 mods/beds/textures/beds_bed_side_top_l.png create mode 100644 mods/beds/textures/beds_bed_side_top_r.png create mode 100644 mods/beds/textures/beds_bed_top_bottom.png create mode 100644 mods/beds/textures/beds_bed_top_top.png create mode 100644 mods/boats/README.txt create mode 100644 mods/boats/depends.txt create mode 100644 mods/boats/init.lua create mode 100644 mods/boats/models/boat.x create mode 100644 mods/boats/textures/boat_inventory.png create mode 100644 mods/boats/textures/boat_wield.png create mode 100755 mods/bobtraps/depends.txt create mode 100755 mods/bobtraps/init.lua create mode 100755 mods/bobtraps/readme.txt create mode 100755 mods/bobtraps/sounds/bobtraps_trap_fall.ogg create mode 100755 mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg create mode 100755 mods/bobtraps/textures/bobtraps_majorspike.png create mode 100755 mods/bobtraps/textures/bobtraps_minorspike.png create mode 100755 mods/bobtraps/textures/bobtraps_trap_set.png create mode 100644 mods/bridges/README.md create mode 100644 mods/bridges/depends.txt create mode 100644 mods/bridges/init.lua create mode 100644 mods/bucket/README.txt create mode 100644 mods/bucket/depends.txt create mode 100644 mods/bucket/init.lua create mode 100644 mods/bucket/textures/bucket.png create mode 100644 mods/bucket/textures/bucket_lava.png create mode 100644 mods/bucket/textures/bucket_water.png create mode 100644 mods/camouflage/default_dirt.png create mode 100644 mods/camouflage/depends.txt create mode 100644 mods/camouflage/init.lua create mode 100644 mods/camouflage/textures/camo_ladder.png create mode 100644 mods/camouflage/textures/dirt.png create mode 100644 mods/camouflage/textures/grass.png create mode 100644 mods/camouflage/textures/grass_side.png create mode 100644 mods/camouflage/textures/leaves.png create mode 100644 mods/carts/README.txt create mode 100644 mods/carts/depends.txt create mode 100644 mods/carts/functions.lua create mode 100644 mods/carts/init.lua create mode 100644 mods/carts/models/cart.png create mode 100644 mods/carts/models/cart.x create mode 100644 mods/carts/textures/cart_bottom.png create mode 100644 mods/carts/textures/cart_side.png create mode 100644 mods/carts/textures/cart_top.png create mode 100644 mods/conifers/c1.jpg create mode 100644 mods/conifers/c2.jpg create mode 100644 mods/conifers/c3.jpg create mode 100644 mods/conifers/depends.txt create mode 100644 mods/conifers/init.lua create mode 100644 mods/conifers/textures/conifers_leaves.png create mode 100644 mods/conifers/textures/conifers_leaves_special.png create mode 100644 mods/conifers/textures/conifers_sapling.png create mode 100644 mods/conifers/textures/conifers_trunk.png create mode 100644 mods/conifers/textures/conifers_trunk_reversed.png create mode 100644 mods/conifers/textures/conifers_trunktop.png create mode 100644 mods/creative/README.txt create mode 100644 mods/creative/init.lua create mode 100644 mods/default/README.txt create mode 100644 mods/default/init.lua create mode 100644 mods/default/leafdecay.lua create mode 100644 mods/default/mapgen.lua create mode 100644 mods/default/models/character.blend create mode 100644 mods/default/models/character.png create mode 100644 mods/default/models/character.x create mode 100644 mods/default/player.lua create mode 100644 mods/default/sounds/default_break_glass.1.ogg create mode 100644 mods/default/sounds/default_break_glass.2.ogg create mode 100644 mods/default/sounds/default_break_glass.3.ogg create mode 100644 mods/default/sounds/default_dig_choppy.ogg create mode 100644 mods/default/sounds/default_dig_cracky.ogg create mode 100644 mods/default/sounds/default_dig_crumbly.1.ogg create mode 100644 mods/default/sounds/default_dig_crumbly.2.ogg create mode 100644 mods/default/sounds/default_dig_dig_immediate.ogg create mode 100644 mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg create mode 100644 mods/default/sounds/default_dug_node.1.ogg create mode 100644 mods/default/sounds/default_grass_footstep.1.ogg create mode 100644 mods/default/sounds/default_grass_footstep.2.ogg create mode 100644 mods/default/sounds/default_grass_footstep.3.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.1.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.2.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.3.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.4.ogg create mode 100644 mods/default/sounds/default_hard_footstep.1.ogg create mode 100644 mods/default/sounds/default_hard_footstep.2.ogg create mode 100644 mods/default/sounds/default_place_node.1.ogg create mode 100644 mods/default/sounds/default_place_node.2.ogg create mode 100644 mods/default/sounds/default_place_node.3.ogg create mode 100644 mods/default/textures/crack_anylength.png create mode 100644 mods/default/textures/default_apple.png create mode 100644 mods/default/textures/default_book.png create mode 100644 mods/default/textures/default_bookshelf.png create mode 100644 mods/default/textures/default_brick.png create mode 100644 mods/default/textures/default_cactus_side.png create mode 100644 mods/default/textures/default_cactus_top.png create mode 100755 mods/default/textures/default_chest_front.png create mode 100644 mods/default/textures/default_chest_lock.png create mode 100755 mods/default/textures/default_chest_side.png create mode 100755 mods/default/textures/default_chest_top.png create mode 100644 mods/default/textures/default_clay.png create mode 100644 mods/default/textures/default_clay_brick.png create mode 100644 mods/default/textures/default_clay_lump.png create mode 100644 mods/default/textures/default_cloud.png create mode 100644 mods/default/textures/default_coal_lump.png create mode 100755 mods/default/textures/default_cobble.png create mode 100644 mods/default/textures/default_desert_sand.png create mode 100644 mods/default/textures/default_desert_stone.png create mode 100755 mods/default/textures/default_dirt.png create mode 100644 mods/default/textures/default_dry_shrub.png create mode 100644 mods/default/textures/default_fence.png create mode 100644 mods/default/textures/default_furnace_bottom.png create mode 100644 mods/default/textures/default_furnace_fire_bg.png create mode 100644 mods/default/textures/default_furnace_fire_fg.png create mode 100644 mods/default/textures/default_furnace_front.png create mode 100644 mods/default/textures/default_furnace_front_active.png create mode 100644 mods/default/textures/default_furnace_side.png create mode 100644 mods/default/textures/default_furnace_top.png create mode 100644 mods/default/textures/default_glass.png create mode 100755 mods/default/textures/default_grass.png create mode 100644 mods/default/textures/default_grass_footsteps.png create mode 100755 mods/default/textures/default_grass_side.png create mode 100644 mods/default/textures/default_gravel.png create mode 100644 mods/default/textures/default_iron_lump.png create mode 100644 mods/default/textures/default_junglegrass.png create mode 100644 mods/default/textures/default_jungletree.png create mode 100644 mods/default/textures/default_jungletree_top.png create mode 100644 mods/default/textures/default_ladder.png create mode 100644 mods/default/textures/default_lava.png create mode 100644 mods/default/textures/default_lava_flowing_animated.png create mode 100644 mods/default/textures/default_lava_source_animated.png create mode 100755 mods/default/textures/default_leaves.png create mode 100644 mods/default/textures/default_mese.png create mode 100644 mods/default/textures/default_mineral_coal.png create mode 100644 mods/default/textures/default_mineral_iron.png create mode 100755 mods/default/textures/default_mossycobble.png create mode 100644 mods/default/textures/default_nc_back.png create mode 100644 mods/default/textures/default_nc_front.png create mode 100644 mods/default/textures/default_nc_rb.png create mode 100644 mods/default/textures/default_nc_side.png create mode 100644 mods/default/textures/default_paper.png create mode 100644 mods/default/textures/default_papyrus.png create mode 100644 mods/default/textures/default_rail.png create mode 100644 mods/default/textures/default_rail_crossing.png create mode 100644 mods/default/textures/default_rail_curved.png create mode 100644 mods/default/textures/default_rail_t_junction.png create mode 100755 mods/default/textures/default_sand.png create mode 100644 mods/default/textures/default_sandstone.png create mode 100644 mods/default/textures/default_sapling.png create mode 100644 mods/default/textures/default_scorched_stuff.png create mode 100755 mods/default/textures/default_sign_wall.png create mode 100644 mods/default/textures/default_steel_block.png create mode 100644 mods/default/textures/default_steel_ingot.png create mode 100644 mods/default/textures/default_stick.png create mode 100755 mods/default/textures/default_stone.png create mode 100644 mods/default/textures/default_tnt_bottom.png create mode 100644 mods/default/textures/default_tnt_side.png create mode 100644 mods/default/textures/default_tnt_top.png create mode 100755 mods/default/textures/default_tool_mesepick.png create mode 100644 mods/default/textures/default_tool_steelaxe.png create mode 100755 mods/default/textures/default_tool_steelpick.png create mode 100755 mods/default/textures/default_tool_steelshovel.png create mode 100644 mods/default/textures/default_tool_steelsword.png create mode 100644 mods/default/textures/default_tool_stoneaxe.png create mode 100755 mods/default/textures/default_tool_stonepick.png create mode 100755 mods/default/textures/default_tool_stoneshovel.png create mode 100644 mods/default/textures/default_tool_stonesword.png create mode 100644 mods/default/textures/default_tool_woodaxe.png create mode 100755 mods/default/textures/default_tool_woodpick.png create mode 100755 mods/default/textures/default_tool_woodshovel.png create mode 100644 mods/default/textures/default_tool_woodsword.png create mode 100644 mods/default/textures/default_torch.png create mode 100644 mods/default/textures/default_torch_animated.png create mode 100644 mods/default/textures/default_torch_on_ceiling.png create mode 100644 mods/default/textures/default_torch_on_ceiling_animated.png create mode 100644 mods/default/textures/default_torch_on_floor.png create mode 100644 mods/default/textures/default_torch_on_floor_animated.png create mode 100755 mods/default/textures/default_tree.png create mode 100755 mods/default/textures/default_tree_top.png create mode 100755 mods/default/textures/default_water.png create mode 100644 mods/default/textures/default_water_flowing_animated.png create mode 100644 mods/default/textures/default_water_source_animated.png create mode 100644 mods/default/textures/default_wood.png create mode 100644 mods/default/textures/heart.png create mode 100644 mods/default/textures/player.png create mode 100644 mods/default/textures/player_back.png create mode 100644 mods/default/textures/treeprop.png create mode 100644 mods/default/textures/wieldhand.png create mode 160000 mods/desert_uses create mode 100644 mods/digicode/depends.txt create mode 100644 mods/digicode/init.lua create mode 100644 mods/digicode/textures/digicode_front.png create mode 100644 mods/digicode/textures/digicode_side.png create mode 100644 mods/dye/README.txt create mode 100644 mods/dye/depends.txt create mode 100644 mods/dye/init.lua create mode 100644 mods/dye/textures/dye_black.png create mode 100644 mods/dye/textures/dye_blue.png create mode 100644 mods/dye/textures/dye_brown.png create mode 100644 mods/dye/textures/dye_cyan.png create mode 100644 mods/dye/textures/dye_dark_green.png create mode 100644 mods/dye/textures/dye_dark_grey.png create mode 100644 mods/dye/textures/dye_green.png create mode 100644 mods/dye/textures/dye_grey.png create mode 100644 mods/dye/textures/dye_magenta.png create mode 100644 mods/dye/textures/dye_orange.png create mode 100644 mods/dye/textures/dye_pink.png create mode 100644 mods/dye/textures/dye_red.png create mode 100644 mods/dye/textures/dye_violet.png create mode 100644 mods/dye/textures/dye_white.png create mode 100644 mods/dye/textures/dye_yellow.png create mode 100644 mods/exchange/depends.txt create mode 100644 mods/exchange/init.lua create mode 100644 mods/farming/README.txt create mode 100644 mods/farming/cactus.lua create mode 100644 mods/farming/changelog.txt create mode 100644 mods/farming/cotton.lua create mode 100644 mods/farming/depends.txt create mode 100644 mods/farming/hoes.lua create mode 100644 mods/farming/init.lua create mode 100644 mods/farming/papyrus.lua create mode 100644 mods/farming/pumpkin.lua create mode 100644 mods/farming/soil.lua create mode 100644 mods/farming/textures/farming_bread.png create mode 100644 mods/farming/textures/farming_bread_pumpkin.png create mode 100644 mods/farming/textures/farming_cake_mix.png create mode 100644 mods/farming/textures/farming_cake_mix_pumpkin.png create mode 100644 mods/farming/textures/farming_cotton.png create mode 100644 mods/farming/textures/farming_cotton_1.png create mode 100644 mods/farming/textures/farming_cotton_2.png create mode 100644 mods/farming/textures/farming_cotton_seed.png create mode 100644 mods/farming/textures/farming_flour.png create mode 100644 mods/farming/textures/farming_hoe_steel.png create mode 100644 mods/farming/textures/farming_hoe_stone.png create mode 100644 mods/farming/textures/farming_hoe_wood.png create mode 100644 mods/farming/textures/farming_pumpkin_big_side.png create mode 100644 mods/farming/textures/farming_pumpkin_big_top.png create mode 100644 mods/farming/textures/farming_pumpkin_big_top_corner.png create mode 100644 mods/farming/textures/farming_pumpkin_big_top_side.png create mode 100644 mods/farming/textures/farming_pumpkin_face.png create mode 100644 mods/farming/textures/farming_pumpkin_face_light.png create mode 100644 mods/farming/textures/farming_pumpkin_seed.png create mode 100644 mods/farming/textures/farming_pumpkin_side.png create mode 100644 mods/farming/textures/farming_pumpkin_top.png create mode 100644 mods/farming/textures/farming_scarecrow_front.png create mode 100644 mods/farming/textures/farming_scarecrow_front_light.png create mode 100644 mods/farming/textures/farming_scarecrow_side.png create mode 100644 mods/farming/textures/farming_scarecrow_top.png create mode 100644 mods/farming/textures/farming_soil.png create mode 100644 mods/farming/textures/farming_soil_wet.png create mode 100644 mods/farming/textures/farming_soil_wet_side.png create mode 100644 mods/farming/textures/farming_string.png create mode 100644 mods/farming/textures/farming_weed.png create mode 100644 mods/farming/textures/farming_wheat.png create mode 100644 mods/farming/textures/farming_wheat_1.png create mode 100644 mods/farming/textures/farming_wheat_2.png create mode 100644 mods/farming/textures/farming_wheat_3.png create mode 100644 mods/farming/textures/farming_wheat_harvested.png create mode 100644 mods/farming/textures/farming_wheat_seed.png create mode 100644 mods/farming/weed.lua create mode 100644 mods/farming/wheat.lua create mode 100644 mods/farming_plus/README.txt create mode 100644 mods/farming_plus/bananas.lua create mode 100644 mods/farming_plus/carrots.lua create mode 100644 mods/farming_plus/cocoa.lua create mode 100644 mods/farming_plus/depends.txt create mode 100644 mods/farming_plus/init.lua create mode 100644 mods/farming_plus/oranges.lua create mode 100644 mods/farming_plus/potatoes.lua create mode 100644 mods/farming_plus/rhubarb.lua create mode 100644 mods/farming_plus/rubber.lua create mode 100644 mods/farming_plus/strawberries.lua create mode 100644 mods/farming_plus/textures/farming_banana.png create mode 100644 mods/farming_plus/textures/farming_banana_leaves.png create mode 100644 mods/farming_plus/textures/farming_banana_sapling.png create mode 100644 mods/farming_plus/textures/farming_bucket_rubber.png create mode 100644 mods/farming_plus/textures/farming_carrot.png create mode 100644 mods/farming_plus/textures/farming_carrot_1.png create mode 100644 mods/farming_plus/textures/farming_carrot_2.png create mode 100644 mods/farming_plus/textures/farming_carrot_3.png create mode 100644 mods/farming_plus/textures/farming_carrot_4.png create mode 100644 mods/farming_plus/textures/farming_carrot_seed.png create mode 100644 mods/farming_plus/textures/farming_cocoa.png create mode 100644 mods/farming_plus/textures/farming_cocoa_bean.png create mode 100644 mods/farming_plus/textures/farming_cocoa_sapling.png create mode 100644 mods/farming_plus/textures/farming_orange.png create mode 100644 mods/farming_plus/textures/farming_orange_1.png create mode 100644 mods/farming_plus/textures/farming_orange_2.png create mode 100644 mods/farming_plus/textures/farming_orange_3.png create mode 100644 mods/farming_plus/textures/farming_orange_4.png create mode 100644 mods/farming_plus/textures/farming_orange_seed.png create mode 100644 mods/farming_plus/textures/farming_potatoe.png create mode 100644 mods/farming_plus/textures/farming_potatoe_1.png create mode 100644 mods/farming_plus/textures/farming_potatoe_2.png create mode 100644 mods/farming_plus/textures/farming_potatoe_3.png create mode 100644 mods/farming_plus/textures/farming_potatoe_seed.png create mode 100644 mods/farming_plus/textures/farming_rhubarb.png create mode 100644 mods/farming_plus/textures/farming_rhubarb_1.png create mode 100644 mods/farming_plus/textures/farming_rhubarb_2.png create mode 100644 mods/farming_plus/textures/farming_rhubarb_3.png create mode 100644 mods/farming_plus/textures/farming_rhubarb_seed.png create mode 100644 mods/farming_plus/textures/farming_rubber_sapling.png create mode 100755 mods/farming_plus/textures/farming_rubber_tree_empty.png create mode 100755 mods/farming_plus/textures/farming_rubber_tree_full.png create mode 100644 mods/farming_plus/textures/farming_strawberry.png create mode 100644 mods/farming_plus/textures/farming_strawberry_1.png create mode 100644 mods/farming_plus/textures/farming_strawberry_2.png create mode 100644 mods/farming_plus/textures/farming_strawberry_3.png create mode 100644 mods/farming_plus/textures/farming_strawberry_4.png create mode 100644 mods/farming_plus/textures/farming_strawberry_seed.png create mode 100644 mods/farming_plus/textures/farming_tomato.png create mode 100644 mods/farming_plus/textures/farming_tomato_1.png create mode 100644 mods/farming_plus/textures/farming_tomato_2.png create mode 100644 mods/farming_plus/textures/farming_tomato_3.png create mode 100644 mods/farming_plus/textures/farming_tomato_4.png create mode 100644 mods/farming_plus/textures/farming_tomato_seed.png create mode 100644 mods/farming_plus/tomatoes.lua create mode 100644 mods/flowers/.gitignore create mode 100644 mods/flowers/README create mode 100644 mods/flowers/changelog.txt create mode 100644 mods/flowers/copyright.txt create mode 100644 mods/flowers/depends.txt create mode 100644 mods/flowers/init.lua create mode 100644 mods/flowers/license.txt create mode 100644 mods/flowers/textures/cotton.png create mode 100644 mods/flowers/textures/flower_cotton.png create mode 100644 mods/flowers/textures/flower_cotton_pot.png create mode 100644 mods/flowers/textures/flower_dandelion_white.png create mode 100644 mods/flowers/textures/flower_dandelion_white_pot.png create mode 100644 mods/flowers/textures/flower_dandelion_yellow.png create mode 100644 mods/flowers/textures/flower_dandelion_yellow_pot.png create mode 100644 mods/flowers/textures/flower_geranium.png create mode 100644 mods/flowers/textures/flower_geranium_pot.png create mode 100644 mods/flowers/textures/flower_pot.png create mode 100644 mods/flowers/textures/flower_rose.png create mode 100644 mods/flowers/textures/flower_rose_pot.png create mode 100644 mods/flowers/textures/flower_seaweed.png create mode 100644 mods/flowers/textures/flower_tulip.png create mode 100644 mods/flowers/textures/flower_tulip_pot.png create mode 100644 mods/flowers/textures/flower_viola.png create mode 100644 mods/flowers/textures/flower_viola_pot.png create mode 100644 mods/flowers/textures/flower_waterlily.png create mode 100644 mods/give_initial_stuff/depends.txt create mode 100644 mods/give_initial_stuff/init.lua create mode 100644 mods/glow/depends.txt create mode 100644 mods/glow/init.lua create mode 100644 mods/glow/textures/glow_lamp.png create mode 100644 mods/glow/textures/glow_stone.png create mode 100644 mods/homedecor/.gitignore create mode 100644 mods/homedecor/README create mode 100644 mods/homedecor/changelog.txt create mode 100644 mods/homedecor/copyright.txt create mode 100644 mods/homedecor/crafts.lua create mode 100644 mods/homedecor/depends.txt create mode 100644 mods/homedecor/door_models.lua create mode 100644 mods/homedecor/door_nodes.lua create mode 100644 mods/homedecor/fences.lua create mode 100644 mods/homedecor/init.lua create mode 100644 mods/homedecor/kitchen_cabinet.lua create mode 100644 mods/homedecor/lighting.lua create mode 100755 mods/homedecor/listnodes.sh create mode 100644 mods/homedecor/nightstands.lua create mode 100644 mods/homedecor/oven.lua create mode 100644 mods/homedecor/refrigerator.lua create mode 100644 mods/homedecor/television.lua create mode 100644 mods/homedecor/textures/homedecor_blanktile.png create mode 100644 mods/homedecor/textures/homedecor_brass_ingot.png create mode 100644 mods/homedecor/textures/homedecor_ceiling_paint.png create mode 100644 mods/homedecor/textures/homedecor_ceiling_paint_roller.png create mode 100644 mods/homedecor/textures/homedecor_ceiling_tile.png create mode 100644 mods/homedecor/textures/homedecor_curtain_blue.png create mode 100644 mods/homedecor/textures/homedecor_curtain_green.png create mode 100644 mods/homedecor/textures/homedecor_curtain_pink.png create mode 100644 mods/homedecor/textures/homedecor_curtain_red.png create mode 100644 mods/homedecor/textures/homedecor_curtain_violet.png create mode 100644 mods/homedecor/textures/homedecor_curtain_white.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_closet_oak_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_exterior_fancy_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_bottom_left.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_bottom_right.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_top_left.png create mode 100644 mods/homedecor/textures/homedecor_door_glass_top_right.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_mahogany_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_left_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_left_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_left_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_lrb.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_lrt.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_right_bottom.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_right_top.png create mode 100644 mods/homedecor/textures/homedecor_door_wood_plain_tb.png create mode 100644 mods/homedecor/textures/homedecor_drawer_large.png create mode 100644 mods/homedecor/textures/homedecor_drawer_small.png create mode 100644 mods/homedecor/textures/homedecor_fence_barbed_wire.png create mode 100644 mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png create mode 100644 mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png create mode 100644 mods/homedecor/textures/homedecor_fence_brass.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_fb.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_gate_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_gate_sides.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_gate_tb.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_sides.png create mode 100644 mods/homedecor/textures/homedecor_fence_chainlink_tb.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_gate.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_gate_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_gate_white.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_gate_white_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_white.png create mode 100644 mods/homedecor/textures/homedecor_fence_picket_white_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_privacy_backside.png create mode 100644 mods/homedecor/textures/homedecor_fence_privacy_front.png create mode 100644 mods/homedecor/textures/homedecor_fence_privacy_sides.png create mode 100644 mods/homedecor/textures/homedecor_fence_privacy_tb.png create mode 100644 mods/homedecor/textures/homedecor_fence_wrought_iron.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_black_bottom.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_black_sides.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_black_top.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_green_bottom.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_green_sides.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_green_top.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_terracotta_sides.png create mode 100644 mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png create mode 100644 mods/homedecor/textures/homedecor_glass_table_large.png create mode 100644 mods/homedecor/textures/homedecor_glass_table_small_round.png create mode 100644 mods/homedecor/textures/homedecor_glass_table_small_square.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_white_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thick_yellow_wall_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thin_white_wall_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thin_yellow_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_thin_yellow_wall_sides.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_white_tb.png create mode 100644 mods/homedecor/textures/homedecor_glowlight_yellow_tb.png create mode 100644 mods/homedecor/textures/homedecor_ic.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_front.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_front_half.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_sides.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png create mode 100644 mods/homedecor/textures/homedecor_kitchen_cabinet_top.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_back.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_left.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_right.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_mahogany_top.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_back.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_bottom.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_left.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_right.png create mode 100644 mods/homedecor/textures/homedecor_nightstand_oak_top.png create mode 100644 mods/homedecor/textures/homedecor_oven_bottom.png create mode 100644 mods/homedecor/textures/homedecor_oven_front.png create mode 100644 mods/homedecor/textures/homedecor_oven_front_active.png create mode 100644 mods/homedecor/textures/homedecor_oven_side.png create mode 100644 mods/homedecor/textures/homedecor_oven_top.png create mode 100644 mods/homedecor/textures/homedecor_plastic_base.png create mode 100644 mods/homedecor/textures/homedecor_plastic_base_inv.png create mode 100644 mods/homedecor/textures/homedecor_plastic_sheeting.png create mode 100644 mods/homedecor/textures/homedecor_pole_brass.png create mode 100644 mods/homedecor/textures/homedecor_pole_brass2.png create mode 100644 mods/homedecor/textures/homedecor_pole_wrought_iron.png create mode 100644 mods/homedecor/textures/homedecor_projection_screen.png create mode 100644 mods/homedecor/textures/homedecor_projection_screen_inv.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_back.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_bottom.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_front.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_inv.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_left.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_right.png create mode 100644 mods/homedecor/textures/homedecor_refrigerator_top.png create mode 100644 mods/homedecor/textures/homedecor_roof_tile_terracotta.png create mode 100644 mods/homedecor/textures/homedecor_rug_large.png create mode 100644 mods/homedecor/textures/homedecor_rug_small.png create mode 100644 mods/homedecor/textures/homedecor_shingles_asphalt.png create mode 100644 mods/homedecor/textures/homedecor_shingles_terracotta.png create mode 100644 mods/homedecor/textures/homedecor_shingles_wood.png create mode 100644 mods/homedecor/textures/homedecor_silicon.png create mode 100644 mods/homedecor/textures/homedecor_speaker_back.png create mode 100644 mods/homedecor/textures/homedecor_speaker_bottom.png create mode 100644 mods/homedecor/textures/homedecor_speaker_front.png create mode 100644 mods/homedecor/textures/homedecor_speaker_left.png create mode 100644 mods/homedecor/textures/homedecor_speaker_right.png create mode 100644 mods/homedecor/textures/homedecor_speaker_top.png create mode 100644 mods/homedecor/textures/homedecor_stereo_back.png create mode 100644 mods/homedecor/textures/homedecor_stereo_bottom.png create mode 100644 mods/homedecor/textures/homedecor_stereo_front.png create mode 100644 mods/homedecor/textures/homedecor_stereo_left.png create mode 100644 mods/homedecor/textures/homedecor_stereo_right.png create mode 100644 mods/homedecor/textures/homedecor_stereo_top.png create mode 100644 mods/homedecor/textures/homedecor_table_legs_brass.png create mode 100644 mods/homedecor/textures/homedecor_table_legs_wrought_iron.png create mode 100644 mods/homedecor/textures/homedecor_television_back.png create mode 100644 mods/homedecor/textures/homedecor_television_bottom.png create mode 100644 mods/homedecor/textures/homedecor_television_front.png create mode 100644 mods/homedecor/textures/homedecor_television_front_animated.png create mode 100644 mods/homedecor/textures/homedecor_television_left.png create mode 100644 mods/homedecor/textures/homedecor_television_right.png create mode 100644 mods/homedecor/textures/homedecor_television_top.png create mode 100644 mods/homedecor/textures/homedecor_terracotta_base.png create mode 100644 mods/homedecor/textures/homedecor_tile_brass.png create mode 100644 mods/homedecor/textures/homedecor_tile_brass2.png create mode 100644 mods/homedecor/textures/homedecor_tile_wrought_iron.png create mode 100644 mods/homedecor/textures/homedecor_tile_wrought_iron2.png create mode 100644 mods/homedecor/textures/homedecor_titanium_dioxide.png create mode 100644 mods/homedecor/textures/homedecor_utility_table_legs.png create mode 100644 mods/homedecor/textures/homedecor_utility_table_legs_inv.png create mode 100644 mods/homedecor/textures/homedecor_utility_table_top.png create mode 100644 mods/homedecor/textures/homedecor_white_paint.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_black.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_dark_grey.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_forest_green.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_grey.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_light_blue.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_mahogany.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_oak.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_purple.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_red.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_white.png create mode 100644 mods/homedecor/textures/homedecor_window_shutter_yellow.png create mode 100644 mods/homedecor/textures/homedecor_wood_table_large.png create mode 100644 mods/homedecor/textures/homedecor_wood_table_small_round.png create mode 100644 mods/homedecor/textures/homedecor_wood_table_small_square.png create mode 100644 mods/hydro/depends.txt create mode 100644 mods/hydro/init.lua create mode 100644 mods/hydro/textures/hydro_coffee.png create mode 100644 mods/hydro/textures/hydro_coffee1.png create mode 100644 mods/hydro/textures/hydro_coffee2.png create mode 100644 mods/hydro/textures/hydro_coffee3.png create mode 100644 mods/hydro/textures/hydro_coffee4.png create mode 100644 mods/hydro/textures/hydro_coffeecup.png create mode 100644 mods/hydro/textures/hydro_grapes.png create mode 100644 mods/hydro/textures/hydro_grapes1.png create mode 100644 mods/hydro/textures/hydro_grapes2.png create mode 100644 mods/hydro/textures/hydro_grapes3.png create mode 100644 mods/hydro/textures/hydro_grapes4.png create mode 100644 mods/hydro/textures/hydro_growlamp.png create mode 100644 mods/hydro/textures/hydro_habanero.png create mode 100644 mods/hydro/textures/hydro_habanero1.png create mode 100644 mods/hydro/textures/hydro_habanero2.png create mode 100644 mods/hydro/textures/hydro_habanero3.png create mode 100644 mods/hydro/textures/hydro_habanero4.png create mode 100644 mods/hydro/textures/hydro_peas.png create mode 100644 mods/hydro/textures/hydro_peas1.png create mode 100644 mods/hydro/textures/hydro_peas2.png create mode 100644 mods/hydro/textures/hydro_peas3.png create mode 100644 mods/hydro/textures/hydro_peas4.png create mode 100644 mods/hydro/textures/hydro_promix.png create mode 100644 mods/hydro/textures/hydro_roastedcoffee.png create mode 100644 mods/hydro/textures/hydro_rosebush.png create mode 100644 mods/hydro/textures/hydro_roses1.png create mode 100644 mods/hydro/textures/hydro_roses2.png create mode 100644 mods/hydro/textures/hydro_roses3.png create mode 100644 mods/hydro/textures/hydro_roses4.png create mode 100644 mods/hydro/textures/hydro_seedlings.png create mode 100644 mods/hydro/textures/hydro_seeds.png create mode 100644 mods/hydro/textures/hydro_sproutlings.png create mode 100644 mods/hydro/textures/hydro_tomato.png create mode 100644 mods/hydro/textures/hydro_tomato1.png create mode 100644 mods/hydro/textures/hydro_tomato2.png create mode 100644 mods/hydro/textures/hydro_tomato3.png create mode 100644 mods/hydro/textures/hydro_tomato4.png create mode 100644 mods/hydro/textures/hydro_wildplant.png create mode 100644 mods/hydro/textures/hydro_wine.png create mode 100644 mods/inventory_plus/init.lua create mode 100644 mods/irc/API.txt create mode 100644 mods/irc/CHANGES.txt create mode 100644 mods/irc/LICENSE-LuaIRC.txt create mode 100644 mods/irc/LICENSE-luasocket.txt create mode 100644 mods/irc/LICENSE.txt create mode 100644 mods/irc/README.txt create mode 100644 mods/irc/TODO.txt create mode 100644 mods/irc/botcmds.lua create mode 100644 mods/irc/callback.lua create mode 100644 mods/irc/chatcmds.lua create mode 100644 mods/irc/config.lua create mode 100644 mods/irc/friends.lua create mode 100644 mods/irc/ftp.lua create mode 100644 mods/irc/http.lua create mode 100644 mods/irc/init.lua create mode 100644 mods/irc/irc.lua create mode 100644 mods/irc/irc/channel.lua create mode 100644 mods/irc/irc/constants.lua create mode 100644 mods/irc/irc/ctcp.lua create mode 100644 mods/irc/irc/dcc.lua create mode 100644 mods/irc/irc/debug.lua create mode 100644 mods/irc/irc/message.lua create mode 100644 mods/irc/irc/misc.lua create mode 100755 mods/irc/libluasocket.so create mode 100644 mods/irc/ltn12.lua create mode 100644 mods/irc/mime.lua create mode 100644 mods/irc/smtp.lua create mode 100644 mods/irc/socket.lua create mode 100644 mods/irc/tp.lua create mode 100644 mods/irc/url.lua create mode 100644 mods/lantern/depends.txt create mode 100644 mods/lantern/init.lua create mode 100644 mods/lantern/textures/lantern_torch_side.png create mode 100644 mods/lantern/textures/lantern_torch_top.png create mode 100644 mods/legacy/depends.txt create mode 100644 mods/legacy/init.lua create mode 100644 mods/legacy/textures/apple_iron.png create mode 100644 mods/legacy/textures/cooked_rat.png create mode 100644 mods/legacy/textures/dungeon_master.png create mode 100644 mods/legacy/textures/fireball.png create mode 100644 mods/legacy/textures/firefly.png create mode 100644 mods/legacy/textures/oerkki1.png create mode 100644 mods/legacy/textures/oerkki1_damaged.png create mode 100644 mods/legacy/textures/rat.png create mode 100644 mods/locks/README.md create mode 100644 mods/locks/depends.txt create mode 100644 mods/locks/init.lua create mode 100644 mods/locks/liscence.txt create mode 100644 mods/locks/shared_locked_chest.lua create mode 100644 mods/locks/shared_locked_sign_wall.lua create mode 100644 mods/locks/shared_locked_xdoors2.lua create mode 100644 mods/locks/textures/licence.txt create mode 100644 mods/locks/textures/locks_key16.png create mode 100644 mods/locks/textures/locks_key32.png create mode 100644 mods/locks/textures/locks_keychain16.png create mode 100644 mods/locks/textures/locks_keychain32.png create mode 100644 mods/locks/textures/locks_lock16.png create mode 100644 mods/locks/textures/locks_lock32.png create mode 100644 mods/locks/textures/locks_xdoors2_bottom_1.png create mode 100644 mods/locks/textures/locks_xdoors2_bottom_2.png create mode 100644 mods/locks/textures/locks_xdoors2_door.png create mode 100644 mods/locks/textures/xdoors2_bottom.png create mode 100644 mods/locks/textures/xdoors2_side.png create mode 100644 mods/locks/textures/xdoors2_top.png create mode 100644 mods/locks/textures/xdoors2_top_1.png create mode 100644 mods/locks/textures/xdoors2_top_2.png create mode 100644 mods/locks/textures/xdoors2locked_bottom_1.png create mode 100644 mods/locks/textures/xdoors2locked_bottom_2.png create mode 100644 mods/locks/textures/xdoors2locked_door.png create mode 160000 mods/minetest-craft_guide create mode 160000 mods/minetest-mod-jumping create mode 160000 mods/minetest-mod-mesecons create mode 100644 mods/money2/config.lua create mode 100755 mods/money2/init.lua create mode 100644 mods/money2/lockedsign.lua create mode 100644 mods/money2/textures/.directory create mode 100644 mods/moreblocks/LICENSE.txt create mode 100644 mods/moreblocks/depends.txt create mode 100644 mods/moreblocks/init.lua create mode 100644 mods/moreblocks/textures/moreblocks_cactusbrick.png create mode 100644 mods/moreblocks/textures/moreblocks_cactuschecker.png create mode 100644 mods/moreblocks/textures/moreblocks_cactuschecker_2.png create mode 100644 mods/moreblocks/textures/moreblocks_circlestonebrick.png create mode 100644 mods/moreblocks/textures/moreblocks_cleanglass.png create mode 100644 mods/moreblocks/textures/moreblocks_coalchecker.png create mode 100644 mods/moreblocks/textures/moreblocks_coalchecker_2.png create mode 100644 mods/moreblocks/textures/moreblocks_coalglass.png create mode 100644 mods/moreblocks/textures/moreblocks_coalstone.png create mode 100644 mods/moreblocks/textures/moreblocks_emptybookshelf.png create mode 100644 mods/moreblocks/textures/moreblocks_glowglass.png create mode 100644 mods/moreblocks/textures/moreblocks_horizontaljungletree.png create mode 100644 mods/moreblocks/textures/moreblocks_horizontaltree.png create mode 100644 mods/moreblocks/textures/moreblocks_ironchecker.png create mode 100644 mods/moreblocks/textures/moreblocks_ironchecker_2.png create mode 100644 mods/moreblocks/textures/moreblocks_ironglass.png create mode 100644 mods/moreblocks/textures/moreblocks_ironstone.png create mode 100644 mods/moreblocks/textures/moreblocks_ironstonebrick.png create mode 100644 mods/moreblocks/textures/moreblocks_junglestick.png create mode 100644 mods/moreblocks/textures/moreblocks_junglewood.png create mode 100644 mods/moreblocks/textures/moreblocks_junglewood_fence.png create mode 100644 mods/moreblocks/textures/moreblocks_oerkkiblock.png create mode 100644 mods/moreblocks/textures/moreblocks_plankstone.png create mode 100644 mods/moreblocks/textures/moreblocks_plankstone_2.png create mode 100644 mods/moreblocks/textures/moreblocks_rope.png create mode 100644 mods/moreblocks/textures/moreblocks_splitstonesquare.png create mode 100644 mods/moreblocks/textures/moreblocks_splitstonesquare_top.png create mode 100644 mods/moreblocks/textures/moreblocks_stonebrick.png create mode 100644 mods/moreblocks/textures/moreblocks_stonesquare.png create mode 100644 mods/moreblocks/textures/moreblocks_sweeper.png create mode 100644 mods/moreblocks/textures/moreblocks_trapglass.png create mode 100644 mods/moreblocks/textures/moreblocks_trapstone.png create mode 100644 mods/moreores/LICENSE.txt create mode 100644 mods/moreores/depends.txt create mode 100644 mods/moreores/init.lua create mode 100644 mods/moreores/old_init.lua create mode 100644 mods/moreores/textures/moreores_bronze_block.png create mode 100644 mods/moreores/textures/moreores_bronze_ingot.png create mode 100644 mods/moreores/textures/moreores_copper_ingot.png create mode 100644 mods/moreores/textures/moreores_copper_lump.png create mode 100644 mods/moreores/textures/moreores_copper_rail.png create mode 100644 mods/moreores/textures/moreores_copper_rail_crossing.png create mode 100644 mods/moreores/textures/moreores_copper_rail_curved.png create mode 100644 mods/moreores/textures/moreores_copper_rail_t_junction.png create mode 100644 mods/moreores/textures/moreores_gold_block.png create mode 100644 mods/moreores/textures/moreores_gold_ingot.png create mode 100644 mods/moreores/textures/moreores_gold_lump.png create mode 100644 mods/moreores/textures/moreores_mineral_copper.png create mode 100644 mods/moreores/textures/moreores_mineral_gold.png create mode 100644 mods/moreores/textures/moreores_mineral_mithril.png create mode 100644 mods/moreores/textures/moreores_mineral_silver.png create mode 100644 mods/moreores/textures/moreores_mineral_tin.png create mode 100644 mods/moreores/textures/moreores_mithril_block.png create mode 100644 mods/moreores/textures/moreores_mithril_ingot.png create mode 100644 mods/moreores/textures/moreores_mithril_lump.png create mode 100644 mods/moreores/textures/moreores_silver_block.png create mode 100644 mods/moreores/textures/moreores_silver_ingot.png create mode 100644 mods/moreores/textures/moreores_silver_lump.png create mode 100644 mods/moreores/textures/moreores_tin_ingot.png create mode 100644 mods/moreores/textures/moreores_tin_lump.png create mode 100644 mods/moreores/textures/moreores_tool_bronzeaxe.png create mode 100644 mods/moreores/textures/moreores_tool_bronzepick.png create mode 100644 mods/moreores/textures/moreores_tool_bronzeshovel.png create mode 100644 mods/moreores/textures/moreores_tool_bronzesword.png create mode 100644 mods/moreores/textures/moreores_tool_goldaxe.png create mode 100644 mods/moreores/textures/moreores_tool_goldpick.png create mode 100644 mods/moreores/textures/moreores_tool_goldshovel.png create mode 100644 mods/moreores/textures/moreores_tool_goldsword.png create mode 100644 mods/moreores/textures/moreores_tool_mithrilaxe.png create mode 100644 mods/moreores/textures/moreores_tool_mithrilpick.png create mode 100644 mods/moreores/textures/moreores_tool_mithrilshovel.png create mode 100644 mods/moreores/textures/moreores_tool_mithrilsword.png create mode 100644 mods/moreores/textures/moreores_tool_silveraxe.png create mode 100644 mods/moreores/textures/moreores_tool_silverpick.png create mode 100644 mods/moreores/textures/moreores_tool_silvershovel.png create mode 100644 mods/moreores/textures/moreores_tool_silversword.png create mode 100644 mods/pipeworks/.gitignore create mode 100644 mods/pipeworks/README create mode 100644 mods/pipeworks/autocrafter.lua create mode 100644 mods/pipeworks/autoplace.lua create mode 100644 mods/pipeworks/changelog.txt create mode 100644 mods/pipeworks/compat.lua create mode 100644 mods/pipeworks/crafts.lua create mode 100644 mods/pipeworks/depends.txt create mode 100644 mods/pipeworks/deployer.lua create mode 100644 mods/pipeworks/devices.lua create mode 100644 mods/pipeworks/flowing_logic.lua create mode 100644 mods/pipeworks/init.lua create mode 100644 mods/pipeworks/item_transport.lua create mode 100644 mods/pipeworks/node_breaker.lua create mode 100644 mods/pipeworks/oldpipes.lua create mode 100644 mods/pipeworks/teleport_tube.lua create mode 100644 mods/pipeworks/textures/default_chest_side.png create mode 100644 mods/pipeworks/textures/default_furnace_side.png create mode 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png create mode 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_autocrafter.png create mode 100644 mods/pipeworks/textures/pipeworks_black.png create mode 100644 mods/pipeworks/textures/pipeworks_blue.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_back.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_bottom.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_front_off.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_front_on.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_side.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_side1.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_side2.png create mode 100644 mods/pipeworks/textures/pipeworks_deployer_top.png create mode 100644 mods/pipeworks/textures/pipeworks_detector_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_detector_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_detector_tube_noctr.png create mode 100644 mods/pipeworks/textures/pipeworks_detector_tube_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_detector_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_filter_input.png create mode 100644 mods/pipeworks/textures/pipeworks_filter_output.png create mode 100644 mods/pipeworks/textures/pipeworks_filter_side.png create mode 100644 mods/pipeworks/textures/pipeworks_filter_top.png create mode 100644 mods/pipeworks/textures/pipeworks_grating_sides.png create mode 100644 mods/pipeworks/textures/pipeworks_grating_top.png create mode 100644 mods/pipeworks/textures/pipeworks_green.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png create mode 100644 mods/pipeworks/textures/pipeworks_mese_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_back.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png create mode 100644 mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_end.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_end_empty.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_end_loaded.png create mode 100644 mods/pipeworks/textures/pipeworks_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_plastic_sheeting.png create mode 100644 mods/pipeworks/textures/pipeworks_pump_bottom.png create mode 100644 mods/pipeworks/textures/pipeworks_pump_off.png create mode 100644 mods/pipeworks/textures/pipeworks_pump_on.png create mode 100644 mods/pipeworks/textures/pipeworks_pump_sides.png create mode 100644 mods/pipeworks/textures/pipeworks_pump_top.png create mode 100644 mods/pipeworks/textures/pipeworks_red.png create mode 100644 mods/pipeworks/textures/pipeworks_sand_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_sand_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_sand_tube_noctr.png create mode 100644 mods/pipeworks/textures/pipeworks_sand_tube_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_sand_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_spigot_bottom2.png create mode 100644 mods/pipeworks/textures/pipeworks_spigot_sides.png create mode 100644 mods/pipeworks/textures/pipeworks_spigot_sides2.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_back.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_fittings.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_0.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_1.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_10.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_2.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_3.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_4.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_5.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_6.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_7.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_8.png create mode 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_9.png create mode 100644 mods/pipeworks/textures/pipeworks_teleport_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_teleport_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png create mode 100644 mods/pipeworks/textures/pipeworks_teleport_tube_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_teleport_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_testobject.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_end.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_noctr.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_plain.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_short.png create mode 100644 mods/pipeworks/textures/pipeworks_tube_transparent.png create mode 100644 mods/pipeworks/textures/pipeworks_valvebody_bottom.png create mode 100644 mods/pipeworks/textures/pipeworks_valvebody_ends.png create mode 100644 mods/pipeworks/textures/pipeworks_valvebody_sides.png create mode 100644 mods/pipeworks/textures/pipeworks_valvebody_top_off.png create mode 100644 mods/pipeworks/textures/pipeworks_valvebody_top_on.png create mode 100644 mods/pipeworks/textures/pipeworks_white.png create mode 100644 mods/pipeworks/textures/pipeworks_windowed_empty.png create mode 100644 mods/pipeworks/textures/pipeworks_windowed_loaded.png create mode 100644 mods/pipeworks/textures/pipeworks_yellow.png create mode 100644 mods/pipeworks/tubes.lua create mode 100644 mods/places/depends.txt create mode 100644 mods/places/init.lua create mode 100644 mods/protector/depends.txt create mode 100644 mods/protector/init.lua create mode 100644 mods/protector/textures/glo2.png create mode 100644 mods/pulverize_all/depends.txt create mode 100644 mods/pulverize_all/init.lua create mode 100644 mods/sethome/COPYING create mode 100644 mods/sethome/depends.txt create mode 100644 mods/sethome/homes create mode 100644 mods/sethome/init.lua create mode 100644 mods/signs/README.txt create mode 100644 mods/signs/changelog.txt create mode 100644 mods/signs/characters create mode 100644 mods/signs/depends.txt create mode 100644 mods/signs/init.lua create mode 100644 mods/signs/textures/_0.png create mode 100644 mods/signs/textures/_1.png create mode 100644 mods/signs/textures/_2.png create mode 100644 mods/signs/textures/_3.png create mode 100644 mods/signs/textures/_4.png create mode 100644 mods/signs/textures/_5.png create mode 100644 mods/signs/textures/_6.png create mode 100644 mods/signs/textures/_7.png create mode 100644 mods/signs/textures/_8.png create mode 100644 mods/signs/textures/_9.png create mode 100644 mods/signs/textures/_a.png create mode 100644 mods/signs/textures/_a_.png create mode 100644 mods/signs/textures/_am.png create mode 100644 mods/signs/textures/_ap.png create mode 100644 mods/signs/textures/_as.png create mode 100644 mods/signs/textures/_at.png create mode 100644 mods/signs/textures/_b.png create mode 100644 mods/signs/textures/_b_.png create mode 100644 mods/signs/textures/_bl.png create mode 100644 mods/signs/textures/_br.png create mode 100644 mods/signs/textures/_c.png create mode 100644 mods/signs/textures/_c_.png create mode 100644 mods/signs/textures/_ca.png create mode 100644 mods/signs/textures/_cl.png create mode 100644 mods/signs/textures/_cm.png create mode 100644 mods/signs/textures/_cr.png create mode 100644 mods/signs/textures/_d.png create mode 100644 mods/signs/textures/_d_.png create mode 100644 mods/signs/textures/_dl.png create mode 100644 mods/signs/textures/_dt.png create mode 100644 mods/signs/textures/_dv.png create mode 100644 mods/signs/textures/_e.png create mode 100644 mods/signs/textures/_e_.png create mode 100644 mods/signs/textures/_eq.png create mode 100644 mods/signs/textures/_ex.png create mode 100644 mods/signs/textures/_f.png create mode 100644 mods/signs/textures/_f_.png create mode 100644 mods/signs/textures/_g.png create mode 100644 mods/signs/textures/_g_.png create mode 100644 mods/signs/textures/_gt.png create mode 100644 mods/signs/textures/_h.png create mode 100644 mods/signs/textures/_h_.png create mode 100644 mods/signs/textures/_ha.png create mode 100644 mods/signs/textures/_hs.png create mode 100644 mods/signs/textures/_i.png create mode 100644 mods/signs/textures/_i_.png create mode 100644 mods/signs/textures/_j.png create mode 100644 mods/signs/textures/_j_.png create mode 100644 mods/signs/textures/_k.png create mode 100644 mods/signs/textures/_k_.png create mode 100644 mods/signs/textures/_l.png create mode 100644 mods/signs/textures/_l_.png create mode 100644 mods/signs/textures/_lt.png create mode 100644 mods/signs/textures/_m.png create mode 100644 mods/signs/textures/_m_.png create mode 100644 mods/signs/textures/_mn.png create mode 100644 mods/signs/textures/_n.png create mode 100644 mods/signs/textures/_n_.png create mode 100644 mods/signs/textures/_o.png create mode 100644 mods/signs/textures/_o_.png create mode 100644 mods/signs/textures/_p.png create mode 100644 mods/signs/textures/_p_.png create mode 100644 mods/signs/textures/_pr.png create mode 100644 mods/signs/textures/_ps.png create mode 100644 mods/signs/textures/_q.png create mode 100644 mods/signs/textures/_q_.png create mode 100644 mods/signs/textures/_qo.png create mode 100644 mods/signs/textures/_qu.png create mode 100644 mods/signs/textures/_r.png create mode 100644 mods/signs/textures/_r_.png create mode 100644 mods/signs/textures/_re.png create mode 100644 mods/signs/textures/_s.png create mode 100644 mods/signs/textures/_s_.png create mode 100644 mods/signs/textures/_sl.png create mode 100644 mods/signs/textures/_sm.png create mode 100644 mods/signs/textures/_sp.png create mode 100644 mods/signs/textures/_sr.png create mode 100644 mods/signs/textures/_t.png create mode 100644 mods/signs/textures/_t_.png create mode 100644 mods/signs/textures/_tl.png create mode 100644 mods/signs/textures/_u.png create mode 100644 mods/signs/textures/_u_.png create mode 100644 mods/signs/textures/_un.png create mode 100644 mods/signs/textures/_v.png create mode 100644 mods/signs/textures/_v_.png create mode 100644 mods/signs/textures/_vb.png create mode 100644 mods/signs/textures/_w.png create mode 100644 mods/signs/textures/_w_.png create mode 100644 mods/signs/textures/_x.png create mode 100644 mods/signs/textures/_x_.png create mode 100644 mods/signs/textures/_y.png create mode 100644 mods/signs/textures/_y_.png create mode 100644 mods/signs/textures/_z.png create mode 100644 mods/signs/textures/_z_.png create mode 100644 mods/signs/textures/signs_back.png create mode 100644 mods/signs/textures/signs_bottom.png create mode 100644 mods/signs/textures/signs_front.png create mode 100644 mods/signs/textures/signs_side.png create mode 100644 mods/signs/textures/signs_sign.png create mode 100644 mods/signs/textures/signs_top.png create mode 100644 mods/skins/depends.txt create mode 100644 mods/skins/init.lua create mode 100644 mods/skins/skinlist.lua create mode 100644 mods/skins/textures/character_1.png create mode 100644 mods/skins/textures/character_10.png create mode 100644 mods/skins/textures/character_11.png create mode 100644 mods/skins/textures/character_12.png create mode 100644 mods/skins/textures/character_13.png create mode 100644 mods/skins/textures/character_14.png create mode 100644 mods/skins/textures/character_15.png create mode 100644 mods/skins/textures/character_16.png create mode 100644 mods/skins/textures/character_17.png create mode 100644 mods/skins/textures/character_18.png create mode 100644 mods/skins/textures/character_19.png create mode 100644 mods/skins/textures/character_2.png create mode 100644 mods/skins/textures/character_3.png create mode 100644 mods/skins/textures/character_4.png create mode 100644 mods/skins/textures/character_5.png create mode 100644 mods/skins/textures/character_6.png create mode 100644 mods/skins/textures/character_7.png create mode 100644 mods/skins/textures/character_8.png create mode 100644 mods/skins/textures/character_9.png create mode 100644 mods/skins/textures/player_1.png create mode 100644 mods/skins/textures/player_10.png create mode 100644 mods/skins/textures/player_10_back.png create mode 100644 mods/skins/textures/player_11.png create mode 100644 mods/skins/textures/player_11_back.png create mode 100644 mods/skins/textures/player_12.png create mode 100644 mods/skins/textures/player_12_back.png create mode 100644 mods/skins/textures/player_13.png create mode 100644 mods/skins/textures/player_13_back.png create mode 100644 mods/skins/textures/player_14.png create mode 100644 mods/skins/textures/player_14_back.png create mode 100644 mods/skins/textures/player_15.png create mode 100644 mods/skins/textures/player_15_back.png create mode 100644 mods/skins/textures/player_16.png create mode 100644 mods/skins/textures/player_16_back.png create mode 100644 mods/skins/textures/player_17.png create mode 100644 mods/skins/textures/player_17_back.png create mode 100644 mods/skins/textures/player_18.png create mode 100644 mods/skins/textures/player_18_back.png create mode 100644 mods/skins/textures/player_19.png create mode 100644 mods/skins/textures/player_19_back.png create mode 100644 mods/skins/textures/player_1_back.png create mode 100644 mods/skins/textures/player_2.png create mode 100644 mods/skins/textures/player_20.png create mode 100644 mods/skins/textures/player_20_back.png create mode 100644 mods/skins/textures/player_21.png create mode 100644 mods/skins/textures/player_21_back.png create mode 100644 mods/skins/textures/player_22.png create mode 100644 mods/skins/textures/player_22_back.png create mode 100644 mods/skins/textures/player_23.png create mode 100644 mods/skins/textures/player_23_back.png create mode 100644 mods/skins/textures/player_24.png create mode 100644 mods/skins/textures/player_24_back.png create mode 100644 mods/skins/textures/player_25.png create mode 100644 mods/skins/textures/player_25_back.png create mode 100644 mods/skins/textures/player_2_back.png create mode 100644 mods/skins/textures/player_3.png create mode 100644 mods/skins/textures/player_3_back.png create mode 100644 mods/skins/textures/player_4.png create mode 100644 mods/skins/textures/player_4_back.png create mode 100644 mods/skins/textures/player_5.png create mode 100644 mods/skins/textures/player_5_back.png create mode 100644 mods/skins/textures/player_6.png create mode 100644 mods/skins/textures/player_6_back.png create mode 100644 mods/skins/textures/player_7.png create mode 100644 mods/skins/textures/player_7_back.png create mode 100644 mods/skins/textures/player_8.png create mode 100644 mods/skins/textures/player_8_back.png create mode 100644 mods/skins/textures/player_9.png create mode 100644 mods/skins/textures/player_9_back.png create mode 100644 mods/spawn/depends.txt create mode 100644 mods/spawn/init.lua create mode 100644 mods/stairs/README.txt create mode 100644 mods/stairs/depends.txt create mode 100644 mods/stairs/init.lua create mode 100644 mods/stairsplus/LICENSE.txt create mode 100644 mods/stairsplus/depends.txt create mode 100644 mods/stairsplus/init.lua create mode 100644 mods/technic/.gitattributes create mode 100644 mods/technic/.gitignore create mode 100644 mods/technic/alloy_furnace.lua create mode 100644 mods/technic/battery_box.lua create mode 100644 mods/technic/battery_box_mv.lua create mode 100644 mods/technic/cans.lua create mode 100644 mods/technic/chainsaw.lua create mode 100644 mods/technic/coal_furnace.lua create mode 100644 mods/technic/concrete.lua create mode 100644 mods/technic/config.lua create mode 100644 mods/technic/constructor.lua create mode 100644 mods/technic/copper_chest.lua create mode 100644 mods/technic/depends.txt create mode 100644 mods/technic/deployer.lua create mode 100644 mods/technic/electric.lua create mode 100644 mods/technic/electric_furnace.lua create mode 100644 mods/technic/flashlight.lua create mode 100644 mods/technic/generator.lua create mode 100644 mods/technic/geothermal.lua create mode 100644 mods/technic/gold_chest.lua create mode 100644 mods/technic/grinder.lua create mode 100644 mods/technic/init.lua create mode 100644 mods/technic/injector.lua create mode 100644 mods/technic/iron_chest.lua create mode 100644 mods/technic/item_drop.lua create mode 100644 mods/technic/items.lua create mode 100644 mods/technic/mining_drill.lua create mode 100644 mods/technic/mining_laser_mk1.lua create mode 100644 mods/technic/mithril_chest.lua create mode 100644 mods/technic/music_player.lua create mode 100644 mods/technic/node_breaker.lua create mode 100644 mods/technic/ores.lua create mode 100644 mods/technic/project_table.lua create mode 100644 mods/technic/rubber.lua create mode 100644 mods/technic/screwdriver.lua create mode 100644 mods/technic/silver_chest.lua create mode 100644 mods/technic/solar_panel.lua create mode 100644 mods/technic/solar_panel_mv.lua create mode 100644 mods/technic/sonic_screwdriver.lua create mode 100644 mods/technic/sounds/chainsaw.ogg create mode 100644 mods/technic/sounds/item_drop_pickup.1.ogg create mode 100644 mods/technic/sounds/item_drop_pickup.2.ogg create mode 100644 mods/technic/sounds/item_drop_pickup.3.ogg create mode 100644 mods/technic/sounds/item_drop_pickup.4.ogg create mode 100644 mods/technic/sounds/mining_drill.ogg create mode 100644 mods/technic/sounds/technic_laser.ogg create mode 100644 mods/technic/sounds/technic_sonic_screwdriver.ogg create mode 100644 mods/technic/textures/technic_alloy_furnace_front.png create mode 100644 mods/technic/textures/technic_alloy_furnace_front_active.png create mode 100644 mods/technic/textures/technic_alloy_furnace_side.png create mode 100644 mods/technic/textures/technic_alloy_furnace_top.png create mode 100644 mods/technic/textures/technic_battery.png create mode 100644 mods/technic/textures/technic_battery_box_bottom.png create mode 100644 mods/technic/textures/technic_battery_box_side0.png create mode 100644 mods/technic/textures/technic_battery_box_top.png create mode 100644 mods/technic/textures/technic_battery_reload.png create mode 100644 mods/technic/textures/technic_brass_dust.png create mode 100644 mods/technic/textures/technic_brass_ingot.png create mode 100644 mods/technic/textures/technic_bronze_dust.png create mode 100644 mods/technic/textures/technic_chainsaw.png create mode 100644 mods/technic/textures/technic_chromium_dust.png create mode 100644 mods/technic/textures/technic_chromium_ingot.png create mode 100644 mods/technic/textures/technic_chromium_lump.png create mode 100644 mods/technic/textures/technic_coal_alloy_furnace_bottom.png create mode 100644 mods/technic/textures/technic_coal_alloy_furnace_front.png create mode 100644 mods/technic/textures/technic_coal_alloy_furnace_front_active.png create mode 100644 mods/technic/textures/technic_coal_alloy_furnace_side.png create mode 100644 mods/technic/textures/technic_coal_alloy_furnace_top.png create mode 100644 mods/technic/textures/technic_coal_dust.png create mode 100644 mods/technic/textures/technic_concrete_block.png create mode 100644 mods/technic/textures/technic_constructor_back.png create mode 100644 mods/technic/textures/technic_constructor_front_off.png create mode 100644 mods/technic/textures/technic_constructor_front_on.png create mode 100644 mods/technic/textures/technic_constructor_mk1_bottom_off.png create mode 100644 mods/technic/textures/technic_constructor_mk1_bottom_on.png create mode 100644 mods/technic/textures/technic_constructor_mk1_side1_off.png create mode 100644 mods/technic/textures/technic_constructor_mk1_side1_on.png create mode 100644 mods/technic/textures/technic_constructor_mk1_side2_off.png create mode 100644 mods/technic/textures/technic_constructor_mk1_side2_on.png create mode 100644 mods/technic/textures/technic_constructor_mk1_top_off.png create mode 100644 mods/technic/textures/technic_constructor_mk1_top_on.png create mode 100644 mods/technic/textures/technic_constructor_mk2_bottom_off.png create mode 100644 mods/technic/textures/technic_constructor_mk2_bottom_on.png create mode 100644 mods/technic/textures/technic_constructor_mk2_side1_off.png create mode 100644 mods/technic/textures/technic_constructor_mk2_side1_on.png create mode 100644 mods/technic/textures/technic_constructor_mk2_side2_off.png create mode 100644 mods/technic/textures/technic_constructor_mk2_side2_on.png create mode 100644 mods/technic/textures/technic_constructor_mk2_top_off.png create mode 100644 mods/technic/textures/technic_constructor_mk2_top_on.png create mode 100644 mods/technic/textures/technic_constructor_mk3_bottom_off.png create mode 100644 mods/technic/textures/technic_constructor_mk3_bottom_on.png create mode 100644 mods/technic/textures/technic_constructor_mk3_side1_off.png create mode 100644 mods/technic/textures/technic_constructor_mk3_side1_on.png create mode 100644 mods/technic/textures/technic_constructor_mk3_side2_off.png create mode 100644 mods/technic/textures/technic_constructor_mk3_side2_on.png create mode 100644 mods/technic/textures/technic_constructor_mk3_top_off.png create mode 100644 mods/technic/textures/technic_constructor_mk3_top_on.png create mode 100644 mods/technic/textures/technic_copper_chest_front.png create mode 100644 mods/technic/textures/technic_copper_chest_locked.png create mode 100644 mods/technic/textures/technic_copper_chest_side.png create mode 100644 mods/technic/textures/technic_copper_chest_top.png create mode 100644 mods/technic/textures/technic_copper_coil.png create mode 100644 mods/technic/textures/technic_copper_dust.png create mode 100644 mods/technic/textures/technic_deployer_back.png create mode 100644 mods/technic/textures/technic_deployer_bottom.png create mode 100644 mods/technic/textures/technic_deployer_front_off.png create mode 100644 mods/technic/textures/technic_deployer_front_on.png create mode 100644 mods/technic/textures/technic_deployer_side.png create mode 100644 mods/technic/textures/technic_deployer_side1.png create mode 100644 mods/technic/textures/technic_deployer_side2.png create mode 100644 mods/technic/textures/technic_deployer_top.png create mode 100644 mods/technic/textures/technic_diamond.png create mode 100644 mods/technic/textures/technic_diamond_block.png create mode 100644 mods/technic/textures/technic_diamond_block_blue.png create mode 100644 mods/technic/textures/technic_diamond_block_green.png create mode 100644 mods/technic/textures/technic_diamond_block_red.png create mode 100644 mods/technic/textures/technic_diamond_drill_head.png create mode 100644 mods/technic/textures/technic_doped_silicon_wafer.png create mode 100644 mods/technic/textures/technic_electric_furnace_bottom.png create mode 100644 mods/technic/textures/technic_electric_furnace_front.png create mode 100644 mods/technic/textures/technic_electric_furnace_front_active.png create mode 100644 mods/technic/textures/technic_electric_furnace_side.png create mode 100644 mods/technic/textures/technic_electric_furnace_top.png create mode 100644 mods/technic/textures/technic_fine_copper_wire.png create mode 100644 mods/technic/textures/technic_flashlight.png create mode 100644 mods/technic/textures/technic_generator_front.png create mode 100644 mods/technic/textures/technic_generator_front_active.png create mode 100644 mods/technic/textures/technic_generator_side.png create mode 100644 mods/technic/textures/technic_generator_top.png create mode 100644 mods/technic/textures/technic_geothermal_side.png create mode 100644 mods/technic/textures/technic_geothermal_top.png create mode 100644 mods/technic/textures/technic_geothermal_top_active.png create mode 100644 mods/technic/textures/technic_gold_chest_front.png create mode 100644 mods/technic/textures/technic_gold_chest_front_black.png create mode 100644 mods/technic/textures/technic_gold_chest_front_blue.png create mode 100644 mods/technic/textures/technic_gold_chest_front_brown.png create mode 100644 mods/technic/textures/technic_gold_chest_front_cyan.png create mode 100644 mods/technic/textures/technic_gold_chest_front_dark_green.png create mode 100644 mods/technic/textures/technic_gold_chest_front_dark_grey.png create mode 100644 mods/technic/textures/technic_gold_chest_front_green.png create mode 100644 mods/technic/textures/technic_gold_chest_front_grey.png create mode 100644 mods/technic/textures/technic_gold_chest_front_magenta.png create mode 100644 mods/technic/textures/technic_gold_chest_front_orange.png create mode 100644 mods/technic/textures/technic_gold_chest_front_pink.png create mode 100644 mods/technic/textures/technic_gold_chest_front_red.png create mode 100644 mods/technic/textures/technic_gold_chest_front_violet.png create mode 100644 mods/technic/textures/technic_gold_chest_front_white.png create mode 100644 mods/technic/textures/technic_gold_chest_front_yellow.png create mode 100644 mods/technic/textures/technic_gold_chest_locked.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_black.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_blue.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_brown.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_cyan.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_dark_green.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_dark_grey.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_green.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_grey.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_magenta.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_orange.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_pink.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_red.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_violet.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_white.png create mode 100644 mods/technic/textures/technic_gold_chest_locked_yellow.png create mode 100644 mods/technic/textures/technic_gold_chest_side.png create mode 100644 mods/technic/textures/technic_gold_chest_top.png create mode 100644 mods/technic/textures/technic_gold_dust.png create mode 100644 mods/technic/textures/technic_granite.png create mode 100644 mods/technic/textures/technic_grinder_front.png create mode 100644 mods/technic/textures/technic_grinder_side.png create mode 100644 mods/technic/textures/technic_grinder_top.png create mode 100644 mods/technic/textures/technic_iron_chest_front.png create mode 100644 mods/technic/textures/technic_iron_chest_locked.png create mode 100644 mods/technic/textures/technic_iron_chest_side.png create mode 100644 mods/technic/textures/technic_iron_chest_top.png create mode 100644 mods/technic/textures/technic_iron_dust.png create mode 100644 mods/technic/textures/technic_laser_beam.png create mode 100644 mods/technic/textures/technic_lava_can.png create mode 100644 mods/technic/textures/technic_light.png create mode 100644 mods/technic/textures/technic_lv_cable.png create mode 100644 mods/technic/textures/technic_lv_cable_wield.png create mode 100644 mods/technic/textures/technic_machine_bottom.png create mode 100644 mods/technic/textures/technic_marble.png create mode 100644 mods/technic/textures/technic_marble_bricks.png create mode 100644 mods/technic/textures/technic_menu_bg.png create mode 100644 mods/technic/textures/technic_mineral_chromium.png create mode 100644 mods/technic/textures/technic_mineral_diamond.png create mode 100644 mods/technic/textures/technic_mineral_uranium.png create mode 100644 mods/technic/textures/technic_mineral_zinc.png create mode 100644 mods/technic/textures/technic_mining_drill.png create mode 100644 mods/technic/textures/technic_mining_laser_mk1.png create mode 100644 mods/technic/textures/technic_mithril_chest_front.png create mode 100644 mods/technic/textures/technic_mithril_chest_locked.png create mode 100644 mods/technic/textures/technic_mithril_chest_side.png create mode 100644 mods/technic/textures/technic_mithril_chest_top.png create mode 100644 mods/technic/textures/technic_mithril_dust.png create mode 100644 mods/technic/textures/technic_motor.png create mode 100644 mods/technic/textures/technic_music_player_bottom.png create mode 100644 mods/technic/textures/technic_music_player_side.png create mode 100644 mods/technic/textures/technic_music_player_top.png create mode 100644 mods/technic/textures/technic_mv_battery_box_bottom.png create mode 100644 mods/technic/textures/technic_mv_battery_box_side0.png create mode 100644 mods/technic/textures/technic_mv_battery_box_top.png create mode 100644 mods/technic/textures/technic_mv_cable.png create mode 100644 mods/technic/textures/technic_mv_cable_wield.png create mode 100644 mods/technic/textures/technic_mv_solar_panel_bottom.png create mode 100644 mods/technic/textures/technic_mv_solar_panel_side.png create mode 100644 mods/technic/textures/technic_mv_solar_panel_top.png create mode 100644 mods/technic/textures/technic_mv_transformer.png create mode 100644 mods/technic/textures/technic_nodebreaker_back.png create mode 100644 mods/technic/textures/technic_nodebreaker_bottom.png create mode 100644 mods/technic/textures/technic_nodebreaker_bottom_off.png create mode 100644 mods/technic/textures/technic_nodebreaker_bottom_on.png create mode 100644 mods/technic/textures/technic_nodebreaker_front_off.png create mode 100644 mods/technic/textures/technic_nodebreaker_front_on.png create mode 100644 mods/technic/textures/technic_nodebreaker_side.png create mode 100644 mods/technic/textures/technic_nodebreaker_side1.png create mode 100644 mods/technic/textures/technic_nodebreaker_side1_off.png create mode 100644 mods/technic/textures/technic_nodebreaker_side1_on.png create mode 100644 mods/technic/textures/technic_nodebreaker_side2.png create mode 100644 mods/technic/textures/technic_nodebreaker_side2_off.png create mode 100644 mods/technic/textures/technic_nodebreaker_side2_on.png create mode 100644 mods/technic/textures/technic_nodebreaker_top.png create mode 100644 mods/technic/textures/technic_nodebreaker_top_off.png create mode 100644 mods/technic/textures/technic_nodebreaker_top_on.png create mode 100644 mods/technic/textures/technic_power_meter.png create mode 100644 mods/technic/textures/technic_power_meter1.png create mode 100644 mods/technic/textures/technic_power_meter2.png create mode 100644 mods/technic/textures/technic_power_meter3.png create mode 100644 mods/technic/textures/technic_power_meter4.png create mode 100644 mods/technic/textures/technic_power_meter5.png create mode 100644 mods/technic/textures/technic_power_meter6.png create mode 100644 mods/technic/textures/technic_power_meter7.png create mode 100644 mods/technic/textures/technic_power_meter8.png create mode 100644 mods/technic/textures/technic_power_meter_bg.png create mode 100644 mods/technic/textures/technic_power_meter_fg.png create mode 100644 mods/technic/textures/technic_raw_latex.png create mode 100644 mods/technic/textures/technic_rebar.png create mode 100644 mods/technic/textures/technic_rubber.png create mode 100644 mods/technic/textures/technic_rubber_sapling.png create mode 100644 mods/technic/textures/technic_rubber_tree_empty.png create mode 100644 mods/technic/textures/technic_rubber_tree_full.png create mode 100644 mods/technic/textures/technic_screwdriver.png create mode 100644 mods/technic/textures/technic_silicon_wafer.png create mode 100644 mods/technic/textures/technic_silver_chest_front.png create mode 100644 mods/technic/textures/technic_silver_chest_locked.png create mode 100644 mods/technic/textures/technic_silver_chest_side.png create mode 100644 mods/technic/textures/technic_silver_chest_top.png create mode 100644 mods/technic/textures/technic_silver_dust.png create mode 100644 mods/technic/textures/technic_solar_panel_bottom.png create mode 100644 mods/technic/textures/technic_solar_panel_side.png create mode 100644 mods/technic/textures/technic_solar_panel_top.png create mode 100644 mods/technic/textures/technic_sonic_screwdriver.png create mode 100644 mods/technic/textures/technic_stainless_steel_dust.png create mode 100644 mods/technic/textures/technic_stainless_steel_ingot.png create mode 100644 mods/technic/textures/technic_tin_dust.png create mode 100644 mods/technic/textures/technic_tree_tap.png create mode 100644 mods/technic/textures/technic_uranium.png create mode 100644 mods/technic/textures/technic_water_can.png create mode 100644 mods/technic/textures/technic_water_mill_side.png create mode 100644 mods/technic/textures/technic_water_mill_top.png create mode 100644 mods/technic/textures/technic_water_mill_top_active.png create mode 100644 mods/technic/textures/technic_workshop_bottom.png create mode 100644 mods/technic/textures/technic_workshop_side.png create mode 100644 mods/technic/textures/technic_workshop_top.png create mode 100644 mods/technic/textures/technic_zinc_dust.png create mode 100644 mods/technic/textures/technic_zinc_ingot.png create mode 100644 mods/technic/textures/technic_zinc_lump.png create mode 100644 mods/technic/tool_workshop.lua create mode 100644 mods/technic/tree_tap.lua create mode 100644 mods/technic/water_mill.lua create mode 100644 mods/technic/wires.lua create mode 100644 mods/technic/wires_mv.lua create mode 100644 mods/teleporters/depends.txt create mode 100755 mods/teleporters/init.001 create mode 100755 mods/teleporters/init.lua create mode 100644 mods/teleporters/sounds/teleporters_teleport.ogg create mode 100644 mods/teleporters/textures/teleporter_teleporter_pad_16.png create mode 100644 mods/teleporters/textures/teleporters_base.png create mode 100644 mods/teleporters/textures/teleporters_spiral.png create mode 100644 mods/usesdirt/depends.txt create mode 100644 mods/usesdirt/init.lua create mode 100644 mods/usesdirt/textures/default_furnace_fire_fg.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_axe.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_brick.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_chest.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_cobble_stone.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_cobble_stone_fence.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_cobble_stone_ladder.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_cup.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_fence.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_furnace_bottom.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_furnace_front.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_furnace_front_active.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_furnace_side.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_furnace_top.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_ladder.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_locked_chest.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_pick.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_shovel.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_stone.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_stone_fence.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_stone_ladder.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_sword.png create mode 100644 mods/usesdirt/textures/usesdirt_dirt_torch.png create mode 100644 mods/vendor/depends.txt create mode 100644 mods/vendor/init.lua create mode 100644 mods/vendor/license.txt create mode 100644 mods/vendor/sounds/sound_license.txt create mode 100644 mods/vendor/sounds/vendor_activate.ogg create mode 100644 mods/vendor/sounds/vendor_deposit.ogg create mode 100644 mods/vendor/sounds/vendor_disable.ogg create mode 100644 mods/vendor/sounds/vendor_error.ogg create mode 100644 mods/vendor/sounds/vendor_vend.ogg create mode 100644 mods/vendor/textures/vendor_depositor_front.png create mode 100644 mods/vendor/textures/vendor_depositor_front.xcf create mode 100644 mods/vendor/textures/vendor_side.png create mode 100644 mods/vendor/textures/vendor_vendor_front.png create mode 100644 mods/vendor/textures/vendor_vendor_front.xcf create mode 100644 mods/vendor/vendor.lua create mode 100644 mods/vessels/README.txt create mode 100644 mods/vessels/depends.txt create mode 100644 mods/vessels/init.lua create mode 100644 mods/vessels/textures/alternates/vessels_drinking_glass.png create mode 100644 mods/vessels/textures/alternates/vessels_glass_bottle.png create mode 100644 mods/vessels/textures/alternates/vessels_steel_bottle.png create mode 100644 mods/vessels/textures/vessels_drinking_glass.png create mode 100644 mods/vessels/textures/vessels_glass_bottle.png create mode 100644 mods/vessels/textures/vessels_glass_fragments.png create mode 100644 mods/vessels/textures/vessels_steel_bottle.png create mode 100644 mods/vines/README.md create mode 100644 mods/vines/depends.txt create mode 100644 mods/vines/init.lua create mode 100644 mods/vines/textures/vines_rope.png create mode 100644 mods/vines/textures/vines_rope_block.png create mode 100644 mods/vines/textures/vines_rope_wield.png create mode 100644 mods/vines/textures/vines_vine.png create mode 100644 mods/vines/textures/vines_vine_rotten.png create mode 100644 mods/whisper/init.lua create mode 100644 mods/wool/README.txt create mode 100644 mods/wool/depends.txt create mode 100644 mods/wool/init.lua create mode 100644 mods/wool/textures/wool_black.png create mode 100644 mods/wool/textures/wool_blue.png create mode 100644 mods/wool/textures/wool_brown.png create mode 100644 mods/wool/textures/wool_cyan.png create mode 100644 mods/wool/textures/wool_dark_green.png create mode 100644 mods/wool/textures/wool_dark_grey.png create mode 100644 mods/wool/textures/wool_green.png create mode 100644 mods/wool/textures/wool_grey.png create mode 100644 mods/wool/textures/wool_magenta.png create mode 100644 mods/wool/textures/wool_orange.png create mode 100644 mods/wool/textures/wool_pink.png create mode 100644 mods/wool/textures/wool_red.png create mode 100644 mods/wool/textures/wool_violet.png create mode 100644 mods/wool/textures/wool_white.png create mode 100644 mods/wool/textures/wool_yellow.png create mode 100644 mods/worldedit/Chat_Commands.md create mode 100644 mods/worldedit/LICENSE.txt create mode 100644 mods/worldedit/README.md create mode 100644 mods/worldedit/WorldEdit_API.md create mode 100644 mods/worldedit/modpack.txt create mode 100644 mods/worldedit/worldedit/init.lua create mode 100644 mods/worldedit/worldedit/manipulations.lua create mode 100644 mods/worldedit/worldedit/primitives.lua create mode 100644 mods/worldedit/worldedit/serialization.lua create mode 100644 mods/worldedit/worldedit/table_save.lua create mode 100644 mods/worldedit/worldedit/visualization.lua create mode 100644 mods/worldedit/worldedit_commands/depends.txt create mode 100644 mods/worldedit/worldedit_commands/init.lua create mode 100644 mods/worldedit/worldedit_commands/mark.lua create mode 100644 mods/worldedit/worldedit_commands/textures/worldedit_pos1.png create mode 100644 mods/worldedit/worldedit_commands/textures/worldedit_pos2.png create mode 100644 mods/xdoors2/depends.txt create mode 100644 mods/xdoors2/init.lua create mode 100644 mods/xdoors2/textures/xdoors2_bottom.png create mode 100644 mods/xdoors2/textures/xdoors2_bottom_1.png create mode 100644 mods/xdoors2/textures/xdoors2_bottom_2.png create mode 100644 mods/xdoors2/textures/xdoors2_door.png create mode 100644 mods/xdoors2/textures/xdoors2_side.png create mode 100644 mods/xdoors2/textures/xdoors2_top.png create mode 100644 mods/xdoors2/textures/xdoors2_top_1.png create mode 100644 mods/xdoors2/textures/xdoors2_top_2.png create mode 100644 mods/xmas/crafts.lua create mode 100644 mods/xmas/depends.txt create mode 100644 mods/xmas/init.lua create mode 100644 mods/xmas/lights.lua create mode 100644 mods/xmas/misc.lua create mode 100644 mods/xmas/notworkingcode.txt create mode 100644 mods/xmas/presents.lua create mode 100644 mods/xmas/textures/xmas_blue_pres_side.png create mode 100644 mods/xmas/textures/xmas_blue_pres_top.png create mode 100644 mods/xmas/textures/xmas_gree_pres_side.png create mode 100644 mods/xmas/textures/xmas_gree_pres_top.png create mode 100644 mods/xmas/textures/xmas_lights_b.png create mode 100644 mods/xmas/textures/xmas_lights_g.png create mode 100644 mods/xmas/textures/xmas_lights_r.png create mode 100644 mods/xmas/textures/xmas_lights_y.png create mode 100644 mods/xmas/textures/xmas_red_pres_side.png create mode 100644 mods/xmas/textures/xmas_red_pres_top.png create mode 100644 mods/xmas/textures/xmas_star.png create mode 100644 mods/xmas/textures/xmas_tree_angel.png create mode 100644 mods/xmas/textures/xmas_tree_leaves.png create mode 100644 mods/xmas/textures/xmas_v_wall_lights_b.png create mode 100644 mods/xmas/textures/xmas_v_wall_lights_g.png create mode 100644 mods/xmas/textures/xmas_v_wall_lights_r.png create mode 100644 mods/xmas/textures/xmas_v_wall_lights_y.png create mode 100644 mods/xmas/textures/xmas_wall_lights_b.png create mode 100644 mods/xmas/textures/xmas_wall_lights_g.png create mode 100644 mods/xmas/textures/xmas_wall_lights_r.png create mode 100644 mods/xmas/textures/xmas_wall_lights_y.png create mode 100644 mods/xmas/textures/xmas_yel_pres_side.png create mode 100644 mods/xmas/textures/xmas_yel_pres_top.png diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..7d51bf2 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = zegaton_game diff --git a/mods/3dforniture/crafting.lua b/mods/3dforniture/crafting.lua new file mode 100644 index 0000000..9d97d0f --- /dev/null +++ b/mods/3dforniture/crafting.lua @@ -0,0 +1,179 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- Deco Home + + --Table + minetest.register_craft( { + output = '3dforniture:table', '3dforniture:chair 2', + recipe = { + { 'default:wood','default:wood', 'default:wood' }, + { 'default:stick', '', 'default:stick' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:table', + burntime = 30, + }) + + --Chair + minetest.register_craft( { + output = '3dforniture:chair 2', + recipe = { + { 'default:stick',''}, + { 'default:wood','default:wood' }, + { 'default:stick','default:stick' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:chair', + burntime = 15, + }) + + --Armchair + minetest.register_craft( { + output = '3dforniture:armchair 2', + recipe = { + { 'default:wood',''}, + { 'default:wood','default:wood' }, + { 'default:wood','default:wood' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:armchair', + burntime = 30, + }) + + --Table Lamp + minetest.register_craft( { + output = '3dforniture:table_lamp_off', + recipe = { + {'default:paper','default:torch' ,'default:paper'}, + {'','default:stick',''}, + {'','stairs:slab_wood',''}, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:table_lamp_off', + burntime = 10, + }) + + -- Bathroom Kit + + --Toilet + minetest.register_craft( { + output = '3dforniture:toilet', + recipe = { + {'','','bucket:bucket_water'}, + { 'default:cobble','default:cobble', 'default:cobble' }, + { '', 'bucket:bucket_empty', '' }, + }, + }) + + --Sink + minetest.register_craft( { + output = '3dforniture:sink', + recipe = { + { 'default:cobble','bucket:bucket_empty', 'default:cobble' }, + }, + }) + + --Taps + minetest.register_craft( { + output = '3dforniture:taps', + recipe = { + { 'default:steel_ingot','bucket:bucket_water', 'default:steel_ingot' }, + }, + }) + + --Shower Tray + minetest.register_craft( { + output = '3dforniture:shower_tray', + recipe = { + { 'default:cobble','bucket:bucket_water', 'default:cobble' }, + }, + }) + + --Shower Head + minetest.register_craft( { + output = '3dforniture:shower_head', + recipe = { + {'default:steel_ingot', 'bucket:bucket_water'}, + }, + }) + +-- Medieval Forniture + + --Bars + minetest.register_craft( { + output = '3dforniture:bars 10', + recipe = { + { 'default:steel_ingot','default:steel_ingot','default:steel_ingot' }, + { 'default:steel_ingot','default:steel_ingot','default:steel_ingot' }, + }, + }) + + -- L Binding Bars + minetest.register_craft( { + output = '3dforniture:L_binding_bars 4', + recipe = { + { '3dforniture:bars','' }, + { '3dforniture:bars','3dforniture:bars' }, + }, + }) + + --Chains + minetest.register_craft( { + output = '3dforniture:chains 4', + recipe = { + {'','default:steel_ingot',''}, + { 'default:steel_ingot','', 'default:steel_ingot' }, + { '', 'default:steel_ingot', '' }, + }, + }) + + --Torch Wall + minetest.register_craft( { + output = '3dforniture:torch_wall 10', + recipe = { + { 'default:coal_lump' }, + { 'default:steel_ingot' }, + }, + }) diff --git a/mods/3dforniture/depends.txt b/mods/3dforniture/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/3dforniture/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/3dforniture/init.lua b/mods/3dforniture/init.lua new file mode 100644 index 0000000..29cd9c9 --- /dev/null +++ b/mods/3dforniture/init.lua @@ -0,0 +1,92 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + + Lesliev + + code + information and assistance in various aspects + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +dofile(minetest.get_modpath("3dforniture").."/crafting.lua") +dofile(minetest.get_modpath("3dforniture").."/nodes.lua") + +--alias +minetest.register_alias('table', '3dforniture:table') +minetest.register_alias('chair', '3dforniture:chair') +minetest.register_alias('bars', '3dforniture:bars') +minetest.register_alias('binding_bars', '3dforniture:L_binding_bars') +minetest.register_alias('chains', '3dforniture:chains') +minetest.register_alias('torch_wall', '3dforniture:torch_wall') +minetest.register_alias('toilet', '3dforniture:toilet') +minetest.register_alias('sink', '3dforniture:sink') +minetest.register_alias('taps', '3dforniture:taps') +minetest.register_alias('shower_tray', '3dforniture:shower_tray') +minetest.register_alias('shower_head', '3dforniture:shower_head') +minetest.register_alias('table_lamp', '3dforniture:table_lamp_off') +minetest.register_alias('armchair', '3dforniture:armchair') + +--function + +local on_lamp_puncher = function (pos, node, puncher) + if node.name == "3dforniture:table_lamp_off" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_low"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_low" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_med"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_med" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_hi"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_hi" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_max"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_max" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_off"}) + nodeupdate(pos) + end +end + + +local on_toilet_puncher = function (pos, node, puncher) + if node.name == '3dforniture:toilet' then + local dir = node["param2"] + minetest.env:add_node(pos, {name="3dforniture:toilet_open", paramtype2='none', param2=dir}) + nodeupdate(pos) + elseif node.name == '3dforniture:toilet_open' then + local dir = node["param2"] + minetest.env:add_node(pos, {name="3dforniture:toilet", paramtype2='none', param2=dir}) + nodeupdate(pos) + end +end + +minetest.register_on_punchnode(on_lamp_puncher) +minetest.register_on_punchnode(on_toilet_puncher) diff --git a/mods/3dforniture/nodes.001 b/mods/3dforniture/nodes.001 new file mode 100644 index 0000000..927d3e7 --- /dev/null +++ b/mods/3dforniture/nodes.001 @@ -0,0 +1,825 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --Papyrus + minetest.register_node(":default:papyrus", + {description = "Papyrus", + drawtype = "nodebox", + tiles ={ + "forniture_papyrus.png", + "forniture_papyrus.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s2.png", + "forniture_papyrus_s2.png", + }, + inventory_image = "default_papyrus.png", + wield_image ="default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + --papyrus 1 + {-0.03-0.1,-0.5,-0.03-0.1, 0.03-0.1,0.5,0.03-0.1}, + {-0.06-0.1,-0.02-0.1,-0.06-0.1, 0.06-0.1,0.02-0.1,0.06-0.1}, + --papyrus 2 + {-0.03-0.4,-0.5,-0.03-0.3, 0.03-0.4,0.5,0.03-0.3}, + {-0.06-0.4,-0.02-0.2,-0.06-0.3, 0.06-0.4,0.02-0.2,0.06-0.3}, + --papyrus 3 + {-0.03+0.4,-0.5,-0.03-0.3,0.03+0.4,0.5,0.03-0.3}, + {-0.06+0.4,-0.02+0.2,-0.06-0.3, 0.06+0.4,0.02+0.2,0.06-0.3}, + --papyrus 4 + {-0.03-0.4,-0.5,-0.03+0.4, 0.03-0.4,0.5,0.03+0.4}, + {-0.06-0.4,0.02+0.4,-0.06+0.4, 0.06-0.4,0.02+0.4,0.06+0.4}, + --papyrus 5 + {-0.03-0.2,-0.5,-0.03+0.2, 0.03-0.2,0.5,0.03+0.2}, + {-0.06-0.2,0.02-0.4,-0.06+0.2, 0.06-0.2,0.02-0.4,0.06+0.2}, + --papyrus 6 + {-0.03+0.1,-0.5,-0.03+0.2, 0.03+0.1,0.5,0.03+0.2}, + {-0.06+0.1,0.02+0.3,-0.06+0.2, 0.06+0.1,0.02+0.3,0.06+0.2}, + }, + }, + groups = {snappy = 3,flammable = 2}, + sounds = default.node_sound_leaves_defaults(), + }) + + --Tree + minetest.register_node(":default:tree", + {description = "Tree", + paramtype = "light", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + is_ground_content = true, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.35,-0.5,-0.4,0.35,0.5,0.4}, + {-0.4,-0.5,-0.35, 0.4,0.5,0.35}, + {-0.25,-0.5,-0.45,0.25,0.5,0.45}, + {-0.45,-0.5,-0.25, 0.45,0.5,0.25}, + {-0.15,-0.5,-0.5,0.15,0.5,0.5}, + {-0.5,-0.5,-0.15, 0.5,0.5,0.15}, + }, + }, + groups = { + tree = 1, + snappy = 1, + choppy = 2, + oddly_breakable_by_hand = 1, + flammable = 2 + }, + sounds = default.node_sound_wood_defaults(), + }) + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/nodes.002 b/mods/3dforniture/nodes.002 new file mode 100644 index 0000000..2fbe687 --- /dev/null +++ b/mods/3dforniture/nodes.002 @@ -0,0 +1,798 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --Papyrus + minetest.register_node(":default:papyrus", + {description = "Papyrus", + drawtype = "nodebox", + tiles ={ + "forniture_papyrus.png", + "forniture_papyrus.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s2.png", + "forniture_papyrus_s2.png", + }, + inventory_image = "default_papyrus.png", + wield_image ="default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + --papyrus 1 + {-0.03-0.1,-0.5,-0.03-0.1, 0.03-0.1,0.5,0.03-0.1}, + {-0.06-0.1,-0.02-0.1,-0.06-0.1, 0.06-0.1,0.02-0.1,0.06-0.1}, + --papyrus 2 + {-0.03-0.4,-0.5,-0.03-0.3, 0.03-0.4,0.5,0.03-0.3}, + {-0.06-0.4,-0.02-0.2,-0.06-0.3, 0.06-0.4,0.02-0.2,0.06-0.3}, + --papyrus 3 + {-0.03+0.4,-0.5,-0.03-0.3,0.03+0.4,0.5,0.03-0.3}, + {-0.06+0.4,-0.02+0.2,-0.06-0.3, 0.06+0.4,0.02+0.2,0.06-0.3}, + --papyrus 4 + {-0.03-0.4,-0.5,-0.03+0.4, 0.03-0.4,0.5,0.03+0.4}, + {-0.06-0.4,0.02+0.4,-0.06+0.4, 0.06-0.4,0.02+0.4,0.06+0.4}, + --papyrus 5 + {-0.03-0.2,-0.5,-0.03+0.2, 0.03-0.2,0.5,0.03+0.2}, + {-0.06-0.2,0.02-0.4,-0.06+0.2, 0.06-0.2,0.02-0.4,0.06+0.2}, + --papyrus 6 + {-0.03+0.1,-0.5,-0.03+0.2, 0.03+0.1,0.5,0.03+0.2}, + {-0.06+0.1,0.02+0.3,-0.06+0.2, 0.06+0.1,0.02+0.3,0.06+0.2}, + }, + }, + groups = {snappy = 3,flammable = 2}, + sounds = default.node_sound_leaves_defaults(), + }) + + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/nodes.lua b/mods/3dforniture/nodes.lua new file mode 100644 index 0000000..66017f6 --- /dev/null +++ b/mods/3dforniture/nodes.lua @@ -0,0 +1,753 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/sounds/3dforniture_dig_toilet.ogg b/mods/3dforniture/sounds/3dforniture_dig_toilet.ogg new file mode 100644 index 0000000000000000000000000000000000000000..26aad6708ac0a30b46f2d2425375d4ea797a45f5 GIT binary patch literal 21791 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 DHJ?R# literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_chains.png b/mods/3dforniture/textures/3dforniture_inv_chains.png new file mode 100644 index 0000000000000000000000000000000000000000..ad023866367427ccf6c54ada07f03e75e7db0c80 GIT binary patch literal 5150 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 KWn6CL9Q{8+=-dAQ literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_shower_head.png b/mods/3dforniture/textures/3dforniture_inv_shower_head.png new file mode 100644 index 0000000000000000000000000000000000000000..64c8483b3f36c9d8410a794731f390142deab87e GIT binary patch literal 3965 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 XN{mQAfyvMx00000NkvXXu0mjf#bJmG literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_shower_tray.png b/mods/3dforniture/textures/3dforniture_inv_shower_tray.png new file mode 100644 index 0000000000000000000000000000000000000000..a65ad5c1913f3b8305c5b6a2b805f35d0bb77904 GIT binary patch literal 4540 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 UXKT_(bhQFF+n=zjvhh#)AGp+jR{#J2 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_sink.png b/mods/3dforniture/textures/3dforniture_inv_sink.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d907a1bbe77a4ef44689be2b8aa10bdce40f35 GIT binary patch literal 3877 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 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_taps.png b/mods/3dforniture/textures/3dforniture_inv_taps.png new file mode 100644 index 0000000000000000000000000000000000000000..a9675e8ba0ea1f828a6320cc275e90321573f35d GIT binary patch literal 4236 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 VjV+X%Vt*9?X2w=V6^3rH{{t7j?@0gv literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/3dforniture_inv_torch_wall.png b/mods/3dforniture/textures/3dforniture_inv_torch_wall.png new file mode 100644 index 0000000000000000000000000000000000000000..7708fecece2dc45dccd096d0521aa356136f5fe4 GIT binary patch literal 4040 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 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_black_metal.png b/mods/3dforniture/textures/forniture_black_metal.png new file mode 100644 index 0000000000000000000000000000000000000000..23d5c06232b264f226df35263e2f8a688aabd9ce GIT binary patch literal 1388 zcmZ`(e^AnA82@TyXzF41gA7SRQ%-7_>6rt6Af`}gF|8o8W|0w7VThNe=^A1xSvDdi zrPe}6mDn3eOCc;Q6ZI{yy#DlWj@jVl;K=A2!g$)QW7(E>6EhFr_TSfT)g_L{R=R` z^n*jX`>A>5!w&n8hgnf_>cL<8qLCA|`S|I8V3EGBpWCH+-97KB)e+uKPLdT?d_URj zD0RL+`Ptq(zY7Ba?Q#w1bPKx6=QrajJ7g+VXsa>Y67zN31kMCT6ZgF~gde-_CB8C?R#%AV7?y+hGzE+gO*?cq4=0sy)rlUEMt%DS% zOpo-$5a|B#<*ozrwNeITi><>##ftrsM6OSQq@HN-V{zL@N(U~Xo+DMqsq)!J1S?fUuwby=c9pUn0IHsYc`cfDoGjsdWg#`r#oRJW|Ou#7OTX_x1=eAJy1WJ^H36|5g&*t)ju&$dT`oEyRWNG>Bdh z4TD|6+&xA=^2IQ(?Cfl$*bM_KR)q2@5l`L}J+yCyV}!%3+6a#c5}Uc9&a&70T0Aoy z7gA=vf$l*{8HY5*Wo04#8!k)r$akhMj8UeeaiudA4m2*rIj0~RIC3!(OCJmp?Nj9D zNFaRw@tNuI6(dhKnvqxrt%b8jRM8PFJfIwyJC;HN69XbrSUneGU~2UmgW#2RtwBJB z+ZsD$&ba}Cw;s7YV)KVP=?NLM2)e)N=(P^dF77n#YA_}I!H#-n?GP){5ZTjEz8R~8 z1&M$L*vxI=NNwv6WxO@MznHiW~S1yqx7Nu;f46}2J0pp=v*xZ zlhq?}HOJNJU9!rXd49c?dW1U=AHJVA!0&u^W&A@yC5?YO3ycxpAJd!`raW_{bl%l$ zpKXf0D1A{FixJ)3)Jrr>l^NRbO@`c>OR3Up;{p7*3;yvAC&}b&e?ss+qyZhYtt-Xf zwBZMPRfE-*cd0Tq>QpZ*Zh{2q2*Jr2w0ibRJ5dFMd*W<#_j>}(?vTcvxx`qXXnL|?iHk#&8i-foYCz_z^?&~QzHAt9Y9 z1L}9_P6*G12kyM5eU^V@0yubr1UB5lSwd2A-0yCxidZ|BG$d?>CBqYC?2Ys!vxCYL zAqw|YF=~2yQ$&cSG*vfw4Gj3#Y`&_lLAcwA!2YFiq0jr;B=%X!NNnCqo6Ym5VZ*Jl ze__Y4LDO-5QuO4Nb+`RL@aaGNhbh}&biBDCRKFwMEdO70Em|^mqbsoE{$cPHLe%6m KN-KHa@xKAw?wDBs literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_black_metal_s1.png b/mods/3dforniture/textures/forniture_black_metal_s1.png new file mode 100644 index 0000000000000000000000000000000000000000..38fa8ab04ba45a62b6c64d2bd51bae4bc6d003ec GIT binary patch literal 1450 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 IM6N<$f`lcrEdT%j literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_marble_s2.png b/mods/3dforniture/textures/forniture_marble_s2.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3b1d2f718c01835f6941e02837718d1c72ac7c GIT binary patch literal 5042 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�-Wl>@-E9FbFfOaVo|SaEUVvt|GhL# zBONzVigditWgadbLwKB2!Y9Bz%*UF_nefm^*+)L2bRKr8c zl#&>UT5)PnYpvz*$rvMi$!qmClMCfHHUHlMTmD$r6^Fw?ZW3P{WS(aUlE#1~B(~US zyv|JYegEWmYR5#JlP$;wyk_tByPVtAFV!EdHFmq5I2v|4X@lfSRp8*9wBCT#48d#l zX&8f(1Jb5xyh)ZncZqwjm{b~}+gZi=|4t&izgPGYncfqG14i~>L`kK_1OVwSAd z)tWMDE6)to&Ud%lA;u`1_L{soMlF@~;wgpGG|3$Fku)v;16apCzF+nh&;S4c07*qo IM6N<$f->x^1^@s6 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_marble_sb1.png b/mods/3dforniture/textures/forniture_marble_sb1.png new file mode 100644 index 0000000000000000000000000000000000000000..febc0c3eefff956f2761cfc0e67bbb5d50828f08 GIT binary patch literal 4456 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 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_metal.png b/mods/3dforniture/textures/forniture_metal.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd9ac4898882fca9474f6261d6054da805a13a3 GIT binary patch literal 1528 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 TU{1CN-!v2+8WkcXCmj6?CUEUD literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_papyrus.png b/mods/3dforniture/textures/forniture_papyrus.png new file mode 100644 index 0000000000000000000000000000000000000000..68a4ee37e9c0fc54b1de2ac8755c2960786dbf0d GIT binary patch literal 550 zcmV+>0@?kEP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyi6 z6$&0Es^0+s000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004jNklR~jg+d@OGGY@y_)A1$ODu-EbY5X+&aJ7sO`F8V z_b-#%>V=aIHZe8D0%3Ez7f1i8$3VNxv$jNP>@u0ULI)JSZ=RWwYqcFaGP#xMMTx}C z?}_xnvY!CEa@~{}I;a)>sxyB00|DE!Z@u!$y(?K_RO*Z3Gc)EBcsof9ue$d3Gnhyi z#*Q6!9Cb8jy3j*u(-4EhoAc2k8TBc?<%^Jb8H21=?#z2^Zk z8M|@gKf^xxRczEZHQ$er_7n;a914I!u}^P$YnqyPW_07*qoM6N<$f&#?Y2><{9 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_papyrus_s1.png b/mods/3dforniture/textures/forniture_papyrus_s1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0a2ea7c8f6c45e5be3cc5414551a0704e02a90 GIT binary patch literal 605 zcmV-j0;2tiP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyi6 z6%8TZjb!@(000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0005FNkl3`Gx>6;)A(H#1d?d;kL@|G-Z(BE-n_M)ZVGRYg%$7+$aC2I8Sjl-Sqz z+P-=IdHw;|*l08iBatwSkX%2D6*z?H*SUOkmK!umlGyF@`_Uw`v`ZC~-H8K-Fy z(-LnYKbDa0R4Si*Vk;|&M4>P+u(Em~$6Cx}7cUAH2k*>`J@DXZ_Nw*eQFe>tO>Ygm rmW@(~LskyddP1fw;#`azo;mXi?Yw1m4Yi)300000NkvXXu0mjfqR9+~ literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_papyrus_s2.png b/mods/3dforniture/textures/forniture_papyrus_s2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe5fd0185913b876d45a6b4da0c573dd67539980 GIT binary patch literal 643 zcmV-}0(||6P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyi6 z6%891fxSrp000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0005rNkl;%ACI^F%OY+CSM94>Dj9Awd`t|kINabrhL^PJalv4Y0pBgO70^PQ) zQ`Ww2#j)tgHy^X8HH6U6rIb)gK`EtO;IO<|S{OW~g!lUmo#(m1ueElfc<;OY5W*jn zwgOJ46ZC$+cWIJOPEs*`d51`w84ia-r>ITie<`Pw+Imzx#t5|mteq%^Rh?(Y8Vn&o zRWZ*q^msfrA#%>0x}#G@hge&ZM}0n@%_Y_mbcL-!TOzjjnc*}|PzH)Ic7;45U{D4c zJrCfQ!`toFQn4*;Y!ucdeAN2-^Z6j>3?+Z;aqK2GE%HY4Z3*#A&Ka-Q3%c(+y!S{c z!8wP0-&-NuS_~mH@vLCB@h-~(J)h4l%~7?nJW@(sQ?L|?$Zy#&1>0m9fYu{2W?}oH d<#1hB`~V>~71lFpO$Pt~002ovPDHLkV1mlk2;2Yw literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_table_lamp_l.png b/mods/3dforniture/textures/forniture_table_lamp_l.png new file mode 100644 index 0000000000000000000000000000000000000000..e4579b412eb436cfbf215e1a52c0ff17065fb07c GIT binary patch literal 3958 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 E18fRw{Qv*} literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_torch_wall_anim.png b/mods/3dforniture/textures/forniture_torch_wall_anim.png new file mode 100644 index 0000000000000000000000000000000000000000..38d5206b71f4136d644b15dfa75cad1af5446db8 GIT binary patch literal 4787 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 literal 0 HcmV?d00001 diff --git a/mods/3dforniture/textures/forniture_torch_wall_i.png b/mods/3dforniture/textures/forniture_torch_wall_i.png new file mode 100644 index 0000000000000000000000000000000000000000..e4898519b70299a04ef56e481b3971f2f0dafb5e GIT binary patch literal 3103 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 literal 0 HcmV?d00001 diff --git a/mods/bags/depends.txt b/mods/bags/depends.txt new file mode 100644 index 0000000..3c8fd00 --- /dev/null +++ b/mods/bags/depends.txt @@ -0,0 +1 @@ +inventory_plus \ No newline at end of file diff --git a/mods/bags/init.lua b/mods/bags/init.lua new file mode 100644 index 0000000..b463f5c --- /dev/null +++ b/mods/bags/init.lua @@ -0,0 +1,140 @@ +--[[ + +Bags for Minetest + +Copyright (c) 2012 cornernote, Brett O'Donnell +Source Code: https://github.com/cornernote/minetest-particles +License: GPLv3 + +]]-- + + +-- get_formspec +local get_formspec = function(player,page) + if page=="bags" then + return "size[8,7.5]" + .."list[current_player;main;0,3.5;8,4;]" + .."button[0,0;2,0.5;main;Back]" + .."button[0,2;2,0.5;bag1;Bag 1]" + .."button[2,2;2,0.5;bag2;Bag 2]" + .."button[4,2;2,0.5;bag3;Bag 3]" + .."button[6,2;2,0.5;bag4;Bag 4]" + .."list[detached:"..player:get_player_name().."_bags;bag1;0.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag2;2.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag3;4.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag4;6.5,1;1,1;]" + end + for i=1,4 do + if page=="bag"..i then + local image = player:get_inventory():get_stack("bag"..i, 1):get_definition().inventory_image + return "size[8,8.5]" + .."list[current_player;main;0,4.5;8,4;]" + .."button[0,0;2,0.5;main;Main]" + .."button[2,0;2,0.5;bags;Bags]" + .."image[7,0;1,1;"..image.."]" + .."list[current_player;bag"..i.."contents;0,1;8,3;]" + end + end +end + +-- register_on_player_receive_fields +minetest.register_on_player_receive_fields(function(player, formname, fields) + if fields.bags then + inventory_plus.set_inventory_formspec(player, get_formspec(player,"bags")) + return + end + for i=1,4 do + local page = "bag"..i + if fields[page] then + if player:get_inventory():get_stack(page, 1):get_definition().groups.bagslots==nil then + page = "bags" + end + inventory_plus.set_inventory_formspec(player, get_formspec(player,page)) + return + end + end +end) + +-- register_on_joinplayer +minetest.register_on_joinplayer(function(player) + inventory_plus.register_button(player,"bags","Bags") + local player_inv = player:get_inventory() + local bags_inv = minetest.create_detached_inventory(player:get_player_name().."_bags",{ + on_put = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, stack) + player:get_inventory():set_size(listname.."contents", stack:get_definition().groups.bagslots) + end, + on_take = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, nil) + end, + allow_put = function(inv, listname, index, stack, player) + if stack:get_definition().groups.bagslots then + return 1 + else + return 0 + end + end, + allow_take = function(inv, listname, index, stack, player) + if player:get_inventory():is_empty(listname.."contents")==true then + return stack:get_count() + else + return 0 + end + end, + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + }) + for i=1,4 do + local bag = "bag"..i + player_inv:set_size(bag, 1) + bags_inv:set_size(bag, 1) + bags_inv:set_stack(bag,1,player_inv:get_stack(bag,1)) + end +end) + +-- register bag tools +minetest.register_tool("bags:small", { + description = "Small Bag", + inventory_image = "bags_small.png", + groups = {bagslots=8}, +}) +minetest.register_tool("bags:medium", { + description = "Medium Bag", + inventory_image = "bags_medium.png", + groups = {bagslots=16}, +}) +minetest.register_tool("bags:large", { + description = "Large Bag", + inventory_image = "bags_large.png", + groups = {bagslots=24}, +}) + +-- register bag crafts +minetest.register_craft({ + output = "bags:small", + recipe = { + {"", "default:stick", ""}, + {"default:wood", "default:wood", "default:wood"}, + {"default:wood", "default:wood", "default:wood"}, + }, +}) +minetest.register_craft({ + output = "bags:medium", + recipe = { + {"", "default:stick", ""}, + {"bags:small", "bags:small", "bags:small"}, + {"bags:small", "bags:small", "bags:small"}, + }, +}) +minetest.register_craft({ + output = "bags:large", + recipe = { + {"", "default:stick", ""}, + {"bags:medium", "bags:medium", "bags:medium"}, + {"bags:medium", "bags:medium", "bags:medium"}, + }, +}) + +-- log that we started +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) \ No newline at end of file diff --git a/mods/bags/textures/bags_large.png b/mods/bags/textures/bags_large.png new file mode 100644 index 0000000000000000000000000000000000000000..c26f07531be187a07a1ba2af9439f7cf064949fa GIT binary patch literal 572 zcmV-C0>k}@P)<$8xsE8CM7_6vBEG$S!XsDs0gdgBvurU_?16nDJ6@>{UCR7w8 zpb4QxVuX#t?7BPe&Aho5?3%@$g4?{Co12q!&V2_e>TqjIzHDv^_bB!MU~gkX>Op`L zA$Jbz9IHD!>Rte!*4Je`3=yE_`?QV0Q;M-5pdJLg+}<7m@&?WOl@+{DgjJUkQD{m^T^AR z2T_D8OL|4YuU?Ng`};hfn!@#2jR1VTykvTMnx?fl5lRu-#?Z}kKAfB|8^`Eo^B+x`k7#m|wzYJuxc-AT8%git33e7iUR51e{jz0 zEW=ZZ!1vLf$CEf7D838u?%+U)2%b{p&JpQbds1Vl`99V;e5Lqyb*1_dkl`%Ia5mm9 zFH58~sWDt<8L2UxwptvVpAYY=sx;pD=krNI?i|KBzNcwr2>$|$i0_{UngTcg0000< KMNUMnLSTZ8cmXQ_ literal 0 HcmV?d00001 diff --git a/mods/bags/textures/bags_medium.png b/mods/bags/textures/bags_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc8030cdccdf3c7ac4c215f0df005f672390eda GIT binary patch literal 797 zcmV+&1LFLNP)8^Q|AEs4+}IF9 znh@BKDj*_(8>w`g!tU02D8eXutfH*seT;VJ&fK{vVhLkRe*O2I!}-o9c*SSu&Pl8d zKbo3Sf$vvW*4BROYK;KCxO#QGQZ8@bynjFC4Fte93k&j>Mq~6trCyYMpPZDGaykA8 zf{!ie@0XXKes$~Ccw=)jI(z!G=_g6|*h~OCxP7}OHa1!Z{XQebBJY(-6kQi>48~ga zM@ByRVP)mXVZV0DD}*^m!Exk`SR%RJ3D*z)zwtJ{uELO!bSrbh6F=H{Bv|f z;CYxVqvUz~`1tX&o3pcHnGk#R)zuWh0XXP(iPMxc%K&hCJ&LYN$@5T-gDWM{akzWq z#$+Z$^IpAv@{tN)r`58;n3H1}YXOLj!IP4L>;9L5)}7bICma0z@@1C1ny!uEC`r)9 z5NS;=0b~HRZiz_M?dFb8{0`%B@cq7t{YWIA;FRB~>jJ!)g%7vuDnj;cB(> bHZj1zqs>mbZ|&_g00000NkvXXu0mjf-aw5x literal 0 HcmV?d00001 diff --git a/mods/bags/textures/bags_small.png b/mods/bags/textures/bags_small.png new file mode 100644 index 0000000000000000000000000000000000000000..e9656a58785571c4b36489e1dce1b5436cb71d10 GIT binary patch literal 572 zcmV-C0>k}@P)ih@DCWZ$fqO98`L; zLq^!agV-Tm5Y|}TTGw{g+1Z_MXTA=yfw+kW-_rx{%a4cmd0)8b`nI^JoBGSbg8n!; zsay4$C0aq2r>69kfdMLo0`C4k07u0l_vhxsxc~q+`up|G-d@Z^g4NAUzVGZ9KzJ^| zhlvRtI1W!|W-x@{(a;cAQz`CEPoJ8Xt?Vn`=f~C-I*PcR$?$${4a2s1H8P^l1iTv` z*V3}6xh|j9*LgWMMy9Wi?R=hJySu0`+mP-6Al_|?DG>2 z%6t1Xf`C#kN2nCH(rMN=HjaCKjfaDSBu$eSOG_LadH)<3O;N8@&{|`};~W(a_+2jJ zdLDuABZR;-4X$-}GtkvVp;9@$gJLd6d2bIR9!DB6;)cQFJ9i0!fRy8)HApFGw{03x zbQ+Lw9F$VTOcN;tLI@gR1Jwu#qL47s>>eKC)@rR|d@w&R%DxX$P;y<`ZJR^SLq#D; z!=&C&BrOZAHM1)#;>=5YGCZs=IZ3L4BGkvR*Og*wd0AZe_x=U%V&i@!?hI1^0000< KMNUMnLSTZl)(MaR literal 0 HcmV?d00001 diff --git a/mods/beds/README.txt b/mods/beds/README.txt new file mode 100644 index 0000000..7a488b7 --- /dev/null +++ b/mods/beds/README.txt @@ -0,0 +1,47 @@ +===BEDS MOD for MINETEST-C55=== +by PilzAdam + +Introduction: +This mods brings beds to Minetest. You can use them to sleep at night +to prevent attacks by evil mobs. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a bed like this: +white wool white wool white wool +stick stick +After placing it anywhere you can go to sleep with a leftklick with your +hand on the bed. If it is night a chatmessage wishs you "Good night" and +you sleep until the next morning. To go outside the bed it is recommended +to hit the bed again with a leftklick (it also works if you just go away +but its not so safe). +After dying the player will respawn at the last bed he has slept. + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/beds/depends.txt b/mods/beds/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/mods/beds/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/mods/beds/init.lua b/mods/beds/init.lua new file mode 100644 index 0000000..8753330 --- /dev/null +++ b/mods/beds/init.lua @@ -0,0 +1,232 @@ +local player_in_bed = 0 + +minetest.register_node("beds:bed_bottom", { + description = "Bed", + drawtype = "nodebox", + tiles = {"beds_bed_top_bottom.png", "default_wood.png", "beds_bed_side.png", "beds_bed_side.png", "beds_bed_side.png", "beds_bed_side.png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + -- bed + {-0.5, 0.0, -0.5, 0.5, 0.3, 0.5}, + + -- stĂĽtzen + {-0.5, -0.5, -0.5, -0.4, 0.0, -0.4}, + {0.4, 0.0, -0.4, 0.5, -0.5, -0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.3, 1.5}, + } + }, + + + on_construct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + node.name = "beds:bed_top" + pos.z = pos.z+1 + minetest.env:set_node(pos, node) + elseif param2 == 1 then + node.name = "beds:bed_top" + pos.x = pos.x+1 + minetest.env:set_node(pos, node) + elseif param2 == 2 then + node.name = "beds:bed_top" + pos.z = pos.z-1 + minetest.env:set_node(pos, node) + elseif param2 == 3 then + node.name = "beds:bed_top" + pos.x = pos.x-1 + minetest.env:set_node(pos, node) + end + end, + + on_destruct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + minetest.env:remove_node(pos) + elseif param2 == 1 then + pos.x = pos.x+1 + minetest.env:remove_node(pos) + elseif param2 == 2 then + pos.z = pos.z-1 + minetest.env:remove_node(pos) + elseif param2 == 3 then + pos.x = pos.x-1 + minetest.env:remove_node(pos) + end + end, + + on_punch = function(pos, node, puncher) + if not puncher:is_player() then + return + end + if puncher:get_wielded_item():get_name() == "" then + local meta = minetest.env:get_meta(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if puncher:get_player_name() == meta:get_string("player") then + if param2 == 0 then + pos.x = pos.x-1 + elseif param2 == 1 then + pos.z = pos.z+1 + elseif param2 == 2 then + pos.x = pos.x+1 + elseif param2 == 3 then + pos.z = pos.z-1 + end + pos.y = pos.y-0.5 + puncher:setpos(pos) + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + elseif meta:get_string("player") == "" then + pos.y = pos.y-0.5 + puncher:setpos(pos) + meta:set_string("player", puncher:get_player_name()) + player_in_bed = player_in_bed+1 + end + end + end +}) + +minetest.register_node("beds:bed_top", { + drawtype = "nodebox", + tiles = {"beds_bed_top_top.png", "default_wood.png", "beds_bed_side_top_r.png", "beds_bed_side_top_l.png", "default_wood.png", "beds_bed_side.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + -- bed + {-0.5, 0.0, -0.5, 0.5, 0.3, 0.5}, + + -- stĂĽtzen + {-0.4, 0.0, 0.4, -0.5, -0.5, 0.5}, + {0.5, -0.5, 0.5, 0.4, 0.0, 0.4}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + } + }, +}) + +minetest.register_alias("beds:bed", "beds:bed_bottom") + +minetest.register_craft({ + output = "beds:bed", + recipe = { + {"wool:white", "wool:white", "wool:white", }, + {"default:stick", "", "default:stick", } + } +}) + +local player_spawns = {} +local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "r") +if file then + player_spawns = minetest.deserialize(file:read("*all")) + file:close() +end + +local timer = 0 +local wait = false +minetest.register_globalstep(function(dtime) + if timer<2 then + timer = timer+dtime + return + end + timer = 0 + + local players = #minetest.get_connected_players() + if players == player_in_bed and players ~= 0 then + if minetest.env:get_timeofday() < 0.2 or minetest.env:get_timeofday() > 0.805 then + if not wait then + minetest.chat_send_all("Good night!!!") + minetest.after(2, function() + minetest.env:set_timeofday(0.23) + wait = false + end) + wait = true + for _,player in ipairs(minetest.get_connected_players()) do + player_spawns[player:get_player_name()] = player:getpos() + end + local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "w") + if file then + file:write(minetest.serialize(player_spawns)) + file:close() + end + end + end + end +end) + +minetest.register_on_respawnplayer(function(player) + local name = player:get_player_name() + if player_spawns[name] then + player:setpos(player_spawns[name]) + return true + end +end) + +minetest.register_abm({ + nodenames = {"beds:bed_bottom"}, + interval = 1, + chance = 1, + action = function(pos, node) + local meta = minetest.env:get_meta(pos) + if meta:get_string("player") ~= "" then + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + local player = minetest.env:get_player_by_name(meta:get_string("player")) + if player == nil then + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + return + end + local player_pos = player:getpos() + player_pos.x = math.floor(0.5+player_pos.x) + player_pos.y = math.floor(0.5+player_pos.y) + player_pos.z = math.floor(0.5+player_pos.z) + if pos.x ~= player_pos.x or pos.y ~= player_pos.y or pos.z ~= player_pos.z then + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + return + end + end + end +}) + +if minetest.setting_get("log_mods") then + minetest.log("action", "beds loaded") +end diff --git a/mods/beds/textures/beds_bed_side.png b/mods/beds/textures/beds_bed_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e79e2aba80e916d9acab04fea5b673accedf4f GIT binary patch literal 536 zcmV+z0_XjSP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iylA z4JQIGVXZd+000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004VNklL_348I2k#!Ajo5RV|)wYn?byS zcM@v26i%ba{{@?|tR$jz<03mj@)i}9XHV{pn_0tFs|`+77yMh->owCVZDtKH`OZ=k zGf1~u?L)4^LGM_BgZ=62RuN|_>qI&?14DmbU@fa1!GHc@+xlw#SefCVC!J(Eh_$|2 z|L@}Vt5yn3TVUQPrd}fN6eU43YaD8vcEY?Dz0_|2@L^7!GM@vP_jy}Ng0 a(SHD}p>TO4Fg`l~0000Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2OkYG18>uNwEzGB8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0bxl*K~y-)h10!?6JZ#|@n6_+VIzqk z7GdKDo5r|gi-4^CvYi(ocDCM$H+d7Pjd=$thB#1p@%+)OEGTo(sN2NyFI-*T)hrH!;4B;!PF<9`jr{k)AdInUeo^Rl zCM$!ZR(&o0t2ZBY+l~L)Ow&ZLxKln>x82xU+=_Z;u&KcOQk4y(ahxSMY&AD*Ur`v1 qV{hM&JUM+(*q2KAId7x<)ZrgZaE2ob)R?pY0000Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2OkYG5u9oY{Qv*}8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0b@x-K~y-)jnltt6LB2I@z>caw2?$D zmPP|Y57Zdip&)kc;MUE>wX6S$tAB6zW8|N37@>&cR#@<7gP{J*I!(H6QFVA)!c>V5+ z=T9Gjqh`yb!oGPCG1^$eUzEg2>d8iJXlz8aqJUFu;wC=e8ai09Uabta_18E_ivk{F zf52d6U|z+KDMPo@2Fs=L@Hyl=9^wS|@d*p)`Fxy=LCgT2U!?g40geaN|KJ9GBT~P2 z-EygHo`RPzwtJ0e1ggj|Vlk~SBU?mxmh#sb9yMEIU(MjmQ+|JV&`goeoU~${jsiBL z%2fTg@4worSFeoecG|-1O!-<{_3B)3BUSnVvjFA?X)-WQ(td+RR4W|ONn@O(J|4D) sKUTNX)`)6?z1@x8|6X4Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2OkXyA4g!w!Tb+daKxMNO1uiMLOF1TqSz9J6h*uKtUr-8jNPSi@LW^R%s%xyc)IWB zy6^AxyPgKu2W-b2zG4Q?(8eTss%H_u(7+oMbTpaAAKb(xtYa2G(NE(7UZ%Ezf0)9w z!g7iSu!&Vnq_Kl;-ap_>hV8^2EGuloIh??Gv~VXMxA7RSa0-twh{!E$DpgYtKeF;X zu108xa}0O0$pnt#GCpcnjnmj$8qd7Vs5;eJH>!Kh3wmC_ZgWXf^^ zRLA*@lQDRIGEQ&3j$Z6q_La=)7igPh4RoG&?BGgB(%Hg3m@ z8QdGgSx{}dH8V{P2Vo5tQ(VK28qV{P{MR#6c!*t@(o4fQ&S?JYnJFBPIU8|!DMEFe d(frr{jsM@4eE>fvV>JK(002ovPDHLkV1n+;>ns2O literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_top_top.png b/mods/beds/textures/beds_bed_top_top.png new file mode 100644 index 0000000000000000000000000000000000000000..fc46ee198c1334a71802cb876976f24355a205e5 GIT binary patch literal 605 zcmV-j0;2tiP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2OkXyGj+J6ApigX8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0m?~4K~y-)mD0g)OkorS@Zb05O|>bi zREdewBB&-d(%9M9iH(h|zr7|+RT4R2$RjZetymR;FW${g;KRl)xSjL!0GnNAO1>8y3iJ|+f}K$& za|*PYEXQ|A)@jQ+ZSNBXT}H8iL4%_syh%s`qdk5H%A5?tcj?ONu4dY>mNQ*)y1@iq z1&W-h!10_cVJl@cBYBfQ+xX_Yy+AcQe_DKU91=9sP3Fis~#sa5%d`xIzaiKbP znswUd=UOHPd`UQ4(hrO!%obz=G*}6A6Rwr4C(NEaTul&#p9!en$TqwCYypV_DRUE>luIEZn) z#;GWL9^Eo^O`S_=<3}XMu^Df16@%#b7&p*WefB*rz%4` r>A&}!#HZ>5xE?3G5)=3q4Jz&rGK{nD#xDFT00000NkvXXu0mjfqc#b` literal 0 HcmV?d00001 diff --git a/mods/boats/README.txt b/mods/boats/README.txt new file mode 100644 index 0000000..b9551ef --- /dev/null +++ b/mods/boats/README.txt @@ -0,0 +1,16 @@ +Minetest 0.4 mod: boats +======================= +by PilzAdam + +License of source code: +----------------------- +WTFPL + +License of media (textures and sounds): +--------------------------------------- +WTFPL + +Authors of media files: +----------------------- +textures: Zeg9 +model: thetoon and Zeg9 diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/boats/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/boats/init.lua b/mods/boats/init.lua new file mode 100644 index 0000000..623961b --- /dev/null +++ b/mods/boats/init.lua @@ -0,0 +1,158 @@ + +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.env:get_node(pos).name + return minetest.get_item_group(nn, "water") ~= 0 +end + +local function get_sign(i) + if i == 0 then + return 0 + else + return i/math.abs(i) + end +end + +local function get_velocity(v, yaw, y) + local x = math.cos(yaw)*v + local z = math.sin(yaw)*v + return {x=x, y=y, z=z} +end + +local function get_v(v) + return math.sqrt(v.x^2+v.z^2) +end + +-- +-- Cart entity +-- + +local boat = { + physical = true, + collisionbox = {-0.6,-0.4,-0.6, 0.6,0.3,0.6}, + visual = "mesh", + mesh = "boat.x", + textures = {"default_wood.png"}, + + driver = nil, + v = 0, +} + +function boat:on_rightclick(clicker) + if not clicker or not clicker:is_player() then + return + end + if self.driver and clicker == self.driver then + self.driver = nil + clicker:set_detach() + elseif not self.driver then + self.driver = clicker + clicker:set_attach(self.object, "", {x=0,y=5,z=0}, {x=0,y=0,z=0}) + self.object:setyaw(clicker:get_look_yaw()) + end +end + +function boat:on_activate(staticdata, dtime_s) + self.object:set_armor_groups({immortal=1}) + if staticdata then + self.v = tonumber(staticdata) + end +end + +function boat:get_staticdata() + return tostring(v) +end + +function boat:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) + self.object:remove() + if puncher and puncher:is_player() then + puncher:get_inventory():add_item("main", "boats:boat") + end +end + +function boat:on_step(dtime) + self.v = get_v(self.object:getvelocity())*get_sign(self.v) + if self.driver then + local ctrl = self.driver:get_player_control() + if ctrl.up then + self.v = self.v+0.1 + end + if ctrl.down then + self.v = self.v-0.08 + end + if ctrl.left then + self.object:setyaw(self.object:getyaw()+math.pi/120+dtime*math.pi/120) + end + if ctrl.right then + self.object:setyaw(self.object:getyaw()-math.pi/120-dtime*math.pi/120) + end + end + local s = get_sign(self.v) + self.v = self.v - 0.02*s + if s ~= get_sign(self.v) then + self.object:setvelocity({x=0, y=0, z=0}) + self.v = 0 + return + end + if math.abs(self.v) > 4.5 then + self.v = 4.5*get_sign(self.v) + end + + local p = self.object:getpos() + p.y = p.y-0.5 + if not is_water(p) then + if minetest.registered_nodes[minetest.env:get_node(p).name].walkable then + self.v = 0 + end + self.object:setacceleration({x=0, y=-10, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)) + else + p.y = p.y+1 + if is_water(p) then + self.object:setacceleration({x=0, y=10, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)) + else + self.object:setacceleration({x=0, y=0, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), 0)) + local pos = self.object:getpos() + pos.y = math.floor(pos.y)+0.5 + self.object:setpos(pos) + end + end +end + +minetest.register_entity("boats:boat", boat) + + +minetest.register_craftitem("boats:boat", { + description = "Boat", + inventory_image = "boat_inventory.png", + wield_image = "boat_wield.png", + wield_scale = {x=2, y=2, z=1}, + liquids_pointable = true, + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + if not is_water(pointed_thing.under) then + return + end + pointed_thing.under.y = pointed_thing.under.y+0.5 + minetest.env:add_entity(pointed_thing.under, "boats:boat") + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craft({ + output = "boats:boat", + recipe = { + {"", "", ""}, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) diff --git a/mods/boats/models/boat.x b/mods/boats/models/boat.x new file mode 100644 index 0000000..2508b72 --- /dev/null +++ b/mods/boats/models/boat.x @@ -0,0 +1,11110 @@ +xof 0303txt 0032 + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Plane { + FrameTransformMatrix { + 0.000000,-9.104475, 0.000000, 0.000000, + 9.104475, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 9.104475, 0.000000, + -0.310965, 0.042220,-1.967153, 1.000000;; + } + Mesh { //Plane_000 Mesh + 2952; + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.625000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.750000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.500000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.625000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 0.875000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + -0.500000; 1.000000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.375000; 1.000000; 0.000000;, + -0.500000; 1.000000; 0.000000;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.375000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 1.000000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + 0.000000; 1.000000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.375000;-0.125000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.750000; 0.000000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.750000;-0.125000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + -0.250000;-0.125000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.250000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.500000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.125000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + -0.250000;-1.000000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + -0.375000;-1.000000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + -0.625000;-0.125000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.625000; 0.000000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.250000; 1.000000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 0.875000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.625000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.250000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.500000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + -0.125000; 0.000000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + -0.750000; 1.000000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-0.875000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.500000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + 0.125000; 1.000000;-0.117178;, + 0.250000; 1.000000;-0.117178;, + 0.250000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.250000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + 0.625000;-1.000000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.500000;-1.000000; 0.000000;, + 0.625000;-1.000000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.375000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.250000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.625000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.250000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + 0.250000;-0.125000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.250000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.500000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.750000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.750000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + -0.125000;-0.125000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.375000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.125000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.625000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.250000; 0.000000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.250000;-0.125000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.750000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 1.000000;-0.117178;, + 0.375000; 1.000000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.750000; 0.000000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + -0.375000;-1.000000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.500000;-1.000000; 0.000000;, + -0.375000;-1.000000; 0.000000;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.500000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + 0.000000;-1.000000;-0.117178;, + -0.125000;-1.000000;-0.117178;, + -0.125000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.375000;-0.125000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.375000; 0.000000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.250000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + 0.375000; 1.000000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.500000; 1.000000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-1.000000;-0.117178;, + -0.250000;-1.000000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + 0.000000; 1.000000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.125000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-0.875000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.750000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + 0.375000;-1.000000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-0.875000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + 0.250000; 0.000000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.250000;-0.125000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.750000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + 0.750000; 1.000000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 0.875000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.250000;-1.000000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.125000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 0.875000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.375000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + -0.625000; 1.000000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.500000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.250000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 0.875000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.250000; 0.000000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.625000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.250000; 1.000000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 0.875000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + -0.125000;-0.125000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.125000; 0.000000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.250000; 0.000000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.625000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.625000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.500000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.250000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.500000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.625000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.375000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.250000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.625000; 1.000000;-0.117178;, + 0.750000; 1.000000;-0.117178;, + 0.750000; 1.000000; 0.000000;, + 0.625000; 1.000000; 0.000000;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-1.000000;-0.117178;, + 0.750000;-1.000000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + -0.625000;-1.000000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-0.875000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-0.875000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.500000;-1.000000;-0.117178;, + 0.375000;-1.000000;-0.117178;, + 0.375000;-1.000000; 0.000000;, + 0.500000;-1.000000; 0.000000;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.625000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + 0.125000;-1.000000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.000000;-1.000000; 0.000000;, + 0.125000;-1.000000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.750000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.750000;-1.000000; 0.000000;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.500000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.375000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.375000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + -0.375000; 1.000000;-0.117178;, + -0.250000; 1.000000;-0.117178;, + -0.250000; 1.000000; 0.000000;, + -0.375000; 1.000000; 0.000000;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.750000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + -0.625000;-0.125000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.625000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 1.000000;-0.117178;, + -0.125000; 1.000000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.500000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.750000;-0.125000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.250000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + -0.500000;-1.000000;-0.117178;, + -0.625000;-1.000000;-0.117178;, + -0.625000;-1.000000; 0.000000;, + -0.500000;-1.000000; 0.000000;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 1.000000;-0.117178;, + -0.625000; 1.000000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.375000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.375000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.500000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.375000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + 0.375000; 0.000000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.750000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.500000; 1.000000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.625000; 1.000000; 0.000000;, + 0.500000; 1.000000; 0.000000;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.750000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.625000; 0.000000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-1.000000;-0.117178;, + 0.250000;-1.000000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.375000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.375000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.750000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.625000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + -0.125000;-1.000000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + 0.750000;-1.000000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.625000;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 1.000000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 1.000000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 1.000000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.625000; 1.000000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.375000; 1.000000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + -0.125000; 1.000000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.250000;-0.125000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.625000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 0.875000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + -0.125000;-0.750000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + -0.125000;-0.875000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.125000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + -0.125000;-0.250000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.625000; 0.375000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.625000; 0.250000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.250000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.125000;-0.625000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.250000;-0.125000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.250000; 0.000000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 0.875000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + 0.375000; 1.000000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.875000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.750000; 0.000000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.125000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.250000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + -0.500000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.246450;, + -0.125000; 0.500000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + -0.125000; 0.375000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.125000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + 0.375000; 0.000000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.125000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.375000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + 0.500000; 1.000000; 0.330204;, + 0.375000; 1.000000; 0.330204;, + 0.375000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + -0.250000;-1.000000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-0.875000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.125000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + -0.750000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.625000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + 0.375000;-0.875000; 0.330204;, + 0.375000;-1.000000; 0.330204;, + 0.375000;-1.000000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + 0.250000;-0.125000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.250000; 0.000000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.125000; 0.250000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + -0.125000; 0.125000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.625000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 1.000000; 0.330204;, + 0.750000; 1.000000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + 0.125000;-1.000000; 0.330204;, + 0.250000;-1.000000; 0.330204;, + 0.250000;-1.000000; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + -0.125000; 0.750000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.250000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + -0.500000; 1.000000; 0.330204;, + -0.625000; 1.000000; 0.330204;, + -0.625000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.246450;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.375000;-0.375000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.750000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.250000; 0.000000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.125000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.625000;-0.625000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.625000;-0.750000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 1.000000; 0.330204;, + -0.250000; 1.000000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.125000; 0.000000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + -0.125000;-0.125000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + 0.250000; 0.000000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.125000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.750000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + -0.125000; 0.625000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + -0.125000; 0.500000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.625000; 0.375000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.375000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + -0.125000;-0.500000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + -0.125000;-0.625000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + 0.375000; 0.625000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.375000; 0.500000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.500000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.375000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.750000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + 0.750000;-1.000000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-0.875000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.625000;-0.875000; 0.330204;, + -0.625000;-1.000000; 0.330204;, + -0.625000;-1.000000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.750000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.375000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.500000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + 0.125000;-1.152395; 0.000000;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.125000;-1.000000; 0.000000;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.625000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.375000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.250000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + 0.375000; 0.375000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + 0.375000; 0.250000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + -0.250000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + 0.375000;-0.750000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.375000;-0.875000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.250000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + 0.375000;-0.625000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.375000;-0.750000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + -0.125000; 1.000000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.875000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.625000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.750000;-0.125000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + -0.625000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.625000; 1.000000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.875000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.500000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.125000;-0.375000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + -0.125000;-0.500000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.625000;-0.625000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.500000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.375000; 0.125000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.375000; 0.000000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 0.875000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.625000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.246450;, + -0.125000; 0.750000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + -0.125000; 0.625000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.625000; 0.125000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.625000; 0.000000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + 0.250000;-1.000000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-0.875000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.500000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.250000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.375000; 0.625000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.750000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + -0.125000;-0.875000; 0.330204;, + -0.125000;-1.000000; 0.330204;, + -0.125000;-1.000000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + 0.625000;-1.000000; 0.330204;, + 0.750000;-1.000000; 0.330204;, + 0.750000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.500000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.625000;-0.750000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.625000;-0.875000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.625000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.750000;-1.000000; 0.246450;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.375000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.750000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.750000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + -0.375000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.125000; 0.375000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + -0.125000; 0.250000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + 0.000000; 1.000000; 0.330204;, + -0.125000; 1.000000; 0.330204;, + -0.125000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.246450;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.250000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + 0.750000;-0.125000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.750000; 0.000000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.250000;-0.125000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + 0.375000; 0.500000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + 0.375000; 0.375000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.250000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + -0.375000;-1.000000; 0.330204;, + -0.250000;-1.000000; 0.330204;, + -0.250000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.625000; 0.000000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.125000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + 0.375000;-0.500000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.375000;-0.625000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 1.000000; 0.330204;, + 0.250000; 1.000000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.500000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.125000;-0.250000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + -0.125000;-0.375000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.375000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + -0.125000; 0.125000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + -0.125000; 0.000000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.750000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.625000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + 0.250000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.375000; 0.250000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.375000; 0.125000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.500000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.375000;-0.375000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.375000;-0.500000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + -0.625000; 0.250000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.625000; 0.125000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.500000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.375000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.000000;, + 0.625000;-1.000000; 0.000000;, + 0.000000;-1.287628;-0.289304;, + 0.000000;-1.152395;-0.289304;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.287628; 0.000000;, + -0.750000; 0.500000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + 0.859843;-1.000000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + -0.750000;-0.250000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.000000;, + -0.375000; 1.000000; 0.000000;, + -0.750000;-0.500000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.625000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.000000;, + 0.125000;-1.000000; 0.000000;, + -0.750000; 1.000000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.000000;, + -0.750000; 1.000000; 0.000000;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + -0.750000; 0.250000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.500000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.000000;, + -0.500000; 1.000000; 0.000000;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.500000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + -0.750000; 0.000000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + 0.500000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.000000;, + 0.500000; 1.000000; 0.000000;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.125000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.750000; 0.750000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + 0.000000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.246450;, + -0.750000; 1.000000; 0.246450;, + -0.750000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + 0.625000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.000000;, + 0.625000; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 1.000000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.750000;-0.250000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.500000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.000000;, + -0.500000;-1.000000; 0.000000;, + 0.375000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.250000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + -0.125000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + -0.625000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + 0.750000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.000000;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.750000; 0.000000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.875000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.000000;, + -0.375000;-1.000000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + 0.375000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-1.000000; 0.246450;, + -0.750000;-1.000000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + -0.750000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.000000;, + -0.750000;-1.000000; 0.000000;, + 0.250000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + -0.750000; 0.500000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.250000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.000000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.000000;, + 0.500000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + 0.859843; 1.000000; 0.246450;, + 0.859843; 0.875000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + -0.750000;-0.500000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.750000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.859843; 0.500000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + -0.750000; 0.750000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.125000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + 0.375000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + -0.625000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.750000; 1.000000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.250000; 1.000000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.250000; 1.000000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.625000;-1.000000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + -0.125000;-1.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.375000;-1.000000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + -0.500000; 0.625000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.750000; 0.125000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-1.000000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.250000;-1.000000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-1.000000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.250000;-1.000000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-1.000000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.750000;-1.000000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.750000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.500000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.625000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.375000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.625000; 0.000000;, + 0.859843; 0.500000; 0.000000;, + 0.859843;-0.125000; 0.246450;, + 0.859843; 0.000000; 0.246450;, + 0.859843; 0.000000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.625000; 0.000000;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.125000; 0.246450;, + 0.859843;-0.125000; 0.000000;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-1.000000; 0.246450;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-0.875000; 0.000000;, + 0.859843;-1.000000; 0.000000;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 1.000000; 0.246450;, + 0.859843; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 0.000000; 0.246450;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.125000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.859843; 1.000000; 0.000000;, + 0.859843; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.000000;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.375000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + 0.859843; 0.625000; 0.000000;, + 0.859843; 0.750000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.750000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.500000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.250000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.859843;-1.000000; 0.246450;, + 0.859843;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.246450;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.375000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + 0.859843; 0.000000; 0.246450;, + 0.859843;-0.125000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.625000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + 0.859843; 0.500000; 0.000000;, + 0.859843; 0.625000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.859843;-0.500000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + 0.859843;-0.125000; 0.246450;, + 0.859843;-0.250000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.152395; 0.246450;, + 0.000000;-1.000000;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.125000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.246450;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.287628; 0.330204;, + 0.125000;-1.287628; 0.330204;, + 0.125000;-1.287628; 0.246450;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.534846; 0.246450;, + 0.000000;-1.534846; 0.000000;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.152395; 0.246450;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.152395; 0.000000;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.000000;-1.287628; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.000000;-1.152395; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.000000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.152395; 0.520154;, + 0.000000;-1.287628; 0.520154;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.152395; 0.330204;, + 0.125000;-1.287628; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.125000;-0.831729; 0.627518;, + 0.125000;-0.831729; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.125000;-1.287628; 0.627518;, + 0.125000;-1.287628; 0.520154;, + 0.000000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.287628; 0.520154;, + 0.000000;-1.152395;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.000000;-1.000000;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.000000;-1.152395;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.152395; 0.000000;, + 0.125000;-1.000000; 0.000000;, + 0.125000;-1.534846;-0.289304;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.152395; 0.000000;, + 0.000000;-1.152395;-0.289304;, + 0.000000;-1.000000;-0.289304;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.534846; 0.246450;, + 0.125000;-1.534846; 0.246450;, + 0.125000;-1.534846; 0.000000;, + 0.000000;-1.534846; 0.000000;, + 0.125000;-1.534846;-0.289304;, + 0.000000;-1.534846;-0.289304;, + 0.000000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.246450;, + 0.000000;-1.534846; 0.246450;, + 0.000000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.246450;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.000000;, + 0.000000;-1.534846; 0.000000;, + 0.000000;-1.534846;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.534846;-0.289304;, + 0.125000;-1.534846;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.125000;-0.831729; 0.627518;, + 0.000000;-0.831729; 0.627518;, + 0.000000;-0.831729; 0.520154;, + 0.125000;-0.831729; 0.520154;, + 0.125000;-0.831729; 0.520154;, + 0.000000;-0.831729; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.000000;-0.831729; 0.627518;, + 0.125000;-0.831729; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-0.831729; 0.520154;, + 0.000000;-0.831729; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-1.152395; 0.520154;; + 738; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;, + 4;168;169;170;171;, + 4;172;173;174;175;, + 4;176;177;178;179;, + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;, + 4;368;369;370;371;, + 4;372;373;374;375;, + 4;376;377;378;379;, + 4;380;381;382;383;, + 4;384;385;386;387;, + 4;388;389;390;391;, + 4;392;393;394;395;, + 4;396;397;398;399;, + 4;400;401;402;403;, + 4;404;405;406;407;, + 4;408;409;410;411;, + 4;412;413;414;415;, + 4;416;417;418;419;, + 4;420;421;422;423;, + 4;424;425;426;427;, + 4;428;429;430;431;, + 4;432;433;434;435;, + 4;436;437;438;439;, + 4;440;441;442;443;, + 4;444;445;446;447;, + 4;448;449;450;451;, + 4;452;453;454;455;, + 4;456;457;458;459;, + 4;460;461;462;463;, + 4;464;465;466;467;, + 4;468;469;470;471;, + 4;472;473;474;475;, + 4;476;477;478;479;, + 4;480;481;482;483;, + 4;484;485;486;487;, + 4;488;489;490;491;, + 4;492;493;494;495;, + 4;496;497;498;499;, + 4;500;501;502;503;, + 4;504;505;506;507;, + 4;508;509;510;511;, + 4;512;513;514;515;, + 4;516;517;518;519;, + 4;520;521;522;523;, + 4;524;525;526;527;, + 4;528;529;530;531;, + 4;532;533;534;535;, + 4;536;537;538;539;, + 4;540;541;542;543;, + 4;544;545;546;547;, + 4;548;549;550;551;, + 4;552;553;554;555;, + 4;556;557;558;559;, + 4;560;561;562;563;, + 4;564;565;566;567;, + 4;568;569;570;571;, + 4;572;573;574;575;, + 4;576;577;578;579;, + 4;580;581;582;583;, + 4;584;585;586;587;, + 4;588;589;590;591;, + 4;592;593;594;595;, + 4;596;597;598;599;, + 4;600;601;602;603;, + 4;604;605;606;607;, + 4;608;609;610;611;, + 4;612;613;614;615;, + 4;616;617;618;619;, + 4;620;621;622;623;, + 4;624;625;626;627;, + 4;628;629;630;631;, + 4;632;633;634;635;, + 4;636;637;638;639;, + 4;640;641;642;643;, + 4;644;645;646;647;, + 4;648;649;650;651;, + 4;652;653;654;655;, + 4;656;657;658;659;, + 4;660;661;662;663;, + 4;664;665;666;667;, + 4;668;669;670;671;, + 4;672;673;674;675;, + 4;676;677;678;679;, + 4;680;681;682;683;, + 4;684;685;686;687;, + 4;688;689;690;691;, + 4;692;693;694;695;, + 4;696;697;698;699;, + 4;700;701;702;703;, + 4;704;705;706;707;, + 4;708;709;710;711;, + 4;712;713;714;715;, + 4;716;717;718;719;, + 4;720;721;722;723;, + 4;724;725;726;727;, + 4;728;729;730;731;, + 4;732;733;734;735;, + 4;736;737;738;739;, + 4;740;741;742;743;, + 4;744;745;746;747;, + 4;748;749;750;751;, + 4;752;753;754;755;, + 4;756;757;758;759;, + 4;760;761;762;763;, + 4;764;765;766;767;, + 4;768;769;770;771;, + 4;772;773;774;775;, + 4;776;777;778;779;, + 4;780;781;782;783;, + 4;784;785;786;787;, + 4;788;789;790;791;, + 4;792;793;794;795;, + 4;796;797;798;799;, + 4;800;801;802;803;, + 4;804;805;806;807;, + 4;808;809;810;811;, + 4;812;813;814;815;, + 4;816;817;818;819;, + 4;820;821;822;823;, + 4;824;825;826;827;, + 4;828;829;830;831;, + 4;832;833;834;835;, + 4;836;837;838;839;, + 4;840;841;842;843;, + 4;844;845;846;847;, + 4;848;849;850;851;, + 4;852;853;854;855;, + 4;856;857;858;859;, + 4;860;861;862;863;, + 4;864;865;866;867;, + 4;868;869;870;871;, + 4;872;873;874;875;, + 4;876;877;878;879;, + 4;880;881;882;883;, + 4;884;885;886;887;, + 4;888;889;890;891;, + 4;892;893;894;895;, + 4;896;897;898;899;, + 4;900;901;902;903;, + 4;904;905;906;907;, + 4;908;909;910;911;, + 4;912;913;914;915;, + 4;916;917;918;919;, + 4;920;921;922;923;, + 4;924;925;926;927;, + 4;928;929;930;931;, + 4;932;933;934;935;, + 4;936;937;938;939;, + 4;940;941;942;943;, + 4;944;945;946;947;, + 4;948;949;950;951;, + 4;952;953;954;955;, + 4;956;957;958;959;, + 4;960;961;962;963;, + 4;964;965;966;967;, + 4;968;969;970;971;, + 4;972;973;974;975;, + 4;976;977;978;979;, + 4;980;981;982;983;, + 4;984;985;986;987;, + 4;988;989;990;991;, + 4;992;993;994;995;, + 4;996;997;998;999;, + 4;1000;1001;1002;1003;, + 4;1004;1005;1006;1007;, + 4;1008;1009;1010;1011;, + 4;1012;1013;1014;1015;, + 4;1016;1017;1018;1019;, + 4;1020;1021;1022;1023;, + 4;1024;1025;1026;1027;, + 4;1028;1029;1030;1031;, + 4;1032;1033;1034;1035;, + 4;1036;1037;1038;1039;, + 4;1040;1041;1042;1043;, + 4;1044;1045;1046;1047;, + 4;1048;1049;1050;1051;, + 4;1052;1053;1054;1055;, + 4;1056;1057;1058;1059;, + 4;1060;1061;1062;1063;, + 4;1064;1065;1066;1067;, + 4;1068;1069;1070;1071;, + 4;1072;1073;1074;1075;, + 4;1076;1077;1078;1079;, + 4;1080;1081;1082;1083;, + 4;1084;1085;1086;1087;, + 4;1088;1089;1090;1091;, + 4;1092;1093;1094;1095;, + 4;1096;1097;1098;1099;, + 4;1100;1101;1102;1103;, + 4;1104;1105;1106;1107;, + 4;1108;1109;1110;1111;, + 4;1112;1113;1114;1115;, + 4;1116;1117;1118;1119;, + 4;1120;1121;1122;1123;, + 4;1124;1125;1126;1127;, + 4;1128;1129;1130;1131;, + 4;1132;1133;1134;1135;, + 4;1136;1137;1138;1139;, + 4;1140;1141;1142;1143;, + 4;1144;1145;1146;1147;, + 4;1148;1149;1150;1151;, + 4;1152;1153;1154;1155;, + 4;1156;1157;1158;1159;, + 4;1160;1161;1162;1163;, + 4;1164;1165;1166;1167;, + 4;1168;1169;1170;1171;, + 4;1172;1173;1174;1175;, + 4;1176;1177;1178;1179;, + 4;1180;1181;1182;1183;, + 4;1184;1185;1186;1187;, + 4;1188;1189;1190;1191;, + 4;1192;1193;1194;1195;, + 4;1196;1197;1198;1199;, + 4;1200;1201;1202;1203;, + 4;1204;1205;1206;1207;, + 4;1208;1209;1210;1211;, + 4;1212;1213;1214;1215;, + 4;1216;1217;1218;1219;, + 4;1220;1221;1222;1223;, + 4;1224;1225;1226;1227;, + 4;1228;1229;1230;1231;, + 4;1232;1233;1234;1235;, + 4;1236;1237;1238;1239;, + 4;1240;1241;1242;1243;, + 4;1244;1245;1246;1247;, + 4;1248;1249;1250;1251;, + 4;1252;1253;1254;1255;, + 4;1256;1257;1258;1259;, + 4;1260;1261;1262;1263;, + 4;1264;1265;1266;1267;, + 4;1268;1269;1270;1271;, + 4;1272;1273;1274;1275;, + 4;1276;1277;1278;1279;, + 4;1280;1281;1282;1283;, + 4;1284;1285;1286;1287;, + 4;1288;1289;1290;1291;, + 4;1292;1293;1294;1295;, + 4;1296;1297;1298;1299;, + 4;1300;1301;1302;1303;, + 4;1304;1305;1306;1307;, + 4;1308;1309;1310;1311;, + 4;1312;1313;1314;1315;, + 4;1316;1317;1318;1319;, + 4;1320;1321;1322;1323;, + 4;1324;1325;1326;1327;, + 4;1328;1329;1330;1331;, + 4;1332;1333;1334;1335;, + 4;1336;1337;1338;1339;, + 4;1340;1341;1342;1343;, + 4;1344;1345;1346;1347;, + 4;1348;1349;1350;1351;, + 4;1352;1353;1354;1355;, + 4;1356;1357;1358;1359;, + 4;1360;1361;1362;1363;, + 4;1364;1365;1366;1367;, + 4;1368;1369;1370;1371;, + 4;1372;1373;1374;1375;, + 4;1376;1377;1378;1379;, + 4;1380;1381;1382;1383;, + 4;1384;1385;1386;1387;, + 4;1388;1389;1390;1391;, + 4;1392;1393;1394;1395;, + 4;1396;1397;1398;1399;, + 4;1400;1401;1402;1403;, + 4;1404;1405;1406;1407;, + 4;1408;1409;1410;1411;, + 4;1412;1413;1414;1415;, + 4;1416;1417;1418;1419;, + 4;1420;1421;1422;1423;, + 4;1424;1425;1426;1427;, + 4;1428;1429;1430;1431;, + 4;1432;1433;1434;1435;, + 4;1436;1437;1438;1439;, + 4;1440;1441;1442;1443;, + 4;1444;1445;1446;1447;, + 4;1448;1449;1450;1451;, + 4;1452;1453;1454;1455;, + 4;1456;1457;1458;1459;, + 4;1460;1461;1462;1463;, + 4;1464;1465;1466;1467;, + 4;1468;1469;1470;1471;, + 4;1472;1473;1474;1475;, + 4;1476;1477;1478;1479;, + 4;1480;1481;1482;1483;, + 4;1484;1485;1486;1487;, + 4;1488;1489;1490;1491;, + 4;1492;1493;1494;1495;, + 4;1496;1497;1498;1499;, + 4;1500;1501;1502;1503;, + 4;1504;1505;1506;1507;, + 4;1508;1509;1510;1511;, + 4;1512;1513;1514;1515;, + 4;1516;1517;1518;1519;, + 4;1520;1521;1522;1523;, + 4;1524;1525;1526;1527;, + 4;1528;1529;1530;1531;, + 4;1532;1533;1534;1535;, + 4;1536;1537;1538;1539;, + 4;1540;1541;1542;1543;, + 4;1544;1545;1546;1547;, + 4;1548;1549;1550;1551;, + 4;1552;1553;1554;1555;, + 4;1556;1557;1558;1559;, + 4;1560;1561;1562;1563;, + 4;1564;1565;1566;1567;, + 4;1568;1569;1570;1571;, + 4;1572;1573;1574;1575;, + 4;1576;1577;1578;1579;, + 4;1580;1581;1582;1583;, + 4;1584;1585;1586;1587;, + 4;1588;1589;1590;1591;, + 4;1592;1593;1594;1595;, + 4;1596;1597;1598;1599;, + 4;1600;1601;1602;1603;, + 4;1604;1605;1606;1607;, + 4;1608;1609;1610;1611;, + 4;1612;1613;1614;1615;, + 4;1616;1617;1618;1619;, + 4;1620;1621;1622;1623;, + 4;1624;1625;1626;1627;, + 4;1628;1629;1630;1631;, + 4;1632;1633;1634;1635;, + 4;1636;1637;1638;1639;, + 4;1640;1641;1642;1643;, + 4;1644;1645;1646;1647;, + 4;1648;1649;1650;1651;, + 4;1652;1653;1654;1655;, + 4;1656;1657;1658;1659;, + 4;1660;1661;1662;1663;, + 4;1664;1665;1666;1667;, + 4;1668;1669;1670;1671;, + 4;1672;1673;1674;1675;, + 4;1676;1677;1678;1679;, + 4;1680;1681;1682;1683;, + 4;1684;1685;1686;1687;, + 4;1688;1689;1690;1691;, + 4;1692;1693;1694;1695;, + 4;1696;1697;1698;1699;, + 4;1700;1701;1702;1703;, + 4;1704;1705;1706;1707;, + 4;1708;1709;1710;1711;, + 4;1712;1713;1714;1715;, + 4;1716;1717;1718;1719;, + 4;1720;1721;1722;1723;, + 4;1724;1725;1726;1727;, + 4;1728;1729;1730;1731;, + 4;1732;1733;1734;1735;, + 4;1736;1737;1738;1739;, + 4;1740;1741;1742;1743;, + 4;1744;1745;1746;1747;, + 4;1748;1749;1750;1751;, + 4;1752;1753;1754;1755;, + 4;1756;1757;1758;1759;, + 4;1760;1761;1762;1763;, + 4;1764;1765;1766;1767;, + 4;1768;1769;1770;1771;, + 4;1772;1773;1774;1775;, + 4;1776;1777;1778;1779;, + 4;1780;1781;1782;1783;, + 4;1784;1785;1786;1787;, + 4;1788;1789;1790;1791;, + 4;1792;1793;1794;1795;, + 4;1796;1797;1798;1799;, + 4;1800;1801;1802;1803;, + 4;1804;1805;1806;1807;, + 4;1808;1809;1810;1811;, + 4;1812;1813;1814;1815;, + 4;1816;1817;1818;1819;, + 4;1820;1821;1822;1823;, + 4;1824;1825;1826;1827;, + 4;1828;1829;1830;1831;, + 4;1832;1833;1834;1835;, + 4;1836;1837;1838;1839;, + 4;1840;1841;1842;1843;, + 4;1844;1845;1846;1847;, + 4;1848;1849;1850;1851;, + 4;1852;1853;1854;1855;, + 4;1856;1857;1858;1859;, + 4;1860;1861;1862;1863;, + 4;1864;1865;1866;1867;, + 4;1868;1869;1870;1871;, + 4;1872;1873;1874;1875;, + 4;1876;1877;1878;1879;, + 4;1880;1881;1882;1883;, + 4;1884;1885;1886;1887;, + 4;1888;1889;1890;1891;, + 4;1892;1893;1894;1895;, + 4;1896;1897;1898;1899;, + 4;1900;1901;1902;1903;, + 4;1904;1905;1906;1907;, + 4;1908;1909;1910;1911;, + 4;1912;1913;1914;1915;, + 4;1916;1917;1918;1919;, + 4;1920;1921;1922;1923;, + 4;1924;1925;1926;1927;, + 4;1928;1929;1930;1931;, + 4;1932;1933;1934;1935;, + 4;1936;1937;1938;1939;, + 4;1940;1941;1942;1943;, + 4;1944;1945;1946;1947;, + 4;1948;1949;1950;1951;, + 4;1952;1953;1954;1955;, + 4;1956;1957;1958;1959;, + 4;1960;1961;1962;1963;, + 4;1964;1965;1966;1967;, + 4;1968;1969;1970;1971;, + 4;1972;1973;1974;1975;, + 4;1976;1977;1978;1979;, + 4;1980;1981;1982;1983;, + 4;1984;1985;1986;1987;, + 4;1988;1989;1990;1991;, + 4;1992;1993;1994;1995;, + 4;1996;1997;1998;1999;, + 4;2000;2001;2002;2003;, + 4;2004;2005;2006;2007;, + 4;2008;2009;2010;2011;, + 4;2012;2013;2014;2015;, + 4;2016;2017;2018;2019;, + 4;2020;2021;2022;2023;, + 4;2024;2025;2026;2027;, + 4;2028;2029;2030;2031;, + 4;2032;2033;2034;2035;, + 4;2036;2037;2038;2039;, + 4;2040;2041;2042;2043;, + 4;2044;2045;2046;2047;, + 4;2048;2049;2050;2051;, + 4;2052;2053;2054;2055;, + 4;2056;2057;2058;2059;, + 4;2060;2061;2062;2063;, + 4;2064;2065;2066;2067;, + 4;2068;2069;2070;2071;, + 4;2072;2073;2074;2075;, + 4;2076;2077;2078;2079;, + 4;2080;2081;2082;2083;, + 4;2084;2085;2086;2087;, + 4;2088;2089;2090;2091;, + 4;2092;2093;2094;2095;, + 4;2096;2097;2098;2099;, + 4;2100;2101;2102;2103;, + 4;2104;2105;2106;2107;, + 4;2108;2109;2110;2111;, + 4;2112;2113;2114;2115;, + 4;2116;2117;2118;2119;, + 4;2120;2121;2122;2123;, + 4;2124;2125;2126;2127;, + 4;2128;2129;2130;2131;, + 4;2132;2133;2134;2135;, + 4;2136;2137;2138;2139;, + 4;2140;2141;2142;2143;, + 4;2144;2145;2146;2147;, + 4;2148;2149;2150;2151;, + 4;2152;2153;2154;2155;, + 4;2156;2157;2158;2159;, + 4;2160;2161;2162;2163;, + 4;2164;2165;2166;2167;, + 4;2168;2169;2170;2171;, + 4;2172;2173;2174;2175;, + 4;2176;2177;2178;2179;, + 4;2180;2181;2182;2183;, + 4;2184;2185;2186;2187;, + 4;2188;2189;2190;2191;, + 4;2192;2193;2194;2195;, + 4;2196;2197;2198;2199;, + 4;2200;2201;2202;2203;, + 4;2204;2205;2206;2207;, + 4;2208;2209;2210;2211;, + 4;2212;2213;2214;2215;, + 4;2216;2217;2218;2219;, + 4;2220;2221;2222;2223;, + 4;2224;2225;2226;2227;, + 4;2228;2229;2230;2231;, + 4;2232;2233;2234;2235;, + 4;2236;2237;2238;2239;, + 4;2240;2241;2242;2243;, + 4;2244;2245;2246;2247;, + 4;2248;2249;2250;2251;, + 4;2252;2253;2254;2255;, + 4;2256;2257;2258;2259;, + 4;2260;2261;2262;2263;, + 4;2264;2265;2266;2267;, + 4;2268;2269;2270;2271;, + 4;2272;2273;2274;2275;, + 4;2276;2277;2278;2279;, + 4;2280;2281;2282;2283;, + 4;2284;2285;2286;2287;, + 4;2288;2289;2290;2291;, + 4;2292;2293;2294;2295;, + 4;2296;2297;2298;2299;, + 4;2300;2301;2302;2303;, + 4;2304;2305;2306;2307;, + 4;2308;2309;2310;2311;, + 4;2312;2313;2314;2315;, + 4;2316;2317;2318;2319;, + 4;2320;2321;2322;2323;, + 4;2324;2325;2326;2327;, + 4;2328;2329;2330;2331;, + 4;2332;2333;2334;2335;, + 4;2336;2337;2338;2339;, + 4;2340;2341;2342;2343;, + 4;2344;2345;2346;2347;, + 4;2348;2349;2350;2351;, + 4;2352;2353;2354;2355;, + 4;2356;2357;2358;2359;, + 4;2360;2361;2362;2363;, + 4;2364;2365;2366;2367;, + 4;2368;2369;2370;2371;, + 4;2372;2373;2374;2375;, + 4;2376;2377;2378;2379;, + 4;2380;2381;2382;2383;, + 4;2384;2385;2386;2387;, + 4;2388;2389;2390;2391;, + 4;2392;2393;2394;2395;, + 4;2396;2397;2398;2399;, + 4;2400;2401;2402;2403;, + 4;2404;2405;2406;2407;, + 4;2408;2409;2410;2411;, + 4;2412;2413;2414;2415;, + 4;2416;2417;2418;2419;, + 4;2420;2421;2422;2423;, + 4;2424;2425;2426;2427;, + 4;2428;2429;2430;2431;, + 4;2432;2433;2434;2435;, + 4;2436;2437;2438;2439;, + 4;2440;2441;2442;2443;, + 4;2444;2445;2446;2447;, + 4;2448;2449;2450;2451;, + 4;2452;2453;2454;2455;, + 4;2456;2457;2458;2459;, + 4;2460;2461;2462;2463;, + 4;2464;2465;2466;2467;, + 4;2468;2469;2470;2471;, + 4;2472;2473;2474;2475;, + 4;2476;2477;2478;2479;, + 4;2480;2481;2482;2483;, + 4;2484;2485;2486;2487;, + 4;2488;2489;2490;2491;, + 4;2492;2493;2494;2495;, + 4;2496;2497;2498;2499;, + 4;2500;2501;2502;2503;, + 4;2504;2505;2506;2507;, + 4;2508;2509;2510;2511;, + 4;2512;2513;2514;2515;, + 4;2516;2517;2518;2519;, + 4;2520;2521;2522;2523;, + 4;2524;2525;2526;2527;, + 4;2528;2529;2530;2531;, + 4;2532;2533;2534;2535;, + 4;2536;2537;2538;2539;, + 4;2540;2541;2542;2543;, + 4;2544;2545;2546;2547;, + 4;2548;2549;2550;2551;, + 4;2552;2553;2554;2555;, + 4;2556;2557;2558;2559;, + 4;2560;2561;2562;2563;, + 4;2564;2565;2566;2567;, + 4;2568;2569;2570;2571;, + 4;2572;2573;2574;2575;, + 4;2576;2577;2578;2579;, + 4;2580;2581;2582;2583;, + 4;2584;2585;2586;2587;, + 4;2588;2589;2590;2591;, + 4;2592;2593;2594;2595;, + 4;2596;2597;2598;2599;, + 4;2600;2601;2602;2603;, + 4;2604;2605;2606;2607;, + 4;2608;2609;2610;2611;, + 4;2612;2613;2614;2615;, + 4;2616;2617;2618;2619;, + 4;2620;2621;2622;2623;, + 4;2624;2625;2626;2627;, + 4;2628;2629;2630;2631;, + 4;2632;2633;2634;2635;, + 4;2636;2637;2638;2639;, + 4;2640;2641;2642;2643;, + 4;2644;2645;2646;2647;, + 4;2648;2649;2650;2651;, + 4;2652;2653;2654;2655;, + 4;2656;2657;2658;2659;, + 4;2660;2661;2662;2663;, + 4;2664;2665;2666;2667;, + 4;2668;2669;2670;2671;, + 4;2672;2673;2674;2675;, + 4;2676;2677;2678;2679;, + 4;2680;2681;2682;2683;, + 4;2684;2685;2686;2687;, + 4;2688;2689;2690;2691;, + 4;2692;2693;2694;2695;, + 4;2696;2697;2698;2699;, + 4;2700;2701;2702;2703;, + 4;2704;2705;2706;2707;, + 4;2708;2709;2710;2711;, + 4;2712;2713;2714;2715;, + 4;2716;2717;2718;2719;, + 4;2720;2721;2722;2723;, + 4;2724;2725;2726;2727;, + 4;2728;2729;2730;2731;, + 4;2732;2733;2734;2735;, + 4;2736;2737;2738;2739;, + 4;2740;2741;2742;2743;, + 4;2744;2745;2746;2747;, + 4;2748;2749;2750;2751;, + 4;2752;2753;2754;2755;, + 4;2756;2757;2758;2759;, + 4;2760;2761;2762;2763;, + 4;2764;2765;2766;2767;, + 4;2768;2769;2770;2771;, + 4;2772;2773;2774;2775;, + 4;2776;2777;2778;2779;, + 4;2780;2781;2782;2783;, + 4;2784;2785;2786;2787;, + 4;2788;2789;2790;2791;, + 4;2792;2793;2794;2795;, + 4;2796;2797;2798;2799;, + 4;2800;2801;2802;2803;, + 4;2804;2805;2806;2807;, + 4;2808;2809;2810;2811;, + 4;2812;2813;2814;2815;, + 4;2816;2817;2818;2819;, + 4;2820;2821;2822;2823;, + 4;2824;2825;2826;2827;, + 4;2828;2829;2830;2831;, + 4;2832;2833;2834;2835;, + 4;2836;2837;2838;2839;, + 4;2840;2841;2842;2843;, + 4;2844;2845;2846;2847;, + 4;2848;2849;2850;2851;, + 4;2852;2853;2854;2855;, + 4;2856;2857;2858;2859;, + 4;2860;2861;2862;2863;, + 4;2864;2865;2866;2867;, + 4;2868;2869;2870;2871;, + 4;2872;2873;2874;2875;, + 4;2876;2877;2878;2879;, + 4;2880;2881;2882;2883;, + 4;2884;2885;2886;2887;, + 4;2888;2889;2890;2891;, + 4;2892;2893;2894;2895;, + 4;2896;2897;2898;2899;, + 4;2900;2901;2902;2903;, + 4;2904;2905;2906;2907;, + 4;2908;2909;2910;2911;, + 4;2912;2913;2914;2915;, + 4;2916;2917;2918;2919;, + 4;2920;2921;2922;2923;, + 4;2924;2925;2926;2927;, + 4;2928;2929;2930;2931;, + 4;2932;2933;2934;2935;, + 4;2936;2937;2938;2939;, + 4;2940;2941;2942;2943;, + 4;2944;2945;2946;2947;, + 4;2948;2949;2950;2951;; + MeshNormals { //Plane_000 Normals + 2952; + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;; + 738; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;, + 4;168;169;170;171;, + 4;172;173;174;175;, + 4;176;177;178;179;, + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;, + 4;368;369;370;371;, + 4;372;373;374;375;, + 4;376;377;378;379;, + 4;380;381;382;383;, + 4;384;385;386;387;, + 4;388;389;390;391;, + 4;392;393;394;395;, + 4;396;397;398;399;, + 4;400;401;402;403;, + 4;404;405;406;407;, + 4;408;409;410;411;, + 4;412;413;414;415;, + 4;416;417;418;419;, + 4;420;421;422;423;, + 4;424;425;426;427;, + 4;428;429;430;431;, + 4;432;433;434;435;, + 4;436;437;438;439;, + 4;440;441;442;443;, + 4;444;445;446;447;, + 4;448;449;450;451;, + 4;452;453;454;455;, + 4;456;457;458;459;, + 4;460;461;462;463;, + 4;464;465;466;467;, + 4;468;469;470;471;, + 4;472;473;474;475;, + 4;476;477;478;479;, + 4;480;481;482;483;, + 4;484;485;486;487;, + 4;488;489;490;491;, + 4;492;493;494;495;, + 4;496;497;498;499;, + 4;500;501;502;503;, + 4;504;505;506;507;, + 4;508;509;510;511;, + 4;512;513;514;515;, + 4;516;517;518;519;, + 4;520;521;522;523;, + 4;524;525;526;527;, + 4;528;529;530;531;, + 4;532;533;534;535;, + 4;536;537;538;539;, + 4;540;541;542;543;, + 4;544;545;546;547;, + 4;548;549;550;551;, + 4;552;553;554;555;, + 4;556;557;558;559;, + 4;560;561;562;563;, + 4;564;565;566;567;, + 4;568;569;570;571;, + 4;572;573;574;575;, + 4;576;577;578;579;, + 4;580;581;582;583;, + 4;584;585;586;587;, + 4;588;589;590;591;, + 4;592;593;594;595;, + 4;596;597;598;599;, + 4;600;601;602;603;, + 4;604;605;606;607;, + 4;608;609;610;611;, + 4;612;613;614;615;, + 4;616;617;618;619;, + 4;620;621;622;623;, + 4;624;625;626;627;, + 4;628;629;630;631;, + 4;632;633;634;635;, + 4;636;637;638;639;, + 4;640;641;642;643;, + 4;644;645;646;647;, + 4;648;649;650;651;, + 4;652;653;654;655;, + 4;656;657;658;659;, + 4;660;661;662;663;, + 4;664;665;666;667;, + 4;668;669;670;671;, + 4;672;673;674;675;, + 4;676;677;678;679;, + 4;680;681;682;683;, + 4;684;685;686;687;, + 4;688;689;690;691;, + 4;692;693;694;695;, + 4;696;697;698;699;, + 4;700;701;702;703;, + 4;704;705;706;707;, + 4;708;709;710;711;, + 4;712;713;714;715;, + 4;716;717;718;719;, + 4;720;721;722;723;, + 4;724;725;726;727;, + 4;728;729;730;731;, + 4;732;733;734;735;, + 4;736;737;738;739;, + 4;740;741;742;743;, + 4;744;745;746;747;, + 4;748;749;750;751;, + 4;752;753;754;755;, + 4;756;757;758;759;, + 4;760;761;762;763;, + 4;764;765;766;767;, + 4;768;769;770;771;, + 4;772;773;774;775;, + 4;776;777;778;779;, + 4;780;781;782;783;, + 4;784;785;786;787;, + 4;788;789;790;791;, + 4;792;793;794;795;, + 4;796;797;798;799;, + 4;800;801;802;803;, + 4;804;805;806;807;, + 4;808;809;810;811;, + 4;812;813;814;815;, + 4;816;817;818;819;, + 4;820;821;822;823;, + 4;824;825;826;827;, + 4;828;829;830;831;, + 4;832;833;834;835;, + 4;836;837;838;839;, + 4;840;841;842;843;, + 4;844;845;846;847;, + 4;848;849;850;851;, + 4;852;853;854;855;, + 4;856;857;858;859;, + 4;860;861;862;863;, + 4;864;865;866;867;, + 4;868;869;870;871;, + 4;872;873;874;875;, + 4;876;877;878;879;, + 4;880;881;882;883;, + 4;884;885;886;887;, + 4;888;889;890;891;, + 4;892;893;894;895;, + 4;896;897;898;899;, + 4;900;901;902;903;, + 4;904;905;906;907;, + 4;908;909;910;911;, + 4;912;913;914;915;, + 4;916;917;918;919;, + 4;920;921;922;923;, + 4;924;925;926;927;, + 4;928;929;930;931;, + 4;932;933;934;935;, + 4;936;937;938;939;, + 4;940;941;942;943;, + 4;944;945;946;947;, + 4;948;949;950;951;, + 4;952;953;954;955;, + 4;956;957;958;959;, + 4;960;961;962;963;, + 4;964;965;966;967;, + 4;968;969;970;971;, + 4;972;973;974;975;, + 4;976;977;978;979;, + 4;980;981;982;983;, + 4;984;985;986;987;, + 4;988;989;990;991;, + 4;992;993;994;995;, + 4;996;997;998;999;, + 4;1000;1001;1002;1003;, + 4;1004;1005;1006;1007;, + 4;1008;1009;1010;1011;, + 4;1012;1013;1014;1015;, + 4;1016;1017;1018;1019;, + 4;1020;1021;1022;1023;, + 4;1024;1025;1026;1027;, + 4;1028;1029;1030;1031;, + 4;1032;1033;1034;1035;, + 4;1036;1037;1038;1039;, + 4;1040;1041;1042;1043;, + 4;1044;1045;1046;1047;, + 4;1048;1049;1050;1051;, + 4;1052;1053;1054;1055;, + 4;1056;1057;1058;1059;, + 4;1060;1061;1062;1063;, + 4;1064;1065;1066;1067;, + 4;1068;1069;1070;1071;, + 4;1072;1073;1074;1075;, + 4;1076;1077;1078;1079;, + 4;1080;1081;1082;1083;, + 4;1084;1085;1086;1087;, + 4;1088;1089;1090;1091;, + 4;1092;1093;1094;1095;, + 4;1096;1097;1098;1099;, + 4;1100;1101;1102;1103;, + 4;1104;1105;1106;1107;, + 4;1108;1109;1110;1111;, + 4;1112;1113;1114;1115;, + 4;1116;1117;1118;1119;, + 4;1120;1121;1122;1123;, + 4;1124;1125;1126;1127;, + 4;1128;1129;1130;1131;, + 4;1132;1133;1134;1135;, + 4;1136;1137;1138;1139;, + 4;1140;1141;1142;1143;, + 4;1144;1145;1146;1147;, + 4;1148;1149;1150;1151;, + 4;1152;1153;1154;1155;, + 4;1156;1157;1158;1159;, + 4;1160;1161;1162;1163;, + 4;1164;1165;1166;1167;, + 4;1168;1169;1170;1171;, + 4;1172;1173;1174;1175;, + 4;1176;1177;1178;1179;, + 4;1180;1181;1182;1183;, + 4;1184;1185;1186;1187;, + 4;1188;1189;1190;1191;, + 4;1192;1193;1194;1195;, + 4;1196;1197;1198;1199;, + 4;1200;1201;1202;1203;, + 4;1204;1205;1206;1207;, + 4;1208;1209;1210;1211;, + 4;1212;1213;1214;1215;, + 4;1216;1217;1218;1219;, + 4;1220;1221;1222;1223;, + 4;1224;1225;1226;1227;, + 4;1228;1229;1230;1231;, + 4;1232;1233;1234;1235;, + 4;1236;1237;1238;1239;, + 4;1240;1241;1242;1243;, + 4;1244;1245;1246;1247;, + 4;1248;1249;1250;1251;, + 4;1252;1253;1254;1255;, + 4;1256;1257;1258;1259;, + 4;1260;1261;1262;1263;, + 4;1264;1265;1266;1267;, + 4;1268;1269;1270;1271;, + 4;1272;1273;1274;1275;, + 4;1276;1277;1278;1279;, + 4;1280;1281;1282;1283;, + 4;1284;1285;1286;1287;, + 4;1288;1289;1290;1291;, + 4;1292;1293;1294;1295;, + 4;1296;1297;1298;1299;, + 4;1300;1301;1302;1303;, + 4;1304;1305;1306;1307;, + 4;1308;1309;1310;1311;, + 4;1312;1313;1314;1315;, + 4;1316;1317;1318;1319;, + 4;1320;1321;1322;1323;, + 4;1324;1325;1326;1327;, + 4;1328;1329;1330;1331;, + 4;1332;1333;1334;1335;, + 4;1336;1337;1338;1339;, + 4;1340;1341;1342;1343;, + 4;1344;1345;1346;1347;, + 4;1348;1349;1350;1351;, + 4;1352;1353;1354;1355;, + 4;1356;1357;1358;1359;, + 4;1360;1361;1362;1363;, + 4;1364;1365;1366;1367;, + 4;1368;1369;1370;1371;, + 4;1372;1373;1374;1375;, + 4;1376;1377;1378;1379;, + 4;1380;1381;1382;1383;, + 4;1384;1385;1386;1387;, + 4;1388;1389;1390;1391;, + 4;1392;1393;1394;1395;, + 4;1396;1397;1398;1399;, + 4;1400;1401;1402;1403;, + 4;1404;1405;1406;1407;, + 4;1408;1409;1410;1411;, + 4;1412;1413;1414;1415;, + 4;1416;1417;1418;1419;, + 4;1420;1421;1422;1423;, + 4;1424;1425;1426;1427;, + 4;1428;1429;1430;1431;, + 4;1432;1433;1434;1435;, + 4;1436;1437;1438;1439;, + 4;1440;1441;1442;1443;, + 4;1444;1445;1446;1447;, + 4;1448;1449;1450;1451;, + 4;1452;1453;1454;1455;, + 4;1456;1457;1458;1459;, + 4;1460;1461;1462;1463;, + 4;1464;1465;1466;1467;, + 4;1468;1469;1470;1471;, + 4;1472;1473;1474;1475;, + 4;1476;1477;1478;1479;, + 4;1480;1481;1482;1483;, + 4;1484;1485;1486;1487;, + 4;1488;1489;1490;1491;, + 4;1492;1493;1494;1495;, + 4;1496;1497;1498;1499;, + 4;1500;1501;1502;1503;, + 4;1504;1505;1506;1507;, + 4;1508;1509;1510;1511;, + 4;1512;1513;1514;1515;, + 4;1516;1517;1518;1519;, + 4;1520;1521;1522;1523;, + 4;1524;1525;1526;1527;, + 4;1528;1529;1530;1531;, + 4;1532;1533;1534;1535;, + 4;1536;1537;1538;1539;, + 4;1540;1541;1542;1543;, + 4;1544;1545;1546;1547;, + 4;1548;1549;1550;1551;, + 4;1552;1553;1554;1555;, + 4;1556;1557;1558;1559;, + 4;1560;1561;1562;1563;, + 4;1564;1565;1566;1567;, + 4;1568;1569;1570;1571;, + 4;1572;1573;1574;1575;, + 4;1576;1577;1578;1579;, + 4;1580;1581;1582;1583;, + 4;1584;1585;1586;1587;, + 4;1588;1589;1590;1591;, + 4;1592;1593;1594;1595;, + 4;1596;1597;1598;1599;, + 4;1600;1601;1602;1603;, + 4;1604;1605;1606;1607;, + 4;1608;1609;1610;1611;, + 4;1612;1613;1614;1615;, + 4;1616;1617;1618;1619;, + 4;1620;1621;1622;1623;, + 4;1624;1625;1626;1627;, + 4;1628;1629;1630;1631;, + 4;1632;1633;1634;1635;, + 4;1636;1637;1638;1639;, + 4;1640;1641;1642;1643;, + 4;1644;1645;1646;1647;, + 4;1648;1649;1650;1651;, + 4;1652;1653;1654;1655;, + 4;1656;1657;1658;1659;, + 4;1660;1661;1662;1663;, + 4;1664;1665;1666;1667;, + 4;1668;1669;1670;1671;, + 4;1672;1673;1674;1675;, + 4;1676;1677;1678;1679;, + 4;1680;1681;1682;1683;, + 4;1684;1685;1686;1687;, + 4;1688;1689;1690;1691;, + 4;1692;1693;1694;1695;, + 4;1696;1697;1698;1699;, + 4;1700;1701;1702;1703;, + 4;1704;1705;1706;1707;, + 4;1708;1709;1710;1711;, + 4;1712;1713;1714;1715;, + 4;1716;1717;1718;1719;, + 4;1720;1721;1722;1723;, + 4;1724;1725;1726;1727;, + 4;1728;1729;1730;1731;, + 4;1732;1733;1734;1735;, + 4;1736;1737;1738;1739;, + 4;1740;1741;1742;1743;, + 4;1744;1745;1746;1747;, + 4;1748;1749;1750;1751;, + 4;1752;1753;1754;1755;, + 4;1756;1757;1758;1759;, + 4;1760;1761;1762;1763;, + 4;1764;1765;1766;1767;, + 4;1768;1769;1770;1771;, + 4;1772;1773;1774;1775;, + 4;1776;1777;1778;1779;, + 4;1780;1781;1782;1783;, + 4;1784;1785;1786;1787;, + 4;1788;1789;1790;1791;, + 4;1792;1793;1794;1795;, + 4;1796;1797;1798;1799;, + 4;1800;1801;1802;1803;, + 4;1804;1805;1806;1807;, + 4;1808;1809;1810;1811;, + 4;1812;1813;1814;1815;, + 4;1816;1817;1818;1819;, + 4;1820;1821;1822;1823;, + 4;1824;1825;1826;1827;, + 4;1828;1829;1830;1831;, + 4;1832;1833;1834;1835;, + 4;1836;1837;1838;1839;, + 4;1840;1841;1842;1843;, + 4;1844;1845;1846;1847;, + 4;1848;1849;1850;1851;, + 4;1852;1853;1854;1855;, + 4;1856;1857;1858;1859;, + 4;1860;1861;1862;1863;, + 4;1864;1865;1866;1867;, + 4;1868;1869;1870;1871;, + 4;1872;1873;1874;1875;, + 4;1876;1877;1878;1879;, + 4;1880;1881;1882;1883;, + 4;1884;1885;1886;1887;, + 4;1888;1889;1890;1891;, + 4;1892;1893;1894;1895;, + 4;1896;1897;1898;1899;, + 4;1900;1901;1902;1903;, + 4;1904;1905;1906;1907;, + 4;1908;1909;1910;1911;, + 4;1912;1913;1914;1915;, + 4;1916;1917;1918;1919;, + 4;1920;1921;1922;1923;, + 4;1924;1925;1926;1927;, + 4;1928;1929;1930;1931;, + 4;1932;1933;1934;1935;, + 4;1936;1937;1938;1939;, + 4;1940;1941;1942;1943;, + 4;1944;1945;1946;1947;, + 4;1948;1949;1950;1951;, + 4;1952;1953;1954;1955;, + 4;1956;1957;1958;1959;, + 4;1960;1961;1962;1963;, + 4;1964;1965;1966;1967;, + 4;1968;1969;1970;1971;, + 4;1972;1973;1974;1975;, + 4;1976;1977;1978;1979;, + 4;1980;1981;1982;1983;, + 4;1984;1985;1986;1987;, + 4;1988;1989;1990;1991;, + 4;1992;1993;1994;1995;, + 4;1996;1997;1998;1999;, + 4;2000;2001;2002;2003;, + 4;2004;2005;2006;2007;, + 4;2008;2009;2010;2011;, + 4;2012;2013;2014;2015;, + 4;2016;2017;2018;2019;, + 4;2020;2021;2022;2023;, + 4;2024;2025;2026;2027;, + 4;2028;2029;2030;2031;, + 4;2032;2033;2034;2035;, + 4;2036;2037;2038;2039;, + 4;2040;2041;2042;2043;, + 4;2044;2045;2046;2047;, + 4;2048;2049;2050;2051;, + 4;2052;2053;2054;2055;, + 4;2056;2057;2058;2059;, + 4;2060;2061;2062;2063;, + 4;2064;2065;2066;2067;, + 4;2068;2069;2070;2071;, + 4;2072;2073;2074;2075;, + 4;2076;2077;2078;2079;, + 4;2080;2081;2082;2083;, + 4;2084;2085;2086;2087;, + 4;2088;2089;2090;2091;, + 4;2092;2093;2094;2095;, + 4;2096;2097;2098;2099;, + 4;2100;2101;2102;2103;, + 4;2104;2105;2106;2107;, + 4;2108;2109;2110;2111;, + 4;2112;2113;2114;2115;, + 4;2116;2117;2118;2119;, + 4;2120;2121;2122;2123;, + 4;2124;2125;2126;2127;, + 4;2128;2129;2130;2131;, + 4;2132;2133;2134;2135;, + 4;2136;2137;2138;2139;, + 4;2140;2141;2142;2143;, + 4;2144;2145;2146;2147;, + 4;2148;2149;2150;2151;, + 4;2152;2153;2154;2155;, + 4;2156;2157;2158;2159;, + 4;2160;2161;2162;2163;, + 4;2164;2165;2166;2167;, + 4;2168;2169;2170;2171;, + 4;2172;2173;2174;2175;, + 4;2176;2177;2178;2179;, + 4;2180;2181;2182;2183;, + 4;2184;2185;2186;2187;, + 4;2188;2189;2190;2191;, + 4;2192;2193;2194;2195;, + 4;2196;2197;2198;2199;, + 4;2200;2201;2202;2203;, + 4;2204;2205;2206;2207;, + 4;2208;2209;2210;2211;, + 4;2212;2213;2214;2215;, + 4;2216;2217;2218;2219;, + 4;2220;2221;2222;2223;, + 4;2224;2225;2226;2227;, + 4;2228;2229;2230;2231;, + 4;2232;2233;2234;2235;, + 4;2236;2237;2238;2239;, + 4;2240;2241;2242;2243;, + 4;2244;2245;2246;2247;, + 4;2248;2249;2250;2251;, + 4;2252;2253;2254;2255;, + 4;2256;2257;2258;2259;, + 4;2260;2261;2262;2263;, + 4;2264;2265;2266;2267;, + 4;2268;2269;2270;2271;, + 4;2272;2273;2274;2275;, + 4;2276;2277;2278;2279;, + 4;2280;2281;2282;2283;, + 4;2284;2285;2286;2287;, + 4;2288;2289;2290;2291;, + 4;2292;2293;2294;2295;, + 4;2296;2297;2298;2299;, + 4;2300;2301;2302;2303;, + 4;2304;2305;2306;2307;, + 4;2308;2309;2310;2311;, + 4;2312;2313;2314;2315;, + 4;2316;2317;2318;2319;, + 4;2320;2321;2322;2323;, + 4;2324;2325;2326;2327;, + 4;2328;2329;2330;2331;, + 4;2332;2333;2334;2335;, + 4;2336;2337;2338;2339;, + 4;2340;2341;2342;2343;, + 4;2344;2345;2346;2347;, + 4;2348;2349;2350;2351;, + 4;2352;2353;2354;2355;, + 4;2356;2357;2358;2359;, + 4;2360;2361;2362;2363;, + 4;2364;2365;2366;2367;, + 4;2368;2369;2370;2371;, + 4;2372;2373;2374;2375;, + 4;2376;2377;2378;2379;, + 4;2380;2381;2382;2383;, + 4;2384;2385;2386;2387;, + 4;2388;2389;2390;2391;, + 4;2392;2393;2394;2395;, + 4;2396;2397;2398;2399;, + 4;2400;2401;2402;2403;, + 4;2404;2405;2406;2407;, + 4;2408;2409;2410;2411;, + 4;2412;2413;2414;2415;, + 4;2416;2417;2418;2419;, + 4;2420;2421;2422;2423;, + 4;2424;2425;2426;2427;, + 4;2428;2429;2430;2431;, + 4;2432;2433;2434;2435;, + 4;2436;2437;2438;2439;, + 4;2440;2441;2442;2443;, + 4;2444;2445;2446;2447;, + 4;2448;2449;2450;2451;, + 4;2452;2453;2454;2455;, + 4;2456;2457;2458;2459;, + 4;2460;2461;2462;2463;, + 4;2464;2465;2466;2467;, + 4;2468;2469;2470;2471;, + 4;2472;2473;2474;2475;, + 4;2476;2477;2478;2479;, + 4;2480;2481;2482;2483;, + 4;2484;2485;2486;2487;, + 4;2488;2489;2490;2491;, + 4;2492;2493;2494;2495;, + 4;2496;2497;2498;2499;, + 4;2500;2501;2502;2503;, + 4;2504;2505;2506;2507;, + 4;2508;2509;2510;2511;, + 4;2512;2513;2514;2515;, + 4;2516;2517;2518;2519;, + 4;2520;2521;2522;2523;, + 4;2524;2525;2526;2527;, + 4;2528;2529;2530;2531;, + 4;2532;2533;2534;2535;, + 4;2536;2537;2538;2539;, + 4;2540;2541;2542;2543;, + 4;2544;2545;2546;2547;, + 4;2548;2549;2550;2551;, + 4;2552;2553;2554;2555;, + 4;2556;2557;2558;2559;, + 4;2560;2561;2562;2563;, + 4;2564;2565;2566;2567;, + 4;2568;2569;2570;2571;, + 4;2572;2573;2574;2575;, + 4;2576;2577;2578;2579;, + 4;2580;2581;2582;2583;, + 4;2584;2585;2586;2587;, + 4;2588;2589;2590;2591;, + 4;2592;2593;2594;2595;, + 4;2596;2597;2598;2599;, + 4;2600;2601;2602;2603;, + 4;2604;2605;2606;2607;, + 4;2608;2609;2610;2611;, + 4;2612;2613;2614;2615;, + 4;2616;2617;2618;2619;, + 4;2620;2621;2622;2623;, + 4;2624;2625;2626;2627;, + 4;2628;2629;2630;2631;, + 4;2632;2633;2634;2635;, + 4;2636;2637;2638;2639;, + 4;2640;2641;2642;2643;, + 4;2644;2645;2646;2647;, + 4;2648;2649;2650;2651;, + 4;2652;2653;2654;2655;, + 4;2656;2657;2658;2659;, + 4;2660;2661;2662;2663;, + 4;2664;2665;2666;2667;, + 4;2668;2669;2670;2671;, + 4;2672;2673;2674;2675;, + 4;2676;2677;2678;2679;, + 4;2680;2681;2682;2683;, + 4;2684;2685;2686;2687;, + 4;2688;2689;2690;2691;, + 4;2692;2693;2694;2695;, + 4;2696;2697;2698;2699;, + 4;2700;2701;2702;2703;, + 4;2704;2705;2706;2707;, + 4;2708;2709;2710;2711;, + 4;2712;2713;2714;2715;, + 4;2716;2717;2718;2719;, + 4;2720;2721;2722;2723;, + 4;2724;2725;2726;2727;, + 4;2728;2729;2730;2731;, + 4;2732;2733;2734;2735;, + 4;2736;2737;2738;2739;, + 4;2740;2741;2742;2743;, + 4;2744;2745;2746;2747;, + 4;2748;2749;2750;2751;, + 4;2752;2753;2754;2755;, + 4;2756;2757;2758;2759;, + 4;2760;2761;2762;2763;, + 4;2764;2765;2766;2767;, + 4;2768;2769;2770;2771;, + 4;2772;2773;2774;2775;, + 4;2776;2777;2778;2779;, + 4;2780;2781;2782;2783;, + 4;2784;2785;2786;2787;, + 4;2788;2789;2790;2791;, + 4;2792;2793;2794;2795;, + 4;2796;2797;2798;2799;, + 4;2800;2801;2802;2803;, + 4;2804;2805;2806;2807;, + 4;2808;2809;2810;2811;, + 4;2812;2813;2814;2815;, + 4;2816;2817;2818;2819;, + 4;2820;2821;2822;2823;, + 4;2824;2825;2826;2827;, + 4;2828;2829;2830;2831;, + 4;2832;2833;2834;2835;, + 4;2836;2837;2838;2839;, + 4;2840;2841;2842;2843;, + 4;2844;2845;2846;2847;, + 4;2848;2849;2850;2851;, + 4;2852;2853;2854;2855;, + 4;2856;2857;2858;2859;, + 4;2860;2861;2862;2863;, + 4;2864;2865;2866;2867;, + 4;2868;2869;2870;2871;, + 4;2872;2873;2874;2875;, + 4;2876;2877;2878;2879;, + 4;2880;2881;2882;2883;, + 4;2884;2885;2886;2887;, + 4;2888;2889;2890;2891;, + 4;2892;2893;2894;2895;, + 4;2896;2897;2898;2899;, + 4;2900;2901;2902;2903;, + 4;2904;2905;2906;2907;, + 4;2908;2909;2910;2911;, + 4;2912;2913;2914;2915;, + 4;2916;2917;2918;2919;, + 4;2920;2921;2922;2923;, + 4;2924;2925;2926;2927;, + 4;2928;2929;2930;2931;, + 4;2932;2933;2934;2935;, + 4;2936;2937;2938;2939;, + 4;2940;2941;2942;2943;, + 4;2944;2945;2946;2947;, + 4;2948;2949;2950;2951;; + } //End of Plane_000 Normals + MeshMaterialList { //Plane_000 Material List + 1; + 738; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Material { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.500000; 0.500000; 0.500000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"boat.png";} + } + } //End of Plane_000 Material List + MeshTextureCoords { //Plane_000 UV Coordinates + 2952; + 0.116022; 0.052830;, + 0.087066; 0.052833;, + 0.087063; 0.025689;, + 0.116019; 0.025685;, + 0.029160; 0.479941;, + 0.058118; 0.479941;, + 0.058118; 0.507087;, + 0.029160; 0.507087;, + 0.087076; 0.222947;, + 0.058119; 0.222948;, + 0.058119; 0.195803;, + 0.087075; 0.195803;, + 0.144991; 0.393067;, + 0.116033; 0.393067;, + 0.116034; 0.365922;, + 0.144991; 0.365922;, + 0.405609; 0.393072;, + 0.376652; 0.393070;, + 0.376653; 0.365924;, + 0.405611; 0.365926;, + 0.405620; 0.139684;, + 0.434582; 0.139684;, + 0.434582; 0.166834;, + 0.405621; 0.166834;, + 0.662141; 0.896163;, + 0.691099; 0.896163;, + 0.691099; 0.923309;, + 0.662141; 0.923309;, + 0.289781; 0.309818;, + 0.318739; 0.309818;, + 0.318739; 0.336965;, + 0.289780; 0.336964;, + 0.749016; 0.896163;, + 0.777974; 0.896163;, + 0.777974; 0.923309;, + 0.749016; 0.923309;, + 0.173944; 0.139696;, + 0.202902; 0.139694;, + 0.202903; 0.166840;, + 0.173946; 0.166842;, + 0.231853; 0.052816;, + 0.202894; 0.052820;, + 0.202891; 0.025674;, + 0.231849; 0.025670;, + 0.202907; 0.393067;, + 0.173949; 0.393067;, + 0.173949; 0.365921;, + 0.202907; 0.365921;, + 0.318738; 0.139687;, + 0.347698; 0.139686;, + 0.347699; 0.166834;, + 0.318739; 0.166835;, + 0.289772; 0.052810;, + 0.260812; 0.052813;, + 0.260808; 0.025666;, + 0.289768; 0.025662;, + 0.579760; 0.536037;, + 0.550803; 0.536034;, + 0.550805; 0.508889;, + 0.579762; 0.508891;, + 0.202907; 0.479940;, + 0.231864; 0.479940;, + 0.231865; 0.507085;, + 0.202907; 0.507085;, + 0.087073; 0.139701;, + 0.116029; 0.139700;, + 0.116031; 0.166845;, + 0.087074; 0.166846;, + 0.463541; 0.222946;, + 0.434580; 0.222944;, + 0.434581; 0.195795;, + 0.463543; 0.195797;, + 0.434571; 0.336970;, + 0.463530; 0.336973;, + 0.463527; 0.365931;, + 0.434569; 0.365928;, + 0.405613; 0.336968;, + 0.434571; 0.336970;, + 0.434569; 0.365928;, + 0.405611; 0.365926;, + 0.347692; 0.479940;, + 0.376649; 0.479941;, + 0.376648; 0.507085;, + 0.347691; 0.507085;, + 0.202907; 0.336964;, + 0.231865; 0.336964;, + 0.231864; 0.365922;, + 0.202907; 0.365921;, + 0.173949; 0.336964;, + 0.202907; 0.336964;, + 0.202907; 0.365921;, + 0.173949; 0.365921;, + 0.144991; 0.309818;, + 0.173949; 0.309818;, + 0.173949; 0.336964;, + 0.144991; 0.336964;, + 0.434582; 0.166834;, + 0.463544; 0.166834;, + 0.463543; 0.195797;, + 0.434581; 0.195795;, + 0.405621; 0.166834;, + 0.434582; 0.166834;, + 0.434581; 0.195795;, + 0.405620; 0.195795;, + 0.144990; 0.222946;, + 0.116033; 0.222947;, + 0.116032; 0.195802;, + 0.144989; 0.195800;, + 0.318739; 0.166835;, + 0.347699; 0.166834;, + 0.347700; 0.195794;, + 0.318740; 0.195795;, + 0.289780; 0.166836;, + 0.318739; 0.166835;, + 0.318740; 0.195795;, + 0.289780; 0.195795;, + 0.231865; 0.309818;, + 0.260823; 0.309818;, + 0.260822; 0.336964;, + 0.231865; 0.336964;, + 0.434560; 0.507088;, + 0.463516; 0.507089;, + 0.463514; 0.536045;, + 0.434558; 0.536044;, + 0.405604; 0.507086;, + 0.434560; 0.507088;, + 0.434558; 0.536044;, + 0.405603; 0.536042;, + 0.058118; 0.393067;, + 0.029160; 0.393067;, + 0.029160; 0.365921;, + 0.058118; 0.365921;, + 0.318735; 0.507084;, + 0.347691; 0.507085;, + 0.347691; 0.536041;, + 0.318735; 0.536041;, + 0.289778; 0.507084;, + 0.318735; 0.507084;, + 0.318735; 0.536041;, + 0.289779; 0.536041;, + 0.376654; 0.052801;, + 0.347693; 0.052804;, + 0.347690; 0.025655;, + 0.376652; 0.025652;, + 0.318739; 0.336965;, + 0.347697; 0.336965;, + 0.347696; 0.365923;, + 0.318738; 0.365923;, + 0.289780; 0.336964;, + 0.318739; 0.336965;, + 0.318738; 0.365923;, + 0.289780; 0.365922;, + 0.806932; 0.896163;, + 0.835890; 0.896163;, + 0.835890; 0.923309;, + 0.806932; 0.923309;, + 0.202907; 0.507085;, + 0.231865; 0.507085;, + 0.231865; 0.536042;, + 0.202908; 0.536043;, + 0.173950; 0.507086;, + 0.202907; 0.507085;, + 0.202908; 0.536043;, + 0.173950; 0.536044;, + 0.260819; 0.139691;, + 0.289778; 0.139689;, + 0.289780; 0.166836;, + 0.260820; 0.166837;, + 0.087076; 0.507087;, + 0.116034; 0.507086;, + 0.116034; 0.536044;, + 0.087076; 0.536045;, + 0.058118; 0.507087;, + 0.087076; 0.507087;, + 0.087076; 0.536045;, + 0.058118; 0.536045;, + 0.782471; 0.536045;, + 0.753512; 0.536045;, + 0.753512; 0.508898;, + 0.782471; 0.508898;, + 0.087076; 0.336964;, + 0.116034; 0.336964;, + 0.116034; 0.365922;, + 0.087076; 0.365921;, + 0.058118; 0.336964;, + 0.087076; 0.336964;, + 0.087076; 0.365921;, + 0.058118; 0.365921;, + 0.116029; 0.139700;, + 0.144987; 0.139698;, + 0.144988; 0.166843;, + 0.116031; 0.166845;, + 0.202903; 0.166840;, + 0.231862; 0.166839;, + 0.231863; 0.195797;, + 0.202905; 0.195798;, + 0.173946; 0.166842;, + 0.202903; 0.166840;, + 0.202905; 0.195798;, + 0.173947; 0.195799;, + 0.260822; 0.479939;, + 0.289779; 0.479939;, + 0.289778; 0.507084;, + 0.260822; 0.507084;, + 0.087074; 0.166846;, + 0.116031; 0.166845;, + 0.116032; 0.195802;, + 0.087075; 0.195803;, + 0.058118; 0.166847;, + 0.087074; 0.166846;, + 0.087075; 0.195803;, + 0.058119; 0.195803;, + 0.116033; 0.222947;, + 0.087076; 0.222947;, + 0.087075; 0.195803;, + 0.116032; 0.195802;, + 0.144992; 0.479940;, + 0.173949; 0.479940;, + 0.173950; 0.507086;, + 0.144992; 0.507086;, + 0.202906; 0.222944;, + 0.173948; 0.222945;, + 0.173947; 0.195799;, + 0.202905; 0.195798;, + 0.376652; 0.393070;, + 0.347695; 0.393069;, + 0.347696; 0.365923;, + 0.376653; 0.365924;, + 0.434578; 0.052797;, + 0.405616; 0.052799;, + 0.405614; 0.025649;, + 0.434577; 0.025647;, + 0.029162; 0.309818;, + 0.058119; 0.309818;, + 0.058118; 0.336964;, + 0.029161; 0.336963;, + 0.173949; 0.309818;, + 0.202907; 0.309818;, + 0.202907; 0.336964;, + 0.173949; 0.336964;, + 0.289779; 0.479939;, + 0.318735; 0.479940;, + 0.318735; 0.507084;, + 0.289778; 0.507084;, + 0.289780; 0.393068;, + 0.260822; 0.393067;, + 0.260822; 0.365922;, + 0.289780; 0.365922;, + 0.058119; 0.309818;, + 0.087076; 0.309818;, + 0.087076; 0.336964;, + 0.058118; 0.336964;, + 0.231864; 0.393067;, + 0.202907; 0.393067;, + 0.202907; 0.365921;, + 0.231864; 0.365922;, + 0.434567; 0.393073;, + 0.405609; 0.393072;, + 0.405611; 0.365926;, + 0.434569; 0.365928;, + 0.434582; 0.139684;, + 0.463545; 0.139683;, + 0.463544; 0.166834;, + 0.434582; 0.166834;, + 0.376655; 0.336967;, + 0.405613; 0.336968;, + 0.405611; 0.365926;, + 0.376653; 0.365924;, + 0.347697; 0.336965;, + 0.376655; 0.336967;, + 0.376653; 0.365924;, + 0.347696; 0.365923;, + 0.260812; 0.052813;, + 0.231853; 0.052816;, + 0.231849; 0.025670;, + 0.260808; 0.025666;, + 0.289781; 0.222942;, + 0.260822; 0.222943;, + 0.260822; 0.195796;, + 0.289780; 0.195795;, + 0.550803; 0.536034;, + 0.521845; 0.536032;, + 0.521847; 0.508886;, + 0.550805; 0.508889;, + 0.318739; 0.309818;, + 0.347698; 0.309819;, + 0.347697; 0.336965;, + 0.318739; 0.336965;, + 0.637676; 0.536041;, + 0.608718; 0.536039;, + 0.608720; 0.508893;, + 0.637678; 0.508895;, + 0.202902; 0.139694;, + 0.231860; 0.139692;, + 0.231862; 0.166839;, + 0.202903; 0.166840;, + 0.318732; 0.052806;, + 0.289772; 0.052810;, + 0.289768; 0.025662;, + 0.318729; 0.025658;, + 0.144991; 0.336964;, + 0.173949; 0.336964;, + 0.173949; 0.365921;, + 0.144991; 0.365922;, + 0.116034; 0.336964;, + 0.144991; 0.336964;, + 0.144991; 0.365922;, + 0.116034; 0.365922;, + 0.864848; 0.896163;, + 0.893806; 0.896163;, + 0.893806; 0.923309;, + 0.864848; 0.923309;, + 0.029160; 0.393067;, + 0.000202; 0.393067;, + 0.000202; 0.365920;, + 0.029160; 0.365921;, + 0.777974; 0.896163;, + 0.806932; 0.896163;, + 0.806932; 0.923309;, + 0.777974; 0.923309;, + 0.058110; 0.052835;, + 0.029155; 0.052838;, + 0.029152; 0.025694;, + 0.058107; 0.025692;, + 0.376649; 0.479941;, + 0.405605; 0.479942;, + 0.405604; 0.507086;, + 0.376648; 0.507085;, + 0.000205; 0.139706;, + 0.029161; 0.139705;, + 0.029162; 0.166848;, + 0.000206; 0.166849;, + 0.231864; 0.222943;, + 0.202906; 0.222944;, + 0.202905; 0.195798;, + 0.231863; 0.195797;, + 0.260823; 0.309818;, + 0.289781; 0.309818;, + 0.289780; 0.336964;, + 0.260822; 0.336964;, + 0.087076; 0.393067;, + 0.058118; 0.393067;, + 0.058118; 0.365921;, + 0.087076; 0.365921;, + 0.463541; 0.052795;, + 0.434578; 0.052797;, + 0.434577; 0.025647;, + 0.463539; 0.025645;, + 0.695593; 0.536044;, + 0.666635; 0.536043;, + 0.666636; 0.508897;, + 0.695594; 0.508898;, + 0.405615; 0.309822;, + 0.434574; 0.309824;, + 0.434571; 0.336970;, + 0.405613; 0.336968;, + 0.173936; 0.052823;, + 0.144979; 0.052827;, + 0.144976; 0.025682;, + 0.173933; 0.025678;, + 0.376660; 0.166834;, + 0.405621; 0.166834;, + 0.405620; 0.195795;, + 0.376660; 0.195794;, + 0.347699; 0.166834;, + 0.376660; 0.166834;, + 0.376660; 0.195794;, + 0.347700; 0.195794;, + 0.633183; 0.896163;, + 0.662141; 0.896163;, + 0.662141; 0.923309;, + 0.633183; 0.923309;, + 0.144987; 0.139698;, + 0.173944; 0.139696;, + 0.173946; 0.166842;, + 0.144988; 0.166843;, + 0.405605; 0.479942;, + 0.434561; 0.479944;, + 0.434560; 0.507088;, + 0.405604; 0.507086;, + 0.260822; 0.393067;, + 0.231864; 0.393067;, + 0.231864; 0.365922;, + 0.260822; 0.365922;, + 0.058118; 0.479941;, + 0.087076; 0.479941;, + 0.087076; 0.507087;, + 0.058118; 0.507087;, + 0.463524; 0.393076;, + 0.434567; 0.393073;, + 0.434569; 0.365928;, + 0.463527; 0.365931;, + 0.202907; 0.309818;, + 0.231865; 0.309818;, + 0.231865; 0.336964;, + 0.202907; 0.336964;, + 0.260820; 0.166837;, + 0.289780; 0.166836;, + 0.289780; 0.195795;, + 0.260822; 0.195796;, + 0.231862; 0.166839;, + 0.260820; 0.166837;, + 0.260822; 0.195796;, + 0.231863; 0.195797;, + 0.260822; 0.222943;, + 0.231864; 0.222943;, + 0.231863; 0.195797;, + 0.260822; 0.195796;, + 0.405620; 0.222943;, + 0.376659; 0.222942;, + 0.376660; 0.195794;, + 0.405620; 0.195795;, + 0.347698; 0.309819;, + 0.376656; 0.309820;, + 0.376655; 0.336967;, + 0.347697; 0.336965;, + 0.318735; 0.479940;, + 0.347692; 0.479940;, + 0.347691; 0.507085;, + 0.318735; 0.507084;, + 0.318737; 0.393068;, + 0.289780; 0.393068;, + 0.289780; 0.365922;, + 0.318738; 0.365923;, + 0.087076; 0.309818;, + 0.116034; 0.309818;, + 0.116034; 0.336964;, + 0.087076; 0.336964;, + 0.347698; 0.139686;, + 0.376659; 0.139685;, + 0.376660; 0.166834;, + 0.347699; 0.166834;, + 0.376648; 0.507085;, + 0.405604; 0.507086;, + 0.405603; 0.536042;, + 0.376647; 0.536041;, + 0.347691; 0.507085;, + 0.376648; 0.507085;, + 0.376647; 0.536041;, + 0.347691; 0.536041;, + 0.347693; 0.052804;, + 0.318732; 0.052806;, + 0.318729; 0.025658;, + 0.347690; 0.025655;, + 0.260822; 0.507084;, + 0.289778; 0.507084;, + 0.289779; 0.536041;, + 0.260822; 0.536041;, + 0.231865; 0.507085;, + 0.260822; 0.507084;, + 0.260822; 0.536041;, + 0.231865; 0.536042;, + 0.318740; 0.222942;, + 0.289781; 0.222942;, + 0.289780; 0.195795;, + 0.318740; 0.195795;, + 0.922764; 0.896163;, + 0.951722; 0.896163;, + 0.951722; 0.923309;, + 0.922764; 0.923309;, + 0.029155; 0.052838;, + 0.000199; 0.052841;, + 0.000197; 0.025697;, + 0.029152; 0.025694;, + 0.000202; 0.479941;, + 0.029160; 0.479941;, + 0.029160; 0.507087;, + 0.000202; 0.507087;, + 0.058119; 0.222948;, + 0.029163; 0.222948;, + 0.029163; 0.195804;, + 0.058119; 0.195803;, + 0.753512; 0.536045;, + 0.724553; 0.536045;, + 0.724553; 0.508898;, + 0.753512; 0.508898;, + 0.116033; 0.393067;, + 0.087076; 0.393067;, + 0.087076; 0.365921;, + 0.116034; 0.365922;, + 0.260822; 0.336964;, + 0.289780; 0.336964;, + 0.289780; 0.365922;, + 0.260822; 0.365922;, + 0.231865; 0.336964;, + 0.260822; 0.336964;, + 0.260822; 0.365922;, + 0.231864; 0.365922;, + 0.666635; 0.536043;, + 0.637676; 0.536041;, + 0.637678; 0.508895;, + 0.666636; 0.508897;, + 0.144992; 0.507086;, + 0.173950; 0.507086;, + 0.173950; 0.536044;, + 0.144992; 0.536044;, + 0.116034; 0.507086;, + 0.144992; 0.507086;, + 0.144992; 0.536044;, + 0.116034; 0.536044;, + 0.087066; 0.052833;, + 0.058110; 0.052835;, + 0.058107; 0.025692;, + 0.087063; 0.025689;, + 0.029160; 0.507087;, + 0.058118; 0.507087;, + 0.058118; 0.536045;, + 0.029160; 0.536045;, + 0.000202; 0.507087;, + 0.029160; 0.507087;, + 0.029160; 0.536045;, + 0.000202; 0.536045;, + 0.144979; 0.052827;, + 0.116022; 0.052830;, + 0.116019; 0.025685;, + 0.144976; 0.025682;, + 0.173949; 0.393067;, + 0.144991; 0.393067;, + 0.144991; 0.365922;, + 0.173949; 0.365921;, + 0.289778; 0.139689;, + 0.318738; 0.139687;, + 0.318739; 0.166835;, + 0.289780; 0.166836;, + 0.691099; 0.896163;, + 0.720057; 0.896163;, + 0.720058; 0.923309;, + 0.691099; 0.923309;, + 0.029161; 0.139705;, + 0.058116; 0.139703;, + 0.058118; 0.166847;, + 0.029162; 0.166848;, + 0.173949; 0.479940;, + 0.202907; 0.479940;, + 0.202907; 0.507085;, + 0.173950; 0.507086;, + 0.058116; 0.139703;, + 0.087073; 0.139701;, + 0.087074; 0.166846;, + 0.058118; 0.166847;, + 0.029161; 0.336963;, + 0.058118; 0.336964;, + 0.058118; 0.365921;, + 0.029160; 0.365921;, + 0.000203; 0.336962;, + 0.029161; 0.336963;, + 0.029160; 0.365921;, + 0.000202; 0.365920;, + 0.434574; 0.309824;, + 0.463533; 0.309827;, + 0.463530; 0.336973;, + 0.434571; 0.336970;, + 0.376659; 0.222942;, + 0.347700; 0.222942;, + 0.347700; 0.195794;, + 0.376660; 0.195794;, + 0.202894; 0.052820;, + 0.173936; 0.052823;, + 0.173933; 0.025678;, + 0.202891; 0.025674;, + 0.521845; 0.536032;, + 0.492888; 0.536029;, + 0.492890; 0.508884;, + 0.521847; 0.508886;, + 0.434561; 0.479944;, + 0.463517; 0.479945;, + 0.463516; 0.507089;, + 0.434560; 0.507088;, + 0.347695; 0.393069;, + 0.318737; 0.393068;, + 0.318738; 0.365923;, + 0.347696; 0.365923;, + 0.116034; 0.309818;, + 0.144991; 0.309818;, + 0.144991; 0.336964;, + 0.116034; 0.336964;, + 0.144988; 0.166843;, + 0.173946; 0.166842;, + 0.173947; 0.195799;, + 0.144989; 0.195800;, + 0.116031; 0.166845;, + 0.144988; 0.166843;, + 0.144989; 0.195800;, + 0.116032; 0.195802;, + 0.087076; 0.479941;, + 0.116034; 0.479941;, + 0.116034; 0.507086;, + 0.087076; 0.507087;, + 0.347700; 0.222942;, + 0.318740; 0.222942;, + 0.318740; 0.195795;, + 0.347700; 0.195794;, + 0.231860; 0.139692;, + 0.260819; 0.139691;, + 0.260820; 0.166837;, + 0.231862; 0.166839;, + 0.434580; 0.222944;, + 0.405620; 0.222943;, + 0.405620; 0.195795;, + 0.434581; 0.195795;, + 0.893806; 0.896163;, + 0.922764; 0.896163;, + 0.922764; 0.923309;, + 0.893806; 0.923309;, + 0.376656; 0.309820;, + 0.405615; 0.309822;, + 0.405613; 0.336968;, + 0.376655; 0.336967;, + 0.231864; 0.479940;, + 0.260822; 0.479939;, + 0.260822; 0.507084;, + 0.231865; 0.507085;, + 0.029162; 0.166848;, + 0.058118; 0.166847;, + 0.058119; 0.195803;, + 0.029163; 0.195804;, + 0.000206; 0.166849;, + 0.029162; 0.166848;, + 0.029163; 0.195804;, + 0.000207; 0.195804;, + 0.029163; 0.222948;, + 0.000207; 0.222948;, + 0.000207; 0.195804;, + 0.029163; 0.195804;, + 0.116034; 0.479941;, + 0.144992; 0.479940;, + 0.144992; 0.507086;, + 0.116034; 0.507086;, + 0.173948; 0.222945;, + 0.144990; 0.222946;, + 0.144989; 0.195800;, + 0.173947; 0.195799;, + 0.376659; 0.139685;, + 0.405620; 0.139684;, + 0.405621; 0.166834;, + 0.376660; 0.166834;, + 0.405616; 0.052799;, + 0.376654; 0.052801;, + 0.376652; 0.025652;, + 0.405614; 0.025649;, + 0.000205; 0.309817;, + 0.029162; 0.309818;, + 0.029161; 0.336963;, + 0.000203; 0.336962;, + 0.811430; 0.536045;, + 0.782471; 0.536045;, + 0.782471; 0.508898;, + 0.811430; 0.508898;, + 0.260812; 0.052813;, + 0.289772; 0.052810;, + 0.289774; 0.081770;, + 0.260815; 0.081772;, + 0.318732; 0.052806;, + 0.347693; 0.052804;, + 0.347695; 0.081765;, + 0.318734; 0.081767;, + 0.260817; 0.110731;, + 0.289777; 0.110729;, + 0.289778; 0.139689;, + 0.260819; 0.139691;, + 0.260822; 0.222943;, + 0.289781; 0.222942;, + 0.289781; 0.251901;, + 0.260823; 0.251901;, + 0.318740; 0.222942;, + 0.347700; 0.222942;, + 0.347699; 0.251901;, + 0.318740; 0.251901;, + 0.376658; 0.110724;, + 0.405619; 0.110723;, + 0.405620; 0.139684;, + 0.376659; 0.139685;, + 0.376659; 0.222942;, + 0.405620; 0.222943;, + 0.405618; 0.251903;, + 0.376659; 0.251902;, + 0.434580; 0.222944;, + 0.463541; 0.222946;, + 0.463539; 0.251907;, + 0.434578; 0.251905;, + 0.144979; 0.052827;, + 0.173936; 0.052823;, + 0.173939; 0.081781;, + 0.144982; 0.081784;, + 0.202894; 0.052820;, + 0.231853; 0.052816;, + 0.231856; 0.081775;, + 0.202897; 0.081778;, + 0.144991; 0.280861;, + 0.173949; 0.280860;, + 0.173949; 0.309818;, + 0.144991; 0.309818;, + 0.144991; 0.393067;, + 0.173949; 0.393067;, + 0.173949; 0.422025;, + 0.144991; 0.422025;, + 0.202907; 0.393067;, + 0.231864; 0.393067;, + 0.231864; 0.422025;, + 0.202907; 0.422025;, + 0.376657; 0.280861;, + 0.405617; 0.280863;, + 0.405615; 0.309822;, + 0.376656; 0.309820;, + 0.376652; 0.393070;, + 0.405609; 0.393072;, + 0.405608; 0.422029;, + 0.376651; 0.422027;, + 0.434567; 0.393073;, + 0.463524; 0.393076;, + 0.463521; 0.422033;, + 0.434565; 0.422031;, + 0.376654; 0.052801;, + 0.405616; 0.052799;, + 0.405618; 0.081761;, + 0.376656; 0.081763;, + 0.434578; 0.052797;, + 0.463541; 0.052795;, + 0.463543; 0.081758;, + 0.434580; 0.081759;, + 0.087071; 0.110745;, + 0.116028; 0.110743;, + 0.116029; 0.139700;, + 0.087073; 0.139701;, + 0.202900; 0.110736;, + 0.231858; 0.110734;, + 0.231860; 0.139692;, + 0.202902; 0.139694;, + 0.087076; 0.280861;, + 0.116034; 0.280861;, + 0.116034; 0.309818;, + 0.087076; 0.309818;, + 0.087076; 0.450983;, + 0.116034; 0.450983;, + 0.116034; 0.479941;, + 0.087076; 0.479941;, + 0.202907; 0.450982;, + 0.231864; 0.450982;, + 0.231864; 0.479940;, + 0.202907; 0.479940;, + 0.318740; 0.280860;, + 0.347698; 0.280860;, + 0.347698; 0.309819;, + 0.318739; 0.309818;, + 0.318736; 0.450983;, + 0.347693; 0.450983;, + 0.347692; 0.479940;, + 0.318735; 0.479940;, + 0.434563; 0.450987;, + 0.463519; 0.450989;, + 0.463517; 0.479945;, + 0.434561; 0.479944;, + 0.318737; 0.110727;, + 0.347697; 0.110726;, + 0.347698; 0.139686;, + 0.318738; 0.139687;, + 0.434581; 0.110722;, + 0.463544; 0.110721;, + 0.463545; 0.139683;, + 0.434582; 0.139684;, + 0.202907; 0.280860;, + 0.231865; 0.280860;, + 0.231865; 0.309818;, + 0.202907; 0.309818;, + 0.434576; 0.280865;, + 0.463536; 0.280867;, + 0.463533; 0.309827;, + 0.434574; 0.309824;, + 0.256841; 0.710209;, + 0.256842; 0.739169;, + 0.237438; 0.739169;, + 0.237437; 0.710210;, + 0.411474; 0.883958;, + 0.411472; 0.912914;, + 0.392071; 0.912913;, + 0.392072; 0.883957;, + 0.102228; 0.941881;, + 0.102232; 0.970836;, + 0.082831; 0.970838;, + 0.082827; 0.941883;, + 0.343726; 0.594367;, + 0.343729; 0.565405;, + 0.363135; 0.565407;, + 0.363131; 0.594369;, + 0.343718; 0.739168;, + 0.343719; 0.710209;, + 0.363123; 0.710210;, + 0.363122; 0.739169;, + 0.498346; 0.855009;, + 0.498349; 0.826052;, + 0.517751; 0.826054;, + 0.517748; 0.855011;, + 0.411480; 0.797088;, + 0.411478; 0.826045;, + 0.392076; 0.826044;, + 0.392077; 0.797087;, + 0.343724; 0.623329;, + 0.343726; 0.594367;, + 0.363131; 0.594369;, + 0.363129; 0.623330;, + 0.411483; 0.739172;, + 0.411481; 0.768130;, + 0.392079; 0.768129;, + 0.392080; 0.739171;, + 0.411469; 0.941870;, + 0.411467; 0.970825;, + 0.392066; 0.970823;, + 0.392068; 0.941868;, + 0.189099; 0.999779;, + 0.189096; 0.970825;, + 0.208496; 0.970823;, + 0.208499; 0.999777;, + 0.102204; 0.768143;, + 0.102209; 0.797100;, + 0.082806; 0.797103;, + 0.082802; 0.768146;, + 0.256844; 0.797085;, + 0.256845; 0.826043;, + 0.237443; 0.826044;, + 0.237441; 0.797086;, + 0.521853; 0.432392;, + 0.550811; 0.432394;, + 0.550809; 0.451796;, + 0.521852; 0.451794;, + 0.343715; 0.883955;, + 0.343716; 0.854999;, + 0.363117; 0.854999;, + 0.363116; 0.883956;, + 0.608726; 0.432398;, + 0.637683; 0.432400;, + 0.637682; 0.451803;, + 0.608724; 0.451801;, + 0.189078; 0.768132;, + 0.189076; 0.739173;, + 0.208479; 0.739171;, + 0.208481; 0.768130;, + 0.102213; 0.826057;, + 0.102217; 0.855013;, + 0.082815; 0.855016;, + 0.082811; 0.826060;, + 0.392064; 0.999777;, + 0.363110; 0.999774;, + 0.363112; 0.970821;, + 0.392066; 0.970823;, + 0.392066; 0.970823;, + 0.363112; 0.970821;, + 0.363114; 0.941867;, + 0.392068; 0.941868;, + 0.893806; 0.999806;, + 0.864848; 0.999805;, + 0.864848; 0.980403;, + 0.893806; 0.980403;, + 0.392079; 0.768129;, + 0.363121; 0.768127;, + 0.363122; 0.739169;, + 0.392080; 0.739171;, + 0.392080; 0.739171;, + 0.363122; 0.739169;, + 0.363123; 0.710210;, + 0.392082; 0.710212;, + 0.411507; 0.536454;, + 0.411501; 0.565415;, + 0.392097; 0.565411;, + 0.392102; 0.536450;, + 0.237452; 0.999775;, + 0.208499; 0.999777;, + 0.208496; 0.970823;, + 0.237450; 0.970821;, + 0.237450; 0.970821;, + 0.208496; 0.970823;, + 0.208494; 0.941869;, + 0.237449; 0.941867;, + 0.806932; 0.999805;, + 0.777974; 0.999805;, + 0.777974; 0.980403;, + 0.806932; 0.980403;, + 0.237446; 0.883957;, + 0.208490; 0.883958;, + 0.208488; 0.855002;, + 0.237444; 0.855000;, + 0.237444; 0.855000;, + 0.208488; 0.855002;, + 0.208486; 0.826045;, + 0.237443; 0.826044;, + 0.102162; 0.565421;, + 0.102170; 0.594384;, + 0.082764; 0.594389;, + 0.082755; 0.565427;, + 0.546688; 0.999799;, + 0.517731; 0.999795;, + 0.517735; 0.970838;, + 0.546692; 0.970842;, + 0.546692; 0.970842;, + 0.517735; 0.970838;, + 0.517739; 0.941881;, + 0.546696; 0.941885;, + 0.498337; 0.941879;, + 0.498340; 0.912923;, + 0.517742; 0.912925;, + 0.517739; 0.941881;, + 0.546702; 0.883971;, + 0.517745; 0.883968;, + 0.517748; 0.855011;, + 0.546705; 0.855014;, + 0.546705; 0.855014;, + 0.517748; 0.855011;, + 0.517751; 0.826054;, + 0.546709; 0.826057;, + 0.189056; 0.565403;, + 0.189053; 0.536436;, + 0.208462; 0.536434;, + 0.208464; 0.565401;, + 0.392072; 0.883957;, + 0.363116; 0.883956;, + 0.363117; 0.854999;, + 0.392074; 0.855001;, + 0.392074; 0.855001;, + 0.363117; 0.854999;, + 0.363118; 0.826043;, + 0.392076; 0.826044;, + 0.256842; 0.739169;, + 0.256843; 0.768127;, + 0.237440; 0.768128;, + 0.237438; 0.739169;, + 0.546715; 0.768142;, + 0.517757; 0.768139;, + 0.517760; 0.739182;, + 0.546718; 0.739185;, + 0.546718; 0.739185;, + 0.517760; 0.739182;, + 0.517763; 0.710224;, + 0.546721; 0.710227;, + 0.343716; 0.826042;, + 0.343717; 0.797085;, + 0.363120; 0.797085;, + 0.363118; 0.826043;, + 0.546728; 0.652311;, + 0.517770; 0.652307;, + 0.517774; 0.623349;, + 0.546732; 0.623353;, + 0.546732; 0.623353;, + 0.517774; 0.623349;, + 0.517778; 0.594391;, + 0.546736; 0.594395;, + 0.411497; 0.594375;, + 0.411493; 0.623335;, + 0.392089; 0.623333;, + 0.392093; 0.594372;, + 0.392086; 0.652293;, + 0.363126; 0.652291;, + 0.363129; 0.623330;, + 0.392089; 0.623333;, + 0.392089; 0.623333;, + 0.363129; 0.623330;, + 0.363131; 0.594369;, + 0.392093; 0.594372;, + 0.102232; 0.970836;, + 0.102236; 0.999791;, + 0.082835; 0.999793;, + 0.082831; 0.970838;, + 0.237440; 0.768128;, + 0.208481; 0.768130;, + 0.208479; 0.739171;, + 0.237438; 0.739169;, + 0.237438; 0.739169;, + 0.208479; 0.739171;, + 0.208477; 0.710212;, + 0.237437; 0.710210;, + 0.666637; 0.432400;, + 0.695596; 0.432400;, + 0.695595; 0.451803;, + 0.666637; 0.451803;, + 0.237433; 0.652289;, + 0.208472; 0.652291;, + 0.208469; 0.623329;, + 0.237432; 0.623327;, + 0.237432; 0.623327;, + 0.208469; 0.623329;, + 0.208467; 0.594365;, + 0.237431; 0.594364;, + 0.343712; 0.970820;, + 0.343713; 0.941866;, + 0.363114; 0.941867;, + 0.363112; 0.970821;, + 0.102189; 0.681267;, + 0.102194; 0.710226;, + 0.082791; 0.710230;, + 0.082785; 0.681271;, + 0.662142; 0.999806;, + 0.633183; 0.999806;, + 0.633183; 0.980403;, + 0.662141; 0.980403;, + 0.189073; 0.710214;, + 0.189070; 0.681254;, + 0.208474; 0.681252;, + 0.208477; 0.710212;, + 0.498333; 0.970835;, + 0.498337; 0.941879;, + 0.517739; 0.941881;, + 0.517735; 0.970838;, + 0.411481; 0.768130;, + 0.411480; 0.797088;, + 0.392077; 0.797087;, + 0.392079; 0.768129;, + 0.498371; 0.623347;, + 0.498375; 0.594388;, + 0.517778; 0.594391;, + 0.517774; 0.623349;, + 0.411467; 0.970825;, + 0.411463; 0.999779;, + 0.392064; 0.999777;, + 0.392066; 0.970823;, + 0.343718; 0.768127;, + 0.343718; 0.739168;, + 0.363122; 0.739169;, + 0.363121; 0.768127;, + 0.256843; 0.768127;, + 0.256844; 0.797085;, + 0.237441; 0.797086;, + 0.237440; 0.768128;, + 0.256848; 0.912911;, + 0.256849; 0.941866;, + 0.237449; 0.941867;, + 0.237447; 0.912912;, + 0.343714; 0.912911;, + 0.343715; 0.883955;, + 0.363116; 0.883956;, + 0.363115; 0.912911;, + 0.498343; 0.883966;, + 0.498346; 0.855009;, + 0.517748; 0.855011;, + 0.517745; 0.883968;, + 0.392068; 0.941868;, + 0.363114; 0.941867;, + 0.363115; 0.912911;, + 0.392071; 0.912913;, + 0.392071; 0.912913;, + 0.363115; 0.912911;, + 0.363116; 0.883956;, + 0.392072; 0.883957;, + 0.411478; 0.826045;, + 0.411476; 0.855002;, + 0.392074; 0.855001;, + 0.392076; 0.826044;, + 0.343722; 0.652290;, + 0.343724; 0.623329;, + 0.363129; 0.623330;, + 0.363126; 0.652291;, + 0.189091; 0.912916;, + 0.189088; 0.883960;, + 0.208490; 0.883958;, + 0.208492; 0.912914;, + 0.102217; 0.855013;, + 0.102221; 0.883969;, + 0.082819; 0.883972;, + 0.082815; 0.855016;, + 0.256845; 0.826043;, + 0.256846; 0.854999;, + 0.237444; 0.855000;, + 0.237443; 0.826044;, + 0.951722; 0.999806;, + 0.922764; 0.999806;, + 0.922764; 0.980403;, + 0.951722; 0.980403;, + 0.102153; 0.536456;, + 0.102162; 0.565421;, + 0.082755; 0.565427;, + 0.082745; 0.536463;, + 0.392082; 0.710212;, + 0.363123; 0.710210;, + 0.363124; 0.681251;, + 0.392084; 0.681253;, + 0.392084; 0.681253;, + 0.363124; 0.681251;, + 0.363126; 0.652291;, + 0.392086; 0.652293;, + 0.498379; 0.565430;, + 0.498384; 0.536472;, + 0.517787; 0.536475;, + 0.517782; 0.565433;, + 0.256837; 0.565399;, + 0.256837; 0.594363;, + 0.237431; 0.594364;, + 0.237430; 0.565399;, + 0.724554; 0.432400;, + 0.753512; 0.432400;, + 0.753512; 0.451803;, + 0.724554; 0.451803;, + 0.411493; 0.623335;, + 0.411490; 0.652295;, + 0.392086; 0.652293;, + 0.392089; 0.623333;, + 0.744377; 0.250556;, + 0.744378; 0.193462;, + 0.779683; 0.193462;, + 0.779682; 0.250557;, + 0.102170; 0.594384;, + 0.102177; 0.623346;, + 0.082772; 0.623351;, + 0.082764; 0.594389;, + 0.102183; 0.652307;, + 0.102189; 0.681267;, + 0.082785; 0.681271;, + 0.082779; 0.652311;, + 0.411488; 0.681254;, + 0.411485; 0.710213;, + 0.392082; 0.710212;, + 0.392084; 0.681253;, + 0.189086; 0.855004;, + 0.189083; 0.826047;, + 0.208486; 0.826045;, + 0.208488; 0.855002;, + 0.720058; 0.999806;, + 0.691100; 0.999806;, + 0.691100; 0.980403;, + 0.720058; 0.980403;, + 0.189060; 0.594367;, + 0.189056; 0.565403;, + 0.208464; 0.565401;, + 0.208467; 0.594365;, + 0.498358; 0.739180;, + 0.498361; 0.710222;, + 0.517763; 0.710224;, + 0.517760; 0.739182;, + 0.189063; 0.623331;, + 0.189060; 0.594367;, + 0.208467; 0.594365;, + 0.208469; 0.623329;, + 0.237449; 0.941867;, + 0.208494; 0.941869;, + 0.208492; 0.912914;, + 0.237447; 0.912912;, + 0.237447; 0.912912;, + 0.208492; 0.912914;, + 0.208490; 0.883958;, + 0.237446; 0.883957;, + 0.343711; 0.999774;, + 0.343712; 0.970820;, + 0.363112; 0.970821;, + 0.363110; 0.999774;, + 0.256847; 0.883956;, + 0.256848; 0.912911;, + 0.237447; 0.912912;, + 0.237446; 0.883957;, + 0.102194; 0.710226;, + 0.102200; 0.739185;, + 0.082797; 0.739188;, + 0.082791; 0.710230;, + 0.492896; 0.432390;, + 0.521853; 0.432392;, + 0.521852; 0.451794;, + 0.492895; 0.451792;, + 0.498329; 0.999792;, + 0.498333; 0.970835;, + 0.517735; 0.970838;, + 0.517731; 0.999795;, + 0.411476; 0.855002;, + 0.411474; 0.883958;, + 0.392072; 0.883957;, + 0.392074; 0.855001;, + 0.343720; 0.681250;, + 0.343722; 0.652290;, + 0.363126; 0.652291;, + 0.363124; 0.681251;, + 0.237443; 0.826044;, + 0.208486; 0.826045;, + 0.208483; 0.797088;, + 0.237441; 0.797086;, + 0.237441; 0.797086;, + 0.208483; 0.797088;, + 0.208481; 0.768130;, + 0.237440; 0.768128;, + 0.498367; 0.652305;, + 0.498371; 0.623347;, + 0.517774; 0.623349;, + 0.517770; 0.652307;, + 0.256846; 0.854999;, + 0.256847; 0.883956;, + 0.237446; 0.883957;, + 0.237444; 0.855000;, + 0.189081; 0.797090;, + 0.189078; 0.768132;, + 0.208481; 0.768130;, + 0.208483; 0.797088;, + 0.256849; 0.941866;, + 0.256850; 0.970820;, + 0.237450; 0.970821;, + 0.237449; 0.941867;, + 0.922764; 0.999806;, + 0.893806; 0.999806;, + 0.893806; 0.980403;, + 0.922764; 0.980403;, + 0.343713; 0.941866;, + 0.343714; 0.912911;, + 0.363115; 0.912911;, + 0.363114; 0.941867;, + 0.498352; 0.797095;, + 0.498355; 0.768137;, + 0.517757; 0.768139;, + 0.517754; 0.797097;, + 0.546696; 0.941885;, + 0.517739; 0.941881;, + 0.517742; 0.912925;, + 0.546699; 0.912928;, + 0.546699; 0.912928;, + 0.517742; 0.912925;, + 0.517745; 0.883968;, + 0.546702; 0.883971;, + 0.256838; 0.536433;, + 0.256837; 0.565399;, + 0.237430; 0.565399;, + 0.237429; 0.536433;, + 0.546709; 0.826057;, + 0.517751; 0.826054;, + 0.517754; 0.797097;, + 0.546712; 0.797100;, + 0.546712; 0.797100;, + 0.517754; 0.797097;, + 0.517757; 0.768139;, + 0.546715; 0.768142;, + 0.498364; 0.681263;, + 0.498367; 0.652305;, + 0.517770; 0.652307;, + 0.517767; 0.681266;, + 0.256839; 0.681249;, + 0.256841; 0.710209;, + 0.237437; 0.710210;, + 0.237435; 0.681250;, + 0.189093; 0.941871;, + 0.189091; 0.912916;, + 0.208492; 0.912914;, + 0.208494; 0.941869;, + 0.102224; 0.912925;, + 0.102228; 0.941881;, + 0.082827; 0.941883;, + 0.082823; 0.912928;, + 0.343729; 0.565405;, + 0.343733; 0.536441;, + 0.363139; 0.536445;, + 0.363135; 0.565407;, + 0.782471; 0.432400;, + 0.811429; 0.432400;, + 0.811429; 0.451803;, + 0.782471; 0.451803;, + 0.102177; 0.623346;, + 0.102183; 0.652307;, + 0.082779; 0.652311;, + 0.082772; 0.623351;, + 0.392076; 0.826044;, + 0.363118; 0.826043;, + 0.363120; 0.797085;, + 0.392077; 0.797087;, + 0.392077; 0.797087;, + 0.363120; 0.797085;, + 0.363121; 0.768127;, + 0.392079; 0.768129;, + 0.498375; 0.594388;, + 0.498379; 0.565430;, + 0.517782; 0.565433;, + 0.517778; 0.594391;, + 0.546721; 0.710227;, + 0.517763; 0.710224;, + 0.517767; 0.681266;, + 0.546725; 0.681269;, + 0.546725; 0.681269;, + 0.517767; 0.681266;, + 0.517770; 0.652307;, + 0.546728; 0.652311;, + 0.256837; 0.594363;, + 0.256838; 0.623326;, + 0.237432; 0.623327;, + 0.237431; 0.594364;, + 0.546736; 0.594395;, + 0.517778; 0.594391;, + 0.517782; 0.565433;, + 0.546740; 0.565437;, + 0.546740; 0.565437;, + 0.517782; 0.565433;, + 0.517787; 0.536475;, + 0.546744; 0.536479;, + 0.411490; 0.652295;, + 0.411488; 0.681254;, + 0.392084; 0.681253;, + 0.392086; 0.652293;, + 0.411472; 0.912914;, + 0.411469; 0.941870;, + 0.392068; 0.941868;, + 0.392071; 0.912913;, + 0.189096; 0.970825;, + 0.189093; 0.941871;, + 0.208494; 0.941869;, + 0.208496; 0.970823;, + 0.691100; 0.999806;, + 0.662142; 0.999806;, + 0.662141; 0.980403;, + 0.691100; 0.980403;, + 0.343716; 0.854999;, + 0.343716; 0.826042;, + 0.363118; 0.826043;, + 0.363117; 0.854999;, + 0.777974; 0.999805;, + 0.749016; 0.999805;, + 0.749016; 0.980403;, + 0.777974; 0.980403;, + 0.189076; 0.739173;, + 0.189073; 0.710214;, + 0.208477; 0.710212;, + 0.208479; 0.739171;, + 0.392093; 0.594372;, + 0.363131; 0.594369;, + 0.363135; 0.565407;, + 0.392097; 0.565411;, + 0.392097; 0.565411;, + 0.363135; 0.565407;, + 0.363139; 0.536445;, + 0.392102; 0.536450;, + 0.102200; 0.739185;, + 0.102204; 0.768143;, + 0.082802; 0.768146;, + 0.082797; 0.739188;, + 0.411485; 0.710213;, + 0.411483; 0.739172;, + 0.392080; 0.739171;, + 0.392082; 0.710212;, + 0.189088; 0.883960;, + 0.189086; 0.855004;, + 0.208488; 0.855002;, + 0.208490; 0.883958;, + 0.102209; 0.797100;, + 0.102213; 0.826057;, + 0.082811; 0.826060;, + 0.082806; 0.797103;, + 0.550811; 0.432394;, + 0.579768; 0.432396;, + 0.579767; 0.451798;, + 0.550809; 0.451796;, + 0.498355; 0.768137;, + 0.498358; 0.739180;, + 0.517760; 0.739182;, + 0.517757; 0.768139;, + 0.189067; 0.652293;, + 0.189063; 0.623331;, + 0.208469; 0.623329;, + 0.208472; 0.652291;, + 0.237437; 0.710210;, + 0.208477; 0.710212;, + 0.208474; 0.681252;, + 0.237435; 0.681250;, + 0.237435; 0.681250;, + 0.208474; 0.681252;, + 0.208472; 0.652291;, + 0.237433; 0.652289;, + 0.256850; 0.970820;, + 0.256852; 0.999774;, + 0.237452; 0.999775;, + 0.237450; 0.970821;, + 0.498340; 0.912923;, + 0.498343; 0.883966;, + 0.517745; 0.883968;, + 0.517742; 0.912925;, + 0.343719; 0.710209;, + 0.343720; 0.681250;, + 0.363124; 0.681251;, + 0.363123; 0.710210;, + 0.256839; 0.652288;, + 0.256839; 0.681249;, + 0.237435; 0.681250;, + 0.237433; 0.652289;, + 0.343717; 0.797085;, + 0.343718; 0.768127;, + 0.363121; 0.768127;, + 0.363120; 0.797085;, + 0.411501; 0.565415;, + 0.411497; 0.594375;, + 0.392093; 0.594372;, + 0.392097; 0.565411;, + 0.102221; 0.883969;, + 0.102224; 0.912925;, + 0.082823; 0.912928;, + 0.082819; 0.883972;, + 0.237431; 0.594364;, + 0.208467; 0.594365;, + 0.208464; 0.565401;, + 0.237430; 0.565399;, + 0.237430; 0.565399;, + 0.208464; 0.565401;, + 0.208462; 0.536434;, + 0.237429; 0.536433;, + 0.835890; 0.999805;, + 0.806932; 0.999805;, + 0.806932; 0.980403;, + 0.835890; 0.980403;, + 0.189083; 0.826047;, + 0.189081; 0.797090;, + 0.208483; 0.797088;, + 0.208486; 0.826045;, + 0.753512; 0.432400;, + 0.782471; 0.432400;, + 0.782471; 0.451803;, + 0.753512; 0.451803;, + 0.189070; 0.681254;, + 0.189067; 0.652293;, + 0.208472; 0.652291;, + 0.208474; 0.681252;, + 0.498349; 0.826052;, + 0.498352; 0.797095;, + 0.517754; 0.797097;, + 0.517751; 0.826054;, + 0.256838; 0.623326;, + 0.256839; 0.652288;, + 0.237433; 0.652289;, + 0.237432; 0.623327;, + 0.498361; 0.710222;, + 0.498364; 0.681263;, + 0.517767; 0.681266;, + 0.517763; 0.710224;, + 0.782471; 0.451803;, + 0.811429; 0.451803;, + 0.811430; 0.508898;, + 0.782471; 0.508898;, + 0.569546; 0.317575;, + 0.538217; 0.317574;, + 0.538218; 0.250552;, + 0.569547; 0.250553;, + 0.546702; 0.883971;, + 0.546705; 0.855014;, + 0.603797; 0.855021;, + 0.603794; 0.883978;, + 0.000194; 0.000253;, + 0.029149; 0.000250;, + 0.029152; 0.025694;, + 0.000197; 0.025697;, + 0.546721; 0.710227;, + 0.546725; 0.681269;, + 0.603818; 0.681276;, + 0.603814; 0.710234;, + 0.057374; 0.883976;, + 0.057370; 0.855020;, + 0.082815; 0.855016;, + 0.082819; 0.883972;, + 0.691100; 0.980403;, + 0.662141; 0.980403;, + 0.662141; 0.923309;, + 0.691099; 0.923309;, + 0.546728; 0.652311;, + 0.546732; 0.623353;, + 0.603825; 0.623360;, + 0.603822; 0.652318;, + 0.057331; 0.652317;, + 0.057323; 0.623357;, + 0.082772; 0.623351;, + 0.082779; 0.652311;, + 0.666637; 0.451803;, + 0.695595; 0.451803;, + 0.695594; 0.508898;, + 0.666636; 0.508897;, + 0.546688; 0.999799;, + 0.546692; 0.970842;, + 0.603783; 0.970849;, + 0.603779; 0.999806;, + 0.546705; 0.855014;, + 0.546709; 0.826057;, + 0.603801; 0.826064;, + 0.603797; 0.855021;, + 0.662141; 0.980403;, + 0.633183; 0.980403;, + 0.633183; 0.923309;, + 0.662141; 0.923309;, + 0.057338; 0.681276;, + 0.057331; 0.652317;, + 0.082779; 0.652311;, + 0.082785; 0.681271;, + 0.720058; 0.980403;, + 0.691100; 0.980403;, + 0.691099; 0.923309;, + 0.720058; 0.923309;, + 0.289765; 0.000213;, + 0.318726; 0.000208;, + 0.318729; 0.025658;, + 0.289768; 0.025662;, + 0.546715; 0.768142;, + 0.546718; 0.739185;, + 0.603811; 0.739191;, + 0.603808; 0.768149;, + 0.546732; 0.623353;, + 0.546736; 0.594395;, + 0.603829; 0.594403;, + 0.603825; 0.623360;, + 0.893806; 0.980403;, + 0.864848; 0.980403;, + 0.864848; 0.923309;, + 0.893806; 0.923309;, + 0.057365; 0.826064;, + 0.057361; 0.797107;, + 0.082806; 0.797103;, + 0.082811; 0.826060;, + 0.546692; 0.970842;, + 0.546696; 0.941885;, + 0.603787; 0.941892;, + 0.603783; 0.970849;, + 0.777974; 0.980403;, + 0.749016; 0.980403;, + 0.749016; 0.923309;, + 0.777974; 0.923309;, + 0.633183; 0.980403;, + 0.604225; 0.980403;, + 0.604225; 0.923309;, + 0.633183; 0.923309;, + 0.058105; 0.000247;, + 0.087060; 0.000244;, + 0.087063; 0.025689;, + 0.058107; 0.025692;, + 0.922764; 0.980403;, + 0.893806; 0.980403;, + 0.893806; 0.923309;, + 0.922764; 0.923309;, + 0.434575; 0.000196;, + 0.463537; 0.000194;, + 0.463539; 0.025645;, + 0.434577; 0.025647;, + 0.546718; 0.739185;, + 0.546721; 0.710227;, + 0.603814; 0.710234;, + 0.603811; 0.739191;, + 0.521852; 0.451794;, + 0.550809; 0.451796;, + 0.550805; 0.508889;, + 0.521847; 0.508886;, + 0.864848; 0.980403;, + 0.835890; 0.980403;, + 0.835890; 0.923309;, + 0.864848; 0.923309;, + 0.057387; 0.970842;, + 0.057383; 0.941887;, + 0.082827; 0.941883;, + 0.082831; 0.970838;, + 0.144972; 0.000236;, + 0.173929; 0.000232;, + 0.173933; 0.025678;, + 0.144976; 0.025682;, + 0.749016; 0.980403;, + 0.720058; 0.980403;, + 0.720058; 0.923309;, + 0.749016; 0.923309;, + 0.492895; 0.451792;, + 0.521852; 0.451794;, + 0.521847; 0.508886;, + 0.492890; 0.508884;, + 0.951722; 0.980403;, + 0.922764; 0.980403;, + 0.922764; 0.923309;, + 0.951722; 0.923309;, + 0.806932; 0.980403;, + 0.777974; 0.980403;, + 0.777974; 0.923309;, + 0.806932; 0.923309;, + 0.546712; 0.797100;, + 0.546715; 0.768142;, + 0.603808; 0.768149;, + 0.603804; 0.797106;, + 0.057314; 0.594397;, + 0.057305; 0.565436;, + 0.082755; 0.565427;, + 0.082764; 0.594389;, + 0.550809; 0.451796;, + 0.579767; 0.451798;, + 0.579762; 0.508891;, + 0.550805; 0.508889;, + 0.202887; 0.000227;, + 0.231845; 0.000222;, + 0.231849; 0.025670;, + 0.202891; 0.025674;, + 0.724554; 0.451803;, + 0.753512; 0.451803;, + 0.753512; 0.508898;, + 0.724553; 0.508898;, + 0.546740; 0.565437;, + 0.546744; 0.536479;, + 0.603837; 0.536487;, + 0.603833; 0.565445;, + 0.608724; 0.451801;, + 0.637682; 0.451803;, + 0.637678; 0.508895;, + 0.608720; 0.508893;, + 0.463938; 0.451790;, + 0.492895; 0.451792;, + 0.492890; 0.508884;, + 0.463933; 0.508882;, + 0.835890; 0.980403;, + 0.806932; 0.980403;, + 0.806932; 0.923309;, + 0.835890; 0.923309;, + 0.546699; 0.912928;, + 0.546702; 0.883971;, + 0.603794; 0.883978;, + 0.603790; 0.912935;, + 0.546709; 0.826057;, + 0.546712; 0.797100;, + 0.603804; 0.797106;, + 0.603801; 0.826064;, + 0.057361; 0.797107;, + 0.057355; 0.768150;, + 0.082802; 0.768146;, + 0.082806; 0.797103;, + 0.753512; 0.451803;, + 0.782471; 0.451803;, + 0.782471; 0.508898;, + 0.753512; 0.508898;, + 0.695595; 0.451803;, + 0.724554; 0.451803;, + 0.724553; 0.508898;, + 0.695594; 0.508898;, + 0.057391; 0.999797;, + 0.057387; 0.970842;, + 0.082831; 0.970838;, + 0.082835; 0.999793;, + 0.546725; 0.681269;, + 0.546728; 0.652311;, + 0.603822; 0.652318;, + 0.603818; 0.681276;, + 0.546736; 0.594395;, + 0.546740; 0.565437;, + 0.603833; 0.565445;, + 0.603829; 0.594403;, + 0.057305; 0.565436;, + 0.057294; 0.536474;, + 0.082745; 0.536463;, + 0.082755; 0.565427;, + 0.579767; 0.451798;, + 0.608724; 0.451801;, + 0.608720; 0.508893;, + 0.579762; 0.508891;, + 0.318726; 0.000208;, + 0.347687; 0.000205;, + 0.347690; 0.025655;, + 0.318729; 0.025658;, + 0.546696; 0.941885;, + 0.546699; 0.912928;, + 0.603790; 0.912935;, + 0.603787; 0.941892;, + 0.343711; 0.999774;, + 0.314758; 0.999773;, + 0.314758; 0.970819;, + 0.343712; 0.970820;, + 0.343718; 0.768127;, + 0.314759; 0.768126;, + 0.314760; 0.739168;, + 0.343718; 0.739168;, + 0.189099; 0.999779;, + 0.160145; 0.999783;, + 0.160142; 0.970828;, + 0.189096; 0.970825;, + 0.189088; 0.883960;, + 0.160132; 0.883963;, + 0.160129; 0.855006;, + 0.189086; 0.855004;, + 0.498329; 0.999792;, + 0.469373; 0.999787;, + 0.469377; 0.970832;, + 0.498333; 0.970835;, + 0.498343; 0.883966;, + 0.469387; 0.883963;, + 0.469389; 0.855006;, + 0.498346; 0.855009;, + 0.343715; 0.883955;, + 0.314759; 0.883955;, + 0.314759; 0.854998;, + 0.343716; 0.854999;, + 0.498355; 0.768137;, + 0.469397; 0.768135;, + 0.469400; 0.739177;, + 0.498358; 0.739180;, + 0.498367; 0.652305;, + 0.469409; 0.652301;, + 0.469412; 0.623343;, + 0.498371; 0.623347;, + 0.343722; 0.652290;, + 0.314761; 0.652288;, + 0.314762; 0.623327;, + 0.343724; 0.623329;, + 0.189078; 0.768132;, + 0.160120; 0.768135;, + 0.160117; 0.739176;, + 0.189076; 0.739173;, + 0.189067; 0.652293;, + 0.160105; 0.652296;, + 0.160101; 0.623334;, + 0.189063; 0.623331;, + 0.131191; 0.999786;, + 0.102236; 0.999791;, + 0.102232; 0.970836;, + 0.131187; 0.970832;, + 0.131183; 0.941877;, + 0.102228; 0.941881;, + 0.102224; 0.912925;, + 0.131180; 0.912922;, + 0.440418; 0.999783;, + 0.411463; 0.999779;, + 0.411467; 0.970825;, + 0.440421; 0.970828;, + 0.440425; 0.941873;, + 0.411469; 0.941870;, + 0.411472; 0.912914;, + 0.440428; 0.912917;, + 0.343713; 0.941866;, + 0.314758; 0.941865;, + 0.314759; 0.912910;, + 0.343714; 0.912911;, + 0.440439; 0.768132;, + 0.411481; 0.768130;, + 0.411483; 0.739172;, + 0.440442; 0.739174;, + 0.440444; 0.710216;, + 0.411485; 0.710213;, + 0.411488; 0.681254;, + 0.440447; 0.681257;, + 0.343719; 0.710209;, + 0.314760; 0.710209;, + 0.314760; 0.681249;, + 0.343720; 0.681250;, + 0.131162; 0.768138;, + 0.102204; 0.768143;, + 0.102200; 0.739185;, + 0.131158; 0.739180;, + 0.131154; 0.710221;, + 0.102194; 0.710226;, + 0.102189; 0.681267;, + 0.131149; 0.681261;, + 0.285805; 0.999773;, + 0.256852; 0.999774;, + 0.256850; 0.970820;, + 0.285804; 0.970820;, + 0.285804; 0.941865;, + 0.256849; 0.941866;, + 0.256848; 0.912911;, + 0.285803; 0.912910;, + 0.189093; 0.941871;, + 0.160138; 0.941874;, + 0.160135; 0.912918;, + 0.189091; 0.912916;, + 0.285803; 0.883955;, + 0.256847; 0.883956;, + 0.256846; 0.854999;, + 0.285802; 0.854999;, + 0.285802; 0.826042;, + 0.256845; 0.826043;, + 0.256844; 0.797085;, + 0.285802; 0.797085;, + 0.189083; 0.826047;, + 0.160126; 0.826050;, + 0.160123; 0.797093;, + 0.189081; 0.797090;, + 0.131176; 0.883966;, + 0.102221; 0.883969;, + 0.102217; 0.855013;, + 0.131173; 0.855010;, + 0.131170; 0.826053;, + 0.102213; 0.826057;, + 0.102209; 0.797100;, + 0.131166; 0.797096;, + 0.498337; 0.941879;, + 0.469381; 0.941876;, + 0.469384; 0.912920;, + 0.498340; 0.912923;, + 0.498349; 0.826052;, + 0.469392; 0.826049;, + 0.469394; 0.797092;, + 0.498352; 0.797095;, + 0.440430; 0.883961;, + 0.411474; 0.883958;, + 0.411476; 0.855002;, + 0.440433; 0.855004;, + 0.440435; 0.826047;, + 0.411478; 0.826045;, + 0.411480; 0.797088;, + 0.440437; 0.797090;, + 0.343716; 0.826042;, + 0.314759; 0.826042;, + 0.314759; 0.797084;, + 0.343717; 0.797085;, + 0.498361; 0.710222;, + 0.469402; 0.710219;, + 0.469405; 0.681260;, + 0.498364; 0.681263;, + 0.498375; 0.594388;, + 0.469416; 0.594384;, + 0.469421; 0.565425;, + 0.498379; 0.565430;, + 0.440450; 0.652298;, + 0.411490; 0.652295;, + 0.411493; 0.623335;, + 0.440453; 0.623339;, + 0.440457; 0.594380;, + 0.411497; 0.594375;, + 0.411501; 0.565415;, + 0.440461; 0.565420;, + 0.343726; 0.594367;, + 0.314764; 0.594365;, + 0.314766; 0.565402;, + 0.343729; 0.565405;, + 0.285801; 0.768127;, + 0.256843; 0.768127;, + 0.256842; 0.739169;, + 0.285801; 0.739168;, + 0.285800; 0.710209;, + 0.256841; 0.710209;, + 0.256839; 0.681249;, + 0.285800; 0.681249;, + 0.189073; 0.710214;, + 0.160113; 0.710217;, + 0.160109; 0.681257;, + 0.189070; 0.681254;, + 0.285800; 0.652288;, + 0.256839; 0.652288;, + 0.256838; 0.623326;, + 0.285800; 0.623326;, + 0.285801; 0.594363;, + 0.256837; 0.594363;, + 0.256837; 0.565399;, + 0.285802; 0.565400;, + 0.189060; 0.594367;, + 0.160096; 0.594371;, + 0.160091; 0.565407;, + 0.189056; 0.565403;, + 0.131144; 0.652301;, + 0.102183; 0.652307;, + 0.102177; 0.623346;, + 0.131138; 0.623340;, + 0.131132; 0.594377;, + 0.102170; 0.594384;, + 0.102162; 0.565421;, + 0.131126; 0.565413;, + 0.343712; 0.970820;, + 0.314758; 0.970819;, + 0.314758; 0.941865;, + 0.343713; 0.941866;, + 0.343718; 0.739168;, + 0.314760; 0.739168;, + 0.314760; 0.710209;, + 0.343719; 0.710209;, + 0.189096; 0.970825;, + 0.160142; 0.970828;, + 0.160138; 0.941874;, + 0.189093; 0.941871;, + 0.189086; 0.855004;, + 0.160129; 0.855006;, + 0.160126; 0.826050;, + 0.189083; 0.826047;, + 0.498333; 0.970835;, + 0.469377; 0.970832;, + 0.469381; 0.941876;, + 0.498337; 0.941879;, + 0.498346; 0.855009;, + 0.469389; 0.855006;, + 0.469392; 0.826049;, + 0.498349; 0.826052;, + 0.343716; 0.854999;, + 0.314759; 0.854998;, + 0.314759; 0.826042;, + 0.343716; 0.826042;, + 0.498358; 0.739180;, + 0.469400; 0.739177;, + 0.469402; 0.710219;, + 0.498361; 0.710222;, + 0.498371; 0.623347;, + 0.469412; 0.623343;, + 0.469416; 0.594384;, + 0.498375; 0.594388;, + 0.343724; 0.623329;, + 0.314762; 0.623327;, + 0.314764; 0.594365;, + 0.343726; 0.594367;, + 0.189076; 0.739173;, + 0.160117; 0.739176;, + 0.160113; 0.710217;, + 0.189073; 0.710214;, + 0.189063; 0.623331;, + 0.160101; 0.623334;, + 0.160096; 0.594371;, + 0.189060; 0.594367;, + 0.160145; 0.999783;, + 0.131191; 0.999786;, + 0.131187; 0.970832;, + 0.160142; 0.970828;, + 0.160142; 0.970828;, + 0.131187; 0.970832;, + 0.131183; 0.941877;, + 0.160138; 0.941874;, + 0.131187; 0.970832;, + 0.102232; 0.970836;, + 0.102228; 0.941881;, + 0.131183; 0.941877;, + 0.160138; 0.941874;, + 0.131183; 0.941877;, + 0.131180; 0.912922;, + 0.160135; 0.912918;, + 0.160135; 0.912918;, + 0.131180; 0.912922;, + 0.131176; 0.883966;, + 0.160132; 0.883963;, + 0.131180; 0.912922;, + 0.102224; 0.912925;, + 0.102221; 0.883969;, + 0.131176; 0.883966;, + 0.469373; 0.999787;, + 0.440418; 0.999783;, + 0.440421; 0.970828;, + 0.469377; 0.970832;, + 0.469377; 0.970832;, + 0.440421; 0.970828;, + 0.440425; 0.941873;, + 0.469381; 0.941876;, + 0.440421; 0.970828;, + 0.411467; 0.970825;, + 0.411469; 0.941870;, + 0.440425; 0.941873;, + 0.469381; 0.941876;, + 0.440425; 0.941873;, + 0.440428; 0.912917;, + 0.469384; 0.912920;, + 0.469384; 0.912920;, + 0.440428; 0.912917;, + 0.440430; 0.883961;, + 0.469387; 0.883963;, + 0.440428; 0.912917;, + 0.411472; 0.912914;, + 0.411474; 0.883958;, + 0.440430; 0.883961;, + 0.343714; 0.912911;, + 0.314759; 0.912910;, + 0.314759; 0.883955;, + 0.343715; 0.883955;, + 0.469397; 0.768135;, + 0.440439; 0.768132;, + 0.440442; 0.739174;, + 0.469400; 0.739177;, + 0.469400; 0.739177;, + 0.440442; 0.739174;, + 0.440444; 0.710216;, + 0.469402; 0.710219;, + 0.440442; 0.739174;, + 0.411483; 0.739172;, + 0.411485; 0.710213;, + 0.440444; 0.710216;, + 0.469402; 0.710219;, + 0.440444; 0.710216;, + 0.440447; 0.681257;, + 0.469405; 0.681260;, + 0.469405; 0.681260;, + 0.440447; 0.681257;, + 0.440450; 0.652298;, + 0.469409; 0.652301;, + 0.440447; 0.681257;, + 0.411488; 0.681254;, + 0.411490; 0.652295;, + 0.440450; 0.652298;, + 0.343720; 0.681250;, + 0.314760; 0.681249;, + 0.314761; 0.652288;, + 0.343722; 0.652290;, + 0.160120; 0.768135;, + 0.131162; 0.768138;, + 0.131158; 0.739180;, + 0.160117; 0.739176;, + 0.160117; 0.739176;, + 0.131158; 0.739180;, + 0.131154; 0.710221;, + 0.160113; 0.710217;, + 0.131158; 0.739180;, + 0.102200; 0.739185;, + 0.102194; 0.710226;, + 0.131154; 0.710221;, + 0.160113; 0.710217;, + 0.131154; 0.710221;, + 0.131149; 0.681261;, + 0.160109; 0.681257;, + 0.160109; 0.681257;, + 0.131149; 0.681261;, + 0.131144; 0.652301;, + 0.160105; 0.652296;, + 0.131149; 0.681261;, + 0.102189; 0.681267;, + 0.102183; 0.652307;, + 0.131144; 0.652301;, + 0.314758; 0.999773;, + 0.285805; 0.999773;, + 0.285804; 0.970820;, + 0.314758; 0.970819;, + 0.314758; 0.970819;, + 0.285804; 0.970820;, + 0.285804; 0.941865;, + 0.314758; 0.941865;, + 0.285804; 0.970820;, + 0.256850; 0.970820;, + 0.256849; 0.941866;, + 0.285804; 0.941865;, + 0.314758; 0.941865;, + 0.285804; 0.941865;, + 0.285803; 0.912910;, + 0.314759; 0.912910;, + 0.314759; 0.912910;, + 0.285803; 0.912910;, + 0.285803; 0.883955;, + 0.314759; 0.883955;, + 0.285803; 0.912910;, + 0.256848; 0.912911;, + 0.256847; 0.883956;, + 0.285803; 0.883955;, + 0.189091; 0.912916;, + 0.160135; 0.912918;, + 0.160132; 0.883963;, + 0.189088; 0.883960;, + 0.314759; 0.883955;, + 0.285803; 0.883955;, + 0.285802; 0.854999;, + 0.314759; 0.854998;, + 0.314759; 0.854998;, + 0.285802; 0.854999;, + 0.285802; 0.826042;, + 0.314759; 0.826042;, + 0.285802; 0.854999;, + 0.256846; 0.854999;, + 0.256845; 0.826043;, + 0.285802; 0.826042;, + 0.314759; 0.826042;, + 0.285802; 0.826042;, + 0.285802; 0.797085;, + 0.314759; 0.797084;, + 0.314759; 0.797084;, + 0.285802; 0.797085;, + 0.285801; 0.768127;, + 0.314759; 0.768126;, + 0.285802; 0.797085;, + 0.256844; 0.797085;, + 0.256843; 0.768127;, + 0.285801; 0.768127;, + 0.189081; 0.797090;, + 0.160123; 0.797093;, + 0.160120; 0.768135;, + 0.189078; 0.768132;, + 0.160132; 0.883963;, + 0.131176; 0.883966;, + 0.131173; 0.855010;, + 0.160129; 0.855006;, + 0.160129; 0.855006;, + 0.131173; 0.855010;, + 0.131170; 0.826053;, + 0.160126; 0.826050;, + 0.131173; 0.855010;, + 0.102217; 0.855013;, + 0.102213; 0.826057;, + 0.131170; 0.826053;, + 0.160126; 0.826050;, + 0.131170; 0.826053;, + 0.131166; 0.797096;, + 0.160123; 0.797093;, + 0.160123; 0.797093;, + 0.131166; 0.797096;, + 0.131162; 0.768138;, + 0.160120; 0.768135;, + 0.131166; 0.797096;, + 0.102209; 0.797100;, + 0.102204; 0.768143;, + 0.131162; 0.768138;, + 0.498340; 0.912923;, + 0.469384; 0.912920;, + 0.469387; 0.883963;, + 0.498343; 0.883966;, + 0.498352; 0.797095;, + 0.469394; 0.797092;, + 0.469397; 0.768135;, + 0.498355; 0.768137;, + 0.469387; 0.883963;, + 0.440430; 0.883961;, + 0.440433; 0.855004;, + 0.469389; 0.855006;, + 0.469389; 0.855006;, + 0.440433; 0.855004;, + 0.440435; 0.826047;, + 0.469392; 0.826049;, + 0.440433; 0.855004;, + 0.411476; 0.855002;, + 0.411478; 0.826045;, + 0.440435; 0.826047;, + 0.469392; 0.826049;, + 0.440435; 0.826047;, + 0.440437; 0.797090;, + 0.469394; 0.797092;, + 0.469394; 0.797092;, + 0.440437; 0.797090;, + 0.440439; 0.768132;, + 0.469397; 0.768135;, + 0.440437; 0.797090;, + 0.411480; 0.797088;, + 0.411481; 0.768130;, + 0.440439; 0.768132;, + 0.343717; 0.797085;, + 0.314759; 0.797084;, + 0.314759; 0.768126;, + 0.343718; 0.768127;, + 0.498364; 0.681263;, + 0.469405; 0.681260;, + 0.469409; 0.652301;, + 0.498367; 0.652305;, + 0.498379; 0.565430;, + 0.469421; 0.565425;, + 0.469426; 0.536466;, + 0.498384; 0.536472;, + 0.469409; 0.652301;, + 0.440450; 0.652298;, + 0.440453; 0.623339;, + 0.469412; 0.623343;, + 0.469412; 0.623343;, + 0.440453; 0.623339;, + 0.440457; 0.594380;, + 0.469416; 0.594384;, + 0.440453; 0.623339;, + 0.411493; 0.623335;, + 0.411497; 0.594375;, + 0.440457; 0.594380;, + 0.469416; 0.594384;, + 0.440457; 0.594380;, + 0.440461; 0.565420;, + 0.469421; 0.565425;, + 0.469421; 0.565425;, + 0.440461; 0.565420;, + 0.440467; 0.536460;, + 0.469426; 0.536466;, + 0.440461; 0.565420;, + 0.411501; 0.565415;, + 0.411507; 0.536454;, + 0.440467; 0.536460;, + 0.343729; 0.565405;, + 0.314766; 0.565402;, + 0.314769; 0.536438;, + 0.343733; 0.536441;, + 0.314759; 0.768126;, + 0.285801; 0.768127;, + 0.285801; 0.739168;, + 0.314760; 0.739168;, + 0.314760; 0.739168;, + 0.285801; 0.739168;, + 0.285800; 0.710209;, + 0.314760; 0.710209;, + 0.285801; 0.739168;, + 0.256842; 0.739169;, + 0.256841; 0.710209;, + 0.285800; 0.710209;, + 0.314760; 0.710209;, + 0.285800; 0.710209;, + 0.285800; 0.681249;, + 0.314760; 0.681249;, + 0.314760; 0.681249;, + 0.285800; 0.681249;, + 0.285800; 0.652288;, + 0.314761; 0.652288;, + 0.285800; 0.681249;, + 0.256839; 0.681249;, + 0.256839; 0.652288;, + 0.285800; 0.652288;, + 0.189070; 0.681254;, + 0.160109; 0.681257;, + 0.160105; 0.652296;, + 0.189067; 0.652293;, + 0.314761; 0.652288;, + 0.285800; 0.652288;, + 0.285800; 0.623326;, + 0.314762; 0.623327;, + 0.314762; 0.623327;, + 0.285800; 0.623326;, + 0.285801; 0.594363;, + 0.314764; 0.594365;, + 0.285800; 0.623326;, + 0.256838; 0.623326;, + 0.256837; 0.594363;, + 0.285801; 0.594363;, + 0.314764; 0.594365;, + 0.285801; 0.594363;, + 0.285802; 0.565400;, + 0.314766; 0.565402;, + 0.314766; 0.565402;, + 0.285802; 0.565400;, + 0.285804; 0.536435;, + 0.314769; 0.536438;, + 0.285802; 0.565400;, + 0.256837; 0.565399;, + 0.256838; 0.536433;, + 0.285804; 0.536435;, + 0.189056; 0.565403;, + 0.160091; 0.565407;, + 0.160085; 0.536441;, + 0.189053; 0.536436;, + 0.160105; 0.652296;, + 0.131144; 0.652301;, + 0.131138; 0.623340;, + 0.160101; 0.623334;, + 0.160101; 0.623334;, + 0.131138; 0.623340;, + 0.131132; 0.594377;, + 0.160096; 0.594371;, + 0.131138; 0.623340;, + 0.102177; 0.623346;, + 0.102170; 0.594384;, + 0.131132; 0.594377;, + 0.160096; 0.594371;, + 0.131132; 0.594377;, + 0.131126; 0.565413;, + 0.160091; 0.565407;, + 0.160091; 0.565407;, + 0.131126; 0.565413;, + 0.131119; 0.536448;, + 0.160085; 0.536441;, + 0.131126; 0.565413;, + 0.102162; 0.565421;, + 0.102153; 0.536456;, + 0.131119; 0.536448;, + 0.376650; 0.450984;, + 0.405606; 0.450986;, + 0.405605; 0.479942;, + 0.376649; 0.479941;, + 0.260822; 0.450982;, + 0.289779; 0.450982;, + 0.289779; 0.479939;, + 0.260822; 0.479939;, + 0.318737; 0.393068;, + 0.347695; 0.393069;, + 0.347694; 0.422026;, + 0.318736; 0.422026;, + 0.260822; 0.393067;, + 0.289780; 0.393068;, + 0.289779; 0.422025;, + 0.260822; 0.422025;, + 0.260823; 0.280860;, + 0.289781; 0.280860;, + 0.289781; 0.309818;, + 0.260823; 0.309818;, + 0.144991; 0.450983;, + 0.173949; 0.450983;, + 0.173949; 0.479940;, + 0.144992; 0.479940;, + 0.029160; 0.450983;, + 0.058118; 0.450983;, + 0.058118; 0.479941;, + 0.029160; 0.479941;, + 0.087076; 0.393067;, + 0.116033; 0.393067;, + 0.116033; 0.422025;, + 0.087076; 0.422025;, + 0.029160; 0.393067;, + 0.058118; 0.393067;, + 0.058118; 0.422025;, + 0.029160; 0.422025;, + 0.029162; 0.280861;, + 0.058119; 0.280861;, + 0.058119; 0.309818;, + 0.029162; 0.309818;, + 0.202906; 0.222944;, + 0.231864; 0.222943;, + 0.231864; 0.251902;, + 0.202906; 0.251902;, + 0.144990; 0.222946;, + 0.173948; 0.222945;, + 0.173948; 0.251903;, + 0.144991; 0.251903;, + 0.144984; 0.110741;, + 0.173942; 0.110738;, + 0.173944; 0.139696;, + 0.144987; 0.139698;, + 0.087076; 0.222947;, + 0.116033; 0.222947;, + 0.116033; 0.251904;, + 0.087076; 0.251904;, + 0.029163; 0.222948;, + 0.058119; 0.222948;, + 0.058119; 0.251904;, + 0.029163; 0.251904;, + 0.029159; 0.110749;, + 0.058115; 0.110747;, + 0.058116; 0.139703;, + 0.029161; 0.139705;, + 0.087066; 0.052833;, + 0.116022; 0.052830;, + 0.116025; 0.081786;, + 0.087069; 0.081789;, + 0.029155; 0.052838;, + 0.058110; 0.052835;, + 0.058113; 0.081791;, + 0.029157; 0.081794;, + 0.405617; 0.280863;, + 0.434576; 0.280865;, + 0.434574; 0.309824;, + 0.405615; 0.309822;, + 0.173949; 0.280860;, + 0.202907; 0.280860;, + 0.202907; 0.309818;, + 0.173949; 0.309818;, + 0.405619; 0.110723;, + 0.434581; 0.110722;, + 0.434582; 0.139684;, + 0.405620; 0.139684;, + 0.289777; 0.110729;, + 0.318737; 0.110727;, + 0.318738; 0.139687;, + 0.289778; 0.139689;, + 0.405606; 0.450986;, + 0.434563; 0.450987;, + 0.434561; 0.479944;, + 0.405605; 0.479942;, + 0.289779; 0.450982;, + 0.318736; 0.450983;, + 0.318735; 0.479940;, + 0.289779; 0.479939;, + 0.289781; 0.280860;, + 0.318740; 0.280860;, + 0.318739; 0.309818;, + 0.289781; 0.309818;, + 0.173949; 0.450983;, + 0.202907; 0.450982;, + 0.202907; 0.479940;, + 0.173949; 0.479940;, + 0.058118; 0.450983;, + 0.087076; 0.450983;, + 0.087076; 0.479941;, + 0.058118; 0.479941;, + 0.058119; 0.280861;, + 0.087076; 0.280861;, + 0.087076; 0.309818;, + 0.058119; 0.309818;, + 0.173942; 0.110738;, + 0.202900; 0.110736;, + 0.202902; 0.139694;, + 0.173944; 0.139696;, + 0.058115; 0.110747;, + 0.087071; 0.110745;, + 0.087073; 0.139701;, + 0.058116; 0.139703;, + 0.434580; 0.081759;, + 0.463543; 0.081758;, + 0.463544; 0.110721;, + 0.434581; 0.110722;, + 0.405618; 0.081761;, + 0.434580; 0.081759;, + 0.434581; 0.110722;, + 0.405619; 0.110723;, + 0.405616; 0.052799;, + 0.434578; 0.052797;, + 0.434580; 0.081759;, + 0.405618; 0.081761;, + 0.376656; 0.081763;, + 0.405618; 0.081761;, + 0.405619; 0.110723;, + 0.376658; 0.110724;, + 0.347695; 0.081765;, + 0.376656; 0.081763;, + 0.376658; 0.110724;, + 0.347697; 0.110726;, + 0.347693; 0.052804;, + 0.376654; 0.052801;, + 0.376656; 0.081763;, + 0.347695; 0.081765;, + 0.434565; 0.422031;, + 0.463521; 0.422033;, + 0.463519; 0.450989;, + 0.434563; 0.450987;, + 0.405608; 0.422029;, + 0.434565; 0.422031;, + 0.434563; 0.450987;, + 0.405606; 0.450986;, + 0.405609; 0.393072;, + 0.434567; 0.393073;, + 0.434565; 0.422031;, + 0.405608; 0.422029;, + 0.376651; 0.422027;, + 0.405608; 0.422029;, + 0.405606; 0.450986;, + 0.376650; 0.450984;, + 0.347694; 0.422026;, + 0.376651; 0.422027;, + 0.376650; 0.450984;, + 0.347693; 0.450983;, + 0.347695; 0.393069;, + 0.376652; 0.393070;, + 0.376651; 0.422027;, + 0.347694; 0.422026;, + 0.347698; 0.280860;, + 0.376657; 0.280861;, + 0.376656; 0.309820;, + 0.347698; 0.309819;, + 0.202907; 0.422025;, + 0.231864; 0.422025;, + 0.231864; 0.450982;, + 0.202907; 0.450982;, + 0.173949; 0.422025;, + 0.202907; 0.422025;, + 0.202907; 0.450982;, + 0.173949; 0.450983;, + 0.173949; 0.393067;, + 0.202907; 0.393067;, + 0.202907; 0.422025;, + 0.173949; 0.422025;, + 0.144991; 0.422025;, + 0.173949; 0.422025;, + 0.173949; 0.450983;, + 0.144991; 0.450983;, + 0.116033; 0.422025;, + 0.144991; 0.422025;, + 0.144991; 0.450983;, + 0.116034; 0.450983;, + 0.116033; 0.393067;, + 0.144991; 0.393067;, + 0.144991; 0.422025;, + 0.116033; 0.422025;, + 0.116034; 0.280861;, + 0.144991; 0.280861;, + 0.144991; 0.309818;, + 0.116034; 0.309818;, + 0.202897; 0.081778;, + 0.231856; 0.081775;, + 0.231858; 0.110734;, + 0.202900; 0.110736;, + 0.173939; 0.081781;, + 0.202897; 0.081778;, + 0.202900; 0.110736;, + 0.173942; 0.110738;, + 0.173936; 0.052823;, + 0.202894; 0.052820;, + 0.202897; 0.081778;, + 0.173939; 0.081781;, + 0.144982; 0.081784;, + 0.173939; 0.081781;, + 0.173942; 0.110738;, + 0.144984; 0.110741;, + 0.116025; 0.081786;, + 0.144982; 0.081784;, + 0.144984; 0.110741;, + 0.116028; 0.110743;, + 0.116022; 0.052830;, + 0.144979; 0.052827;, + 0.144982; 0.081784;, + 0.116025; 0.081786;, + 0.434578; 0.251905;, + 0.463539; 0.251907;, + 0.463536; 0.280867;, + 0.434576; 0.280865;, + 0.405618; 0.251903;, + 0.434578; 0.251905;, + 0.434576; 0.280865;, + 0.405617; 0.280863;, + 0.405620; 0.222943;, + 0.434580; 0.222944;, + 0.434578; 0.251905;, + 0.405618; 0.251903;, + 0.376659; 0.251902;, + 0.405618; 0.251903;, + 0.405617; 0.280863;, + 0.376657; 0.280861;, + 0.347699; 0.251901;, + 0.376659; 0.251902;, + 0.376657; 0.280861;, + 0.347698; 0.280860;, + 0.347700; 0.222942;, + 0.376659; 0.222942;, + 0.376659; 0.251902;, + 0.347699; 0.251901;, + 0.347697; 0.110726;, + 0.376658; 0.110724;, + 0.376659; 0.139685;, + 0.347698; 0.139686;, + 0.318740; 0.251901;, + 0.347699; 0.251901;, + 0.347698; 0.280860;, + 0.318740; 0.280860;, + 0.289781; 0.251901;, + 0.318740; 0.251901;, + 0.318740; 0.280860;, + 0.289781; 0.280860;, + 0.289781; 0.222942;, + 0.318740; 0.222942;, + 0.318740; 0.251901;, + 0.289781; 0.251901;, + 0.260823; 0.251901;, + 0.289781; 0.251901;, + 0.289781; 0.280860;, + 0.260823; 0.280860;, + 0.231864; 0.251902;, + 0.260823; 0.251901;, + 0.260823; 0.280860;, + 0.231865; 0.280860;, + 0.231864; 0.222943;, + 0.260822; 0.222943;, + 0.260823; 0.251901;, + 0.231864; 0.251902;, + 0.231858; 0.110734;, + 0.260817; 0.110731;, + 0.260819; 0.139691;, + 0.231860; 0.139692;, + 0.318734; 0.081767;, + 0.347695; 0.081765;, + 0.347697; 0.110726;, + 0.318737; 0.110727;, + 0.289774; 0.081770;, + 0.318734; 0.081767;, + 0.318737; 0.110727;, + 0.289777; 0.110729;, + 0.289772; 0.052810;, + 0.318732; 0.052806;, + 0.318734; 0.081767;, + 0.289774; 0.081770;, + 0.260815; 0.081772;, + 0.289774; 0.081770;, + 0.289777; 0.110729;, + 0.260817; 0.110731;, + 0.231856; 0.081775;, + 0.260815; 0.081772;, + 0.260817; 0.110731;, + 0.231858; 0.110734;, + 0.231853; 0.052816;, + 0.260812; 0.052813;, + 0.260815; 0.081772;, + 0.231856; 0.081775;, + 0.347693; 0.450983;, + 0.376650; 0.450984;, + 0.376649; 0.479941;, + 0.347692; 0.479940;, + 0.231864; 0.450982;, + 0.260822; 0.450982;, + 0.260822; 0.479939;, + 0.231864; 0.479940;, + 0.318736; 0.422026;, + 0.347694; 0.422026;, + 0.347693; 0.450983;, + 0.318736; 0.450983;, + 0.289779; 0.422025;, + 0.318736; 0.422026;, + 0.318736; 0.450983;, + 0.289779; 0.450982;, + 0.289780; 0.393068;, + 0.318737; 0.393068;, + 0.318736; 0.422026;, + 0.289779; 0.422025;, + 0.260822; 0.422025;, + 0.289779; 0.422025;, + 0.289779; 0.450982;, + 0.260822; 0.450982;, + 0.231864; 0.422025;, + 0.260822; 0.422025;, + 0.260822; 0.450982;, + 0.231864; 0.450982;, + 0.231864; 0.393067;, + 0.260822; 0.393067;, + 0.260822; 0.422025;, + 0.231864; 0.422025;, + 0.231865; 0.280860;, + 0.260823; 0.280860;, + 0.260823; 0.309818;, + 0.231865; 0.309818;, + 0.116034; 0.450983;, + 0.144991; 0.450983;, + 0.144992; 0.479940;, + 0.116034; 0.479941;, + 0.000202; 0.450983;, + 0.029160; 0.450983;, + 0.029160; 0.479941;, + 0.000202; 0.479941;, + 0.087076; 0.422025;, + 0.116033; 0.422025;, + 0.116034; 0.450983;, + 0.087076; 0.450983;, + 0.058118; 0.422025;, + 0.087076; 0.422025;, + 0.087076; 0.450983;, + 0.058118; 0.450983;, + 0.058118; 0.393067;, + 0.087076; 0.393067;, + 0.087076; 0.422025;, + 0.058118; 0.422025;, + 0.029160; 0.422025;, + 0.058118; 0.422025;, + 0.058118; 0.450983;, + 0.029160; 0.450983;, + 0.000202; 0.422025;, + 0.029160; 0.422025;, + 0.029160; 0.450983;, + 0.000202; 0.450983;, + 0.000202; 0.393067;, + 0.029160; 0.393067;, + 0.029160; 0.422025;, + 0.000202; 0.422025;, + 0.000206; 0.280860;, + 0.029162; 0.280861;, + 0.029162; 0.309818;, + 0.000205; 0.309817;, + 0.202906; 0.251902;, + 0.231864; 0.251902;, + 0.231865; 0.280860;, + 0.202907; 0.280860;, + 0.173948; 0.251903;, + 0.202906; 0.251902;, + 0.202907; 0.280860;, + 0.173949; 0.280860;, + 0.173948; 0.222945;, + 0.202906; 0.222944;, + 0.202906; 0.251902;, + 0.173948; 0.251903;, + 0.144991; 0.251903;, + 0.173948; 0.251903;, + 0.173949; 0.280860;, + 0.144991; 0.280861;, + 0.116033; 0.251904;, + 0.144991; 0.251903;, + 0.144991; 0.280861;, + 0.116034; 0.280861;, + 0.116033; 0.222947;, + 0.144990; 0.222946;, + 0.144991; 0.251903;, + 0.116033; 0.251904;, + 0.116028; 0.110743;, + 0.144984; 0.110741;, + 0.144987; 0.139698;, + 0.116029; 0.139700;, + 0.087076; 0.251904;, + 0.116033; 0.251904;, + 0.116034; 0.280861;, + 0.087076; 0.280861;, + 0.058119; 0.251904;, + 0.087076; 0.251904;, + 0.087076; 0.280861;, + 0.058119; 0.280861;, + 0.058119; 0.222948;, + 0.087076; 0.222947;, + 0.087076; 0.251904;, + 0.058119; 0.251904;, + 0.029163; 0.251904;, + 0.058119; 0.251904;, + 0.058119; 0.280861;, + 0.029162; 0.280861;, + 0.000207; 0.251904;, + 0.029163; 0.251904;, + 0.029162; 0.280861;, + 0.000206; 0.280860;, + 0.000207; 0.222948;, + 0.029163; 0.222948;, + 0.029163; 0.251904;, + 0.000207; 0.251904;, + 0.000204; 0.110751;, + 0.029159; 0.110749;, + 0.029161; 0.139705;, + 0.000205; 0.139706;, + 0.087069; 0.081789;, + 0.116025; 0.081786;, + 0.116028; 0.110743;, + 0.087071; 0.110745;, + 0.058113; 0.081791;, + 0.087069; 0.081789;, + 0.087071; 0.110745;, + 0.058115; 0.110747;, + 0.058110; 0.052835;, + 0.087066; 0.052833;, + 0.087069; 0.081789;, + 0.058113; 0.081791;, + 0.029157; 0.081794;, + 0.058113; 0.081791;, + 0.058115; 0.110747;, + 0.029159; 0.110749;, + 0.000202; 0.081796;, + 0.029157; 0.081794;, + 0.029159; 0.110749;, + 0.000204; 0.110751;, + 0.000199; 0.052841;, + 0.029155; 0.052838;, + 0.029157; 0.081794;, + 0.000202; 0.081796;, + 0.057305; 0.565436;, + 0.057314; 0.594397;, + 0.000217; 0.594416;, + 0.000206; 0.565457;, + 0.057383; 0.941887;, + 0.057387; 0.970842;, + 0.000299; 0.970851;, + 0.000294; 0.941895;, + 0.057361; 0.797107;, + 0.057365; 0.826064;, + 0.000276; 0.826074;, + 0.000270; 0.797118;, + 0.057331; 0.652317;, + 0.057338; 0.681276;, + 0.000244; 0.681291;, + 0.000235; 0.652333;, + 0.057323; 0.623357;, + 0.057331; 0.652317;, + 0.000235; 0.652333;, + 0.000226; 0.623375;, + 0.057370; 0.855020;, + 0.057374; 0.883976;, + 0.000285; 0.883985;, + 0.000281; 0.855029;, + 0.057338; 0.681276;, + 0.057344; 0.710235;, + 0.000251; 0.710248;, + 0.000244; 0.681291;, + 0.057314; 0.594397;, + 0.057323; 0.623357;, + 0.000226; 0.623375;, + 0.000217; 0.594416;, + 0.057365; 0.826064;, + 0.057370; 0.855020;, + 0.000281; 0.855029;, + 0.000276; 0.826074;, + 0.057374; 0.883976;, + 0.057379; 0.912931;, + 0.000290; 0.912940;, + 0.000285; 0.883985;, + 0.057350; 0.739193;, + 0.057355; 0.768150;, + 0.000264; 0.768162;, + 0.000258; 0.739205;, + 0.057379; 0.912931;, + 0.057383; 0.941887;, + 0.000294; 0.941895;, + 0.000290; 0.912940;, + 0.057344; 0.710235;, + 0.057350; 0.739193;, + 0.000258; 0.739205;, + 0.000251; 0.710248;, + 0.057294; 0.536474;, + 0.057305; 0.565436;, + 0.000206; 0.565457;, + 0.000194; 0.536497;, + 0.057387; 0.970842;, + 0.057391; 0.999797;, + 0.000303; 0.999806;, + 0.000299; 0.970851;, + 0.057355; 0.768150;, + 0.057361; 0.797107;, + 0.000270; 0.797118;, + 0.000264; 0.768162;, + 0.977169; 0.923310;, + 0.977169; 0.980403;, + 0.951722; 0.980403;, + 0.951722; 0.923309;, + 0.057344; 0.710235;, + 0.057338; 0.681276;, + 0.082785; 0.681271;, + 0.082791; 0.710230;, + 0.376649; 0.000201;, + 0.405612; 0.000199;, + 0.405614; 0.025649;, + 0.376652; 0.025652;, + 0.057323; 0.623357;, + 0.057314; 0.594397;, + 0.082764; 0.594389;, + 0.082772; 0.623351;, + 0.173929; 0.000232;, + 0.202887; 0.000227;, + 0.202891; 0.025674;, + 0.173933; 0.025678;, + 0.231845; 0.000222;, + 0.260805; 0.000217;, + 0.260808; 0.025666;, + 0.231849; 0.025670;, + 0.057379; 0.912931;, + 0.057374; 0.883976;, + 0.082819; 0.883972;, + 0.082823; 0.912928;, + 0.057370; 0.855020;, + 0.057365; 0.826064;, + 0.082811; 0.826060;, + 0.082815; 0.855016;, + 0.836877; 0.451803;, + 0.836877; 0.508898;, + 0.811430; 0.508898;, + 0.811429; 0.451803;, + 0.116016; 0.000240;, + 0.144972; 0.000236;, + 0.144976; 0.025682;, + 0.116019; 0.025685;, + 0.057355; 0.768150;, + 0.057350; 0.739193;, + 0.082797; 0.739188;, + 0.082802; 0.768146;, + 0.057383; 0.941887;, + 0.057379; 0.912931;, + 0.082823; 0.912928;, + 0.082827; 0.941883;, + 0.347687; 0.000205;, + 0.376649; 0.000201;, + 0.376652; 0.025652;, + 0.347690; 0.025655;, + 0.029149; 0.000250;, + 0.058105; 0.000247;, + 0.058107; 0.025692;, + 0.029152; 0.025694;, + 0.260805; 0.000217;, + 0.289765; 0.000213;, + 0.289768; 0.025662;, + 0.260808; 0.025666;, + 0.087060; 0.000244;, + 0.116016; 0.000240;, + 0.116019; 0.025685;, + 0.087063; 0.025689;, + 0.057350; 0.739193;, + 0.057344; 0.710235;, + 0.082791; 0.710230;, + 0.082797; 0.739188;, + 0.405612; 0.000199;, + 0.434575; 0.000196;, + 0.434577; 0.025647;, + 0.405614; 0.025649;, + 0.713049; 0.193461;, + 0.713050; 0.174059;, + 0.744379; 0.174059;, + 0.744378; 0.193462;, + 0.637681; 0.441873;, + 0.666640; 0.441875;, + 0.666636; 0.508897;, + 0.637678; 0.508895;, + 0.744378; 0.193462;, + 0.744379; 0.174059;, + 0.779683; 0.174059;, + 0.779683; 0.193462;, + 0.538219; 0.174056;, + 0.538218; 0.193459;, + 0.502914; 0.193458;, + 0.502915; 0.174056;, + 0.639530; 0.866817;, + 0.639530; 0.895775;, + 0.604225; 0.895775;, + 0.604225; 0.866817;, + 0.538218; 0.193459;, + 0.538218; 0.250552;, + 0.502913; 0.250552;, + 0.502914; 0.193458;, + 0.680897; 0.536435;, + 0.680897; 0.565393;, + 0.661495; 0.565393;, + 0.661494; 0.536436;, + 0.626819; 0.193460;, + 0.626818; 0.250554;, + 0.569547; 0.250553;, + 0.569547; 0.193459;, + 0.713050; 0.130054;, + 0.744378; 0.130054;, + 0.744379; 0.174059;, + 0.713050; 0.174059;, + 0.569547; 0.174056;, + 0.569547; 0.193459;, + 0.538218; 0.193459;, + 0.538219; 0.174056;, + 0.569547; 0.193459;, + 0.569547; 0.250553;, + 0.538218; 0.250552;, + 0.538218; 0.193459;, + 0.713048; 0.250555;, + 0.713049; 0.193461;, + 0.744378; 0.193462;, + 0.744377; 0.250556;, + 0.538218; 0.105181;, + 0.569546; 0.105181;, + 0.569546; 0.130052;, + 0.538218; 0.130053;, + 0.683535; 0.866817;, + 0.683535; 0.895775;, + 0.639530; 0.895775;, + 0.639530; 0.866817;, + 0.724902; 0.536434;, + 0.724902; 0.565392;, + 0.680897; 0.565393;, + 0.680897; 0.536435;, + 0.538218; 0.130053;, + 0.569546; 0.130052;, + 0.569547; 0.174056;, + 0.538219; 0.174056;, + 0.749775; 0.565392;, + 0.749774; 0.536433;, + 0.781104; 0.536433;, + 0.781104; 0.565392;, + 0.818664; 0.105182;, + 0.818664; 0.130054;, + 0.744378; 0.130054;, + 0.744378; 0.105182;, + 0.749774; 0.536433;, + 0.749775; 0.565392;, + 0.724902; 0.565392;, + 0.724902; 0.536434;, + 0.713050; 0.105182;, + 0.744378; 0.105182;, + 0.744378; 0.130054;, + 0.713050; 0.130054;, + 0.637683; 0.406569;, + 0.666641; 0.406570;, + 0.666640; 0.441875;, + 0.637681; 0.441873;, + 0.637685; 0.375240;, + 0.666643; 0.375241;, + 0.666641; 0.406570;, + 0.637683; 0.406569;, + 0.779681; 0.317579;, + 0.744376; 0.317578;, + 0.744377; 0.250556;, + 0.779682; 0.250557;, + 0.655775; 0.317576;, + 0.655777; 0.250554;, + 0.713048; 0.250555;, + 0.713047; 0.317577;, + 0.744376; 0.317578;, + 0.713047; 0.317577;, + 0.713048; 0.250555;, + 0.744377; 0.250556;, + 0.538217; 0.317574;, + 0.502912; 0.317573;, + 0.502913; 0.250552;, + 0.538218; 0.250552;, + 0.626819; 0.193460;, + 0.655778; 0.193460;, + 0.655777; 0.250554;, + 0.626818; 0.250554;, + 0.655775; 0.317576;, + 0.626817; 0.317575;, + 0.626818; 0.250554;, + 0.655777; 0.250554;, + 0.604227; 0.565396;, + 0.604225; 0.536439;, + 0.661494; 0.536436;, + 0.661495; 0.565393;, + 0.655777; 0.250554;, + 0.655778; 0.193460;, + 0.713049; 0.193461;, + 0.713048; 0.250555;, + 0.626818; 0.250554;, + 0.626817; 0.317575;, + 0.569546; 0.317575;, + 0.569547; 0.250553;, + 0.637688; 0.317967;, + 0.666646; 0.317969;, + 0.666643; 0.375241;, + 0.637685; 0.375240;, + 0.782694; 0.866817;, + 0.782694; 0.895775;, + 0.757821; 0.895775;, + 0.757821; 0.866817;, + 0.757821; 0.866817;, + 0.757821; 0.895775;, + 0.683535; 0.895775;, + 0.683535; 0.866817;, + 0.855393; 0.536433;, + 0.855393; 0.565392;, + 0.781104; 0.565392;, + 0.781104; 0.536433;, + 0.463933; 0.130054;, + 0.463933; 0.105182;, + 0.538218; 0.105181;, + 0.538218; 0.130053;; + } //End of Plane_000 UV Coordinates + } //End of Plane_000 Mesh + } //End of Plane +} //End of Root Frame diff --git a/mods/boats/textures/boat_inventory.png b/mods/boats/textures/boat_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..854da84f1236c0b1884c22e4025fd04c3d35c4eb GIT binary patch literal 1495 zcmV;|1t|K7P)(=iKwX_sc<= z(p#~{kTxJ)qYpNG>$m@Vt^Znb=FA!HWhm}(ybEy80nFX_Nqob%ypsweE9j@zeLSS#dWjgOTygX)9q|BRv-C4`5?%A33-JYF%F{

Ls0)f z4uY7sEU*A&#_IbH%a`7NH2Ki4@t`Gr23KgpXF2(R_e>L@(A zT69mQYIw}M$aJn5Y(h79ns&fC&#B{wSX~^E8ify$-a59Y4I4W(3*&^3zV|Rb1nO>} z=`2;_*qU~D>pnhK@@?xU=OWUYTWtj}$-;*|u+CG9g+CjEEVjMIy2!$~;Ogd_t-YG{ z)dkj9#(+@wmcc2irstnq`_!G~fg?+-uPmUI;Jqg?8s`GNZHX~Z76}3Osd*DuU6d;Z zAOI&0sYgzq(7!Y~u6F}C7b&uYrG+tNkuuH`j8+(}nAZb7M6%RSH$Ag?OF2rpZ@ENk zL)|&DL=$7A={(LyRwe~yk+NTVrVZC4w67OojF2aiA6_ojt#ueJq)CC+n!a~bZI6=3 zWNhedplW)yrwu*?^3*UcQbH7(&LPrcohQVI0FzP5!YH9`d$y(xotGE4`}~_OsBMwg z0F*#I#Mxfu|2Qf1$40rJM6qA@%<3NJJ*g4O!ceyjn|l>$lCUt&0BAZ(mMDZk@Q%4C zMtREW(uk#n9OoPx)Be)s?d<%GN?#bfOqIOR2?chWusICjrS&CwLPQV&t%R<(SQn_< zfsNf7>mnzQEwi>j{RWy0RLm`AhYlRktb)L3&jB~@$)sk|Qk{ZEiaNaX-2I|&QWQL_Oqa3C9 zAno>Cethw-!{`5e-TmAKskQodH+;PfMPS~?{a1E)?#Lm|rbd=yi1-juN^yK`kt|X8 z5P(Ps&~yVK1ju76@KLDyetX&#KiF)NXKhfMBA{<`GdaL00`1_b zT1(S81{bIr%hkR3i{D+*pS`jjo)y$AO$FS>T?oO+pk4X5{%l7-%r~cwc9!S4YHE!kdCeQqRH(rQQ(09079RSb@ z_A0lj39oL<`02I%wg{E7!v>h002ovPDHLkV1nTL+hYI# literal 0 HcmV?d00001 diff --git a/mods/boats/textures/boat_wield.png b/mods/boats/textures/boat_wield.png new file mode 100644 index 0000000000000000000000000000000000000000..f45a78ddffb3b11bd92d704b6fac88d25fd6d23c GIT binary patch literal 985 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 D0m^i< literal 0 HcmV?d00001 diff --git a/mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg b/mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg new file mode 100755 index 0000000000000000000000000000000000000000..b6bdea65fdc965ab408b419322c58cf0e7d8289c GIT binary patch literal 23782 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 Zv%|gl?A7h;#>UJ3WvSJ4a(nsa!(aDK%98*9 literal 0 HcmV?d00001 diff --git a/mods/bobtraps/textures/bobtraps_trap_set.png b/mods/bobtraps/textures/bobtraps_trap_set.png new file mode 100755 index 0000000000000000000000000000000000000000..55d1cf9e862cfca202aceeecee5f0ac9a4160d31 GIT binary patch literal 3211 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W*h+%@f`K#;L2&6a*JR*x3 z7`TN&n2}-D90>*n9&Jw-$B>F!j0!yWKZ6yI5`!=V3^g^Vv5S4c<*ND@>DR4{OU|>e$lg-stRgn}G5#Zr|@#YO-L(;-RiOffY&BCez z=vg4ZDn+Uw_MEINEgjd6ZMijpZXu`w|*KYR6xJi7_&A||n6Pep{y2CEoN dY(xeWer1I$qCeSX-p&T8@^tlcS?83{1OOF?EWZE% literal 0 HcmV?d00001 diff --git a/mods/bridges/README.md b/mods/bridges/README.md new file mode 100644 index 0000000..96b8b61 --- /dev/null +++ b/mods/bridges/README.md @@ -0,0 +1,71 @@ +Mod for Minetest that adds bridges (only one node wide!), slim handrails and a self-building-one-node-wide bridge. + +Crafting recipes: +
S stands for stick +
W stands for wooden slab +
V stands for either vines or leaves (both can be used) +
G stands for groundplate of bridge +
H stands for handrail +
- stands for "leave empty" + +Groundplate: yields 2 "G" parts which are the basis for further bridges: +
V V V +
V W V +
V V V + +Handrail: yields 4 "H" parts which are needed in further receipes: +
- - - +
- G - +
- - - + +small bridge: +
S - S +
H G H +
S - S + +middle part (fits between small bridges): +
- - - +
H G H +
- - - + +corner of a bridge: +
S H S +
- G H +
S - S + +T junction of a bridge: +
S H S +
- G - +
S - S + +end of a bridge. +
S H S +
H G H +
S - S + +handrail, one side closed: +
- - - +
- - - +
S H S + +handrail, two sides closed: +
S - - +
H - - +
S H S + +handrail, three sides closed (if you want to walk around it): +
S H S +
H - - +
S H S + +a large, 3 nodes long bridge: +
- small_bridge - +
- middle_part_of_bridge - +
- small_bridge - + + +the self-building automatic bridge: +
large_bridge large_bridge large_bridge +
large_bridge large_bridge large_bridge +
large_bridge large_bridge large_bridge + diff --git a/mods/bridges/depends.txt b/mods/bridges/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/bridges/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/bridges/init.lua b/mods/bridges/init.lua new file mode 100644 index 0000000..da19edf --- /dev/null +++ b/mods/bridges/init.lua @@ -0,0 +1,355 @@ + +-- to make life a bit easier +bild_pfad = "default_wood.png"; --"forniture_wood.png"; +bild_pfad_s1 = "default_wood.png"; --"forniture_wood_s1.png"; +bild_pfad_s2 = "default_wood.png"; --"forniture_wood_s2.png"; + +leg_front_left = {-0.5,-0.5,-0.5, -0.4,0.5,-0.4}; +leg_front_right = { 0.4,-0.5,-0.5, 0.5,0.5,-0.4}; +leg_back_left = {-0.5,-0.5, 0.4, -0.4,0.5, 0.5}; +leg_back_right = { 0.4,-0.5, 0.4, 0.5,0.5, 0.5}; + +bar_left = {-0.5, 0.35,-0.4,-0.4, 0.4, 0.4}; +bar_right = { 0.4, 0.35,-0.4, 0.5, 0.4, 0.4}; +bar_back = { 0.4, 0.35, 0.4,-0.5, 0.4, 0.5}; +bar_front = { 0.5, 0.35,-0.5,-0.5, 0.4,-0.4}; + +bar_left_long = {-0.4, 0.35,-0.5,-0.5, 0.4, 0.5}; +bar_right_long = { 0.4, 0.35,-0.5, 0.5, 0.4, 0.5}; + +groundplate_small = {-0.4,-0.45,-0.5, 0.4,-0.4,0.5}; +groundplate_corner = {-0.5,-0.45,-0.5, 0.5,-0.4,0.5}; -- slightly larger + + +local STICK = "default:stick"; +local WOOD = "stairs:slab_wood"; +local BASIS = "bridges:bridge_basis"; +local RAIL = "bridges:handrail_middle"; +-- people who do not have vines have to replace "vines:vines" with something they do have and which they think might fit +local VINES = "vines:vines"; -- useful for ropes +local ALT = "default:leaves"; -- alternative for vines + + +local MAX_BRIDGE_LENGTH = 27; -- this is how far the automatic bridge can extend + + +local BRIDGE_PARTS = { + -- name, description, node definition, crafting receipe, additional information for yield of receipe + + -- the groundplate - essential for bridge building + { "bridge_basis", "groundplate of a bridge", { + groundplate_small, }, + { { VINES, VINES, VINES }, + { VINES, WOOD, VINES }, + { VINES, VINES, VINES } + }, " 2"}, -- yields 2 groundplates + -- the handrail is a basic part out of which bridges and handrails for staircases can be constructed + { "handrail_middle", "handrail for bridges and staircases", { + bar_front }, + { { "", "", "" }, + { "", BASIS, "" }, + { "", "", "" } + }, " 4"}, -- one groundplate yiels 4 handrails + + -- bridges + { "bridge_small", "small bridge", { -- TODO: slim legs? + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_right, + bar_left, + groundplate_small, }, + { { STICK, "", STICK }, + { RAIL, BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + { "bridge_middle", "middle of a bridge", { + bar_right_long, + bar_left_long, + groundplate_small, }, + { { "", "", "" }, + { RAIL, BASIS, RAIL }, + { "", "", "" } + }, "" }, + { "bridge_corner", "corner of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { "", BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + { "bridge_t", "T junction of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { "", BASIS, "" }, + { STICK, "", STICK } + }, "" }, + { "bridge_end", "end of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_left, + bar_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { RAIL, BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + + -- handrails for the top of starcaises so that people won't fall down + { "handrail_top", "handrail for staircases, one side closed", { + leg_front_left, + leg_front_right, + bar_front, }, + { { "", "", "" }, + { "", "", "" }, + { STICK, RAIL, STICK } + }, "" }, + + + { "handrail_corner", "handrail for staircases, two sides closed", { + leg_front_left, + leg_front_right, + bar_front, + bar_left }, + { { STICK, "", "" }, + { RAIL, "", "" }, + { STICK, RAIL, STICK } + }, "" }, + + { "handrail_closed", "handrail for staircases, three sides closed", { + leg_front_left, + leg_front_right, + bar_front, + bar_right, + bar_left }, + { { STICK, RAIL, STICK }, + { RAIL, "", "" }, + { STICK, RAIL, STICK } + }, "" }, + } + + +for i in ipairs( BRIDGE_PARTS ) do + minetest.register_node("bridges:"..BRIDGE_PARTS[i][1], + { + description = BRIDGE_PARTS[i][2], + + tiles = { + bild_pfad, + bild_pfad, + bild_pfad_s1, + bild_pfad_s1, + bild_pfad_s2, + bild_pfad_s2, + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = BRIDGE_PARTS[i][3], + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5, 0.5, 0.5}, + + }, + -- flammable so that it can be burned if no longer needed + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + }); + + minetest.register_craft({ + output = "bridges:"..BRIDGE_PARTS[i][1]..BRIDGE_PARTS[i][5], + recipe = BRIDGE_PARTS[i][4], + }); +end + +-- alternate receipe for the bridge basis + minetest.register_craft({ + output = "bridges:bridge_basis 2", + recipe = { { ALT, ALT, ALT }, + { ALT, WOOD, ALT }, + { ALT, ALT, ALT }, + }, + }); + +-- a bridge with covers 3 nodes in size + + minetest.register_node("bridges:bridge_large", + { description = 'large bridge', + tiles = { + bild_pfad, + bild_pfad, + bild_pfad_s1, + bild_pfad_s1, + bild_pfad_s2, + bild_pfad_s2, + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + -- the large bridge covers 3 nodes + {-0.5,-0.5,-0.7, -0.4,0.5,-0.6}, + { 0.4,-0.5,-0.7, 0.5,0.5,-0.6}, + + {-0.5, 0.35,-1.5, -0.4,0.4, 1.5}, + + {-0.5,-0.5, 0.6, -0.4,0.5, 0.7}, + { 0.4,-0.5, 0.6, 0.5,0.5, 0.7}, + + { 0.4, 0.35,-1.5, 0.5,0.4, 1.5}, + + {-0.4,-0.45,-1.5, 0.4,-0.4,1.5}, + + } + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-1.5, 0.5,0.5, 1.5}, + + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=2} + }) + + minetest.register_craft({ + output = "bridges:bridge_large", + recipe = { { "", "bridges:bridge_middle", "" }, + { "", "bridges:bridge_small", "" }, + { "", "bridges:bridge_middle", "" }, + } }); + + + + +-- special: self-building automatic bridge + +minetest.register_node("bridges:bridge_auto", { + + description = "self building bruidge", + tiles = { "default_chest_top.png" }, -- looks from all sides like the top of a chest + drawtype = "cube", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + + drop = "", -- all leftover parts are in the "chest" + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", + "invsize[8,9;]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Automatic bridge building set - leftover parts") + local inv = meta:get_inventory(); + inv:set_size("main", 8*4); + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory(); + return inv:is_empty("main"); + end, + + + after_place_node = function(pos, placer) + + local n; + local x_dir; + local z_dir; + local p; + local n; + + -- the bridge ought to unfold in the direction the player is looking + local dir = placer:get_look_dir(); + local fdir = minetest.dir_to_facedir(dir); + + -- the player is looking more in x- than in z-direction + if( math.abs( dir.x ) > math.abs( dir.z )) then + z_dir = 0; + if( dir.x > 0 ) then + x_dir = 1; + else + x_dir = -1; + end + else + x_dir = 0; + if( dir.z > 0 ) then + z_dir = 1; + else + z_dir = -1; + end + end + +-- print ("x_dir: "..tostring( x_dir ).." z_dir: "..tostring( z_dir )); + + -- we have determined the direction in which the bridge may extend - now lets look how far it can go + local i=1; + -- how many parts of the bridge remain? + local rem_small = math.floor(MAX_BRIDGE_LENGTH/3); + local rem_middle = MAX_BRIDGE_LENGTH-rem_small; + -- extend max. MAX_BRIDGE_LENGTH nodes wide and only if the node needs a bridge (i.e. consists of air) + while( i < MAX_BRIDGE_LENGTH ) do + + -- is there space for a bridge? + p = {x=pos.x+(x_dir*i), y=pos.y, z=pos.z+(z_dir*i)}; + n = minetest.env:get_node(p); + if( n == nil or n.name ~= "air" ) then + i = MAX_BRIDGE_LENGTH+1; -- end +-- print("At length "..tostring(i)..": node at target position not air; no place for bridge: "..tostring(n.name)); + else + -- one small bridge is followed by two middle parts + if( i%3 == 1 ) then + minetest.env:add_node(p, {name="bridges:bridge_small", param1=0, param2=fdir}); + rem_small = rem_small - 1; -- one small bridge used +-- print("Placing small bridge at dist "..tostring(i)); + else + minetest.env:add_node(p, {name="bridges:bridge_middle", param1=0, param2=fdir}); + rem_middle = rem_middle -1; -- one middle part used +-- print("Placing middle bridge at dist "..tostring(i)); + end + + i = i+1; + end + end + + + -- do we have to give any leftover parts back? + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory(); + + if( rem_small > 0 ) then + inv:add_item( "main", "bridges:bridge_small "..tostring( rem_small )); + end + + if( rem_middle > 0 ) then + inv:add_item( "main", "bridges:bridge_middle "..tostring( rem_middle )); + end + end, +}) + + + minetest.register_craft({ + output = "bridges:bridge_auto", + recipe = { { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + } }); diff --git a/mods/bucket/README.txt b/mods/bucket/README.txt new file mode 100644 index 0000000..7dad641 --- /dev/null +++ b/mods/bucket/README.txt @@ -0,0 +1,26 @@ +Minetest 0.4 mod: bucket +========================= + +License of source code: +----------------------- +Copyright (C) 2011-2012 Kahrl +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + + diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/bucket/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua new file mode 100644 index 0000000..82949dd --- /dev/null +++ b/mods/bucket/init.lua @@ -0,0 +1,96 @@ +-- Minetest 0.4 mod: bucket +-- See README.txt for licensing and other information. + +minetest.register_alias("bucket", "bucket:bucket_empty") +minetest.register_alias("bucket_water", "bucket:bucket_water") +minetest.register_alias("bucket_lava", "bucket:bucket_lava") + +minetest.register_craft({ + output = 'bucket:bucket_empty 1', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot', ''}, + } +}) + +bucket = {} +bucket.liquids = {} + +-- Register a new liquid +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid + n = minetest.env:get_node(pointed_thing.under) + if bucket.liquids[n.name] == nil then + -- Not a liquid + minetest.env:add_node(pointed_thing.above, {name=source}) + elseif n.name ~= source then + -- It's a liquid + minetest.env:add_node(pointed_thing.under, {name=source}) + end + return {name="bucket:bucket_empty"} + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = "Emtpy bucket", + inventory_image = "bucket.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + n = minetest.env:get_node(pointed_thing.under) + liquiddef = bucket.liquids[n.name] + if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then + minetest.env:add_node(pointed_thing.under, {name="air"}) + return {name=liquiddef.itemname} + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png" +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, +}) diff --git a/mods/bucket/textures/bucket.png b/mods/bucket/textures/bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..f165fd209e9dc30282c963ee27dcd34eeb84b115 GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)Zdra)<*XK-XFws@%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6^dD89hc#WBR<^x2@3yhjvxwuHYtv`E5h zA=7sU_7DfnDTkPM_B~-WI_NU-+eT~s6r0B%89!t{P^;Vb^g-W=Gnd`HPCj`!_sp3K zQO4fZ&$kH7Vv@c0+jYT|O*c`o^Za=JJUMpDMelNy3 P732v|S3j3^P6QL70(Y)*K0-AbW|YuPgg)Zdray@#n4E9dnI@*Z;FalP;AGr??^ zsSzu$bV2fkSxtf(XJsTCRfAlvZ)(!?Sma&Q=pmBua>?YU|Nrj)`tbVGuwUCmA75)I z(_FsdvT}EE@rJAND)*PGxaKKHHaX8^eqOtJ)yh?0vv>?v$MYKqZWL%*8dh$(Y*}W9 zAyWZ!-}Q!$lk$+n(bncyXCpI3FShQL70(Y)*K0-AbW|YuPgg)ZdrZ{;h&$K*nvW_nIRD+&iT2y zsd*(pE(3#eQEFmIYKlU6W=V#EyQgnJie4&6;R#O{#}JFtXD8Y69Wvl)jn~Q(Y_&{( zajVsMgXVIz}ew22cvdq8QG3!Ig zx5?eVw`#vS60;_Hf7hR?GU2r=5~ueV6>h9iQ&Lm%OXF!MeI2=d9^;0s(|Qf(sNbGy zFt@nFaM@ky>9^&s-AeNG?Mvy2w0ZHnE~Z_;!A1DbvL{l>EmMRT7EC$x@xuzU(nNy* z9@Qr-n!i^aT(sG1rC|MOh2Hy?@7<@x))=2+su!1Ud+XlZe8h1c$g`fVelF{r5}E)& CZi&JG literal 0 HcmV?d00001 diff --git a/mods/camouflage/default_dirt.png b/mods/camouflage/default_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..7e324b0321e25f876c6bec422e3aadbd9fafbe34 GIT binary patch literal 942 zcmV;f15x~mP)p zUiAO;KL4O&12V!ffjOI!;7C2im=n+QJFL$3 zv$@tlF>d1RfthIF5i>(i2={%9udg0qG1yLgvWCrolwzQZ&4fTcE+_A8BtKutVS0j% zkeQHKPBCZZ}F?ahz(yWi__0pdMQEh_SP}jUqQyEpj1+G{m&WKR~KAeUhw{7hOb}${l7l! z_K=#=^EvAx+TX(4jS=i78G_3y5KF2UGS;vfR8TtIn5v$^^#k@djPRHhE6A5nz+bNqUqGCn_d$it( zytV>gkBU!6S==5`;1<#?#Fg}zIARqROCC;LvJg!0CT1_O_#LSe6;Z6xB z#W?FJ9ovO&gyi@TGw#PUw$|`2V@GW)7n_wtEDB7f`^-A)h>S`JyLw4GnKd9jP@|0;y3+HF2{84a_i%2_$wxZW^q7YK0CmvzA`i^q Qs{jB107*qoM6N<$f*S3_l>h($ literal 0 HcmV?d00001 diff --git a/mods/camouflage/depends.txt b/mods/camouflage/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/camouflage/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/camouflage/init.lua b/mods/camouflage/init.lua new file mode 100644 index 0000000..4b8f82e --- /dev/null +++ b/mods/camouflage/init.lua @@ -0,0 +1,44 @@ +minetest.register_craft({ + output = "camouflage:camoblock", + recipe = { + {"default:leaves", "default:leaves"}, + {"default:leaves", "default:leaves"}, + } +}) +minetest.register_craft({ + output = "camouflage:camoladder 4", + recipe = { + {"default:ladder 4", "default:tree"}} +}) + +minetest.register_node("camouflage:camoblock", { + description = "Nonsolid Camoflage Block", + tiles = {"default_leaves.png"}, + drawtype = "glasslike", + walkable = false, + climbable = true, + paramtype = "light", + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("camouflage:camoladder", { + description = "Camoflaged Ladder", + drawtype = "signlike", + tiles ={"camo_ladder.png"}, + inventory_image = "camo_ladder.png", + wield_image = "camo_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) diff --git a/mods/camouflage/textures/camo_ladder.png b/mods/camouflage/textures/camo_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f141f00d62c9c57a1a57c89127cede00892025 GIT binary patch literal 528 zcmV+r0`L8aP)nDYtS*ECnqVYAr<+tTXjer{jbAto@Q9p$>_Uy zMTz@s7t;v)0ZY;J{nBP=#d+P*Ic*(sRhL;dGt8e@l+`G1evj4Aq-{!mz@}+&ca;mY zFcZHS_6)!7&)0suF9iY`R+RZ^Y71bN<>8&f&rOMSzsT??#iFUvsLB+T1P>R-7)l5u z6=5|!^aJiDHmkD2ueW)=EgZ~DjP)>!sqd3H2y=60;AUg!N|enc?+45pDibSsj8#Ko zG1>y?)eLf}XdvLlKxREI_;sCvgz@+h_ZJmr!gtj^;LRw_iKSu*8}nm@x}Dj$_ZT{98lq z+f$lX6ve;Ev?fMts(?`-;w>Zy1;tAgQ6o3e4@53e5D1EwC~GM#4n z+=u>|zaDw$^t`Nd9@aX0uf4Vu@jfNy@4{(U5l=~My0t{-yQ!sQ0bu!maO z#>XoM$;dO-XI~JX`jOC7H_}dYnDj~q)rgW>WQ=M?qMTM!4)#*sYUMh=%yG;?%%P@M za&UK>CL7aWu{yiF0ndz{ zP{_*nKW;b>z1GSSxlI$*Y9E>42&Xx>5Ye$NjJ-J;Mcvs#XhO%gnbq&>}#V` zm?V}`vvV}SWmMDXf6Y12z<(-UN(m)*dyC|48iL+tkps^V9!Cq|g%^yDHly!Vu@vsc zZ2qA^ii%(F@z;Q%fu}oG>UkIG)h5oG_?)qm4TvPVoeECEqg?L}Q`i#sppon348^fQs@VxvgcqMKmPy*0 zDWx9q?Y9v5{40_xVlv}m3TK;E!nO(SjV*>-L306uk>*x z%zIy+;P1LD(raMM`4p)V?#Di)A?7iV^Y)YQKOth%`3^01fNgEM)W77L%$BUx`_{!NluTf+{WA-gdUR&h`osSPz;rOj^PstH*n^PQ`cs82&~*~0HdC&g_)#YhXAOAko;x(K_5 fiF-%LFBa)aDtI~}D00000NkvXXu0mjf-g3e` literal 0 HcmV?d00001 diff --git a/mods/camouflage/textures/grass.png b/mods/camouflage/textures/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..3610bb2bc54cc561abd9d59f2ee78c9ea9d1a5a0 GIT binary patch literal 874 zcmV-w1C{)VP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipW3 z6(ux?$W3AZ00QbsL_t(I%O%KLZsSw{fZ^Zv@!d%r$8l(&9oiXb$^#NeY=9N85H^9t z?%)+^Kt(g@HEj~xapD}?@#XNq_xNeQ{{Ev1Mm}z6(JPH|Cvj{OSv9=BUD7r^u4YpX z1KaeCvFEUizhRp`^ZbyZ&n`#w`T)XWF;4KYxc+*AYYEotl;+T}T^HorBT{zQzDX*d z*dHr25u!))8N$>k(-z0Dx&HW$N_OrpI|G8n;+(2 z_Nd07?|bq?jU}KeY<7o%T;+&G~?29{q@A^WkuQK z=*O(1kpoRrG1MRifzUlvt8sUCM_uGBlYr!_CHMcN_^w7A2l!JH+Y<<(83@N?XeSJ6 zk24ai*A?N&!k^j*N0RSrs_K#1g^3?JD7~UOcNnIN`2MGu`;}x<9=ZHBWbFHlM=qT@ zp<%H4BxyB8(@Ua-ORt}iMMIQC(4P>eS`tl6f>>Z#FfK9Pe;U)3B|7DHQmw;XKD$a6>$A-j_g~ibBAe~bZ5aLS+e?j zhi@x%RSTl%|8R7e&PG&)!OXMhj*1{iIOH~)tmcnDzaS4C|9*a9c40EVoMHU@%hhkP z=@3qfVVDGgMHpLHwxHTWr&=5WT-SrPq8=J{*$Le;5SE5`-JZCAK9MXv;>0H1NSd<7 za!tmQDVia9NjG4aeE4q8=PxPY)Wx%XcCRV_0r@#}-)NP1CjbBd07*qoM6N<$f=Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipQ0 z4j~36msoB900QnwL_t(I%O%KLa@$k@fZ_j0N3!mYX$gww9>;LFdjFcL?CG__Fh|_|lQFx9aKer}Z8&B%Q5-X#&j}I_ z*_}YxhA_Jm9XlO4Hg|U=S{lMfq9cb*S|9?c-`<2M1-rB$T{e_ui}AQyi9=eTg`n&@ zv0fiUqdQ@F9-GIKtD6~i*s$3gg)}Wum#vukBjK5ic>Q%GK^c?eom(vN-8L|3u!j0(~--oF^TUJ zg)TiOgf>|IQPBxatt#S$i!xfutR-2*pbBJBmn3Hv{>;R-LDdG&`HoXpF!ChAGk7`k zskOkdeD;SO@2)2dBa{2PXN;$ZmRTG!9gjI|3m(%g{m@dE;M)OLZ>AKgqilODThccc zi}?ljf2IV^fI%%ulK;asHSsi{&Lk7hrq3bt7vwvKr?lbs-0l&+0voo6-5dZ)H07*qoM6N<$ Ef()6G;s5{u literal 0 HcmV?d00001 diff --git a/mods/camouflage/textures/leaves.png b/mods/camouflage/textures/leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7a3a9ad92833d89e6a592e7de5f7b2b3b45a72 GIT binary patch literal 679 zcmV;Y0$BZtP)nMTU)`>(sGlFk*fu&k_ItgRgA_Eqw&cY zg$Kn1_0bn!e8j)(bF$NHF=bw6=A4<|IrGgqWZ|=by%QdUj!;HKASq$*Skd>V$E_WL zv8^tw9XOF*wm1Fze;ru-An1nMl?W0MwjP|cAdn}xR$=h)GzaYt2alg1Qfh-XY-5m} zUwlin@R$j{1c9995Xy_Vxhb}sF~ ze`3Bv->W$ZQ_lsYlUEFYMvKXxA;@env3p!J(ELXM@fbm9ioie0A-j5x0SXevc0~*q zE+Ra^Lz^=}ogoO8%}7-nS!e0I@QOv~pA?~_cw}k>wXbd?YBt5z$#rseHI`SIqM;JO z((49nhDR_hp;wj=F0+f#vI+9lrigt}0p9Q#P;Zp=fZklYmvH}6C*t|@I4yd&msVz= zQ9s2kCoVV`$)|{rBWB3SCb>I68!FBUYIa{h>@LCF8!KEY?UN}B{sD;u0YghpgOdON N002ovPDHLkV1hx3HlqLl literal 0 HcmV?d00001 diff --git a/mods/carts/README.txt b/mods/carts/README.txt new file mode 100644 index 0000000..c27290a --- /dev/null +++ b/mods/carts/README.txt @@ -0,0 +1,22 @@ +Minetest 0.4 mod: carts +======================= +by PilzAdam + +License of source code: +----------------------- +WTFPL + +License of media (textures, sounds and models): +----------------------------------------------- +CC-0 + +Authors of media files: +----------------------- +kddekadenz: + cart_bottom.png + cart_side.png + cart_top.png + +Zeg9: + cart.x + cart.png diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/carts/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/carts/functions.lua b/mods/carts/functions.lua new file mode 100644 index 0000000..8a7da47 --- /dev/null +++ b/mods/carts/functions.lua @@ -0,0 +1,56 @@ + +-- +-- Helper functions +-- + +cart_func = {} + +function cart_func:get_sign(z) + if z == 0 then + return 0 + else + return z/math.abs(z) + end +end + +-- Returns the velocity as a unit vector +-- The smaller part of the vector will be turned to 0 +function cart_func:velocity_to_dir(v) + if math.abs(v.x) > math.abs(v.z) then + return {x=cart_func:get_sign(v.x), y=cart_func:get_sign(v.y), z=0} + else + return {x=0, y=cart_func:get_sign(v.y), z=cart_func:get_sign(v.z)} + end +end + +function cart_func:is_rail(p) + local nn = minetest.env:get_node(p).name + return minetest.get_item_group(nn, "rail") ~= 0 +end + +function cart_func:is_int(z) + z = math.abs(z) + return math.abs(math.floor(z+0.5)-z) <= 0.1 +end + +cart_func.v3 = {} + +function cart_func.v3:add(v1, v2) + return {x=v1.x+v2.x, y=v1.y+v2.y, z=v1.z+v2.z} +end + +function cart_func.v3:copy(v) + return {x=v.x, y=v.y, z=v.z} +end + +function cart_func.v3:round(v) + return { + x = math.floor(v.x+0.5), + y = math.floor(v.y+0.5), + z = math.floor(v.z+0.5), + } +end + +function cart_func.v3:equal(v1, v2) + return v1.x == v2.x and v1.y == v2.y and v1.z == v2.z +end diff --git a/mods/carts/init.lua b/mods/carts/init.lua new file mode 100644 index 0000000..732534e --- /dev/null +++ b/mods/carts/init.lua @@ -0,0 +1,475 @@ + +dofile(minetest.get_modpath("carts").."/functions.lua") + +-- +-- Cart entity +-- + +local cart = { + physical = false, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "mesh", + mesh = "cart.x", + visual_size = {x=1, y=1}, + textures = {"cart.png"}, + + driver = nil, + velocity = {x=0, y=0, z=0}, + old_pos = nil, + old_velocity = nil, + MAX_V = 15, -- Limit of the velocity +} + +function cart:on_rightclick(clicker) + if not clicker or not clicker:is_player() then + return + end + if self.driver and clicker == self.driver then + self.driver = nil + clicker:set_detach() + elseif not self.driver then + self.driver = clicker + clicker:set_attach(self.object, "", {x=0,y=5,z=0}, {x=0,y=0,z=0}) + end +end + +function cart:on_activate(staticdata, dtime_s) + self.object:set_armor_groups({immortal=1}) + if staticdata then + local tmp = minetest.deserialize(staticdata) + if tmp then + self.velocity = tmp.velocity + end + end + self.old_pos = self.object:getpos() + self.old_velocity = self.velocity +end + +function cart:get_staticdata() + return minetest.serialize({ + velocity = self.velocity, + }) +end + +-- Remove the cart if holding a tool or accelerate it +function cart:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) + if not puncher or not puncher:is_player() then + return + end + + if puncher:get_player_control().sneak then + self.object:remove() + puncher:get_inventory():add_item("main", "carts:cart") + return + end + + if puncher == self.driver then + return + end + + local d = cart_func:velocity_to_dir(direction) + local s = self.velocity + if time_from_last_punch > tool_capabilities.full_punch_interval then + time_from_last_punch = tool_capabilities.full_punch_interval + end + local f = 4*(time_from_last_punch/tool_capabilities.full_punch_interval) + local v = {x=s.x+d.x*f, y=s.y, z=s.z+d.z*f} + if math.abs(v.x) < 6 and math.abs(v.z) < 6 then + self.velocity = v + else + if math.abs(self.velocity.x) < 6 and math.abs(v.x) >= 6 then + self.velocity.x = 6*cart_func:get_sign(self.velocity.x) + end + if math.abs(self.velocity.z) < 6 and math.abs(v.z) >= 6 then + self.velocity.z = 6*cart_func:get_sign(self.velocity.z) + end + end +end + +-- Returns the direction as a unit vector +function cart:get_rail_direction(pos, dir) + local d = cart_func.v3:copy(dir) + + -- Check front + d.y = 0 + local p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + + -- Check downhill + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + + -- Check uphill + d.y = 1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + + -- Check left and right + local view_dir + local other_dir + local a + + if d.x == 0 and d.z ~= 0 then + view_dir = "z" + other_dir = "x" + if d.z < 0 then + a = {1, -1} + else + a = {-1, 1} + end + elseif d.z == 0 and d.x ~= 0 then + view_dir = "x" + other_dir = "z" + if d.x > 0 then + a = {1, -1} + else + a = {-1, 1} + end + else + return {x=0, y=0, z=0} + end + + d[view_dir] = 0 + d[other_dir] = a[1] + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + d[other_dir] = a[2] + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + + return {x=0, y=0, z=0} +end + +function cart:calc_rail_direction(pos, vel) + local velocity = cart_func.v3:copy(vel) + local p = cart_func.v3:copy(pos) + if cart_func:is_int(p.x) and cart_func:is_int(p.z) then + + local dir = cart_func:velocity_to_dir(velocity) + local dir_old = cart_func.v3:copy(dir) + + dir = self:get_rail_direction(cart_func.v3:round(p), dir) + + local v = math.max(math.abs(velocity.x), math.abs(velocity.z)) + velocity = { + x = v * dir.x, + y = v * dir.y, + z = v * dir.z, + } + + if cart_func.v3:equal(velocity, {x=0, y=0, z=0}) then + + -- First try this HACK + -- Move the cart on the rail if above or under it + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=1, z=0})) and vel.y >= 0 then + p = cart_func.v3:add(p, {x=0, y=1, z=0}) + return self:calc_rail_direction(p, vel) + end + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=-1, z=0})) and vel.y <= 0 then + p = cart_func.v3:add(p, {x=0, y=-1, z=0}) + return self:calc_rail_direction(p, vel) + end + -- Now the HACK gets really dirty + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=2, z=0})) and vel.y >= 0 then + p = cart_func.v3:add(p, {x=0, y=1, z=0}) + return self:calc_rail_direction(p, vel) + end + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=-2, z=0})) and vel.y <= 0 then + p = cart_func.v3:add(p, {x=0, y=-1, z=0}) + return self:calc_rail_direction(p, vel) + end + + return {x=0, y=0, z=0}, p + end + + if not cart_func.v3:equal(dir, dir_old) then + return velocity, cart_func.v3:round(p) + end + + end + return velocity, p +end + +function cart:on_step(dtime) + + local pos = self.object:getpos() + local dir = cart_func:velocity_to_dir(self.velocity) + + -- Stop the cart if the velocity is nearly 0 + -- Only if on a flat railway + if dir.y == 0 then + if math.abs(self.velocity.x) < 0.1 and math.abs(self.velocity.z) < 0.1 then + self.velocity = {x=0, y=0, z=0} + self.object:setvelocity(self.velocity) + self.old_velocity = self.velocity + self.old_pos = self.object:getpos() + return + end + end + + -- + -- Set the new moving direction + -- + + -- Recalcualte the rails that are passed since the last server step + local old_dir = cart_func:velocity_to_dir(self.old_velocity) + if old_dir.x ~= 0 then + local sign = cart_func:get_sign(pos.x-self.old_pos.x) + while true do + if sign ~= cart_func:get_sign(pos.x-self.old_pos.x) or pos.x == self.old_pos.x then + break + end + self.old_pos.x = self.old_pos.x + cart_func:get_sign(pos.x-self.old_pos.x)*0.1 + self.old_pos.y = self.old_pos.y + cart_func:get_sign(pos.x-self.old_pos.x)*0.1*old_dir.y + self.old_velocity, self.old_pos = self:calc_rail_direction(self.old_pos, self.old_velocity) + old_dir = cart_func:velocity_to_dir(self.old_velocity) + if not cart_func.v3:equal(cart_func:velocity_to_dir(self.old_velocity), dir) then + self.velocity = self.old_velocity + pos = self.old_pos + self.object:setpos(self.old_pos) + break + end + end + elseif old_dir.z ~= 0 then + local sign = cart_func:get_sign(pos.z-self.old_pos.z) + while true do + if sign ~= cart_func:get_sign(pos.z-self.old_pos.z) or pos.z == self.old_pos.z then + break + end + self.old_pos.z = self.old_pos.z + cart_func:get_sign(pos.z-self.old_pos.z)*0.1 + self.old_pos.y = self.old_pos.y + cart_func:get_sign(pos.z-self.old_pos.z)*0.1*old_dir.y + self.old_velocity, self.old_pos = self:calc_rail_direction(self.old_pos, self.old_velocity) + old_dir = cart_func:velocity_to_dir(self.old_velocity) + if not cart_func.v3:equal(cart_func:velocity_to_dir(self.old_velocity), dir) then + self.velocity = self.old_velocity + pos = self.old_pos + self.object:setpos(self.old_pos) + break + end + end + end + + -- Calculate the new step + self.velocity, pos = self:calc_rail_direction(pos, self.velocity) + self.object:setpos(pos) + dir = cart_func:velocity_to_dir(self.velocity) + + -- Accelerate or decelerate the cart according to the pitch and acceleration of the rail node + local a = tonumber(minetest.env:get_meta(pos):get_string("cart_acceleration")) + if not a then + a = 0 + end + if self.velocity.y < 0 then + self.velocity = { + x = self.velocity.x + (a+0.13)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a+0.13)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a+0.13)*cart_func:get_sign(self.velocity.z), + } + elseif self.velocity.y > 0 then + self.velocity = { + x = self.velocity.x + (a-0.1)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a-0.1)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a-0.1)*cart_func:get_sign(self.velocity.z), + } + else + self.velocity = { + x = self.velocity.x + (a-0.03)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a-0.03)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a-0.03)*cart_func:get_sign(self.velocity.z), + } + + -- Place the cart exactly on top of the rail + if cart_func:is_rail(cart_func.v3:round(pos)) then + self.object:setpos({x=pos.x, y=math.floor(pos.y+0.5), z=pos.z}) + pos = self.object:getpos() + end + end + + -- Dont switch moving direction + -- Only if on flat railway + if dir.y == 0 then + if cart_func:get_sign(dir.x) ~= cart_func:get_sign(self.velocity.x) then + self.velocity.x = 0 + end + if cart_func:get_sign(dir.y) ~= cart_func:get_sign(self.velocity.y) then + self.velocity.y = 0 + end + if cart_func:get_sign(dir.z) ~= cart_func:get_sign(self.velocity.z) then + self.velocity.z = 0 + end + end + + -- Allow only one moving direction (multiply the other one with 0) + dir = cart_func:velocity_to_dir(self.velocity) + self.velocity = { + x = math.abs(self.velocity.x) * dir.x, + y = self.velocity.y, + z = math.abs(self.velocity.z) * dir.z, + } + + -- Move cart exactly on the rail + if dir.x ~= 0 and not cart_func:is_int(pos.z) then + pos.z = math.floor(0.5+pos.z) + self.object:setpos(pos) + elseif dir.z ~= 0 and not cart_func:is_int(pos.x) then + pos.x = math.floor(0.5+pos.x) + self.object:setpos(pos) + end + + -- Limit the velocity + if math.abs(self.velocity.x) > self.MAX_V then + self.velocity.x = self.MAX_V*cart_func:get_sign(self.velocity.x) + end + if math.abs(self.velocity.y) > self.MAX_V then + self.velocity.y = self.MAX_V*cart_func:get_sign(self.velocity.y) + end + if math.abs(self.velocity.z) > self.MAX_V then + self.velocity.z = self.MAX_V*cart_func:get_sign(self.velocity.z) + end + + self.object:setvelocity(self.velocity) + + self.old_pos = self.object:getpos() + self.old_velocity = cart_func.v3:copy(self.velocity) + + if dir.x < 0 then + self.object:setyaw(math.pi/2) + elseif dir.x > 0 then + self.object:setyaw(3*math.pi/2) + elseif dir.z < 0 then + self.object:setyaw(math.pi) + elseif dir.z > 0 then + self.object:setyaw(0) + end + + if dir.y == -1 then + self.object:set_animation({x=1, y=1}, 1, 0) + elseif dir.y == 1 then + self.object:set_animation({x=2, y=2}, 1, 0) + else + self.object:set_animation({x=0, y=0}, 1, 0) + end + +end + +minetest.register_entity("carts:cart", cart) + + +minetest.register_craftitem("carts:cart", { + description = "Minecart", + inventory_image = minetest.inventorycube("cart_top.png", "cart_side.png", "cart_side.png"), + wield_image = "cart_side.png", + + on_place = function(itemstack, placer, pointed_thing) + if not pointed_thing.type == "node" then + return + end + if cart_func:is_rail(pointed_thing.under) then + minetest.env:add_entity(pointed_thing.under, "carts:cart") + itemstack:take_item() + return itemstack + elseif cart_func:is_rail(pointed_thing.above) then + minetest.env:add_entity(pointed_thing.above, "carts:cart") + itemstack:take_item() + return itemstack + end + end, +}) + +minetest.register_craft({ + output = "carts:cart", + recipe = { + {"", "", ""}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + }, +}) + +-- +-- Mesecon support +-- + +minetest.register_node(":default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2,attached_node=1,rail=1}, + + mesecons = { + effector = { + action_on = function(pos, node) + minetest.env:get_meta(pos):set_string("cart_acceleration", "0.5") + -- Start the cart + for _,obj in ipairs(minetest.env:get_objects_inside_radius(pos, 1)) do + if obj:get_luaentity() and obj:get_luaentity().name == "carts:cart" then + local self = obj:get_luaentity() + if cart_func.v3:equal(self.velocity, {x=0, y=0, z=0}) then + for _,y in ipairs({0,-1,1}) do + for _,z in ipairs({1,-1}) do + if cart_func.v3:equal(self:get_rail_direction(obj:getpos(), {x=0, y=y, z=z}), {x=0, y=y, z=z}) then + self.velocity = { + x = 0, + y = 0.2*y, + z = 0.2*z, + } + self.old_velocity = self.velocity + return + end + end + for _,x in ipairs({1,-1}) do + if cart_func.v3:equal(self:get_rail_direction(obj:getpos(), {x=x, y=y, z=0}), {x=x, y=y, z=0}) then + self.velocity = { + x = 0.2*x, + y = 0.2*y, + z = 0, + } + self.old_velocity = self.velocity + return + end + end + end + end + end + end + end, + + action_off = function(pos, node) + minetest.env:get_meta(pos):set_string("cart_acceleration", "0") + end, + }, + }, +}) diff --git a/mods/carts/models/cart.png b/mods/carts/models/cart.png new file mode 100644 index 0000000000000000000000000000000000000000..1f9f5680d4604e1b713afb05e5c5147aa2982487 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwIhgV3D-Dho6D^N%_GbEzKIX^cyHLnE7WngeFN=+6vfyBn3Q(X*K^&g#1z2x>V?Xr#WF$3`)LkpJ{oAVPzS*NYD)-=@S zT4R~NWY@Bn-ZR^te6?I}l_2E&Je`BPMqk+z-tvPSuvv zHggN$2rPBD5}ft)_hqw{*V!Et+?tMu%r@@({YdNQt@H;KRxisFUNK~@pIywh@4b}J z#mm!I#wkCxOW4)0HOc#c(2u?U8@EeOTs43D^Plw|3yjZ~7P52cCRV)S6Z#AaE>BlK Jmvv4FO#qvKqGA95 literal 0 HcmV?d00001 diff --git a/mods/carts/models/cart.x b/mods/carts/models/cart.x new file mode 100644 index 0000000..3325aaf --- /dev/null +++ b/mods/carts/models/cart.x @@ -0,0 +1,339 @@ +xof 0303txt 0032 + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Cube { + FrameTransformMatrix { + 5.000000, 0.000000,-0.000000, 0.000000, + -0.000000, 3.535534, 3.535534, 0.000000, + 0.000000,-3.535534, 3.535534, 0.000000, + 0.000000,-3.000000, 3.000000, 1.000000;; + } + Mesh { //Cube_001 Mesh + 72; + -1.000000; 1.000000;-1.000000;, + -1.000000;-1.000000;-1.000000;, + 1.000000;-1.000000;-1.000000;, + 1.000000; 1.000000;-1.000000;, + -0.833334;-1.000000; 1.000000;, + -1.000000;-1.000000; 1.000000;, + -1.000000;-0.833333; 1.000000;, + -0.833334;-0.833333; 1.000000;, + -1.000000;-1.000000;-1.000000;, + -1.000000;-1.000000; 1.000000;, + 0.999999;-1.000001; 1.000000;, + 1.000000;-1.000000;-1.000000;, + 0.999999;-1.000001; 1.000000;, + 0.833332;-1.000000; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 1.000000;-0.833334; 1.000000;, + 0.833332;-1.000000; 1.000000;, + -0.833334;-1.000000; 1.000000;, + -0.833334;-0.833333; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 1.000000; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + 0.833334; 1.000000; 1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000;-0.833334; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 0.833334; 0.833333; 1.000000;, + 1.000000; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -0.833333; 1.000000; 1.000000;, + 0.833334; 1.000000; 1.000000;, + 0.833334; 0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + -0.833333; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -1.000000; 0.833333; 1.000000;, + -1.000000; 1.000000; 1.000000;, + -0.833333; 1.000000; 1.000000;, + -0.833334;-0.833333; 1.000000;, + -1.000000;-0.833333; 1.000000;, + -1.000000; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + 0.833333;-0.833334;-0.800000;, + -0.833334;-0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + 0.833334; 0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + -0.833334;-0.833333;-0.800000;, + -0.833334;-0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -0.833334;-0.833333;-0.800000;, + 0.833333;-0.833334;-0.800000;, + 0.833333;-0.833334; 1.000000;, + -0.833334;-0.833333; 1.000000;, + 0.833333;-0.833334;-0.800000;, + 0.833334; 0.833333;-0.800000;, + 0.833334; 0.833333; 1.000000;, + 0.833333;-0.833334; 1.000000;, + -1.000000; 1.000000;-1.000000;, + -1.000000; 1.000000; 1.000000;, + -1.000000;-1.000000; 1.000000;, + -1.000000;-1.000000;-1.000000;, + -1.000000; 1.000000; 1.000000;, + -1.000000; 1.000000;-1.000000;, + 1.000000; 1.000000;-1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000;-1.000000;-1.000000;, + 0.999999;-1.000001; 1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000; 1.000000;-1.000000;; + 18; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;; + MeshNormals { //Cube_001 Normals + 72; + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;; + 18; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;; + } //End of Cube_001 Normals + MeshMaterialList { //Cube_001 Material List + 1; + 18; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Material { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.500000; 0.500000; 0.500000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"cart.png";} + } + } //End of Cube_001 Material List + MeshTextureCoords { //Cube_001 UV Coordinates + 72; + 0.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 1.000000;, + 0.000000; 1.000000;, + 0.031250; 0.500000;, + -0.000000; 0.500000;, + -0.000000; 0.468750;, + 0.031250; 0.468750;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.468750; 0.468750;, + 0.500000; 0.468750;, + 0.500000; 0.500000;, + 0.468750; 0.500000;, + 0.031250; 0.468750;, + 0.468750; 0.468750;, + 0.468750; 0.500000;, + 0.031250; 0.500000;, + 0.468750; 0.000000;, + 0.500000; 0.000000;, + 0.500000; 0.031250;, + 0.468750; 0.031250;, + 0.468750; 0.031250;, + 0.500000; 0.031250;, + 0.500000; 0.468750;, + 0.468750; 0.468750;, + 0.468750; 0.031250;, + 0.031250; 0.031250;, + 0.031250; 0.000000;, + 0.468750; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 0.031250; 0.031250;, + 0.000000; 0.031250;, + 0.000000; 0.000000;, + 0.031250; 0.000000;, + 0.031250; 0.468750;, + -0.000000; 0.468750;, + 0.000000; 0.031250;, + 0.031250; 0.031250;, + 0.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 1.000000;, + 0.000000; 1.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;; + } //End of Cube_001 UV Coordinates + } //End of Cube_001 Mesh + } //End of Cube +} //End of Root Frame +AnimationSet { + Animation { + {Cube} + AnimationKey { //Position + 2; + 4; + 0;3; 0.000000, 0.000000, 0.000000;;, + 1;3; 0.000000, 3.000000, 3.000000;;, + 2;3; 0.000000,-3.000000, 3.000000;;, + 3;3; 0.000000,-3.000000, 3.000000;;; + } + AnimationKey { //Rotation + 0; + 4; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -0.923880,-0.382683,-0.000000, 0.000000;;, + 2;4; -0.923880, 0.382683, 0.000000, 0.000000;;, + 3;4; -0.923880, 0.382683, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 4; + 0;3; 5.000000, 5.000000, 5.000000;;, + 1;3; 5.000000, 5.000000, 5.000000;;, + 2;3; 5.000000, 5.000000, 5.000000;;, + 3;3; 5.000000, 5.000000, 5.000000;;; + } + } +} //End of AnimationSet diff --git a/mods/carts/textures/cart_bottom.png b/mods/carts/textures/cart_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f84b1aefe831e8e75d84d75b129da17c25470787 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|LOfj@Lo7}w zpW)#Df4+h3$B!Qp8yfxR+a-2vd~n&}!~-DH(7-T&BLXNB;B)MmPtCdn#cTg}FdU7O yFikL!IN;<{b$s>&j?4q;jHREL%+e=Mn#=foiL7J3t9(7sdruM^>9 pDDl7W%fThiO3^oPb+P7Kwk>m2+cd5!YzDf5!PC{xWt~$(69Bx`NcaE% literal 0 HcmV?d00001 diff --git a/mods/carts/textures/cart_top.png b/mods/carts/textures/cart_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8140fc7492653762d49327e4a975817cc493410e GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<4ptr&t={u8KskmsPZ!4!i_>o> z8}c<9@VLs0N*|T>I(#Cb?}%vC)3gMYQ(1ft?Hr+5)=NsB_D=ghnf?DOJ74Mi4vzZ< zoBJbqKX5cE_pFLk$mMpJ@qEz&zQeDX1Qm~+m?U(4nWm7A=0)rFj)I5&eg`!fR(x;z za_;Y+Q)$z7C%oo5u=aHq%kO>P?YP~p9xkn8x~ih~;oxLmGoXtYJYD@<);T3K0RW>5 BT+jdj literal 0 HcmV?d00001 diff --git a/mods/conifers/c1.jpg b/mods/conifers/c1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64136cb64d2eebeb4d9f2a13efb15e30bc3dbfa3 GIT binary patch literal 36071 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 Svl+$>O+BFBmDii&jQ`mx1Wz6S literal 0 HcmV?d00001 diff --git a/mods/conifers/c2.jpg b/mods/conifers/c2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b1defa63089e5f418dbaaa6a4c978c34c0aee57 GIT binary patch literal 37315 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 literal 0 HcmV?d00001 diff --git a/mods/conifers/c3.jpg b/mods/conifers/c3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f84d827c8b28703cae76be54d90e4905e79d79c GIT binary patch literal 33340 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 CONIFERS_ALTITUDE + and conifers:is_node_in_cube({"conifers:trunk"}, pos, CONIFERS_DISTANCE) == false + then + if math.random(0,1000) == 5 then + conifers:make_conifer({x = pos.x, y = pos.y + 1, z = pos.z}, math.random(0, 1)) + end + end + end +}) + +-- Saplings. +minetest.register_abm({ + nodenames = "conifers:sapling", + interval = INTERVAL, + chance = SAPLING_CHANCE, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then + conifers:make_conifer({x = pos.x, y = pos.y, z = pos.z}, math.random(0, 1)) + end + end +}) + +-- Should we remove all the trees above the conifers altitude? +if REMOVE_TREES == true then + minetest.register_abm({ + nodenames = { + "default:tree", + "default:leaves" + }, + interval = INTERVAL/100, + chance = 1, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" + and pos.y >= CONIFERS_ALTITUDE + then + minetest.env:add_node(pos , {name = "air"}) + end + end + }) +end + + + +-------------------------------------------------------------------------------- +-- +-- Functions +-- +-------------------------------------------------------------------------------- + +-- +-- table_contains(t, v) +-- +-- Taken from the Flowers mod by erlehmann. +-- +function conifers:table_contains(t, v) + for _, i in ipairs(t) do + if (i == v) then + return true + end + end + return false +end + +-- +-- is_node_in_cube(nodenames, node_pos, radius) +-- +-- Taken from the Flowers mod by erlehmann. +-- +function conifers:is_node_in_cube(nodenames, node_pos, radius) + for x = node_pos.x - radius, node_pos.x + radius do + for y = node_pos.y - math.floor(radius / 2), node_pos.y + math.floor(radius / 2) do + for z = node_pos.z - radius, node_pos.z + radius do + n = minetest.env:get_node_or_nil({x = x, y = y, z = z}) + if (n == nil) + or (n.name == 'ignore') + or (conifers:table_contains(nodenames, n.name) == true) then + return true + end + end + end + end + return false +end + +-- +-- are_leaves_surrounded(position) +-- +-- Return a boolean value set to 'true' if a leaves block is surrounded +-- by something else than +-- - air +-- - leaves +-- - special leaves +-- +-- If a leaves block is surrounded by the blocks above, +-- it can be placed. +-- Otherwise, it will replace blocks we want to keep. +-- +function conifers:are_leaves_surrounded(pos) + -- + -- Check if a leaves block does not interfer with something else than the air or another leaves block. + -- + local node1 = minetest.env:get_node({x = pos.x + 1, y = pos.y, z = pos.z}).name + local node2 = minetest.env:get_node({x = pos.x - 1, y = pos.y, z = pos.z}).name + local node3 = minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z + 1}).name + local node4 = minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z - 1}).name + local replacable_nodes = { + "air", + "conifers:leaves", + "conifers:leaves_special" + } + + -- Let's check if the neighboring node is a replacable node. + if (conifers:table_contains(replacable_nodes, node1) == true) + and (conifers:table_contains(replacable_nodes, node2) == true) + and (conifers:table_contains(replacable_nodes, node3) == true) + and (conifers:table_contains(replacable_nodes, node4) == true) + then + return false + else + return true + end +end + +-- +-- add_leaves_block(position, type of leaves, near trunk?) +-- +-- Put a simple leaves block. +-- Leaves must be positioned near a trunk or surrounded by air. +-- Types of leaves are: +-- 0: dark leaves +-- 1: bright leaves (special) +-- +function conifers:add_leaves_block(pos, special, near_trunk) + if conifers:are_leaves_surrounded(pos) == false or near_trunk == true then + if special == 0 then + minetest.env:add_node(pos , { name = "conifers:leaves" }) + else + minetest.env:add_node(pos , { name = "conifers:leaves_special" }) + end + end +end + +-- +-- make_leaves(middle point, min radius, max radius, type of leaves) +-- +-- Make a circle of leaves with a center given by 'middle point'. +-- Types of leaves are: +-- 0: dark leaves +-- 1: bright leaves (special) +-- +function conifers:make_leaves(c, radius_min, radius_max, special) + -- + -- Using the midpoint circle algorithm from Bresenham we can trace a circle of leaves. + -- + for r = radius_min, radius_max do + local m_x = 0 + local m_z = r + local m_m = 5 - 4 * r + while m_x <= m_z do + if radius_max > 1 then + if r == 1 then + -- Add a square of leaves (fixing holes near the trunk). + -- [ ] [ ] + -- [#] + -- [ ] [ ] + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = 1 + c.z}, special) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = 1 + c.z}, special) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = -1 + c.z}, special) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = -1 + c.z}, special) + -- [ ] + -- [ ][#][ ] + -- [ ] + conifers:add_leaves_block({x = c.x, y = c.y, z = -1 + c.z}, special, true) + conifers:add_leaves_block({x = c.x, y = c.y, z = 1 + c.z}, special, true) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = c.z}, special, true) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = c.z}, special, true) + else + conifers:add_leaves_block({x = m_x + c.x, y = c.y, z = m_z + c.z}, special) + conifers:add_leaves_block({x = m_z + c.x, y = c.y, z = m_x + c.z}, special) + conifers:add_leaves_block({x = -m_x + c.x, y = c.y, z = m_z + c.z}, special) + conifers:add_leaves_block({x = -m_z + c.x, y = c.y, z = m_x + c.z}, special) + conifers:add_leaves_block({x = m_x + c.x, y = c.y, z = -m_z + c.z}, special) + conifers:add_leaves_block({x = m_z + c.x, y = c.y, z = -m_x + c.z}, special) + conifers:add_leaves_block({x = -m_x + c.x, y = c.y, z = -m_z + c.z}, special) + conifers:add_leaves_block({x = -m_z + c.x, y = c.y, z = -m_x + c.z}, special) + end + else + -- Put a small circle of leaves around the trunk. + -- [ ] + -- [ ][#][ ] + -- [ ] + conifers:add_leaves_block({x = c.x, y = c.y, z = -1 + c.z}, special, true) + conifers:add_leaves_block({x = c.x, y = c.y, z = 1 + c.z}, special, true) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = c.z}, special, true) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = c.z}, special, true) + end + -- Stuff... + if m_m > 0 then + m_z = m_z - 1 + m_m = m_m - 8 * m_z + end + m_x = m_x + 1 + m_m = m_m + 8 * m_x + 4 + end + end +end + +-- +-- make_conifer(position, type) +-- +-- Make a conifer at a given position. +-- Types are: +-- 0: regular pine +-- 1: narrow pine +-- +function conifers:make_conifer(pos, conifer_type) + -- Check if we can gros a conifer at this place. + if minetest.env:get_node({x = pos.x, y = pos.y - 1, z = pos.z}).name ~= "default:dirt_with_grass" + and (minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name ~= "air" + or minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name ~= "conifers:sapling" + ) + then + return false + --else + --if minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name == "conifers:sapling" then + --minetest.env:add_node(pos , {name = "air"}) + --end + end + + local height = math.random(TRUNK_MINHEIGHT, TRUNK_MAXHEIGHT) -- Random height of the conifer. + local leaves_height = math.random(LEAVES_MINHEIGHT, LEAVES_MAXHEIGHT) -- Level from where the leaves grow. + local current_block = {} -- Duh... + local leaves_radius = 1 + local leaves_max_radius = 2 + local special = math.random(0, 1) + + -- Let's check if we can grow a tree here. + -- That means, we must have a column of 'height' high which contains + -- only air. + for j = 1, height - 1 do -- Start from 1 so we can grow a sapling. + if minetest.env:get_node({x = pos.x, y = pos.y + j, z = pos.z}).name ~= "air" then + -- Abort + return false + end + end + + -- Create the trunk and add the leaves. + for i = 0, height - 1 do + current_block = { + x = pos.x, + y = pos.y + i, + z = pos.z + } + -- Put a trunk block. + minetest.env:add_node(current_block , {name = "conifers:trunk"}) + -- Put some leaves. + if i >= leaves_height then + -- Put some leaves. + conifers:make_leaves({x = pos.x, y = pos.y + leaves_height + (height - 1) - i, z = pos.z}, 1, leaves_radius, special) + -- + -- TYPE OF CONIFER + -- + if conifer_type == 1 then -- Regular type + -- Prepare the next circle of leaves. + leaves_radius = leaves_radius + 1 + -- Check if the current radius is the maximum radius at this level. + if leaves_radius > leaves_max_radius then + leaves_radius = 1 + leaves_max_radius = leaves_max_radius + 1 + -- Does it exceeds the maximum radius? + if leaves_max_radius > LEAVES_MAXRADIUS then + leaves_max_radius = LEAVES_MAXRADIUS + end + end + else -- Narrow type + if i % 2 == 0 then + leaves_radius = LEAVES_NARROWRADIUS - math.random(0, 1) + else + leaves_radius = math.floor(LEAVES_NARROWRADIUS / 2) + end + end + end + end + + -- Put a top leaves block. + current_block.y = current_block.y + 1 + conifers:add_leaves_block(current_block, special) + + -- Blahblahblah + print ('[conifers] A conifer has grown at (' .. pos.x .. ',' .. pos.y .. ',' .. pos.z .. ') with a height of ' .. (height)) + + return true +end diff --git a/mods/conifers/textures/conifers_leaves.png b/mods/conifers/textures/conifers_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..cfaaa1c58fd0521ec0699dc2f34f57be1258f853 GIT binary patch literal 333 zcmV-T0kZyyP)b>!3_P_%Wi=2=2p-}9TC&@J$p4q-56;pSE(!-qhlE{9g_adAl1>zPJRNNCjQ^m% z{mrKo&gsrCzQ$MqXmO9LDSSs^dlGP&OpGjTY2Xq zaZMvbeaFAw2>|f&)?hlGj1*{g8>Df@BJ>_vSeR(nt`hXVbfJDI4U7$*OU1=FX`HiRM174fLNloS ffcAwjvBC2nu%Gl14EWmO00000NkvXXu0mjfI^UYb literal 0 HcmV?d00001 diff --git a/mods/conifers/textures/conifers_leaves_special.png b/mods/conifers/textures/conifers_leaves_special.png new file mode 100644 index 0000000000000000000000000000000000000000..c5dca1ca656317717544d34f444bb441d872c76a GIT binary patch literal 367 zcmV-#0g(QQP)b>!3_ML4Y6K_@RPs;*2DHdiHVyfKUy-Nf75PDiY?+e9Kvt)KQJ`>!PVCZCX-CyU zla@}$;|Vr6!S8B2FS*D)jJj@Eczr9-p9ZYf2H#(jqK^*8{n@mgm&>6yZRcgYO{tEy z^J0UOI#vl?GqAx4<94@sW?+MpvME5+{xslz9nwu?QZ@xHhu+xWWVJSU4;IJ$*%%@b zgzc>5(@_;lJW>Z zX}Oa~$|Lct``bdQIN&!8X~}y5XfWyk2t||X*9D5PIzJ(sx7%zba@O1FwPtZ1HBvf$ z{2?Kd@<=Qk5T9B3qi(-x$inc60+?yKR3!kRWtS`l&lG?+-%UL07Qbmoa&AQ4UZ2@Y zIETdLYh-QCtk zJs^O_)@o}HG+kR4I)XLQ=jyWV+QzHg4Qam2rawhF!i8z?+(Z~ z(pJ~g%R4fTG~RqST1rQ-#&$#Tn}$Ru2PHZ=D0)kMQ}qI%Pg{I0@arKK2>@@0l;9;Ln%cI9U%m_^AMR8933BWHxJR!a6Oy#I-{y8dL19jG|_We;tLN| zD0;mPrr82uczj4%G;07!nj*7;ER}mUj%%SSrJ#m(#|LOU1M}Z^gwcu*?>`YnYvOoA zS(FIj((SY{41?|yA491vGEK>4K|dI-?Lk0t(*NT8c>!MyIl=v z42Ms-4`ZsTVzo}t4YNg(N-DL*_dS%_BD1`aC_F63!n6!*$7GXcEW?=D^#XugmgxL9 z!gp~!r}67LoS#py9g8AY1icRNI^pHT35IE)ltMQRlX#V2m@UF^xo1!mB~s>m|31YN z4oX!Fhkb%xw@J%tDx^EE#ptNdCd;^|!+36TnR*$SDnMAJ@VZ7SIbzG}qkff5bP|asjTYMoN9gde9M&kja hlL>9leE`^W;}25*J66ENot6Lq002ovPDHLkV1i7yIvfB1 literal 0 HcmV?d00001 diff --git a/mods/conifers/textures/conifers_trunk_reversed.png b/mods/conifers/textures/conifers_trunk_reversed.png new file mode 100644 index 0000000000000000000000000000000000000000..0730e3121a8c53559255540d945aafd26e36fe0e GIT binary patch literal 721 zcmV;?0xtcDP)fBAXPTC>RtW}%NXO>9RJ1wOv-P?R;IT=9#BoHH6#zuxl&_WT z3X;2fUS2!{;5d%=J@Ln%*GOryPIuV0jc$9YQqi?Nj%%S*!+d_k0q}mgBA!J&+`na= zW=vfNaXLRD%?b{uK3&@p1TLnS&^9e)USSw;mwYBKE8;lOW;JDJzpTEp~p1z z@I7zOT$Ckgnu7tVs%dM@$?+jgt$BBoV48xWQcRo&#PZ*dSeE3T4NcRc+flIfcE@)o zGXVOoN4Ex!YY}@P05KuyCPy3?2k5p#T9U&!B#Huj&*ir_zhl`JZPQ{|CeoH%T`jo2 zzNM|($7?|>F3te(J(r@axcl&Vtbx+rS8L#@dhA*IXk2pRamF~KpQq_3A zO*kEYVH8YRueUrsJHhwe(Vg{%qj<{c*$HWuBW`XIw0`87OfXH8%|pgC^jRjKxJ_1^ zrX`*3AM-FFuM|nLqHQ$7^=$?q3jIB^@3}C5Dochzvsj!{lnQ_}E4aKm2cRewA}WiD3B!gXsyw@XOk6dQ-v@mW0Zx-?fVtA8r}F0CGk41Tt#3S00000NkvXXu0mjf D&>Bz= literal 0 HcmV?d00001 diff --git a/mods/conifers/textures/conifers_trunktop.png b/mods/conifers/textures/conifers_trunktop.png new file mode 100644 index 0000000000000000000000000000000000000000..4f21401b50e5b59edef8fd46630adce7e91b462b GIT binary patch literal 768 zcmV+b1ONPqP)-cXxcjo@FZ~<|)M>>m7=M&$3^E8^up_7Ctz&Vfe0hLGqQkC#e>h~RhN+fwR zMR^zb;*&@G`tl8*4!YbK?cvjm;n4wRWeCEvd|U9_^OwXZm{$d}b%AcA6sAT+0jo{L zw_iV@eVSv73SVvzx+Xcv3C^Q+kI$c;BC`zLyT|1Gg71I$5l=(`De>1cgp#OM#x~I;IwdoL!Ew&$@Q~NjF)GAJqnQv$Sic(6eRzW2>q3ykkwv!$ zNZmq8MU0WvAI}i%^Z3z6Oy@I{6oT=x0B4CZ61-(`c}e%)3HEk@Glm3>_Z6+fQ-s{X zwMDgqDS@aI(FM%g4YISM-qh?xO@8_qArj2;FYIKFE9Zzrfbdj>p>`e_fWe@P-K=PR z*rPK%AWb#Sl#I`QVKceJF6Y>7i4X!`m-yOoci00!TIax8wrk7e&lS~rjmi?td_wS^ z$@%Y?Z9%9F0KTpWE)cS8Hvn)oo6&4aJ~+%t8%?&eB~l8qew)F`5lU(h4ZJl37l^?j z?e1jChsdI;5K`id#XCnZ8+?`FZY^d}QO;K!es-VeYwFdOR{wy?);ov@xZCLvoF%#% zXG*#s9}|Nh%Uh&9NB4dor4{A;mTc6A=rP-pZDmnJIJ=qhm3csW)W@z%78h3}du`Ho zj?fYrpk8cfk9y?CLsYlJyU8W3hDIqVsjTOxpRf7y$pOJfIwwO!q9F!^OwgSct)n{# zA~6JRp3k|sxu$mh{grjXi}@`)(+u}BvRu*WH$k^>n~Jb3saye4b30pc_UZ}|#g0MV yOaWM%n)B&|^XY%uszm-z=WS*GRT&^}ru+@aiE{V>a6CW&0000 + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/mods/creative/init.lua b/mods/creative/init.lua new file mode 100644 index 0000000..a18140b --- /dev/null +++ b/mods/creative/init.lua @@ -0,0 +1,116 @@ +-- minetest/creative/init.lua + +local creative_inventory = {} +creative_inventory.creative_inventory_size = 0 + +-- Create detached creative inventory after loading all mods +minetest.after(0, function() + local inv = minetest.create_detached_inventory("creative", { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + if minetest.setting_getbool("creative_mode") then + return count + else + return 0 + end + end, + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return -1 + else + return 0 + end + end, + allow_take = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return -1 + else + return 0 + end + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + end, + on_put = function(inv, listname, index, stack, player) + end, + on_take = function(inv, listname, index, stack, player) + print(player:get_player_name().." takes item from creative inventory; listname="..dump(listname)..", index="..dump(index)..", stack="..dump(stack)) + if stack then + print("stack:get_name()="..dump(stack:get_name())..", stack:get_count()="..dump(stack:get_count())) + end + end, + }) + local creative_list = {} + for name,def in pairs(minetest.registered_items) do + if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) + and def.description and def.description ~= "" then + table.insert(creative_list, name) + end + end + table.sort(creative_list) + inv:set_size("main", #creative_list) + for _,itemstring in ipairs(creative_list) do + local stack = ItemStack(itemstring) + -- Make a stack of the right number of items + local stack2 = nil + if stack:get_stack_max() == 1 then + stack2 = ItemStack(stack:get_name()) + else + -- Insert half full so that a taken stack can be put back + stack2 = ItemStack(stack:get_name().." "..(stack:get_stack_max()/2)) + end + inv:add_item("main", stack2) + end + creative_inventory.creative_inventory_size = #creative_list + print("creative inventory size: "..dump(creative_inventory.creative_inventory_size)) +end) + +creative_inventory.set_creative_formspec = function(player, start_i, pagenum) + pagenum = math.floor(pagenum) + local pagemax = math.floor((creative_inventory.creative_inventory_size-1) / (6*4) + 1) + player:set_inventory_formspec("size[13,7.5]".. + --"image[6,0.6;1,2;player.png]".. + "list[current_player;main;5,3.5;8,4;]".. + "list[current_player;craft;8,0;3,3;]".. + "list[current_player;craftpreview;12,1;1,1;]".. + "list[detached:creative;main;0.3,0.5;4,6;"..tostring(start_i).."]".. + "label[2.0,6.55;"..tostring(pagenum).."/"..tostring(pagemax).."]".. + "button[0.3,6.5;1.6,1;creative_prev;<<]".. + "button[2.7,6.5;1.6,1;creative_next;>>]") +end +minetest.register_on_joinplayer(function(player) + -- If in creative mode, modify player's inventory forms + if not minetest.setting_getbool("creative_mode") then + return + end + creative_inventory.set_creative_formspec(player, 0, 1) +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + if not minetest.setting_getbool("creative_mode") then + return + end + -- Figure out current page from formspec + local current_page = 0 + local formspec = player:get_inventory_formspec() + local start_i = string.match(formspec, "list%[detached:creative;main;[%d.]+,[%d.]+;[%d.]+,[%d.]+;(%d+)%]") + start_i = tonumber(start_i) or 0 + + if fields.creative_prev then + start_i = start_i - 4*6 + end + if fields.creative_next then + start_i = start_i + 4*6 + end + + if start_i < 0 then + start_i = start_i + 4*6 + end + if start_i >= creative_inventory.creative_inventory_size then + start_i = start_i - 4*6 + end + + if start_i < 0 or start_i >= creative_inventory.creative_inventory_size then + start_i = 0 + end + + creative_inventory.set_creative_formspec(player, start_i, start_i / (6*4) + 1) +end) + diff --git a/mods/default/README.txt b/mods/default/README.txt new file mode 100644 index 0000000..5d0735b --- /dev/null +++ b/mods/default/README.txt @@ -0,0 +1,95 @@ +Minetest 0.4 mod: default +========================== + +License of source code: +----------------------- +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + +Originating from work by kddekadenz/Dogers: + default_grass_footstep.{1,2,3}.ogg + default_dig_crumbly.{1,2}.ogg + +Cisoun's WTFPL texture pack: + default_chest_front.png + default_chest_lock.png + default_chest_side.png + default_chest_top.png + default_cobble.png + default_dirt.png + default_grass.png + default_grass_side.png + default_jungletree.png + default_jungletree_top.png + default_lava.png + default_leaves.png + default_mossycobble.png + default_sand.png + default_sapling.png + default_sign_wall.png + default_stone.png + default_tool_mesepick.png + default_tool_steelpick.png + default_tool_steelshovel.png + default_tool_stonepick.png + default_tool_stoneshovel.png + default_tool_woodpick.png + default_tool_woodshovel.png + default_tree.png + default_tree_top.png + default_water.png + +Originating from G4JC's Almost MC Texture Pack: + default_wood.png + default_torch.png + default_torch_on_ceiling.png + default_torch_on_floor.png + +VanessaE's animated torches (WTFPL): + default_torch_animated.png + default_torch_on_ceiling_animated.png + default_torch_on_floor_animated.png + default_torch_on_floor.png + +RealBadAngel's animated water (WTFPL): + default_water_source_animated.png + default_water_flowing_animated.png + +VanessaE: + default_nc_back.png + default_nc_front.png + default_nc_rb.png + default_nc_side.png + +Calinou's improved default textures (CC BY-SA): + default_brick.png + default_clay_brick.png + default_papyrus.png + default_tool_steelsword.png + +MirceaKitsune (WTFPL): + character.x + +Jordach (CC BY-SA 3.0): + character.png + +Glass breaking sounds (CC BY 3.0): + 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ + 2: http://www.freesound.org/people/Tomlija/sounds/97669/ + 3: http://www.freesound.org/people/lsprice/sounds/88808/ diff --git a/mods/default/init.lua b/mods/default/init.lua new file mode 100644 index 0000000..06d4067 --- /dev/null +++ b/mods/default/init.lua @@ -0,0 +1,1798 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into doc/lua_api.txt + +WATER_ALPHA = 160 +WATER_VISC = 1 +LAVA_VISC = 7 +LIGHT_MAX = 14 + +-- Definitions made by this mod that other mods can use too +default = {} + +-- Load other files +dofile(minetest.get_modpath("default").."/player.lua") +dofile(minetest.get_modpath("default").."/mapgen.lua") +dofile(minetest.get_modpath("default").."/leafdecay.lua") + +-- +-- Tool definition +-- + +-- The hand +minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 0, + groupcaps = { + fleshy = {times={[2]=2.00, [3]=1.00}, uses=0, maxlevel=1}, + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + oddly_breakable_by_hand = {times={[1]=7.00,[2]=4.00,[3]=1.40}, uses=0, maxlevel=3}, + } + } +}) + +minetest.register_tool("default:pick_wood", { + description = "Wooden Pickaxe", + inventory_image = "default_tool_woodpick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[2]=2.00, [3]=1.20}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_stone", { + description = "Stone Pickaxe", + inventory_image = "default_tool_stonepick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_steel", { + description = "Steel Pickaxe", + inventory_image = "default_tool_steelpick.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + cracky={times={[1]=4.00, [2]=1.60, [3]=1.00}, uses=30, maxlevel=2} + } + }, +}) +minetest.register_tool("default:pick_mese", { + description = "Mese Pickaxe", + inventory_image = "default_tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + crumbly={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + snappy={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3} + } + }, +}) +minetest.register_tool("default:shovel_wood", { + description = "Wooden Shovel", + inventory_image = "default_tool_woodshovel.png", + wield_image = "default_tool_woodshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=3.00, [2]=0.80, [3]=0.50}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_stone", { + description = "Stone Shovel", + inventory_image = "default_tool_stoneshovel.png", + wield_image = "default_tool_stoneshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_steel", { + description = "Steel Shovel", + inventory_image = "default_tool_steelshovel.png", + wield_image = "default_tool_steelshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.70, [3]=0.60}, uses=30, maxlevel=2} + } + }, +}) +minetest.register_tool("default:axe_wood", { + description = "Wooden Axe", + inventory_image = "default_tool_woodaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[2]=1.40, [3]=0.80}, uses=10, maxlevel=1}, + fleshy={times={[2]=1.50, [3]=0.80}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_stone", { + description = "Stone Axe", + inventory_image = "default_tool_stoneaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=20, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_steel", { + description = "Steel Axe", + inventory_image = "default_tool_steelaxe.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.60, [3]=1.00}, uses=30, maxlevel=2}, + fleshy={times={[2]=1.10, [3]=0.60}, uses=40, maxlevel=1} + } + }, +}) +minetest.register_tool("default:sword_wood", { + description = "Wooden Sword", + inventory_image = "default_tool_woodsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=1.10, [3]=0.60}, uses=10, maxlevel=1}, + snappy={times={[2]=1.00, [3]=0.50}, uses=10, maxlevel=1}, + choppy={times={[3]=1.00}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_stone", { + description = "Stone Sword", + inventory_image = "default_tool_stonesword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + choppy={times={[3]=0.90}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_steel", { + description = "Steel Sword", + inventory_image = "default_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2}, + snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1}, + choppy={times={[3]=0.70}, uses=40, maxlevel=0} + } + } +}) + +-- +-- Crafting definition +-- + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:fence_wood 2', + recipe = { + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese', 'default:mese', 'default:mese'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:rail 15', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:chest_locked', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:steel_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:furnace', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone', + recipe = { + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, + } +}) + +minetest.register_craft({ + output = 'default:sand 4', + recipe = { + {'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } +}) + +minetest.register_craft({ + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } +}) + +minetest.register_craft({ + output = 'default:paper', + recipe = { + {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + } +}) + +minetest.register_craft({ + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } +}) + +minetest.register_craft({ + output = 'default:bookshelf', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder', + recipe = { + {'default:stick', '', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', '', 'default:stick'}, + } +}) + +-- +-- Crafting (tool repair) +-- +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.02, +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "group:sand", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +-- +-- Fuels +-- + +minetest.register_craft({ + type = "fuel", + recipe = "group:tree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:leaves", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:mese", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:lava_source", + burntime = 60, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sign_wall", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat_rainbow", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:apple", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +-- +-- Node definitions +-- + +-- Default node sounds + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=1.0} + table.dug = table.dug or + {name="default_dug_node", gain=1.0} + return table +end + +function default.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.2} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=0.5} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.5} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.25} + table.dug = table.dug or + {name="", gain=0.25} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.3} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + table.dig = table.dig or + {name="default_dig_crumbly", gain=0.4} + table.dug = table.dug or + {name="", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.25} + table.dug = table.dug or + {name="default_break_glass", gain=1.0} + default.node_sound_defaults(table) + return table +end + +-- + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stone", { + description = "Desert Stone", + tiles = {"default_desert_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:desert_stone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_coal", { + description = "Coal Ore", + tiles = {"default_stone.png^default_mineral_coal.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_iron", { + description = "Iron Ore", + tiles = {"default_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = "Dirt with Grass", + tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("default:dirt_with_grass_footsteps", { + description = "Dirt with Grass and Footsteps", + tiles = {"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3, 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("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + is_ground_content = true, + groups = {crumbly=3}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:desert_sand", { + description = "Desert Sand", + tiles = {"default_desert_sand.png"}, + is_ground_content = true, + groups = {sand=1, crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:gravel", { + description = "Gravel", + tiles = {"default_gravel.png"}, + is_ground_content = true, + groups = {crumbly=2, falling_node=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_gravel_footstep", gain=0.45}, + }), +}) + +minetest.register_node("default:sandstone", { + description = "Sandstone", + tiles = {"default_sandstone.png"}, + is_ground_content = true, + groups = {crumbly=2,cracky=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:clay", { + description = "Clay", + tiles = {"default_clay.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:clay_lump 4', + sounds = default.node_sound_dirt_defaults({ + footstep = "", + }), +}) + +minetest.register_node("default:brick", { + description = "Brick Block", + tiles = {"default_brick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:tree", { + description = "Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + is_ground_content = true, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:jungletree", { + description = "Jungle Tree", + tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, + is_ground_content = true, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + visual_scale = 1.3, + tiles = {"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:leaves", { + description = "Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'default:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'default:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:cactus", { + description = "Cactus", + tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:papyrus", { + description = "Papyrus", + drawtype = "plantlike", + tiles = {"default_papyrus.png"}, + inventory_image = "default_papyrus.png", + wield_image = "default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + 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("default:bookshelf", { + description = "Bookshelf", + tiles = {"default_wood.png", "default_wood.png", "default_bookshelf.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:glass", { + description = "Glass", + drawtype = "glasslike", + tiles = {"default_glass.png"}, + inventory_image = minetest.inventorycube("default_glass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles = {"default_wood.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2,attached_node=1}, +}) + +minetest.register_node("default:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=3,flammable=2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:wood", { + description = "Wooden Planks", + tiles = {"default_wood.png"}, + is_ground_content = true, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:mese", { + description = "Mese", + tiles = {"default_mese.png"}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles = {"default_cloud.png"}, + is_ground_content = true, + sounds = default.node_sound_defaults(), + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("default:water_flowing", { + description = "Flowing Water", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "flowingliquid", + tiles = {"default_water.png"}, + special_tiles = { + { + image="default_water_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + { + image="default_water_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1}, +}) + +minetest.register_node("default:water_source", { + description = "Water Source", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "liquid", + tiles = { + {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}} + }, + special_tiles = { + -- New-style water source material (mostly unused) + {name="default_water.png", backface_culling=false}, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1}, +}) + +minetest.register_node("default:lava_flowing", { + description = "Flowing Lava", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "flowingliquid", + tiles = {"default_lava.png"}, + special_tiles = { + { + image="default_lava_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + { + image="default_lava_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "flowing", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1, not_in_creative_inventory=1}, +}) + +minetest.register_node("default:lava_source", { + description = "Lava Source", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "liquid", + tiles = { + {name="default_lava_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + special_tiles = { + -- New-style lava source material (mostly unused) + {name="default_lava.png", backface_culling=false}, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "source", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1}, +}) + +minetest.register_node("default:torch", { + description = "Torch", + drawtype = "torchlike", + --tiles = {"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"}, + tiles = { + {name="default_torch_on_floor_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_on_ceiling_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + inventory_image = "default_torch_on_floor.png", + wield_image = "default_torch_on_floor.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = LIGHT_MAX-1, + selection_box = { + type = "wallmounted", + wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, + wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, + wall_side = {-0.5, -0.3, -0.1, -0.5+0.3, 0.3, 0.1}, + }, + groups = {choppy=2,dig_immediate=3,flammable=1,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sign_wall", { + description = "Sign", + drawtype = "signlike", + tiles = {"default_sign_wall.png"}, + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), + on_construct = function(pos) + --local n = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "\"\"") + end, + on_receive_fields = function(pos, formname, fields, sender) + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.env:get_meta(pos) + fields.text = fields.text or "" + print((sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)) + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + end, +}) + +minetest.register_node("default:chest", { + description = "Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("default:chest_locked", { + description = "Locked Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("default:furnace", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("default:furnace_active", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"default:furnace","default:furnace_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"default:furnace_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) + +minetest.register_node("default:cobble", { + description = "Cobblestone", + tiles = {"default_cobble.png"}, + is_ground_content = true, + groups = {cracky=3, stone=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mossycobble", { + description = "Mossy Cobblestone", + tiles = {"default_mossycobble.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:steelblock", { + description = "Steel Block", + tiles = {"default_steel_block.png"}, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:nyancat", { + description = "Nyan Cat", + tiles = {"default_nc_side.png", "default_nc_side.png", "default_nc_side.png", + "default_nc_side.png", "default_nc_back.png", "default_nc_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:nyancat_rainbow", { + description = "Nyan Cat Rainbow", + tiles = {"default_nc_rb.png"}, + groups = {cracky=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:apple", { + description = "Apple", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_apple.png"}, + inventory_image = "default_apple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} + }, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + on_use = minetest.item_eat(4), + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:dry_shrub", { + description = "Dry Shrub", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_dry_shrub.png"}, + inventory_image = "default_dry_shrub.png", + wield_image = "default_dry_shrub.png", + paramtype = "light", + walkable = false, + groups = {snappy=3,flammable=3,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3}, + }, +}) + +-- +-- Crafting items +-- + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", +}) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", +}) + +minetest.register_craftitem("default:coal_lump", { + description = "Coal Lump", + inventory_image = "default_coal_lump.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = "Clay Lump", + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:steel_ingot", { + description = "Steel Ingot", + inventory_image = "default_steel_ingot.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay Brick", + inventory_image = "default_steel_ingot.png", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:scorched_stuff", { + description = "Scorched Stuff", + inventory_image = "default_scorched_stuff.png", +}) + +-- +-- Falling stuff +-- + +minetest.register_entity("default:falling_node", { + initial_properties = { + physical = true, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "wielditem", + textures = {}, + visual_size = {x=0.667, y=0.667}, + }, + + nodename = "", + + set_node = function(self, nodename) + self.nodename = nodename + local stack = ItemStack(nodename) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + textures = {nodename}, + } + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + return self.nodename + end, + + on_activate = function(self, staticdata) + self.nodename = staticdata + self.object:set_armor_groups({immortal=1}) + --self.object:setacceleration({x=0, y=-10, z=0}) + self:set_node(self.nodename) + end, + + on_step = function(self, dtime) + -- Set gravity + self.object:setacceleration({x=0, y=-10, z=0}) + -- Turn to actual sand when collides to ground or just move + local pos = self.object:getpos() + local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point + local bcn = minetest.env:get_node(bcp) + -- Note: walkable is in the node definition, not in item groups + if minetest.registered_nodes[bcn.name] and + minetest.registered_nodes[bcn.name].walkable then + local np = {x=bcp.x, y=bcp.y+1, z=bcp.z} + -- Check what's here + local n2 = minetest.env:get_node(np) + -- If it's not air or liquid, remove node and replace it with + -- it's drops + if n2.name ~= "air" and (not minetest.registered_nodes[n2.name] or + minetest.registered_nodes[n2.name].liquidtype == "none") then + local drops = minetest.get_node_drops(n2.name, "") + minetest.env:remove_node(np) + -- Add dropped items + local _, dropped_item + for _, dropped_item in ipairs(drops) do + minetest.env:add_item(np, dropped_item) + end + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_dignodes) do + callback(np, n2, nil) + end + end + -- Create node and remove entity + minetest.env:add_node(np, {name=self.nodename}) + self.object:remove() + else + -- Do nothing + end + end +}) + +function default.spawn_falling_node(p, nodename) + p.x=math.floor(p.x) + p.y=math.floor(p.y) + p.z=math.floor(p.z) + obj = minetest.env:add_entity(p, "default:falling_node") + obj:get_luaentity():set_node(nodename) +end + +-- Horrible crap to support old code +-- Don't use this and never do what this does, it's completely wrong! +-- (More specifically, the client and the C++ code doesn't get the group) +function default.register_falling_node(nodename, texture) + minetest.log("error", debug.traceback()) + minetest.log('error', "WARNING: default.register_falling_node is deprecated") + if minetest.registered_nodes[nodename] then + minetest.registered_nodes[nodename].groups.falling_node = 1 + end +end + +-- +-- Some common functions +-- + +function nodeupdate_single(p) + n = minetest.env:get_node(p) + if minetest.get_node_group(n.name, "falling_node") ~= 0 then + p_bottom = {x=p.x, y=p.y-1, z=p.z} + n_bottom = minetest.env:get_node(p_bottom) + -- Note: walkable is in the node definition, not in item groups + if minetest.registered_nodes[n_bottom.name] and + not minetest.registered_nodes[n_bottom.name].walkable then + minetest.env:remove_node(p) + default.spawn_falling_node(p, n.name) + nodeupdate(p) + end + end +end + +function nodeupdate(p) + for x = -1,1 do + for y = -1,1 do + for z = -1,1 do + p2 = {x=p.x+x, y=p.y+y, z=p.z+z} + nodeupdate_single(p2) + end + end + end +end + +-- +-- Global callbacks +-- + +-- Global environment step function +function on_step(dtime) + -- print("on_step") +end +minetest.register_globalstep(on_step) + +function on_placenode(p, node) + --print("on_placenode") + nodeupdate(p) +end +minetest.register_on_placenode(on_placenode) + +function on_dignode(p, node) + --print("on_dignode") + nodeupdate(p) +end +minetest.register_on_dignode(on_dignode) + +function on_punchnode(p, node) +end +minetest.register_on_punchnode(on_punchnode) + +-- END diff --git a/mods/default/leafdecay.lua b/mods/default/leafdecay.lua new file mode 100644 index 0000000..fe84573 --- /dev/null +++ b/mods/default/leafdecay.lua @@ -0,0 +1,92 @@ +-- minetest/default/leafdecay.lua + +-- To enable leaf decay for a node, add it to the "leafdecay" group. +-- +-- The rating of the group determines how far from a node in the group "tree" +-- the node can be without decaying. +-- +-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if +-- the player places a node of that kind, you will want to set param2=1 or so. + +default.leafdecay_trunk_cache = {} +default.leafdecay_enable_cache = true +-- Spread the load of finding trunks +default.leafdecay_trunk_find_allow_accumulator = 0 + +minetest.register_globalstep(function(dtime) + local finds_per_second = 5000 + default.leafdecay_trunk_find_allow_accumulator = + math.floor(dtime * finds_per_second) +end) + +minetest.register_abm({ + nodenames = {"group:leafdecay"}, + neighbors = {"air", "group:liquid"}, + -- A low interval and a high inverse chance spreads the load + interval = 2, + chance = 5, + + action = function(p0, node, _, _) + --print("leafdecay ABM at "..p0.x..", "..p0.y..", "..p0.z..")") + local do_preserve = false + local d = minetest.registered_nodes[node.name].groups.leafdecay + if not d or d == 0 then + --print("not groups.leafdecay") + return + end + local n0 = minetest.env:get_node(p0) + if n0.param2 ~= 0 then + --print("param2 ~= 0") + return + end + local p0_hash = nil + if default.leafdecay_enable_cache then + p0_hash = minetest.hash_node_position(p0) + local trunkp = default.leafdecay_trunk_cache[p0_hash] + if trunkp then + local n = minetest.env:get_node(trunkp) + local reg = minetest.registered_nodes[n.name] + -- Assume ignore is a trunk, to make the thing work at the border of the active area + if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then + --print("cached trunk still exists") + return + end + --print("cached trunk is invalid") + -- Cache is invalid + table.remove(default.leafdecay_trunk_cache, p0_hash) + end + end + if default.leafdecay_trunk_find_allow_accumulator <= 0 then + return + end + default.leafdecay_trunk_find_allow_accumulator = + default.leafdecay_trunk_find_allow_accumulator - 1 + -- Assume ignore is a trunk, to make the thing work at the border of the active area + local p1 = minetest.env:find_node_near(p0, d, {"ignore", "group:tree"}) + if p1 then + do_preserve = true + if default.leafdecay_enable_cache then + --print("caching trunk") + -- Cache the trunk + default.leafdecay_trunk_cache[p0_hash] = p1 + end + end + if not do_preserve then + -- Drop stuff other than the node itself + itemstacks = minetest.get_node_drops(n0.name) + for _, itemname in ipairs(itemstacks) do + if itemname ~= n0.name then + local p_drop = { + x = p0.x - 0.5 + math.random(), + y = p0.y - 0.5 + math.random(), + z = p0.z - 0.5 + math.random(), + } + minetest.env:add_item(p_drop, itemname) + end + end + -- Remove node + minetest.env:remove_node(p0) + end + end +}) + diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua new file mode 100644 index 0000000..419861c --- /dev/null +++ b/mods/default/mapgen.lua @@ -0,0 +1,292 @@ +-- minetest/default/mapgen.lua + +-- +-- Aliases for map generator outputs +-- + +minetest.register_alias("mapgen_air", "air") +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_clay", "default:clay") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") +minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") +minetest.register_alias("mapgen_mese", "default:mese") +minetest.register_alias("mapgen_desert_sand", "default:desert_sand") +minetest.register_alias("mapgen_desert_stone", "default:desert_stone") + +-- +-- Ore generation +-- + +local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) + --print("generate_ore num_chunks: "..dump(num_chunks)) + for i=1,num_chunks do + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.env:get_node(p2).name == wherein then + minetest.env:set_node(p2, {name=name}) + end + end + end + end + end + end + end + --print("generate_ore done") +end + +function default.make_papyrus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:papyrus"}) + else + return + end + end +end + +function default.make_cactus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:cactus"}) + else + return + end + end +end + +-- facedir: 0/1/2/3 (head node facedir value) +-- length: length of rainbow tail +function default.make_nyancat(pos, facedir, length) + local tailvec = {x=0, y=0, z=0} + if facedir == 0 then + tailvec.z = 1 + elseif facedir == 1 then + tailvec.x = 1 + elseif facedir == 2 then + tailvec.z = -1 + elseif facedir == 3 then + tailvec.x = -1 + else + print("default.make_nyancat(): Invalid facedir: "+dump(facedir)) + facedir = 0 + tailvec.z = 1 + end + local p = {x=pos.x, y=pos.y, z=pos.z} + minetest.env:set_node(p, {name="default:nyancat", param2=facedir}) + for i=1,length do + p.x = p.x + tailvec.x + p.z = p.z + tailvec.z + minetest.env:set_node(p, {name="default:nyancat_rainbow"}) + end +end + +function generate_nyancats(seed, minp, maxp) + local height_min = -31000 + local height_max = -32 + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed + 9324342) + local max_num_nyancats = math.floor(volume / (16*16*16)) + for i=1,max_num_nyancats do + if pr:next(0, 1000) == 0 then + local x0 = pr:next(minp.x, maxp.x) + local y0 = pr:next(minp.y, maxp.y) + local z0 = pr:next(minp.z, maxp.z) + local p0 = {x=x0, y=y0, z=z0} + default.make_nyancat(p0, pr:next(0,3), pr:next(3,15)) + end + end +end + +minetest.register_on_generated(function(minp, maxp, seed) + -- Generate regular ores + generate_ore("default:stone_with_coal", "default:stone", minp, maxp, seed+0, 1/8/8/8, 3, 8, -31000, 64) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+1, 1/12/12/12, 2, 3, -15, 2) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+2, 1/9/9/9, 3, 5, -63, -16) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+3, 1/7/7/7, 3, 5, -31000, -64) + generate_ore("default:mese", "default:stone", minp, maxp, seed+4, 1/16/16/16, 2, 3, -127, -64) + generate_ore("default:mese", "default:stone", minp, maxp, seed+5, 1/9/9/9, 3, 5, -31000,-128) + + generate_ore("default:stone_with_coal", "default:stone", minp, maxp, seed+7, 1/24/24/24, 6,27, -31000, 0) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+6, 1/24/24/24, 6,27, -31000, -64) + + if maxp.y >= 2 and minp.y <= 0 then + -- Generate clay + -- Assume X and Z lengths are equal + local divlen = 4 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0+1,divs-1-1 do + for divz=0+1,divs-1-1 do + local cx = minp.x + math.floor((divx+0.5)*divlen) + local cz = minp.z + math.floor((divz+0.5)*divlen) + if minetest.env:get_node({x=cx,y=1,z=cz}).name == "default:water_source" and + minetest.env:get_node({x=cx,y=0,z=cz}).name == "default:sand" then + local is_shallow = true + local num_water_around = 0 + if minetest.env:get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if num_water_around >= 2 then + is_shallow = false + end + if is_shallow then + for x1=-divlen,divlen do + for z1=-divlen,divlen do + if minetest.env:get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" then + minetest.env:set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"}) + end + end + end + end + end + end + end + -- Generate papyrus + local perlin1 = minetest.env:get_perlin(354, 3, 0.7, 100) + -- Assume X and Z lengths are equal + local divlen = 8 + 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 papyrus amount from perlin noise + local papyrus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 45 - 20) + -- Find random positions for papyrus based on this random + local pr = PseudoRandom(seed+1) + for i=0,papyrus_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + if minetest.env:get_node({x=x,y=1,z=z}).name == "default:dirt_with_grass" and + minetest.env:find_node_near({x=x,y=1,z=z}, 1, "default:water_source") then + default.make_papyrus({x=x,y=2,z=z}, pr:next(2, 4)) + end + end + end + end + -- Generate cactuses + local perlin1 = minetest.env:get_perlin(230, 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 cactus amount from perlin noise + local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 6 - 3) + -- Find random positions for cactus based on this random + local pr = PseudoRandom(seed+1) + for i=0,cactus_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.env:get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + -- If desert sand, make cactus + if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then + default.make_cactus({x=x,y=ground_y+1,z=z}, pr:next(3, 4)) + end + end + end + end + -- Generate dry shrubs + local perlin1 = minetest.env: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 dry shrubs amount from perlin noise + local shrub_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0) + -- Find random positions for dry shrubs based on this random + local pr = PseudoRandom(seed+1) + for i=0,shrub_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.env:get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + -- If desert sand, make dry shrub + if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:dry_shrub"}) + end + end + end + end + end + end + + -- Generate nyan cats + generate_nyancats(seed, minp, maxp) +end) + diff --git a/mods/default/models/character.blend b/mods/default/models/character.blend new file mode 100644 index 0000000000000000000000000000000000000000..cb1a670c41f79472d2a9d23f53c253a9fa7c238b GIT binary patch literal 581808 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
X9Ud-}q`L3n-+xq#({-uGx2RHR@ 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 zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9 z_(hCg#P~&wU--QS`9+Lh#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9 z_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!D zj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg z#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9>Wu7x_huU&Q!Dj9_(hCg z#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&w zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9 z_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!D zj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg z#P~&wU&Q!Dj9_(hCg__(hCg#P~&wU&Q!Dj9_(hCg z#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&w zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU--RC`9+Lh#P~&w zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9 z_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!D zj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg z#P~&wU&Q!Dj9>WuT=_+eU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg z#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&w zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&w zU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9 z_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!D zj9_(hCg#P~&wU&Q!Dj9_(hCg#P~&wU&Q!Dj9_(hCg zPJKo8`_%G_7{7?|ix|I%@rxM0i1CXUzliaR7{7?|ix|I%@rxM0i1CXUzliaR7{7?| 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

#5>;Nhp$wLa`U}ytvp&c9o?a6-!o*hAR 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 literal 0 HcmV?d00001 diff --git a/mods/default/models/character.png b/mods/default/models/character.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0dd9915193a88b7203098ef30231a163db0ef2 GIT binary patch literal 2055 zcmV+i2>ADjP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBU(VM#eFBqF03Htj3oBQ+n z%|P_;dS8DqDR*qpce6jpibR5IeK&)=abtqxy?@=>zqsp0l3vO4aW3VaFxFeJ=Wut=I1z#RTvp{h8$cc+2#;kvA3w5Pg+`WzGS{@(=-N{N4q_at(-%80MquDrAY8qCD#%ij3jz5jTnoa%`Tp zG{1>5yaHe5Met{W8w3#Pd0A2%z{&9d<>iaD5ep!P=a`2qde#vy7?UP(9dj2Yff|Bm zYRd{Nee!+W%P>6u_PiV~j`aZq0Dxm9$Y2gdKnj+1wE!gW93V_7dd+hHM={(-DUbjm zG*rQUWE9jyt>Ayd46ootcqyzOn;Zh>#hfLb8#wv)9BemV$AV5BJcm0#5<~))!s#I; zk$oWss{@>S%)5Y^VR-)S3ssuP6U#Yk0tRdG@wl31ZjG@>F+> z`JC6(2T-1Y0LFkbiK~?XPTT-Iv8J*xS01UEqT^gs0rP$nWq1V=Cy1Hl67nUj0rvd9 zR=J`n4Hb~ndyjO=IVFI~5Afal+pKpk#Nj9e9cGjeWav(iLqqy5E{qBVAayM70u==f z)!jw4JOvE|^c-l{+`d~*f3V)#B_#kCfDG19@)8eF0qOyy1MUhbTm_||5Z1X2l41M$ zw|9k5VUr$=-VK6i)mDjB?~rKKCW*y&N_~C3EM2-(8X6j8)v8su9c|MUQInq!goZk3 zs0BA_IFL1@HdtW>8urmOwio>wHP%;~R?8`^M!(*?+WUT~``>XIj8$(}@LQ!M-eUcN z1q)=^vSqSj#R?1JEMK)v z!Ee#FS?0}~X9O%+vPA0Y>bzgz2nf#yZDxJ4$Vd^8s(_Q*pEWo9Lcvpp`wZkIAXeR^ z1iUTLN+m*F!2!n&7A{=q{Q^e-mcc5$iA*w51SHF!J-^@fw5j0p#wRQ;4V!>yCHkDT!tz(u_gfP|P~$*NyO9viH7CX`;eAyI^H`y7R~X=u`-j&>tY*L!9{)Z4 znsm<&wBOy%dkFw^!L&!MF~;vp;%ycH0Z&l;Cos0#J&3Vhv&3K)D>)npZ8%mP&e{=C z06q_J8bA%aS{EY1Y!F&Mw7ROHrXz99T+@IGa289aj=`*Xx0W90Ij;f?sK$Y)20o&{ zv$*Ra#KvlE)-oPo5fLRp_llE*38DR#% z%2b5bTi|1yTq$n;KPUj}x=61+ZgBt-RPu>pC=7f}iJ+*d(E{Wa3z$Bi{I?1ql~PmC zQ|VFc@Y@7u0OmQoUHEu|bbs`g^z3PrQ}3_4^*;$J(ILcu9hT0B_Rh~;76=2N%3fV0 zbOCJ^3?VIahfK$SbgzFHm7~b7^*EFGzK5VQ$;(T^NUusZRg^ literal 0 HcmV?d00001 diff --git a/mods/default/models/character.x b/mods/default/models/character.x new file mode 100644 index 0000000..bb5cec5 --- /dev/null +++ b/mods/default/models/character.x @@ -0,0 +1,6557 @@ +xof 0303txt 0032 + +template XSkinMeshHeader { + <3cf169ce-ff7c-44ab-93c0-f78f62d172e2> + WORD nMaxSkinWeightsPerVertex; + WORD nMaxSkinWeightsPerFace; + WORD nBones; +} + +template SkinWeights { + <6f0d123b-bad2-4167-a0d0-80224f25fabb> + STRING transformNodeName; + DWORD nWeights; + array DWORD vertexIndices[nWeights]; + array float weights[nWeights]; + Matrix4x4 matrixOffset; +} + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Armature { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000,-10.000000, 1.000000;; + } + Frame Armature_Body { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000,-1.000000, 0.000000, 0.000000, + -0.000000, 0.000000, 6.750000, 1.000000;; + } + Frame Armature_Head { + FrameTransformMatrix { + -1.000000,-0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Head + Frame Armature_Arm_Left { + FrameTransformMatrix { + 0.989214,-0.143886,-0.027450, 0.000000, + -0.143940,-0.989586,-0.000000, 0.000000, + -0.027164, 0.003951,-0.999623, 0.000000, + -2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Left + Frame Armature_Arm_Right { + FrameTransformMatrix { + 0.989214, 0.143886, 0.027450, 0.000000, + 0.143940,-0.989586,-0.000000, 0.000000, + 0.027164, 0.003951,-0.999623, 0.000000, + 2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Right + Frame Armature_Leg_Right { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Right + Frame Armature_Leg_Left { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + -1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Left + } //End of Armature_Body + Frame Player { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Mesh { //Cube_001 Mesh + 168; + 2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -4.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000; 1.000000; 0.000000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -0.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;17.500000;, + 0.000000; 1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 4.000000; 1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 4.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -4.000000; 1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 4.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;13.300000;, + -2.200000; 2.200000;13.300000;, + -2.200000; 2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;17.700001;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + MeshNormals { //Cube_001 Normals + 168; + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + } //End of Cube_001 Normals + MeshMaterialList { //Cube_001 Material List + 1; + 42; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Character { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.000000; 0.000000; 0.000000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"character.png";} + } + } //End of Cube_001 Material List + MeshTextureCoords { //Cube_001 UV Coordinates + 168; + 0.625000; 1.000000;, + 0.500000; 1.000000;, + 0.500000; 0.625000;, + 0.625000; 0.625000;, + 0.500000; 1.000000;, + 0.437500; 1.000000;, + 0.437500; 0.625000;, + 0.500000; 0.625000;, + 0.437500; 1.000000;, + 0.312500; 1.000000;, + 0.312500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.500000;, + 0.562500; 0.500000;, + 0.562500; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 0.500000;, + 0.437500; 0.500000;, + 0.437500; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.812500; 1.000000;, + 0.875000; 1.000000;, + 0.875000; 0.625000;, + 0.812500; 0.625000;, + 0.750000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 0.500000;, + 0.187500; 0.500000;, + 0.187500; 0.625000;, + 0.000000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.000000; 0.625000;, + 0.500000; 0.500000;, + 0.375000; 0.500000;, + 0.375000; 0.250000;, + 0.500000; 0.250000;, + 0.375000; 0.500000;, + 0.250000; 0.500000;, + 0.250000; 0.250000;, + 0.375000; 0.250000;, + 0.250000; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.000000;, + 0.375000; 0.000000;, + 0.375000; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.000000;, + 0.250000; 0.000000;, + 0.250000; 0.250000;, + 0.250000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.250000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 0.750000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.687500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.187500; 0.625000;, + 0.187500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.187500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.000000; 1.000000;, + 0.000000; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.125000; 0.250000;, + 0.125000; 0.500000;, + 0.000000; 0.500000;, + 0.000000; 0.250000;, + 0.062500; 0.625000;, + 0.062500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.687500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.687500; 1.000000;, + 0.625000; 1.000000;, + 0.625000; 0.625000;, + 0.687500; 0.625000;, + 0.625000; 0.625000;, + 0.625000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 0.500000;, + 0.687500; 0.500000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.187500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.875000; 0.625000;, + 0.875000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.125000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 1.000000; 0.500000;, + 0.875000; 0.500000;, + 0.875000; 0.250000;, + 1.000000; 0.250000;, + 0.875000; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.250000;, + 0.875000; 0.250000;, + 0.750000; 0.500000;, + 0.625000; 0.500000;, + 0.625000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.000000;, + 0.875000; 0.000000;, + 0.875000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.000000;, + 0.750000; 0.000000;, + 0.750000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.250000;; + } //End of Cube_001 UV Coordinates + XSkinMeshHeader { + 1; + 3; + 6; + } + SkinWeights { + "Armature_Leg_Right"; + 24; + 20, + 21, + 22, + 23, + 64, + 65, + 66, + 67, + 80, + 81, + 82, + 83, + 88, + 89, + 90, + 91, + 124, + 125, + 126, + 127, + 140, + 141, + 142, + 143; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + -1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Right Skin Weights + SkinWeights { + "Armature_Leg_Left"; + 24; + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 60, + 61, + 62, + 63, + 68, + 69, + 70, + 71, + 84, + 85, + 86, + 87, + 100, + 101, + 102, + 103; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + 1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Left Skin Weights + SkinWeights { + "Armature_Body"; + 24; + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 92, + 93, + 94, + 95; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000,-6.750000,-0.000001, 1.000000;; + } //End of Armature_Body Skin Weights + SkinWeights { + "Armature_Head"; + 48; + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 96, + 97, + 98, + 99, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + -1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-0.000000, 1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000,-13.500000,-0.000002, 1.000000;; + } //End of Armature_Head Skin Weights + SkinWeights { + "Armature_Arm_Left"; + 24; + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 116, + 117, + 118, + 119, + 132, + 133, + 134, + 135; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214,-0.143940,-0.027164, 0.000000, + 0.027450,-0.000000, 0.999623, 0.000000, + -0.143886,-0.989587, 0.003951, 0.000000, + 3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Left Skin Weights + SkinWeights { + "Armature_Arm_Right"; + 24; + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 112, + 113, + 114, + 115, + 120, + 121, + 122, + 123, + 128, + 129, + 130, + 131, + 136, + 137, + 138, + 139; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214, 0.143940, 0.027164, 0.000000, + -0.027450,-0.000000, 0.999623, 0.000000, + 0.143886,-0.989587, 0.003951, 0.000000, + -3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Right Skin Weights + } //End of Cube_001 Mesh + } //End of Player + } //End of Armature +} //End of Root Frame +AnimationSet { + Animation { + {Armature} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000,-10.000000;;, + 1;3; 0.000000, 0.000000,-10.000000;;, + 2;3; 0.000000, 0.000000,-10.000000;;, + 3;3; 0.000000, 0.000000,-10.000000;;, + 4;3; 0.000000, 0.000000,-10.000000;;, + 5;3; 0.000000, 0.000000,-10.000000;;, + 6;3; 0.000000, 0.000000,-10.000000;;, + 7;3; 0.000000, 0.000000,-10.000000;;, + 8;3; 0.000000, 0.000000,-10.000000;;, + 9;3; 0.000000, 0.000000,-10.000000;;, + 10;3; 0.000000, 0.000000,-10.000000;;, + 11;3; 0.000000, 0.000000,-10.000000;;, + 12;3; 0.000000, 0.000000,-10.000000;;, + 13;3; 0.000000, 0.000000,-10.000000;;, + 14;3; 0.000000, 0.000000,-10.000000;;, + 15;3; 0.000000, 0.000000,-10.000000;;, + 16;3; 0.000000, 0.000000,-10.000000;;, + 17;3; 0.000000, 0.000000,-10.000000;;, + 18;3; 0.000000, 0.000000,-10.000000;;, + 19;3; 0.000000, 0.000000,-10.000000;;, + 20;3; 0.000000, 0.000000,-10.000000;;, + 21;3; 0.000000, 0.000000,-10.000000;;, + 22;3; 0.000000, 0.000000,-10.000000;;, + 23;3; 0.000000, 0.000000,-10.000000;;, + 24;3; 0.000000, 0.000000,-10.000000;;, + 25;3; 0.000000, 0.000000,-10.000000;;, + 26;3; 0.000000, 0.000000,-10.000000;;, + 27;3; 0.000000, 0.000000,-10.000000;;, + 28;3; 0.000000, 0.000000,-10.000000;;, + 29;3; 0.000000, 0.000000,-10.000000;;, + 30;3; 0.000000, 0.000000,-10.000000;;, + 31;3; 0.000000, 0.000000,-10.000000;;, + 32;3; 0.000000, 0.000000,-10.000000;;, + 33;3; 0.000000, 0.000000,-10.000000;;, + 34;3; 0.000000, 0.000000,-10.000000;;, + 35;3; 0.000000, 0.000000,-10.000000;;, + 36;3; 0.000000, 0.000000,-10.000000;;, + 37;3; 0.000000, 0.000000,-10.000000;;, + 38;3; 0.000000, 0.000000,-10.000000;;, + 39;3; 0.000000, 0.000000,-10.000000;;, + 40;3; 0.000000, 0.000000,-10.000000;;, + 41;3; 0.000000, 0.000000,-10.000000;;, + 42;3; 0.000000, 0.000000,-10.000000;;, + 43;3; 0.000000, 0.000000,-10.000000;;, + 44;3; 0.000000, 0.000000,-10.000000;;, + 45;3; 0.000000, 0.000000,-10.000000;;, + 46;3; 0.000000, 0.000000,-10.000000;;, + 47;3; 0.000000, 0.000000,-10.000000;;, + 48;3; 0.000000, 0.000000,-10.000000;;, + 49;3; 0.000000, 0.000000,-10.000000;;, + 50;3; 0.000000, 0.000000,-10.000000;;, + 51;3; 0.000000, 0.000000,-10.000000;;, + 52;3; 0.000000, 0.000000,-10.000000;;, + 53;3; 0.000000, 0.000000,-10.000000;;, + 54;3; 0.000000, 0.000000,-10.000000;;, + 55;3; 0.000000, 0.000000,-10.000000;;, + 56;3; 0.000000, 0.000000,-10.000000;;, + 57;3; 0.000000, 0.000000,-10.000000;;, + 58;3; 0.000000, 0.000000,-10.000000;;, + 59;3; 0.000000, 0.000000,-10.000000;;, + 60;3; 0.000000, 0.000000,-10.000000;;, + 61;3; 0.000000, 0.000000,-10.000000;;, + 62;3; 0.000000, 0.000000,-10.000000;;, + 63;3; 0.000000, 0.000000,-10.000000;;, + 64;3; 0.000000, 0.000000,-10.000000;;, + 65;3; 0.000000, 0.000000,-10.000000;;, + 66;3; 0.000000, 0.000000,-10.000000;;, + 67;3; 0.000000, 0.000000,-10.000000;;, + 68;3; 0.000000, 0.000000,-10.000000;;, + 69;3; 0.000000, 0.000000,-10.000000;;, + 70;3; 0.000000, 0.000000,-10.000000;;, + 71;3; 0.000000, 0.000000,-10.000000;;, + 72;3; 0.000000, 0.000000,-10.000000;;, + 73;3; 0.000000, 0.000000,-10.000000;;, + 74;3; 0.000000, 0.000000,-10.000000;;, + 75;3; 0.000000, 0.000000,-10.000000;;, + 76;3; 0.000000, 0.000000,-10.000000;;, + 77;3; 0.000000, 0.000000,-10.000000;;, + 78;3; 0.000000, 0.000000,-10.000000;;, + 79;3; 0.000000, 0.000000,-10.000000;;, + 80;3; 0.000000, 0.000000,-10.000000;;, + 81;3; 0.000000, 0.000000,-10.000000;;, + 82;3; 0.000000, 0.000000,-10.000000;;, + 83;3; 0.000000, 0.000000,-10.000000;;, + 84;3; 0.000000, 0.000000,-10.000000;;, + 85;3; 0.000000, 0.000000,-10.000000;;, + 86;3; 0.000000, 0.000000,-10.000000;;, + 87;3; 0.000000, 0.000000,-10.000000;;, + 88;3; 0.000000, 0.000000,-10.000000;;, + 89;3; 0.000000, 0.000000,-10.000000;;, + 90;3; 0.000000, 0.000000,-10.000000;;, + 91;3; 0.000000, 0.000000,-10.000000;;, + 92;3; 0.000000, 0.000000,-10.000000;;, + 93;3; 0.000000, 0.000000,-10.000000;;, + 94;3; 0.000000, 0.000000,-10.000000;;, + 95;3; 0.000000, 0.000000,-10.000000;;, + 96;3; 0.000000, 0.000000,-10.000000;;, + 97;3; 0.000000, 0.000000,-10.000000;;, + 98;3; 0.000000, 0.000000,-10.000000;;, + 99;3; 0.000000, 0.000000,-10.000000;;, + 100;3; 0.000000, 0.000000,-10.000000;;, + 101;3; 0.000000, 0.000000,-10.000000;;, + 102;3; 0.000000, 0.000000,-10.000000;;, + 103;3; 0.000000, 0.000000,-10.000000;;, + 104;3; 0.000000, 0.000000,-10.000000;;, + 105;3; 0.000000, 0.000000,-10.000000;;, + 106;3; 0.000000, 0.000000,-10.000000;;, + 107;3; 0.000000, 0.000000,-10.000000;;, + 108;3; 0.000000, 0.000000,-10.000000;;, + 109;3; 0.000000, 0.000000,-10.000000;;, + 110;3; 0.000000, 0.000000,-10.000000;;, + 111;3; 0.000000, 0.000000,-10.000000;;, + 112;3; 0.000000, 0.000000,-10.000000;;, + 113;3; 0.000000, 0.000000,-10.000000;;, + 114;3; 0.000000, 0.000000,-10.000000;;, + 115;3; 0.000000, 0.000000,-10.000000;;, + 116;3; 0.000000, 0.000000,-10.000000;;, + 117;3; 0.000000, 0.000000,-10.000000;;, + 118;3; 0.000000, 0.000000,-10.000000;;, + 119;3; 0.000000, 0.000000,-10.000000;;, + 120;3; 0.000000, 0.000000,-10.000000;;, + 121;3; 0.000000, 0.000000,-10.000000;;, + 122;3; 0.000000, 0.000000,-10.000000;;, + 123;3; 0.000000, 0.000000,-10.000000;;, + 124;3; 0.000000, 0.000000,-10.000000;;, + 125;3; 0.000000, 0.000000,-10.000000;;, + 126;3; 0.000000, 0.000000,-10.000000;;, + 127;3; 0.000000, 0.000000,-10.000000;;, + 128;3; 0.000000, 0.000000,-10.000000;;, + 129;3; 0.000000, 0.000000,-10.000000;;, + 130;3; 0.000000, 0.000000,-10.000000;;, + 131;3; 0.000000, 0.000000,-10.000000;;, + 132;3; 0.000000, 0.000000,-10.000000;;, + 133;3; 0.000000, 0.000000,-10.000000;;, + 134;3; 0.000000, 0.000000,-10.000000;;, + 135;3; 0.000000, 0.000000,-10.000000;;, + 136;3; 0.000000, 0.000000,-10.000000;;, + 137;3; 0.000000, 0.000000,-10.000000;;, + 138;3; 0.000000, 0.000000,-10.000000;;, + 139;3; 0.000000, 0.000000,-10.000000;;, + 140;3; 0.000000, 0.000000,-10.000000;;, + 141;3; 0.000000, 0.000000,-10.000000;;, + 142;3; 0.000000, 0.000000,-10.000000;;, + 143;3; 0.000000, 0.000000,-10.000000;;, + 144;3; 0.000000, 0.000000,-10.000000;;, + 145;3; 0.000000, 0.000000,-10.000000;;, + 146;3; 0.000000, 0.000000,-10.000000;;, + 147;3; 0.000000, 0.000000,-10.000000;;, + 148;3; 0.000000, 0.000000,-10.000000;;, + 149;3; 0.000000, 0.000000,-10.000000;;, + 150;3; 0.000000, 0.000000,-10.000000;;, + 151;3; 0.000000, 0.000000,-10.000000;;, + 152;3; 0.000000, 0.000000,-10.000000;;, + 153;3; 0.000000, 0.000000,-10.000000;;, + 154;3; 0.000000, 0.000000,-10.000000;;, + 155;3; 0.000000, 0.000000,-10.000000;;, + 156;3; 0.000000, 0.000000,-10.000000;;, + 157;3; 0.000000, 0.000000,-10.000000;;, + 158;3; 0.000000, 0.000000,-10.000000;;, + 159;3; 0.000000, 0.000000,-10.000000;;, + 160;3; 0.000000, 0.000000,-10.000000;;, + 161;3; 0.000000, 0.000000,-10.000000;;, + 162;3; 0.000000, 0.000000,-10.000000;;, + 163;3; 0.000000, 0.000000,-10.000000;;, + 164;3; 0.000000, 0.000000,-10.000000;;, + 165;3; 0.000000, 0.000000,-10.000000;;, + 166;3; 0.000000, 0.000000,-10.000000;;, + 167;3; 0.000000, 0.000000,-10.000000;;, + 168;3; 0.000000, 0.000000,-10.000000;;, + 169;3; 0.000000, 0.000000,-10.000000;;, + 170;3; 0.000000, 0.000000,-10.000000;;, + 171;3; 0.000000, 0.000000,-10.000000;;, + 172;3; 0.000000, 0.000000,-10.000000;;, + 173;3; 0.000000, 0.000000,-10.000000;;, + 174;3; 0.000000, 0.000000,-10.000000;;, + 175;3; 0.000000, 0.000000,-10.000000;;, + 176;3; 0.000000, 0.000000,-10.000000;;, + 177;3; 0.000000, 0.000000,-10.000000;;, + 178;3; 0.000000, 0.000000,-10.000000;;, + 179;3; 0.000000, 0.000000,-10.000000;;, + 180;3; 0.000000, 0.000000,-10.000000;;, + 181;3; 0.000000, 0.000000,-10.000000;;, + 182;3; 0.000000, 0.000000,-10.000000;;, + 183;3; 0.000000, 0.000000,-10.000000;;, + 184;3; 0.000000, 0.000000,-10.000000;;, + 185;3; 0.000000, 0.000000,-10.000000;;, + 186;3; 0.000000, 0.000000,-10.000000;;, + 187;3; 0.000000, 0.000000,-10.000000;;, + 188;3; 0.000000, 0.000000,-10.000000;;, + 189;3; 0.000000, 0.000000,-10.000000;;, + 190;3; 0.000000, 0.000000,-10.000000;;, + 191;3; 0.000000, 0.000000,-10.000000;;, + 192;3; 0.000000, 0.000000,-10.000000;;, + 193;3; 0.000000, 0.000000,-10.000000;;, + 194;3; 0.000000, 0.000000,-10.000000;;, + 195;3; 0.000000, 0.000000,-10.000000;;, + 196;3; 0.000000, 0.000000,-10.000000;;, + 197;3; 0.000000, 0.000000,-10.000000;;, + 198;3; 0.000000, 0.000000,-10.000000;;, + 199;3; 0.000000, 0.000000,-10.000000;;, + 200;3; 0.000000, 0.000000,-10.000000;;, + 201;3; 0.000000, 0.000000,-10.000000;;, + 202;3; 0.000000, 0.000000,-10.000000;;, + 203;3; 0.000000, 0.000000,-10.000000;;, + 204;3; 0.000000, 0.000000,-10.000000;;, + 205;3; 0.000000, 0.000000,-10.000000;;, + 206;3; 0.000000, 0.000000,-10.000000;;, + 207;3; 0.000000, 0.000000,-10.000000;;, + 208;3; 0.000000, 0.000000,-10.000000;;, + 209;3; 0.000000, 0.000000,-10.000000;;, + 210;3; 0.000000, 0.000000,-10.000000;;, + 211;3; 0.000000, 0.000000,-10.000000;;, + 212;3; 0.000000, 0.000000,-10.000000;;, + 213;3; 0.000000, 0.000000,-10.000000;;, + 214;3; 0.000000, 0.000000,-10.000000;;, + 215;3; 0.000000, 0.000000,-10.000000;;, + 216;3; 0.000000, 0.000000,-10.000000;;, + 217;3; 0.000000, 0.000000,-10.000000;;, + 218;3; 0.000000, 0.000000,-10.000000;;, + 219;3; 0.000000, 0.000000,-10.000000;;, + 220;3; 0.000000, 0.000000,-10.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Body} + AnimationKey { //Position + 2; + 221; + 0;3; -0.000000, 0.000000, 6.750000;;, + 1;3; -0.000000, 0.000000, 6.750000;;, + 2;3; -0.000000, 0.000000, 6.750000;;, + 3;3; -0.000000, 0.000000, 6.750000;;, + 4;3; -0.000000, 0.000000, 6.750000;;, + 5;3; -0.000000, 0.000000, 6.750000;;, + 6;3; -0.000000, 0.000000, 6.750000;;, + 7;3; -0.000000, 0.000000, 6.750000;;, + 8;3; -0.000000, 0.000000, 6.750000;;, + 9;3; -0.000000, 0.000000, 6.750000;;, + 10;3; -0.000000, 0.000000, 6.750000;;, + 11;3; -0.000000, 0.000000, 6.750000;;, + 12;3; -0.000000, 0.000000, 6.750000;;, + 13;3; -0.000000, 0.000000, 6.750000;;, + 14;3; -0.000000, 0.000000, 6.750000;;, + 15;3; -0.000000, 0.000000, 6.750000;;, + 16;3; -0.000000, 0.000000, 6.750000;;, + 17;3; -0.000000, 0.000000, 6.750000;;, + 18;3; -0.000000, 0.000000, 6.750000;;, + 19;3; -0.000000, 0.000000, 6.750000;;, + 20;3; -0.000000, 0.000000, 6.750000;;, + 21;3; -0.000000, 0.000000, 6.750000;;, + 22;3; -0.000000, 0.000000, 6.750000;;, + 23;3; -0.000000, 0.000000, 6.750000;;, + 24;3; -0.000000, 0.000000, 6.750000;;, + 25;3; -0.000000, 0.000000, 6.750000;;, + 26;3; -0.000000, 0.000000, 6.750000;;, + 27;3; -0.000000, 0.000000, 6.750000;;, + 28;3; -0.000000, 0.000000, 6.750000;;, + 29;3; -0.000000, 0.000000, 6.750000;;, + 30;3; -0.000000, 0.000000, 6.750000;;, + 31;3; -0.000000, 0.000000, 6.750000;;, + 32;3; -0.000000, 0.000000, 6.750000;;, + 33;3; -0.000000, 0.000000, 6.750000;;, + 34;3; -0.000000, 0.000000, 6.750000;;, + 35;3; -0.000000, 0.000000, 6.750000;;, + 36;3; -0.000000, 0.000000, 6.750000;;, + 37;3; -0.000000, 0.000000, 6.750000;;, + 38;3; -0.000000, 0.000000, 6.750000;;, + 39;3; -0.000000, 0.000000, 6.750000;;, + 40;3; -0.000000, 0.000000, 6.750000;;, + 41;3; -0.000000, 0.000000, 6.750000;;, + 42;3; -0.000000, 0.000000, 6.750000;;, + 43;3; -0.000000, 0.000000, 6.750000;;, + 44;3; -0.000000, 0.000000, 6.750000;;, + 45;3; -0.000000, 0.000000, 6.750000;;, + 46;3; -0.000000, 0.000000, 6.750000;;, + 47;3; -0.000000, 0.000000, 6.750000;;, + 48;3; -0.000000, 0.000000, 6.750000;;, + 49;3; -0.000000, 0.000000, 6.750000;;, + 50;3; -0.000000, 0.000000, 6.750000;;, + 51;3; -0.000000, 0.000000, 6.750000;;, + 52;3; -0.000000, 0.000000, 6.750000;;, + 53;3; -0.000000, 0.000000, 6.750000;;, + 54;3; -0.000000, 0.000000, 6.750000;;, + 55;3; -0.000000, 0.000000, 6.750000;;, + 56;3; -0.000000, 0.000000, 6.750000;;, + 57;3; -0.000000, 0.000000, 6.750000;;, + 58;3; -0.000000, 0.000000, 6.750000;;, + 59;3; -0.000000, 0.000000, 6.750000;;, + 60;3; -0.000000, 0.000000, 6.750000;;, + 61;3; -0.000000, 0.000000, 6.750000;;, + 62;3; -0.000000, 0.000000, 6.750000;;, + 63;3; -0.000000, 0.000000, 6.750000;;, + 64;3; -0.000000, 0.000000, 6.750000;;, + 65;3; -0.000000, 0.000000, 6.750000;;, + 66;3; -0.000000, 0.000000, 6.750000;;, + 67;3; -0.000000, 0.000000, 6.750000;;, + 68;3; -0.000000, 0.000000, 6.750000;;, + 69;3; -0.000000, 0.000000, 6.750000;;, + 70;3; -0.000000, 0.000000, 6.750000;;, + 71;3; -0.000000, 0.000000, 6.750000;;, + 72;3; -0.000000, 0.000000, 6.750000;;, + 73;3; -0.000000, 0.000000, 6.750000;;, + 74;3; -0.000000, 0.000000, 6.750000;;, + 75;3; -0.000000, 0.000000, 6.750000;;, + 76;3; -0.000000, 0.000000, 6.750000;;, + 77;3; -0.000000, 0.000000, 6.750000;;, + 78;3; -0.000000, 0.000000, 6.750000;;, + 79;3; -0.000000, 0.000000, 6.750000;;, + 80;3; -0.000000, 0.000000, 6.750000;;, + 81;3; -0.000000, 0.000000, 1.000000;;, + 82;3; -0.000000, 0.000000, 1.000000;;, + 83;3; -0.000000, 0.000000, 1.000000;;, + 84;3; -0.000000, 0.000000, 1.000000;;, + 85;3; -0.000000, 0.000000, 1.000000;;, + 86;3; -0.000000, 0.000000, 1.000000;;, + 87;3; -0.000000, 0.000000, 1.000000;;, + 88;3; -0.000000, 0.000000, 1.000000;;, + 89;3; -0.000000, 0.000000, 1.000000;;, + 90;3; -0.000000, 0.000000, 1.000000;;, + 91;3; -0.000000, 0.000000, 1.000000;;, + 92;3; -0.000000, 0.000000, 1.000000;;, + 93;3; -0.000000, 0.000000, 1.000000;;, + 94;3; -0.000000, 0.000000, 1.000000;;, + 95;3; -0.000000, 0.000000, 1.000000;;, + 96;3; -0.000000, 0.000000, 1.000000;;, + 97;3; -0.000000, 0.000000, 1.000000;;, + 98;3; -0.000000, 0.000000, 1.000000;;, + 99;3; -0.000000, 0.000000, 1.000000;;, + 100;3; -0.000000, 0.000000, 1.000000;;, + 101;3; -0.000000, 0.000000, 1.000000;;, + 102;3; -0.000000, 0.000000, 1.000000;;, + 103;3; -0.000000, 0.000000, 1.000000;;, + 104;3; -0.000000, 0.000000, 1.000000;;, + 105;3; -0.000000, 0.000000, 1.000000;;, + 106;3; -0.000000, 0.000000, 1.000000;;, + 107;3; -0.000000, 0.000000, 1.000000;;, + 108;3; -0.000000, 0.000000, 1.000000;;, + 109;3; -0.000000, 0.000000, 1.000000;;, + 110;3; -0.000000, 0.000000, 1.000000;;, + 111;3; -0.000000, 0.000000, 1.000000;;, + 112;3; -0.000000, 0.000000, 1.000000;;, + 113;3; -0.000000, 0.000000, 1.000000;;, + 114;3; -0.000000, 0.000000, 1.000000;;, + 115;3; -0.000000, 0.000000, 1.000000;;, + 116;3; -0.000000, 0.000000, 1.000000;;, + 117;3; -0.000000, 0.000000, 1.000000;;, + 118;3; -0.000000, 0.000000, 1.000000;;, + 119;3; -0.000000, 0.000000, 1.000000;;, + 120;3; -0.000000, 0.000000, 1.000000;;, + 121;3; -0.000000, 0.000000, 1.000000;;, + 122;3; -0.000000, 0.000000, 1.000000;;, + 123;3; -0.000000, 0.000000, 1.000000;;, + 124;3; -0.000000, 0.000000, 1.000000;;, + 125;3; -0.000000, 0.000000, 1.000000;;, + 126;3; -0.000000, 0.000000, 1.000000;;, + 127;3; -0.000000, 0.000000, 1.000000;;, + 128;3; -0.000000, 0.000000, 1.000000;;, + 129;3; -0.000000, 0.000000, 1.000000;;, + 130;3; -0.000000, 0.000000, 1.000000;;, + 131;3; -0.000000, 0.000000, 1.000000;;, + 132;3; -0.000000, 0.000000, 1.000000;;, + 133;3; -0.000000, 0.000000, 1.000000;;, + 134;3; -0.000000, 0.000000, 1.000000;;, + 135;3; -0.000000, 0.000000, 1.000000;;, + 136;3; -0.000000, 0.000000, 1.000000;;, + 137;3; -0.000000, 0.000000, 1.000000;;, + 138;3; -0.000000, 0.000000, 1.000000;;, + 139;3; -0.000000, 0.000000, 1.000000;;, + 140;3; -0.000000, 0.000000, 1.000000;;, + 141;3; -0.000000, 0.000000, 1.000000;;, + 142;3; -0.000000, 0.000000, 1.000000;;, + 143;3; -0.000000, 0.000000, 1.000000;;, + 144;3; -0.000000, 0.000000, 1.000000;;, + 145;3; -0.000000, 0.000000, 1.000000;;, + 146;3; -0.000000, 0.000000, 1.000000;;, + 147;3; -0.000000, 0.000000, 1.000000;;, + 148;3; -0.000000, 0.000000, 1.000000;;, + 149;3; -0.000000, 0.000000, 1.000000;;, + 150;3; -0.000000, 0.000000, 1.000000;;, + 151;3; -0.000000, 0.000000, 1.000000;;, + 152;3; -0.000000, 0.000000, 1.000000;;, + 153;3; -0.000000, 0.000000, 1.000000;;, + 154;3; -0.000000, 0.000000, 1.000000;;, + 155;3; -0.000000, 0.000000, 1.000000;;, + 156;3; -0.000000, 0.000000, 1.000000;;, + 157;3; -0.000000, 0.000000, 1.000000;;, + 158;3; -0.000000, 0.000000, 1.000000;;, + 159;3; -0.000000, 0.000000, 1.000000;;, + 160;3; -0.000000, 0.000000, 1.000000;;, + 161;3; -0.000000, 0.000000, 1.000000;;, + 162;3; -0.000000, 2.000001, 1.000000;;, + 163;3; -0.000000, 2.000001, 1.000000;;, + 164;3; -0.000000, 2.000001, 1.000000;;, + 165;3; -0.000000, 2.000001, 1.000000;;, + 166;3; -0.000000, 2.000001, 1.000000;;, + 167;3; -0.000000, 2.000001, 1.000000;;, + 168;3; -0.000000, 0.000000, 6.750000;;, + 169;3; -0.000000, 0.000000, 6.750000;;, + 170;3; -0.000000, 0.000000, 6.750000;;, + 171;3; -0.000000, 0.000000, 6.750000;;, + 172;3; -0.000000, 0.000000, 6.750000;;, + 173;3; -0.000000, 0.000000, 6.750000;;, + 174;3; -0.000000, 0.000000, 6.750000;;, + 175;3; -0.000000, 0.000000, 6.750000;;, + 176;3; -0.000000, 0.000000, 6.750000;;, + 177;3; -0.000000, 0.000000, 6.750000;;, + 178;3; -0.000000, 0.000000, 6.750000;;, + 179;3; -0.000000, 0.000000, 6.750000;;, + 180;3; -0.000000, 0.000000, 6.750000;;, + 181;3; -0.000000, 0.000000, 6.750000;;, + 182;3; -0.000000, 0.000000, 6.750000;;, + 183;3; -0.000000, 0.000000, 6.750000;;, + 184;3; -0.000000, 0.000000, 6.750000;;, + 185;3; -0.000000, 0.000000, 6.750000;;, + 186;3; -0.000000, 0.000000, 6.750000;;, + 187;3; -0.000000, 0.000000, 6.750000;;, + 188;3; -0.000000, 0.000000, 6.750000;;, + 189;3; -0.000000, 0.000000, 6.750000;;, + 190;3; -0.000000, 0.000000, 6.750000;;, + 191;3; -0.000000, 0.000000, 6.750000;;, + 192;3; -0.000000, 0.000000, 6.750000;;, + 193;3; -0.000000, 0.000000, 6.750000;;, + 194;3; -0.000000, 0.000000, 6.750000;;, + 195;3; -0.000000, 0.000000, 6.750000;;, + 196;3; -0.000000, 0.000000, 6.750000;;, + 197;3; -0.000000, 0.000000, 6.750000;;, + 198;3; -0.000000, 0.000000, 6.750000;;, + 199;3; -0.000000, 0.000000, 6.750000;;, + 200;3; -0.000000, 0.000000, 6.750000;;, + 201;3; -0.000000, 0.000000, 6.750000;;, + 202;3; -0.000000, 0.000000, 6.750000;;, + 203;3; -0.000000, 0.000000, 6.750000;;, + 204;3; -0.000000, 0.000000, 6.750000;;, + 205;3; -0.000000, 0.000000, 6.750000;;, + 206;3; -0.000000, 0.000000, 6.750000;;, + 207;3; -0.000000, 0.000000, 6.750000;;, + 208;3; -0.000000, 0.000000, 6.750000;;, + 209;3; -0.000000, 0.000000, 6.750000;;, + 210;3; -0.000000, 0.000000, 6.750000;;, + 211;3; -0.000000, 0.000000, 6.750000;;, + 212;3; -0.000000, 0.000000, 6.750000;;, + 213;3; -0.000000, 0.000000, 6.750000;;, + 214;3; -0.000000, 0.000000, 6.750000;;, + 215;3; -0.000000, 0.000000, 6.750000;;, + 216;3; -0.000000, 0.000000, 6.750000;;, + 217;3; -0.000000, 0.000000, 6.750000;;, + 218;3; -0.000000, 0.000000, 6.750000;;, + 219;3; -0.000000, 0.000000, 6.750000;;, + 220;3; -0.000000, 0.000000, 6.750000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 1;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 2;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 3;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 4;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 5;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 6;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 7;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 8;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 9;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 10;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 11;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 12;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 13;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 14;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 15;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 16;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 17;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 18;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 19;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 20;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 21;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 22;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 23;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 24;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 25;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 26;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 27;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 28;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 29;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 30;4; -0.691349, 0.722192, 0.000000, 0.000000;;, + 31;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 32;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 33;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 34;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 35;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 36;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 37;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 38;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 39;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 40;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 41;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 42;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 43;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 44;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 45;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 46;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 47;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 48;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 49;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 50;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 51;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 52;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 53;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 54;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 55;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 56;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 57;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 58;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 59;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 60;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 61;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 62;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 63;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 64;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 65;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 66;4; -0.680312, 0.732757, 0.000000, 0.000000;;, + 67;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 68;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 69;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 70;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 71;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 72;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 73;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 74;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 75;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 76;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 77;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 78;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 79;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 80;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 81;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 82;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 83;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 84;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 85;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 86;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 87;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 88;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 89;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 90;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 91;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 92;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 93;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 94;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 95;4; -0.680312, 0.732758, 0.000000, 0.000000;;, + 96;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 97;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 98;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 99;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 100;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 101;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 102;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 103;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 104;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 105;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 106;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 107;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 108;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 109;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 110;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 111;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 112;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 113;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 114;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 115;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 116;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 117;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 118;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 119;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 120;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 121;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 122;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 123;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 124;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 125;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 126;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 127;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 128;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 129;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 130;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 131;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 132;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 133;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 134;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 135;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 136;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 137;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 138;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 139;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 140;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 141;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 142;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 143;4; -0.676211, 0.736683, 0.000000, 0.000000;;, + 144;4; -0.676923, 0.736001, 0.000000, 0.000000;;, + 145;4; -0.677857, 0.735107, 0.000000, 0.000000;;, + 146;4; -0.678987, 0.734026, 0.000000, 0.000000;;, + 147;4; -0.680291, 0.732778, 0.000000, 0.000000;;, + 148;4; -0.681750, 0.731381, 0.000000, 0.000000;;, + 149;4; -0.683349, 0.729852, 0.000000, 0.000000;;, + 150;4; -0.685071, 0.728203, 0.000000, 0.000000;;, + 151;4; -0.686905, 0.726448, 0.000000, 0.000000;;, + 152;4; -0.688838, 0.724598, 0.000000, 0.000000;;, + 153;4; -0.690858, 0.722664, 0.000000, 0.000000;;, + 154;4; -0.692953, 0.720659, 0.000000, 0.000000;;, + 155;4; -0.695109, 0.718596, 0.000000, 0.000000;;, + 156;4; -0.697310, 0.716489, 0.000000, 0.000000;;, + 157;4; -0.699536, 0.714358, 0.000000, 0.000000;;, + 158;4; -0.701753, 0.712235, 0.000000, 0.000000;;, + 159;4; -0.703909, 0.710171, 0.000000, 0.000000;;, + 160;4; -0.705875, 0.708288, 0.000000, 0.000000;;, + 161;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 162;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 163;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 164;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 165;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 166;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 167;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 168;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 169;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 170;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 171;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 172;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 173;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 174;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 175;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 176;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 177;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 178;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 179;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 180;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 181;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 182;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 183;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 184;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 185;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 186;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 187;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 188;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 189;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 190;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 191;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 192;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 193;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 194;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 195;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 196;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 197;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 198;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 199;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 200;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 201;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 202;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 203;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 204;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 205;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 206;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 207;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 208;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 209;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 210;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 211;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 212;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 213;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 214;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 215;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 216;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 217;4; -0.686282, 0.727042, 0.000000, 0.000000;;, + 218;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 219;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 220;4; -0.707107, 0.707107, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Head} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 6.750000, 0.000000;;, + 1;3; -0.000000, 6.750000, 0.000000;;, + 2;3; 0.000000, 6.750000, 0.000000;;, + 3;3; 0.000000, 6.750000, 0.000000;;, + 4;3; 0.000000, 6.750000, 0.000000;;, + 5;3; 0.000000, 6.750000, 0.000000;;, + 6;3; 0.000000, 6.750000, 0.000000;;, + 7;3; 0.000000, 6.750000,-0.000000;;, + 8;3; 0.000000, 6.750000,-0.000000;;, + 9;3; 0.000000, 6.750000, 0.000000;;, + 10;3; 0.000000, 6.750000,-0.000000;;, + 11;3; 0.000000, 6.750000, 0.000000;;, + 12;3; 0.000000, 6.750000, 0.000000;;, + 13;3; 0.000000, 6.750000, 0.000000;;, + 14;3; 0.000000, 6.750000,-0.000000;;, + 15;3; 0.000000, 6.750000,-0.000000;;, + 16;3; 0.000000, 6.750000, 0.000000;;, + 17;3; -0.000000, 6.750001,-0.000000;;, + 18;3; 0.000000, 6.750000, 0.000000;;, + 19;3; 0.000000, 6.750000, 0.000000;;, + 20;3; 0.000000, 6.750000, 0.000000;;, + 21;3; 0.000000, 6.750000, 0.000000;;, + 22;3; 0.000000, 6.750000, 0.000000;;, + 23;3; -0.000000, 6.750001,-0.000000;;, + 24;3; 0.000000, 6.750000, 0.000000;;, + 25;3; 0.000000, 6.750000, 0.000000;;, + 26;3; 0.000000, 6.750000,-0.000000;;, + 27;3; 0.000000, 6.750000, 0.000000;;, + 28;3; 0.000000, 6.750000, 0.000000;;, + 29;3; 0.000000, 6.750000, 0.000000;;, + 30;3; 0.000000, 6.750000, 0.000000;;, + 31;3; 0.000000, 6.750000, 0.000000;;, + 32;3; 0.000000, 6.750000,-0.000000;;, + 33;3; 0.000000, 6.750000,-0.000000;;, + 34;3; 0.000000, 6.750000, 0.000000;;, + 35;3; 0.000000, 6.750000, 0.000000;;, + 36;3; 0.000000, 6.750000,-0.000000;;, + 37;3; 0.000000, 6.750000, 0.000000;;, + 38;3; 0.000000, 6.750000, 0.000000;;, + 39;3; -0.000000, 6.750000, 0.000000;;, + 40;3; 0.000000, 6.750000, 0.000000;;, + 41;3; -0.000000, 6.750000, 0.000000;;, + 42;3; 0.000000, 6.750000, 0.000000;;, + 43;3; 0.000000, 6.750000, 0.000000;;, + 44;3; 0.000000, 6.750000, 0.000000;;, + 45;3; 0.000000, 6.750000, 0.000000;;, + 46;3; 0.000000, 6.750000,-0.000000;;, + 47;3; 0.000000, 6.750000, 0.000000;;, + 48;3; 0.000000, 6.750000, 0.000000;;, + 49;3; 0.000000, 6.750000, 0.000000;;, + 50;3; 0.000000, 6.750000,-0.000000;;, + 51;3; 0.000000, 6.750000, 0.000000;;, + 52;3; 0.000000, 6.750000, 0.000000;;, + 53;3; 0.000000, 6.750000, 0.000000;;, + 54;3; 0.000000, 6.750000, 0.000000;;, + 55;3; 0.000000, 6.750000,-0.000000;;, + 56;3; 0.000000, 6.750000, 0.000000;;, + 57;3; -0.000000, 6.750001,-0.000000;;, + 58;3; 0.000000, 6.750000, 0.000000;;, + 59;3; 0.000000, 6.750000, 0.000000;;, + 60;3; 0.000000, 6.750000, 0.000000;;, + 61;3; 0.000000, 6.750000, 0.000000;;, + 62;3; 0.000000, 6.750000, 0.000000;;, + 63;3; 0.000000, 6.750000,-0.000000;;, + 64;3; 0.000000, 6.750000, 0.000000;;, + 65;3; 0.000000, 6.750000, 0.000000;;, + 66;3; 0.000000, 6.750000, 0.000000;;, + 67;3; 0.000000, 6.750000, 0.000000;;, + 68;3; 0.000000, 6.750000, 0.000000;;, + 69;3; 0.000000, 6.750000,-0.000000;;, + 70;3; 0.000000, 6.750000,-0.000000;;, + 71;3; 0.000000, 6.750000,-0.000000;;, + 72;3; 0.000000, 6.750000,-0.000000;;, + 73;3; 0.000000, 6.749999, 0.000000;;, + 74;3; 0.000000, 6.750000, 0.000000;;, + 75;3; 0.000000, 6.750000, 0.000000;;, + 76;3; -0.000000, 6.750000,-0.000000;;, + 77;3; 0.000000, 6.750000, 0.000000;;, + 78;3; 0.000000, 6.750000,-0.000000;;, + 79;3; 0.000000, 6.750000, 0.000000;;, + 80;3; 0.000000, 6.750000, 0.000000;;, + 81;3; 0.000000, 6.750000,-0.000000;;, + 82;3; 0.000000, 6.750000, 0.000000;;, + 83;3; 0.000000, 6.750000,-0.000000;;, + 84;3; 0.000000, 6.750000, 0.000000;;, + 85;3; -0.000000, 6.750000,-0.000000;;, + 86;3; 0.000000, 6.750000, 0.000000;;, + 87;3; 0.000000, 6.750000,-0.000000;;, + 88;3; 0.000000, 6.750000, 0.000000;;, + 89;3; 0.000000, 6.750000,-0.000000;;, + 90;3; 0.000000, 6.750000,-0.000000;;, + 91;3; 0.000000, 6.750000, 0.000000;;, + 92;3; 0.000000, 6.750000,-0.000000;;, + 93;3; 0.000000, 6.750000,-0.000000;;, + 94;3; 0.000000, 6.750000,-0.000000;;, + 95;3; 0.000000, 6.750000, 0.000000;;, + 96;3; 0.000000, 6.750000,-0.000000;;, + 97;3; 0.000000, 6.750000, 0.000000;;, + 98;3; 0.000000, 6.750000, 0.000000;;, + 99;3; 0.000000, 6.750000,-0.000000;;, + 100;3; 0.000000, 6.750000, 0.000000;;, + 101;3; 0.000000, 6.750000, 0.000000;;, + 102;3; 0.000000, 6.750000,-0.000000;;, + 103;3; 0.000000, 6.750000, 0.000000;;, + 104;3; -0.000000, 6.750000, 0.000000;;, + 105;3; 0.000000, 6.750000, 0.000000;;, + 106;3; 0.000000, 6.750000, 0.000000;;, + 107;3; 0.000000, 6.750000,-0.000000;;, + 108;3; 0.000000, 6.750000, 0.000000;;, + 109;3; 0.000000, 6.750000, 0.000000;;, + 110;3; 0.000000, 6.750000,-0.000000;;, + 111;3; 0.000000, 6.750000,-0.000000;;, + 112;3; 0.000000, 6.750000,-0.000000;;, + 113;3; 0.000000, 6.750000,-0.000000;;, + 114;3; 0.000000, 6.750000, 0.000000;;, + 115;3; 0.000000, 6.750000, 0.000000;;, + 116;3; 0.000000, 6.750000, 0.000000;;, + 117;3; 0.000000, 6.750000,-0.000000;;, + 118;3; 0.000000, 6.750000,-0.000000;;, + 119;3; 0.000000, 6.750000,-0.000000;;, + 120;3; -0.000000, 6.750000, 0.000000;;, + 121;3; 0.000000, 6.750000,-0.000000;;, + 122;3; -0.000000, 6.750000,-0.000000;;, + 123;3; 0.000000, 6.750000,-0.000000;;, + 124;3; 0.000000, 6.750000, 0.000000;;, + 125;3; 0.000000, 6.750000,-0.000000;;, + 126;3; 0.000000, 6.750000, 0.000000;;, + 127;3; 0.000000, 6.750000,-0.000000;;, + 128;3; 0.000000, 6.750000, 0.000000;;, + 129;3; 0.000000, 6.750000,-0.000000;;, + 130;3; 0.000000, 6.750000,-0.000000;;, + 131;3; 0.000000, 6.750000,-0.000000;;, + 132;3; 0.000000, 6.750000,-0.000000;;, + 133;3; 0.000000, 6.750000, 0.000000;;, + 134;3; 0.000000, 6.750000,-0.000000;;, + 135;3; 0.000000, 6.750000, 0.000000;;, + 136;3; 0.000000, 6.750000, 0.000000;;, + 137;3; 0.000000, 6.750000, 0.000000;;, + 138;3; -0.000000, 6.750000, 0.000000;;, + 139;3; 0.000000, 6.750000,-0.000000;;, + 140;3; 0.000000, 6.750000,-0.000000;;, + 141;3; 0.000000, 6.750000, 0.000000;;, + 142;3; 0.000000, 6.750000, 0.000000;;, + 143;3; 0.000000, 6.750000,-0.000000;;, + 144;3; 0.000000, 6.750000, 0.000000;;, + 145;3; 0.000000, 6.750000, 0.000000;;, + 146;3; 0.000000, 6.750000, 0.000000;;, + 147;3; 0.000000, 6.750000,-0.000000;;, + 148;3; 0.000000, 6.750000, 0.000000;;, + 149;3; 0.000000, 6.750000, 0.000000;;, + 150;3; 0.000000, 6.750000,-0.000000;;, + 151;3; 0.000000, 6.750000,-0.000000;;, + 152;3; 0.000000, 6.750000,-0.000000;;, + 153;3; 0.000000, 6.750000,-0.000000;;, + 154;3; 0.000000, 6.750000,-0.000000;;, + 155;3; 0.000000, 6.750000,-0.000000;;, + 156;3; 0.000000, 6.750000,-0.000000;;, + 157;3; -0.000000, 6.750000, 0.000000;;, + 158;3; 0.000000, 6.750000, 0.000000;;, + 159;3; 0.000000, 6.750000,-0.000000;;, + 160;3; 0.000000, 6.750000, 0.000000;;, + 161;3; 0.000000, 6.750000,-0.000000;;, + 162;3; 0.000000, 6.750000, 0.000000;;, + 163;3; 0.000000, 6.750000, 0.000000;;, + 164;3; 0.000000, 6.750000, 0.000000;;, + 165;3; 0.000000, 6.750000, 0.000000;;, + 166;3; 0.000000, 6.750000, 0.000000;;, + 167;3; 0.000000, 6.750000, 0.000000;;, + 168;3; 0.000000, 6.750000, 0.000000;;, + 169;3; 0.000000, 6.750000, 0.000000;;, + 170;3; 0.000000, 6.750000, 0.000000;;, + 171;3; 0.000000, 6.750000, 0.000000;;, + 172;3; 0.000000, 6.750000, 0.000000;;, + 173;3; 0.000000, 6.750000, 0.000000;;, + 174;3; 0.000000, 6.750000, 0.000000;;, + 175;3; 0.000000, 6.750000, 0.000000;;, + 176;3; 0.000000, 6.750000, 0.000000;;, + 177;3; 0.000000, 6.750000, 0.000000;;, + 178;3; 0.000000, 6.750000, 0.000000;;, + 179;3; 0.000000, 6.750000, 0.000000;;, + 180;3; 0.000000, 6.750000, 0.000000;;, + 181;3; 0.000000, 6.750000, 0.000000;;, + 182;3; 0.000000, 6.750000, 0.000000;;, + 183;3; 0.000000, 6.750000, 0.000000;;, + 184;3; 0.000000, 6.750000, 0.000000;;, + 185;3; 0.000000, 6.750000, 0.000000;;, + 186;3; 0.000000, 6.750000, 0.000000;;, + 187;3; 0.000000, 6.750000, 0.000000;;, + 188;3; 0.000000, 6.750000, 0.000000;;, + 189;3; 0.000000, 6.750000, 0.000000;;, + 190;3; 0.000000, 6.750000,-0.000000;;, + 191;3; 0.000000, 6.750000, 0.000000;;, + 192;3; 0.000000, 6.749999,-0.000000;;, + 193;3; 0.000000, 6.750000, 0.000000;;, + 194;3; 0.000000, 6.750000, 0.000000;;, + 195;3; 0.000000, 6.750000, 0.000000;;, + 196;3; 0.000000, 6.749999, 0.000000;;, + 197;3; 0.000000, 6.750000, 0.000000;;, + 198;3; 0.000000, 6.750000, 0.000000;;, + 199;3; 0.000000, 6.750000, 0.000000;;, + 200;3; 0.000000, 6.750000, 0.000000;;, + 201;3; 0.000000, 6.750000, 0.000000;;, + 202;3; 0.000000, 6.750000,-0.000000;;, + 203;3; 0.000000, 6.750000, 0.000000;;, + 204;3; 0.000000, 6.750000, 0.000000;;, + 205;3; 0.000000, 6.750000, 0.000000;;, + 206;3; -0.000000, 6.750000, 0.000000;;, + 207;3; 0.000000, 6.750000, 0.000000;;, + 208;3; -0.000000, 6.750000, 0.000000;;, + 209;3; 0.000000, 6.750000,-0.000000;;, + 210;3; 0.000000, 6.750000, 0.000000;;, + 211;3; 0.000000, 6.750000,-0.000000;;, + 212;3; -0.000000, 6.750000, 0.000000;;, + 213;3; 0.000000, 6.750000, 0.000000;;, + 214;3; -0.000000, 6.750000, 0.000000;;, + 215;3; 0.000000, 6.750000, 0.000000;;, + 216;3; 0.000000, 6.750000, 0.000000;;, + 217;3; 0.000000, 6.749999, 0.000000;;, + 218;3; 0.000000, 6.750000, 0.000000;;, + 219;3; 0.000000, 6.750000, 0.000000;;, + 220;3; 0.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 1;4; -0.000120,-0.000005, 0.999993,-0.000240;;, + 2;4; -0.000483,-0.000021, 0.999974,-0.000967;;, + 3;4; -0.001090,-0.000048, 0.999941,-0.002181;;, + 4;4; -0.001937,-0.000085, 0.999894,-0.003876;;, + 5;4; -0.003014,-0.000132, 0.999835,-0.006030;;, + 6;4; -0.004301,-0.000188, 0.999765,-0.008607;;, + 7;4; -0.005773,-0.000252, 0.999685,-0.011553;;, + 8;4; -0.007394,-0.000323, 0.999596,-0.014795;;, + 9;4; -0.009118,-0.000398, 0.999502,-0.018246;;, + 10;4; -0.010897,-0.000476, 0.999405,-0.021804;;, + 11;4; -0.012675,-0.000553, 0.999308,-0.025363;;, + 12;4; -0.014400,-0.000629, 0.999214,-0.028814;;, + 13;4; -0.016021,-0.000699, 0.999126,-0.032056;;, + 14;4; -0.017493,-0.000764, 0.999045,-0.035002;;, + 15;4; -0.018780,-0.000820, 0.998975,-0.037578;;, + 16;4; -0.019857,-0.000867, 0.998916,-0.039733;;, + 17;4; -0.020704,-0.000904, 0.998870,-0.041427;;, + 18;4; -0.021311,-0.000930, 0.998837,-0.042642;;, + 19;4; -0.021674,-0.000946, 0.998817,-0.043369;;, + 20;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 21;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 22;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 23;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 24;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 25;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 26;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 27;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 28;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 29;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 30;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 31;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 32;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 33;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 34;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 35;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 36;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 37;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 38;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 39;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 40;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 41;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 42;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 43;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 44;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 45;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 46;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 47;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 48;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 49;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 50;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 51;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 52;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 53;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 54;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 55;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 56;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 57;4; 0.021108, 0.000922, 0.998870,-0.041427;;, + 58;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 59;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 60;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 61;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 62;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 63;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 64;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 65;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 66;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 67;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 68;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 69;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 70;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 71;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 72;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 73;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 74;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 75;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 76;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 77;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 78;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 79;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 80;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 81;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 82;4; -0.000815,-0.000036, 0.999956,-0.001631;;, + 83;4; -0.002152,-0.000094, 0.999883,-0.004305;;, + 84;4; -0.003631,-0.000159, 0.999802,-0.007266;;, + 85;4; -0.005161,-0.000225, 0.999718,-0.010327;;, + 86;4; -0.006701,-0.000293, 0.999634,-0.013408;;, + 87;4; -0.008226,-0.000359, 0.999551,-0.016461;;, + 88;4; -0.009723,-0.000425, 0.999469,-0.019456;;, + 89;4; -0.011179,-0.000488, 0.999390,-0.022368;;, + 90;4; -0.012583,-0.000549, 0.999313,-0.025178;;, + 91;4; -0.013928,-0.000608, 0.999240,-0.027869;;, + 92;4; -0.015204,-0.000664, 0.999170,-0.030422;;, + 93;4; -0.016402,-0.000716, 0.999105,-0.032820;;, + 94;4; -0.017514,-0.000765, 0.999044,-0.035045;;, + 95;4; -0.018529,-0.000809, 0.998989,-0.037076;;, + 96;4; -0.019436,-0.000849, 0.998939,-0.038890;;, + 97;4; -0.020221,-0.000883, 0.998896,-0.040461;;, + 98;4; -0.020870,-0.000911, 0.998861,-0.041759;;, + 99;4; -0.021364,-0.000933, 0.998834,-0.042748;;, + 100;4; -0.021681,-0.000947, 0.998817,-0.043383;;, + 101;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 102;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 103;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 104;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 105;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 106;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 107;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 108;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 109;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 110;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 111;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 112;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 113;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 114;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 115;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 116;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 117;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 118;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 119;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 120;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 121;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 122;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 123;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 124;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 125;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 126;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 127;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 128;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 129;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 130;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 131;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 132;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 133;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 134;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 135;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 136;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 137;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 138;4; 0.021109, 0.000922, 0.998870,-0.041427;;, + 139;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 140;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 141;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 142;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 143;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 144;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 145;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 146;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 147;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 148;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 149;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 150;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 151;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 152;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 153;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 154;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 155;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 156;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 157;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 158;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 159;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 160;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 161;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 162;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 163;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 164;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 165;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 166;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 167;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 168;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 169;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 170;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 171;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 172;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 173;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 174;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 175;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 176;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 177;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 178;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 179;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 180;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 181;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 182;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 183;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 184;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 185;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 186;4; -0.014798, 0.000000, 0.999677, 0.000000;;, + 187;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 188;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 189;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 190;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 191;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 192;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 193;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 194;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 195;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 196;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 197;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 198;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 199;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 200;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 201;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 202;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 203;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 204;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 205;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 206;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 207;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 208;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 209;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 210;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 211;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 212;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 213;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 214;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 215;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 216;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 217;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 218;4; -0.014799, 0.000000, 0.999677, 0.000000;;, + 219;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 220;4; 0.000000, 0.000000, 1.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -2.000000, 6.750000, 0.000000;;, + 1;3; -2.000000, 6.750000, 0.000000;;, + 2;3; -2.000000, 6.750000, 0.000000;;, + 3;3; -2.000000, 6.750000, 0.000000;;, + 4;3; -2.000000, 6.750000, 0.000000;;, + 5;3; -2.000000, 6.750000, 0.000000;;, + 6;3; -2.000000, 6.750000, 0.000000;;, + 7;3; -2.000000, 6.750000,-0.000000;;, + 8;3; -2.000000, 6.750000,-0.000000;;, + 9;3; -2.000000, 6.750000, 0.000000;;, + 10;3; -2.000000, 6.750000,-0.000000;;, + 11;3; -2.000000, 6.750000, 0.000000;;, + 12;3; -2.000000, 6.750000, 0.000000;;, + 13;3; -2.000000, 6.750000, 0.000000;;, + 14;3; -2.000000, 6.750000,-0.000000;;, + 15;3; -2.000000, 6.750000,-0.000000;;, + 16;3; -2.000000, 6.750000, 0.000000;;, + 17;3; -2.000000, 6.750001,-0.000000;;, + 18;3; -2.000000, 6.750000, 0.000000;;, + 19;3; -2.000000, 6.750000, 0.000000;;, + 20;3; -2.000000, 6.750000, 0.000000;;, + 21;3; -2.000000, 6.750000, 0.000000;;, + 22;3; -2.000000, 6.750000, 0.000000;;, + 23;3; -2.000000, 6.750001,-0.000000;;, + 24;3; -2.000000, 6.750000, 0.000000;;, + 25;3; -2.000000, 6.750000, 0.000000;;, + 26;3; -2.000000, 6.750000,-0.000000;;, + 27;3; -2.000000, 6.750000, 0.000000;;, + 28;3; -2.000000, 6.750000, 0.000000;;, + 29;3; -2.000000, 6.750000, 0.000000;;, + 30;3; -2.000000, 6.750000, 0.000000;;, + 31;3; -2.000000, 6.750000, 0.000000;;, + 32;3; -2.000000, 6.750000,-0.000000;;, + 33;3; -2.000000, 6.750000,-0.000000;;, + 34;3; -2.000000, 6.750000, 0.000000;;, + 35;3; -2.000000, 6.750000, 0.000000;;, + 36;3; -2.000000, 6.750000,-0.000000;;, + 37;3; -2.000000, 6.750000, 0.000000;;, + 38;3; -2.000000, 6.750000, 0.000000;;, + 39;3; -2.000000, 6.750000, 0.000000;;, + 40;3; -2.000000, 6.750000, 0.000000;;, + 41;3; -2.000000, 6.750000, 0.000000;;, + 42;3; -2.000000, 6.750000, 0.000000;;, + 43;3; -2.000000, 6.750000, 0.000000;;, + 44;3; -2.000000, 6.750000, 0.000000;;, + 45;3; -2.000000, 6.750000, 0.000000;;, + 46;3; -2.000000, 6.750000,-0.000000;;, + 47;3; -2.000000, 6.750000, 0.000000;;, + 48;3; -2.000000, 6.750000, 0.000000;;, + 49;3; -2.000000, 6.750000, 0.000000;;, + 50;3; -2.000000, 6.750000,-0.000000;;, + 51;3; -2.000000, 6.750000, 0.000000;;, + 52;3; -2.000000, 6.750000, 0.000000;;, + 53;3; -2.000000, 6.750000, 0.000000;;, + 54;3; -2.000000, 6.750000, 0.000000;;, + 55;3; -2.000000, 6.750000,-0.000000;;, + 56;3; -2.000000, 6.750000, 0.000000;;, + 57;3; -2.000000, 6.750001,-0.000000;;, + 58;3; -2.000000, 6.750000, 0.000000;;, + 59;3; -2.000000, 6.750000, 0.000000;;, + 60;3; -2.000000, 6.750000, 0.000000;;, + 61;3; -2.000000, 6.750000, 0.000000;;, + 62;3; -2.000000, 6.750000, 0.000000;;, + 63;3; -2.000000, 6.750000,-0.000000;;, + 64;3; -2.000000, 6.750000, 0.000000;;, + 65;3; -2.000000, 6.750000, 0.000000;;, + 66;3; -2.000000, 6.750000, 0.000000;;, + 67;3; -2.000000, 6.750000, 0.000000;;, + 68;3; -2.000000, 6.750000, 0.000000;;, + 69;3; -2.000000, 6.750000,-0.000000;;, + 70;3; -2.000000, 6.750000,-0.000000;;, + 71;3; -2.000000, 6.750000,-0.000000;;, + 72;3; -2.000000, 6.750000,-0.000000;;, + 73;3; -2.000000, 6.749999, 0.000000;;, + 74;3; -2.000000, 6.750000, 0.000000;;, + 75;3; -2.000000, 6.750000, 0.000000;;, + 76;3; -2.000000, 6.750000,-0.000000;;, + 77;3; -2.000000, 6.750000, 0.000000;;, + 78;3; -2.000000, 6.750000,-0.000000;;, + 79;3; -2.000000, 6.750000, 0.000000;;, + 80;3; -2.000000, 6.750000, 0.000000;;, + 81;3; -2.000000, 6.750000,-0.000000;;, + 82;3; -2.000000, 6.750000, 0.000000;;, + 83;3; -2.000000, 6.750000,-0.000000;;, + 84;3; -2.000000, 6.750000, 0.000000;;, + 85;3; -2.000000, 6.750000,-0.000000;;, + 86;3; -2.000000, 6.750000, 0.000000;;, + 87;3; -2.000000, 6.750000,-0.000000;;, + 88;3; -2.000000, 6.750000, 0.000000;;, + 89;3; -2.000000, 6.750000,-0.000000;;, + 90;3; -2.000000, 6.750000,-0.000000;;, + 91;3; -2.000000, 6.750000, 0.000000;;, + 92;3; -2.000000, 6.750000,-0.000000;;, + 93;3; -2.000000, 6.750000,-0.000000;;, + 94;3; -2.000000, 6.750000,-0.000000;;, + 95;3; -2.000000, 6.750000, 0.000000;;, + 96;3; -2.000000, 6.750000,-0.000000;;, + 97;3; -2.000000, 6.750000, 0.000000;;, + 98;3; -2.000000, 6.750000, 0.000000;;, + 99;3; -2.000000, 6.750000,-0.000000;;, + 100;3; -2.000000, 6.750000, 0.000000;;, + 101;3; -2.000000, 6.750000, 0.000000;;, + 102;3; -2.000000, 6.750000,-0.000000;;, + 103;3; -2.000000, 6.750000, 0.000000;;, + 104;3; -2.000000, 6.750000, 0.000000;;, + 105;3; -2.000000, 6.750000, 0.000000;;, + 106;3; -2.000000, 6.750000, 0.000000;;, + 107;3; -2.000000, 6.750000,-0.000000;;, + 108;3; -2.000000, 6.750000, 0.000000;;, + 109;3; -2.000000, 6.750000, 0.000000;;, + 110;3; -2.000000, 6.750000,-0.000000;;, + 111;3; -2.000000, 6.750000,-0.000000;;, + 112;3; -2.000000, 6.750000,-0.000000;;, + 113;3; -2.000000, 6.750000,-0.000000;;, + 114;3; -2.000000, 6.750000, 0.000000;;, + 115;3; -2.000000, 6.750000, 0.000000;;, + 116;3; -2.000000, 6.750000, 0.000000;;, + 117;3; -2.000000, 6.750000,-0.000000;;, + 118;3; -2.000000, 6.750000,-0.000000;;, + 119;3; -2.000000, 6.750000,-0.000000;;, + 120;3; -2.000000, 6.750000, 0.000000;;, + 121;3; -2.000000, 6.750000,-0.000000;;, + 122;3; -2.000000, 6.750000,-0.000000;;, + 123;3; -2.000000, 6.750000,-0.000000;;, + 124;3; -2.000000, 6.750000, 0.000000;;, + 125;3; -2.000000, 6.750000,-0.000000;;, + 126;3; -2.000000, 6.750000, 0.000000;;, + 127;3; -2.000000, 6.750000,-0.000000;;, + 128;3; -2.000000, 6.750000, 0.000000;;, + 129;3; -2.000000, 6.750000,-0.000000;;, + 130;3; -2.000000, 6.750000,-0.000000;;, + 131;3; -2.000000, 6.750000,-0.000000;;, + 132;3; -2.000000, 6.750000,-0.000000;;, + 133;3; -2.000000, 6.750000, 0.000000;;, + 134;3; -2.000000, 6.750000,-0.000000;;, + 135;3; -2.000000, 6.750000, 0.000000;;, + 136;3; -2.000000, 6.750000, 0.000000;;, + 137;3; -2.000000, 6.750000, 0.000000;;, + 138;3; -2.000000, 6.750000, 0.000000;;, + 139;3; -2.000000, 6.750000,-0.000000;;, + 140;3; -2.000000, 6.750000,-0.000000;;, + 141;3; -2.000000, 6.750000, 0.000000;;, + 142;3; -2.000000, 6.750000, 0.000000;;, + 143;3; -2.000000, 6.750000,-0.000000;;, + 144;3; -2.000000, 6.750000, 0.000000;;, + 145;3; -2.000000, 6.750000, 0.000000;;, + 146;3; -2.000000, 6.750000, 0.000000;;, + 147;3; -2.000000, 6.750000,-0.000000;;, + 148;3; -2.000000, 6.750000, 0.000000;;, + 149;3; -2.000000, 6.750000, 0.000000;;, + 150;3; -2.000000, 6.750000,-0.000000;;, + 151;3; -2.000000, 6.750000,-0.000000;;, + 152;3; -2.000000, 6.750000,-0.000000;;, + 153;3; -2.000000, 6.750000,-0.000000;;, + 154;3; -2.000000, 6.750000,-0.000000;;, + 155;3; -2.000000, 6.750000,-0.000000;;, + 156;3; -2.000000, 6.750000,-0.000000;;, + 157;3; -2.000000, 6.750000, 0.000000;;, + 158;3; -2.000000, 6.750000, 0.000000;;, + 159;3; -2.000000, 6.750000,-0.000000;;, + 160;3; -2.000000, 6.750000, 0.000000;;, + 161;3; -2.000000, 6.750000,-0.000000;;, + 162;3; -2.000000, 6.750000, 0.000000;;, + 163;3; -2.000000, 6.750000, 0.000000;;, + 164;3; -2.000000, 6.750000, 0.000000;;, + 165;3; -2.000000, 6.750000, 0.000000;;, + 166;3; -2.000000, 6.750000, 0.000000;;, + 167;3; -2.000000, 6.750000, 0.000000;;, + 168;3; -2.000000, 6.750000, 0.000000;;, + 169;3; -2.000000, 6.750000, 0.000000;;, + 170;3; -2.000000, 6.750000, 0.000000;;, + 171;3; -2.000000, 6.750000, 0.000000;;, + 172;3; -2.000000, 6.750000, 0.000000;;, + 173;3; -2.000000, 6.750000, 0.000000;;, + 174;3; -2.000000, 6.750000, 0.000000;;, + 175;3; -2.000000, 6.750000, 0.000000;;, + 176;3; -2.000000, 6.750000, 0.000000;;, + 177;3; -2.000000, 6.750000, 0.000000;;, + 178;3; -2.000000, 6.750000, 0.000000;;, + 179;3; -2.000000, 6.750000, 0.000000;;, + 180;3; -2.000000, 6.750000, 0.000000;;, + 181;3; -2.000000, 6.750000, 0.000000;;, + 182;3; -2.000000, 6.750000, 0.000000;;, + 183;3; -2.000000, 6.750000, 0.000000;;, + 184;3; -2.000000, 6.750000, 0.000000;;, + 185;3; -2.000000, 6.750000, 0.000000;;, + 186;3; -2.000000, 6.750000, 0.000000;;, + 187;3; -2.000000, 6.750000, 0.000000;;, + 188;3; -2.000000, 6.750000, 0.000000;;, + 189;3; -2.000000, 6.750000, 0.000000;;, + 190;3; -2.000000, 6.750000,-0.000000;;, + 191;3; -2.000000, 6.750000, 0.000000;;, + 192;3; -2.000000, 6.749999,-0.000000;;, + 193;3; -2.000000, 6.750000, 0.000000;;, + 194;3; -2.000000, 6.750000, 0.000000;;, + 195;3; -2.000000, 6.750000, 0.000000;;, + 196;3; -2.000000, 6.749999, 0.000000;;, + 197;3; -2.000000, 6.750000, 0.000000;;, + 198;3; -2.000000, 6.750000, 0.000000;;, + 199;3; -2.000000, 6.750000, 0.000000;;, + 200;3; -2.000000, 6.750000, 0.000000;;, + 201;3; -2.000000, 6.750000, 0.000000;;, + 202;3; -2.000000, 6.750000,-0.000000;;, + 203;3; -2.000000, 6.750000, 0.000000;;, + 204;3; -2.000000, 6.750000, 0.000000;;, + 205;3; -2.000000, 6.750000, 0.000000;;, + 206;3; -2.000000, 6.750000, 0.000000;;, + 207;3; -2.000000, 6.750000, 0.000000;;, + 208;3; -2.000000, 6.750000, 0.000000;;, + 209;3; -2.000000, 6.750000,-0.000000;;, + 210;3; -2.000000, 6.750000, 0.000000;;, + 211;3; -2.000000, 6.750000,-0.000000;;, + 212;3; -2.000000, 6.750000, 0.000000;;, + 213;3; -2.000000, 6.750000, 0.000000;;, + 214;3; -2.000000, 6.750000, 0.000000;;, + 215;3; -2.000000, 6.750000, 0.000000;;, + 216;3; -2.000000, 6.750000, 0.000000;;, + 217;3; -2.000000, 6.749999, 0.000000;;, + 218;3; -2.000000, 6.750000, 0.000000;;, + 219;3; -2.000000, 6.750000, 0.000000;;, + 220;3; -2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 1;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 2;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 3;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 4;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 5;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 6;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 7;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 8;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 9;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 10;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 11;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 12;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 13;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 14;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 15;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 16;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 17;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 18;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 19;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 20;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 21;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 22;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 23;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 24;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 25;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 26;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 27;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 28;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 29;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 30;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 31;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 32;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 33;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 34;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 35;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 36;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 37;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 38;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 39;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 40;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 41;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 42;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 43;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 44;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 45;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 46;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 47;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 48;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 49;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 50;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 51;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 52;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 53;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 54;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 55;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 56;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 57;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 58;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 59;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 60;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 61;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 62;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 63;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 64;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 65;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 66;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 67;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 68;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 69;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 70;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 71;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 72;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 73;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 74;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 75;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 76;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 77;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 78;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 79;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 80;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 81;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 82;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 83;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 84;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 85;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 86;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 87;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 88;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 89;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 90;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 91;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 92;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 93;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 94;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 95;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 96;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 97;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 98;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 99;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 100;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 101;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 102;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 103;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 104;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 105;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 106;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 107;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 108;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 109;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 110;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 111;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 112;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 113;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 114;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 115;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 116;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 117;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 118;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 119;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 120;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 121;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 122;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 123;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 124;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 125;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 126;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 127;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 128;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 129;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 130;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 131;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 132;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 133;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 134;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 135;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 136;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 137;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 138;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 139;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 140;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 141;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 142;4; 0.039128,-0.996207, 0.071506, 0.030336;;, + 143;4; 0.038651,-0.996223, 0.071514, 0.030100;;, + 144;4; 0.037905,-0.996248, 0.071527, 0.029733;;, + 145;4; 0.036918,-0.996281, 0.071543, 0.029250;;, + 146;4; 0.035716,-0.996321, 0.071563, 0.028665;;, + 147;4; 0.034318,-0.996367, 0.071586, 0.027990;;, + 148;4; 0.032740,-0.996419, 0.071612, 0.027232;;, + 149;4; 0.030996,-0.996475, 0.071641, 0.026401;;, + 150;4; 0.029097,-0.996535, 0.071672, 0.025504;;, + 151;4; 0.027052,-0.996600, 0.071706, 0.024547;;, + 152;4; 0.024869,-0.996668, 0.071742, 0.023537;;, + 153;4; 0.022553,-0.996739, 0.071780, 0.022479;;, + 154;4; 0.020108,-0.996813, 0.071820, 0.021379;;, + 155;4; 0.017538,-0.996888, 0.071862, 0.020245;;, + 156;4; 0.014842,-0.996965, 0.071906, 0.019082;;, + 157;4; 0.012018,-0.997043, 0.071951, 0.017902;;, + 158;4; 0.009059,-0.997120, 0.071998, 0.016718;;, + 159;4; 0.005950,-0.997194, 0.072048, 0.015556;;, + 160;4; 0.002652,-0.997260, 0.072099, 0.014470;;, + 161;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 162;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 163;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 164;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 165;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 166;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 167;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 168;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 169;4; -0.027462,-0.993490, 0.067048, 0.017181;;, + 170;4; -0.101886,-0.981969, 0.063627, 0.027024;;, + 171;4; -0.197381,-0.966977, 0.061971, 0.039667;;, + 172;4; -0.271737,-0.955241, 0.061528, 0.049515;;, + 173;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 174;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 175;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 176;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 177;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 178;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 179;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 180;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 181;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 182;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 183;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 184;4; 0.269932,-0.956166, 0.069894,-0.023278;;, + 185;4; 0.195505,-0.967469, 0.070514,-0.013118;;, + 186;4; 0.099930,-0.981983, 0.071311,-0.000073;;, + 187;4; 0.025468,-0.993286, 0.071932, 0.010085;;, + 188;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 189;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 190;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 191;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 192;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 193;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 194;4; -0.086100,-0.993249, 0.070709, 0.032302;;, + 195;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 196;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 197;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 198;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 199;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 200;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 201;4; -0.027408,-0.993189, 0.071207, 0.017185;;, + 202;4; -0.101825,-0.981613, 0.068544, 0.027028;;, + 203;4; -0.197342,-0.966749, 0.065124, 0.039670;;, + 204;4; -0.271725,-0.955173, 0.062460, 0.049516;;, + 205;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 206;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 207;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 208;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 209;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 210;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 211;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 212;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 213;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 214;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 215;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 216;4; 0.269943,-0.956166, 0.069894,-0.023277;;, + 217;4; 0.195568,-0.967469, 0.070514,-0.013114;;, + 218;4; 0.100029,-0.981982, 0.071310,-0.000067;;, + 219;4; 0.025516,-0.993286, 0.071931, 0.010088;;, + 220;4; -0.000978,-0.997299, 0.072152, 0.013690;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 2.000000, 6.750000, 0.000000;;, + 1;3; 2.000000, 6.750000, 0.000000;;, + 2;3; 2.000000, 6.750000, 0.000000;;, + 3;3; 2.000000, 6.750000, 0.000000;;, + 4;3; 2.000000, 6.750000, 0.000000;;, + 5;3; 2.000000, 6.750000, 0.000000;;, + 6;3; 2.000000, 6.750000, 0.000000;;, + 7;3; 2.000000, 6.750000,-0.000000;;, + 8;3; 2.000000, 6.750000,-0.000000;;, + 9;3; 2.000000, 6.750000, 0.000000;;, + 10;3; 2.000000, 6.750000,-0.000000;;, + 11;3; 2.000000, 6.750000, 0.000000;;, + 12;3; 2.000000, 6.750000, 0.000000;;, + 13;3; 2.000000, 6.750000, 0.000000;;, + 14;3; 2.000000, 6.750000,-0.000000;;, + 15;3; 2.000000, 6.750000,-0.000000;;, + 16;3; 2.000000, 6.750000, 0.000000;;, + 17;3; 2.000000, 6.750001,-0.000000;;, + 18;3; 2.000000, 6.750000, 0.000000;;, + 19;3; 2.000000, 6.750000, 0.000000;;, + 20;3; 2.000000, 6.750000, 0.000000;;, + 21;3; 2.000000, 6.750000, 0.000000;;, + 22;3; 2.000000, 6.750000, 0.000000;;, + 23;3; 2.000000, 6.750001,-0.000000;;, + 24;3; 2.000000, 6.750000, 0.000000;;, + 25;3; 2.000000, 6.750000, 0.000000;;, + 26;3; 2.000000, 6.750000,-0.000000;;, + 27;3; 2.000000, 6.750000, 0.000000;;, + 28;3; 2.000000, 6.750000, 0.000000;;, + 29;3; 2.000000, 6.750000, 0.000000;;, + 30;3; 2.000000, 6.750000, 0.000000;;, + 31;3; 2.000000, 6.750000, 0.000000;;, + 32;3; 2.000000, 6.750000,-0.000000;;, + 33;3; 2.000000, 6.750000,-0.000000;;, + 34;3; 2.000000, 6.750000, 0.000000;;, + 35;3; 2.000000, 6.750000, 0.000000;;, + 36;3; 2.000000, 6.750000,-0.000000;;, + 37;3; 2.000000, 6.750000, 0.000000;;, + 38;3; 2.000000, 6.750000, 0.000000;;, + 39;3; 2.000000, 6.750000, 0.000000;;, + 40;3; 2.000000, 6.750000, 0.000000;;, + 41;3; 2.000000, 6.750000, 0.000000;;, + 42;3; 2.000000, 6.750000, 0.000000;;, + 43;3; 2.000000, 6.750000, 0.000000;;, + 44;3; 2.000000, 6.750000, 0.000000;;, + 45;3; 2.000000, 6.750000, 0.000000;;, + 46;3; 2.000000, 6.750000,-0.000000;;, + 47;3; 2.000000, 6.750000, 0.000000;;, + 48;3; 2.000000, 6.750000, 0.000000;;, + 49;3; 2.000000, 6.750000, 0.000000;;, + 50;3; 2.000000, 6.750000,-0.000000;;, + 51;3; 2.000000, 6.750000, 0.000000;;, + 52;3; 2.000000, 6.750000, 0.000000;;, + 53;3; 2.000000, 6.750000, 0.000000;;, + 54;3; 2.000000, 6.750000, 0.000000;;, + 55;3; 2.000000, 6.750000,-0.000000;;, + 56;3; 2.000000, 6.750000, 0.000000;;, + 57;3; 2.000000, 6.750001,-0.000000;;, + 58;3; 2.000000, 6.750000, 0.000000;;, + 59;3; 2.000000, 6.750000, 0.000000;;, + 60;3; 2.000000, 6.750000, 0.000000;;, + 61;3; 2.000000, 6.750000, 0.000000;;, + 62;3; 2.000000, 6.750000, 0.000000;;, + 63;3; 2.000000, 6.750000,-0.000000;;, + 64;3; 2.000000, 6.750000, 0.000000;;, + 65;3; 2.000000, 6.750000, 0.000000;;, + 66;3; 2.000000, 6.750000, 0.000000;;, + 67;3; 2.000000, 6.750000, 0.000000;;, + 68;3; 2.000000, 6.750000, 0.000000;;, + 69;3; 2.000000, 6.750000,-0.000000;;, + 70;3; 2.000000, 6.750000,-0.000000;;, + 71;3; 2.000000, 6.750000,-0.000000;;, + 72;3; 2.000000, 6.750000,-0.000000;;, + 73;3; 2.000000, 6.749999, 0.000000;;, + 74;3; 2.000000, 6.750000, 0.000000;;, + 75;3; 2.000000, 6.750000, 0.000000;;, + 76;3; 2.000000, 6.750000,-0.000000;;, + 77;3; 2.000000, 6.750000, 0.000000;;, + 78;3; 2.000000, 6.750000,-0.000000;;, + 79;3; 2.000000, 6.750000, 0.000000;;, + 80;3; 2.000000, 6.750000, 0.000000;;, + 81;3; 2.000000, 6.750000,-0.000000;;, + 82;3; 2.000000, 6.750000, 0.000000;;, + 83;3; 2.000000, 6.750000,-0.000000;;, + 84;3; 2.000000, 6.750000, 0.000000;;, + 85;3; 2.000000, 6.750000,-0.000000;;, + 86;3; 2.000000, 6.750000, 0.000000;;, + 87;3; 2.000000, 6.750000,-0.000000;;, + 88;3; 2.000000, 6.750000, 0.000000;;, + 89;3; 2.000000, 6.750000,-0.000000;;, + 90;3; 2.000000, 6.750000,-0.000000;;, + 91;3; 2.000000, 6.750000, 0.000000;;, + 92;3; 2.000000, 6.750000,-0.000000;;, + 93;3; 2.000000, 6.750000,-0.000000;;, + 94;3; 2.000000, 6.750000,-0.000000;;, + 95;3; 2.000000, 6.750000, 0.000000;;, + 96;3; 2.000000, 6.750000,-0.000000;;, + 97;3; 2.000000, 6.750000, 0.000000;;, + 98;3; 2.000000, 6.750000, 0.000000;;, + 99;3; 2.000000, 6.750000,-0.000000;;, + 100;3; 2.000000, 6.750000, 0.000000;;, + 101;3; 2.000000, 6.750000, 0.000000;;, + 102;3; 2.000000, 6.750000,-0.000000;;, + 103;3; 2.000000, 6.750000, 0.000000;;, + 104;3; 2.000000, 6.750000, 0.000000;;, + 105;3; 2.000000, 6.750000, 0.000000;;, + 106;3; 2.000000, 6.750000, 0.000000;;, + 107;3; 2.000000, 6.750000,-0.000000;;, + 108;3; 2.000000, 6.750000, 0.000000;;, + 109;3; 2.000000, 6.750000, 0.000000;;, + 110;3; 2.000000, 6.750000,-0.000000;;, + 111;3; 2.000000, 6.750000,-0.000000;;, + 112;3; 2.000000, 6.750000,-0.000000;;, + 113;3; 2.000000, 6.750000,-0.000000;;, + 114;3; 2.000000, 6.750000, 0.000000;;, + 115;3; 2.000000, 6.750000, 0.000000;;, + 116;3; 2.000000, 6.750000, 0.000000;;, + 117;3; 2.000000, 6.750000,-0.000000;;, + 118;3; 2.000000, 6.750000,-0.000000;;, + 119;3; 2.000000, 6.750000,-0.000000;;, + 120;3; 2.000000, 6.750000, 0.000000;;, + 121;3; 2.000000, 6.750000,-0.000000;;, + 122;3; 2.000000, 6.750000,-0.000000;;, + 123;3; 2.000000, 6.750000,-0.000000;;, + 124;3; 2.000000, 6.750000, 0.000000;;, + 125;3; 2.000000, 6.750000,-0.000000;;, + 126;3; 2.000000, 6.750000, 0.000000;;, + 127;3; 2.000000, 6.750000,-0.000000;;, + 128;3; 2.000000, 6.750000, 0.000000;;, + 129;3; 2.000000, 6.750000,-0.000000;;, + 130;3; 2.000000, 6.750000,-0.000000;;, + 131;3; 2.000000, 6.750000,-0.000000;;, + 132;3; 2.000000, 6.750000,-0.000000;;, + 133;3; 2.000000, 6.750000, 0.000000;;, + 134;3; 2.000000, 6.750000,-0.000000;;, + 135;3; 2.000000, 6.750000, 0.000000;;, + 136;3; 2.000000, 6.750000, 0.000000;;, + 137;3; 2.000000, 6.750000, 0.000000;;, + 138;3; 2.000000, 6.750000, 0.000000;;, + 139;3; 2.000000, 6.750000,-0.000000;;, + 140;3; 2.000000, 6.750000,-0.000000;;, + 141;3; 2.000000, 6.750000, 0.000000;;, + 142;3; 2.000000, 6.750000, 0.000000;;, + 143;3; 2.000000, 6.750000,-0.000000;;, + 144;3; 2.000000, 6.750000, 0.000000;;, + 145;3; 2.000000, 6.750000, 0.000000;;, + 146;3; 2.000000, 6.750000, 0.000000;;, + 147;3; 2.000000, 6.750000,-0.000000;;, + 148;3; 2.000000, 6.750000, 0.000000;;, + 149;3; 2.000000, 6.750000, 0.000000;;, + 150;3; 2.000000, 6.750000,-0.000000;;, + 151;3; 2.000000, 6.750000,-0.000000;;, + 152;3; 2.000000, 6.750000,-0.000000;;, + 153;3; 2.000000, 6.750000,-0.000000;;, + 154;3; 2.000000, 6.750000,-0.000000;;, + 155;3; 2.000000, 6.750000,-0.000000;;, + 156;3; 2.000000, 6.750000,-0.000000;;, + 157;3; 2.000000, 6.750000, 0.000000;;, + 158;3; 2.000000, 6.750000, 0.000000;;, + 159;3; 2.000000, 6.750000,-0.000000;;, + 160;3; 2.000000, 6.750000, 0.000000;;, + 161;3; 2.000000, 6.750000,-0.000000;;, + 162;3; 2.000000, 6.750000, 0.000000;;, + 163;3; 2.000000, 6.750000, 0.000000;;, + 164;3; 2.000000, 6.750000, 0.000000;;, + 165;3; 2.000000, 6.750000, 0.000000;;, + 166;3; 2.000000, 6.750000, 0.000000;;, + 167;3; 2.000000, 6.750000, 0.000000;;, + 168;3; 2.000000, 6.750000, 0.000000;;, + 169;3; 2.000000, 6.750000, 0.000000;;, + 170;3; 2.000000, 6.750000, 0.000000;;, + 171;3; 2.000000, 6.750000, 0.000000;;, + 172;3; 2.000000, 6.750000, 0.000000;;, + 173;3; 2.000000, 6.750000, 0.000000;;, + 174;3; 2.000000, 6.750000, 0.000000;;, + 175;3; 2.000000, 6.750000, 0.000000;;, + 176;3; 2.000000, 6.750000, 0.000000;;, + 177;3; 2.000000, 6.750000, 0.000000;;, + 178;3; 2.000000, 6.750000, 0.000000;;, + 179;3; 2.000000, 6.750000, 0.000000;;, + 180;3; 2.000000, 6.750000, 0.000000;;, + 181;3; 2.000000, 6.750000, 0.000000;;, + 182;3; 2.000000, 6.750000, 0.000000;;, + 183;3; 2.000000, 6.750000, 0.000000;;, + 184;3; 2.000000, 6.750000, 0.000000;;, + 185;3; 2.000000, 6.750000, 0.000000;;, + 186;3; 2.000000, 6.750000, 0.000000;;, + 187;3; 2.000000, 6.750000, 0.000000;;, + 188;3; 2.000000, 6.750000, 0.000000;;, + 189;3; 2.000000, 6.750000, 0.000000;;, + 190;3; 2.000000, 6.750000,-0.000000;;, + 191;3; 2.000000, 6.750000, 0.000000;;, + 192;3; 2.000000, 6.749999,-0.000000;;, + 193;3; 2.000000, 6.750000, 0.000000;;, + 194;3; 2.000000, 6.750000, 0.000000;;, + 195;3; 2.000000, 6.750000, 0.000000;;, + 196;3; 2.000000, 6.749999, 0.000000;;, + 197;3; 2.000000, 6.750000, 0.000000;;, + 198;3; 2.000000, 6.750000, 0.000000;;, + 199;3; 2.000000, 6.750000, 0.000000;;, + 200;3; 2.000000, 6.750000, 0.000000;;, + 201;3; 2.000000, 6.750000, 0.000000;;, + 202;3; 2.000000, 6.750000,-0.000000;;, + 203;3; 2.000000, 6.750000, 0.000000;;, + 204;3; 2.000000, 6.750000, 0.000000;;, + 205;3; 2.000000, 6.750000, 0.000000;;, + 206;3; 2.000000, 6.750000, 0.000000;;, + 207;3; 2.000000, 6.750000, 0.000000;;, + 208;3; 2.000000, 6.750000, 0.000000;;, + 209;3; 2.000000, 6.750000,-0.000000;;, + 210;3; 2.000000, 6.750000, 0.000000;;, + 211;3; 2.000000, 6.750000,-0.000000;;, + 212;3; 2.000000, 6.750000, 0.000000;;, + 213;3; 2.000000, 6.750000, 0.000000;;, + 214;3; 2.000000, 6.750000, 0.000000;;, + 215;3; 2.000000, 6.750000, 0.000000;;, + 216;3; 2.000000, 6.750000, 0.000000;;, + 217;3; 2.000000, 6.749999, 0.000000;;, + 218;3; 2.000000, 6.750000, 0.000000;;, + 219;3; 2.000000, 6.750000, 0.000000;;, + 220;3; 2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 1;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 2;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 3;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 4;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 5;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 6;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 7;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 8;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 9;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 10;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 11;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 12;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 13;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 14;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 15;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 16;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 17;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 18;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 19;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 20;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 21;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 22;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 23;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 24;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 25;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 26;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 27;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 28;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 29;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 30;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 31;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 32;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 33;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 34;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 35;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 36;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 37;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 38;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 39;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 40;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 41;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 42;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 43;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 44;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 45;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 46;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 47;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 48;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 49;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 50;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 51;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 52;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 53;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 54;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 55;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 56;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 57;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 58;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 59;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 60;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 61;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 62;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 63;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 64;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 65;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 66;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 67;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 68;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 69;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 70;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 71;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 72;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 73;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 74;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 75;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 76;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 77;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 78;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 79;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 80;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 81;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 82;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 83;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 84;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 85;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 86;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 87;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 88;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 89;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 90;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 91;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 92;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 93;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 94;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 95;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 96;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 97;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 98;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 99;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 100;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 101;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 102;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 103;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 104;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 105;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 106;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 107;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 108;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 109;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 110;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 111;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 112;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 113;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 114;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 115;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 116;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 117;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 118;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 119;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 120;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 121;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 122;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 123;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 124;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 125;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 126;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 127;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 128;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 129;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 130;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 131;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 132;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 133;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 134;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 135;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 136;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 137;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 138;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 139;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 140;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 141;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 142;4; 0.039128,-0.996207,-0.071506,-0.030336;;, + 143;4; 0.038651,-0.996223,-0.071514,-0.030100;;, + 144;4; 0.037905,-0.996248,-0.071527,-0.029733;;, + 145;4; 0.036918,-0.996281,-0.071543,-0.029250;;, + 146;4; 0.035716,-0.996321,-0.071563,-0.028665;;, + 147;4; 0.034318,-0.996367,-0.071586,-0.027990;;, + 148;4; 0.032740,-0.996419,-0.071612,-0.027232;;, + 149;4; 0.030996,-0.996475,-0.071641,-0.026401;;, + 150;4; 0.029097,-0.996535,-0.071672,-0.025504;;, + 151;4; 0.027052,-0.996600,-0.071706,-0.024547;;, + 152;4; 0.024869,-0.996668,-0.071742,-0.023537;;, + 153;4; 0.022553,-0.996739,-0.071780,-0.022479;;, + 154;4; 0.020108,-0.996813,-0.071820,-0.021379;;, + 155;4; 0.017538,-0.996888,-0.071862,-0.020245;;, + 156;4; 0.014842,-0.996965,-0.071906,-0.019082;;, + 157;4; 0.012018,-0.997043,-0.071951,-0.017902;;, + 158;4; 0.009059,-0.997120,-0.071998,-0.016718;;, + 159;4; 0.005950,-0.997194,-0.072048,-0.015556;;, + 160;4; 0.002652,-0.997260,-0.072099,-0.014470;;, + 161;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 162;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 163;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 164;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 165;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 166;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 167;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 168;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 169;4; 0.036347,-0.993296,-0.071786,-0.010872;;, + 170;4; 0.112807,-0.981995,-0.071141,-0.000858;;, + 171;4; 0.203776,-0.967477,-0.070406, 0.012520;;, + 172;4; 0.272381,-0.956168,-0.069861, 0.023101;;, + 173;4; 0.296358,-0.952153,-0.069674, 0.026885;;, + 174;4; 0.279517,-0.956183,-0.070026, 0.024568;;, + 175;4; 0.227918,-0.967529,-0.070960, 0.017477;;, + 176;4; 0.150414,-0.982075,-0.072004, 0.006858;;, + 177;4; 0.068097,-0.993364,-0.072517,-0.004357;;, + 178;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 179;4; -0.070037,-0.993111,-0.070622,-0.022912;;, + 180;4; -0.152309,-0.981521,-0.067851,-0.033813;;, + 181;4; -0.229756,-0.966690,-0.064679,-0.044029;;, + 182;4; -0.281310,-0.955156,-0.062329,-0.050806;;, + 183;4; -0.298135,-0.951063,-0.061515,-0.053011;;, + 184;4; -0.272259,-0.955140,-0.062465,-0.049482;;, + 185;4; -0.200471,-0.966555,-0.065152,-0.039474;;, + 186;4; -0.106835,-0.981308,-0.068589,-0.026713;;, + 187;4; -0.029968,-0.993038,-0.071230,-0.017022;;, + 188;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 189;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 190;4; -0.803181,-0.565890, 0.021820,-0.111185;;, + 191;4; -0.718113,-0.648332, 0.010762,-0.086701;;, + 192;4; -0.614352,-0.752504,-0.003387,-0.054936;;, + 193;4; -0.534771,-0.833228,-0.014392,-0.030125;;, + 194;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 195;4; -0.535294,-0.833114,-0.014391,-0.030093;;, + 196;4; -0.617412,-0.751837,-0.003378,-0.054751;;, + 197;4; -0.723024,-0.647281, 0.010774,-0.086403;;, + 198;4; -0.805700,-0.565371, 0.021825,-0.111030;;, + 199;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 200;4; -0.538708,-0.840711,-0.006527,-0.054376;;, + 201;4; -0.565312,-0.813349,-0.003640,-0.060174;;, + 202;4; -0.639811,-0.736783, 0.004462,-0.076531;;, + 203;4; -0.734947,-0.639071, 0.014829,-0.097562;;, + 204;4; -0.808914,-0.563118, 0.022894,-0.113949;;, + 205;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 206;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 207;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 208;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 209;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 210;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 211;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 212;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 213;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 214;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 215;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 216;4; -0.808873,-0.563165, 0.022891,-0.113952;;, + 217;4; -0.734703,-0.639351, 0.014812,-0.097576;;, + 218;4; -0.639430,-0.737222, 0.004436,-0.076552;;, + 219;4; -0.565126,-0.813563,-0.003653,-0.060185;;, + 220;4; -0.538708,-0.840711,-0.006527,-0.054376;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 1.000000, 0.000000,-0.000001;;, + 1;3; 1.000000,-0.000000,-0.000001;;, + 2;3; 1.000000,-0.000000,-0.000001;;, + 3;3; 1.000000,-0.000000,-0.000001;;, + 4;3; 1.000000,-0.000000,-0.000001;;, + 5;3; 1.000000,-0.000000,-0.000001;;, + 6;3; 1.000000,-0.000000,-0.000001;;, + 7;3; 1.000000,-0.000000,-0.000001;;, + 8;3; 1.000000,-0.000000,-0.000001;;, + 9;3; 1.000000,-0.000000,-0.000001;;, + 10;3; 1.000000,-0.000000,-0.000000;;, + 11;3; 1.000000,-0.000000,-0.000000;;, + 12;3; 1.000000,-0.000000,-0.000000;;, + 13;3; 1.000000,-0.000000,-0.000000;;, + 14;3; 1.000000,-0.000000,-0.000000;;, + 15;3; 1.000000,-0.000000,-0.000001;;, + 16;3; 1.000000,-0.000000,-0.000001;;, + 17;3; 1.000000,-0.000000,-0.000001;;, + 18;3; 1.000000,-0.000000,-0.000001;;, + 19;3; 1.000000,-0.000000,-0.000001;;, + 20;3; 1.000000,-0.000000,-0.000001;;, + 21;3; 1.000000,-0.000000,-0.000001;;, + 22;3; 1.000000,-0.000000,-0.000000;;, + 23;3; 1.000000,-0.000000,-0.000001;;, + 24;3; 1.000000,-0.000000,-0.000001;;, + 25;3; 1.000000,-0.000000,-0.000001;;, + 26;3; 1.000000,-0.000000,-0.000000;;, + 27;3; 1.000000,-0.000000,-0.000000;;, + 28;3; 1.000000,-0.000000,-0.000000;;, + 29;3; 1.000000,-0.000000,-0.000000;;, + 30;3; 1.000000,-0.000000,-0.000000;;, + 31;3; 1.000000,-0.000000,-0.000001;;, + 32;3; 1.000000,-0.000000,-0.000001;;, + 33;3; 1.000000,-0.000000,-0.000001;;, + 34;3; 1.000000,-0.000000,-0.000001;;, + 35;3; 1.000000,-0.000000,-0.000001;;, + 36;3; 1.000000,-0.000000,-0.000001;;, + 37;3; 1.000000,-0.000000,-0.000001;;, + 38;3; 1.000000,-0.000000,-0.000001;;, + 39;3; 1.000000,-0.000000,-0.000001;;, + 40;3; 1.000000, 0.000000,-0.000001;;, + 41;3; 1.000000,-0.000000,-0.000001;;, + 42;3; 1.000000,-0.000000,-0.000001;;, + 43;3; 1.000000,-0.000000,-0.000001;;, + 44;3; 1.000000,-0.000000,-0.000001;;, + 45;3; 1.000000,-0.000000,-0.000001;;, + 46;3; 1.000000,-0.000000,-0.000001;;, + 47;3; 1.000000,-0.000000,-0.000001;;, + 48;3; 1.000000,-0.000000,-0.000001;;, + 49;3; 1.000000,-0.000000,-0.000001;;, + 50;3; 1.000000,-0.000000,-0.000000;;, + 51;3; 1.000000,-0.000000,-0.000000;;, + 52;3; 1.000000,-0.000000,-0.000000;;, + 53;3; 1.000000,-0.000000,-0.000000;;, + 54;3; 1.000000,-0.000000,-0.000000;;, + 55;3; 1.000000,-0.000000,-0.000001;;, + 56;3; 1.000000,-0.000000,-0.000001;;, + 57;3; 1.000000,-0.000000,-0.000001;;, + 58;3; 1.000000,-0.000000,-0.000001;;, + 59;3; 1.000000,-0.000000,-0.000001;;, + 60;3; 1.000000,-0.000000,-0.000001;;, + 61;3; 1.000000,-0.000000,-0.000001;;, + 62;3; 1.000000,-0.000000,-0.000001;;, + 63;3; 1.000000,-0.000000,-0.000001;;, + 64;3; 1.000000,-0.000000,-0.000001;;, + 65;3; 1.000000,-0.000000,-0.000001;;, + 66;3; 1.000000,-0.000000,-0.000001;;, + 67;3; 1.000000,-0.000000,-0.000000;;, + 68;3; 1.000000,-0.000000,-0.000000;;, + 69;3; 1.000000,-0.000000,-0.000000;;, + 70;3; 1.000000,-0.000000,-0.000000;;, + 71;3; 1.000000,-0.000000,-0.000000;;, + 72;3; 1.000000,-0.000000,-0.000000;;, + 73;3; 1.000000,-0.000000,-0.000000;;, + 74;3; 1.000000,-0.000000,-0.000001;;, + 75;3; 1.000000,-0.000000,-0.000001;;, + 76;3; 1.000000,-0.000000,-0.000001;;, + 77;3; 1.000000,-0.000000,-0.000001;;, + 78;3; 1.000000,-0.000000,-0.000001;;, + 79;3; 1.000000,-0.000000,-0.000001;;, + 80;3; 1.000000, 0.000000,-0.000001;;, + 81;3; 1.000000, 0.000000,-0.000001;;, + 82;3; 1.000000,-0.000000,-0.000001;;, + 83;3; 1.000000,-0.000000,-0.000001;;, + 84;3; 1.000000,-0.000000,-0.000001;;, + 85;3; 1.000000,-0.000000,-0.000001;;, + 86;3; 1.000000,-0.000000,-0.000001;;, + 87;3; 1.000000,-0.000000,-0.000001;;, + 88;3; 1.000000,-0.000000,-0.000001;;, + 89;3; 1.000000,-0.000000,-0.000001;;, + 90;3; 1.000000,-0.000000,-0.000001;;, + 91;3; 1.000000,-0.000000,-0.000001;;, + 92;3; 1.000000,-0.000000,-0.000001;;, + 93;3; 1.000000,-0.000000,-0.000001;;, + 94;3; 1.000000,-0.000000,-0.000001;;, + 95;3; 1.000000,-0.000000,-0.000001;;, + 96;3; 1.000000,-0.000000,-0.000001;;, + 97;3; 1.000000,-0.000000,-0.000001;;, + 98;3; 1.000000,-0.000000,-0.000001;;, + 99;3; 1.000000,-0.000000,-0.000001;;, + 100;3; 1.000000,-0.000000,-0.000001;;, + 101;3; 1.000000,-0.000000,-0.000001;;, + 102;3; 1.000000,-0.000000,-0.000001;;, + 103;3; 1.000000,-0.000000,-0.000001;;, + 104;3; 1.000000,-0.000000,-0.000001;;, + 105;3; 1.000000,-0.000000,-0.000001;;, + 106;3; 1.000000,-0.000000,-0.000001;;, + 107;3; 1.000000,-0.000000,-0.000001;;, + 108;3; 1.000000,-0.000000,-0.000001;;, + 109;3; 1.000000,-0.000000,-0.000001;;, + 110;3; 1.000000,-0.000000,-0.000001;;, + 111;3; 1.000000,-0.000000,-0.000001;;, + 112;3; 1.000000,-0.000000,-0.000001;;, + 113;3; 1.000000,-0.000000,-0.000001;;, + 114;3; 1.000000,-0.000000,-0.000001;;, + 115;3; 1.000000,-0.000000,-0.000001;;, + 116;3; 1.000000,-0.000000,-0.000001;;, + 117;3; 1.000000,-0.000000,-0.000001;;, + 118;3; 1.000000,-0.000000,-0.000001;;, + 119;3; 1.000000,-0.000000,-0.000001;;, + 120;3; 1.000000,-0.000000,-0.000001;;, + 121;3; 1.000000, 0.000000,-0.000001;;, + 122;3; 1.000000,-0.000000,-0.000001;;, + 123;3; 1.000000,-0.000000,-0.000001;;, + 124;3; 1.000000,-0.000000,-0.000001;;, + 125;3; 1.000000,-0.000000,-0.000001;;, + 126;3; 1.000000,-0.000000,-0.000001;;, + 127;3; 1.000000,-0.000000,-0.000001;;, + 128;3; 1.000000,-0.000000,-0.000001;;, + 129;3; 1.000000,-0.000000,-0.000001;;, + 130;3; 1.000000,-0.000000,-0.000001;;, + 131;3; 1.000000,-0.000000,-0.000001;;, + 132;3; 1.000000,-0.000000,-0.000001;;, + 133;3; 1.000000,-0.000000,-0.000001;;, + 134;3; 1.000000,-0.000000,-0.000001;;, + 135;3; 1.000000,-0.000000,-0.000001;;, + 136;3; 1.000000,-0.000000,-0.000001;;, + 137;3; 1.000000,-0.000000,-0.000001;;, + 138;3; 1.000000,-0.000000,-0.000001;;, + 139;3; 1.000000,-0.000000,-0.000001;;, + 140;3; 1.000000,-0.000000,-0.000001;;, + 141;3; 1.000000,-0.000000,-0.000001;;, + 142;3; 1.000000,-0.000000,-0.000001;;, + 143;3; 1.000000,-0.000000,-0.000001;;, + 144;3; 1.000000,-0.000000,-0.000001;;, + 145;3; 1.000000,-0.000000,-0.000001;;, + 146;3; 1.000000,-0.000000,-0.000001;;, + 147;3; 1.000000,-0.000000,-0.000001;;, + 148;3; 1.000000,-0.000000,-0.000001;;, + 149;3; 1.000000,-0.000000,-0.000001;;, + 150;3; 1.000000,-0.000000,-0.000001;;, + 151;3; 1.000000,-0.000000,-0.000001;;, + 152;3; 1.000000,-0.000000,-0.000001;;, + 153;3; 1.000000,-0.000000,-0.000001;;, + 154;3; 1.000000,-0.000000,-0.000001;;, + 155;3; 1.000000,-0.000000,-0.000001;;, + 156;3; 1.000000,-0.000000,-0.000001;;, + 157;3; 1.000000,-0.000000,-0.000001;;, + 158;3; 1.000000,-0.000000,-0.000001;;, + 159;3; 1.000000,-0.000000,-0.000001;;, + 160;3; 1.000000,-0.000000,-0.000001;;, + 161;3; 1.000000, 0.000000,-0.000001;;, + 162;3; 1.000000,-0.000000,-0.000000;;, + 163;3; 1.000000,-0.000000,-0.000000;;, + 164;3; 1.000000,-0.000000,-0.000000;;, + 165;3; 1.000000,-0.000000,-0.000000;;, + 166;3; 1.000000,-0.000000,-0.000000;;, + 167;3; 1.000000,-0.000000,-0.000000;;, + 168;3; 1.000000, 0.000000,-0.000001;;, + 169;3; 1.000000, 0.000000,-0.000001;;, + 170;3; 1.000000, 0.000000,-0.000001;;, + 171;3; 1.000000, 0.000000,-0.000001;;, + 172;3; 1.000000, 0.000000,-0.000001;;, + 173;3; 1.000000, 0.000000,-0.000001;;, + 174;3; 1.000000, 0.000000,-0.000001;;, + 175;3; 1.000000, 0.000000,-0.000001;;, + 176;3; 1.000000, 0.000000,-0.000001;;, + 177;3; 1.000000, 0.000000,-0.000001;;, + 178;3; 1.000000, 0.000000,-0.000001;;, + 179;3; 1.000000, 0.000000,-0.000001;;, + 180;3; 1.000000, 0.000000,-0.000001;;, + 181;3; 1.000000, 0.000000,-0.000001;;, + 182;3; 1.000000, 0.000000,-0.000001;;, + 183;3; 1.000000, 0.000000,-0.000001;;, + 184;3; 1.000000, 0.000000,-0.000001;;, + 185;3; 1.000000, 0.000000,-0.000001;;, + 186;3; 1.000000, 0.000000,-0.000001;;, + 187;3; 1.000000, 0.000000,-0.000001;;, + 188;3; 1.000000, 0.000000,-0.000001;;, + 189;3; 1.000000, 0.000000,-0.000001;;, + 190;3; 1.000000, 0.000000,-0.000001;;, + 191;3; 1.000000, 0.000000,-0.000001;;, + 192;3; 1.000000, 0.000000,-0.000000;;, + 193;3; 1.000000, 0.000000,-0.000001;;, + 194;3; 1.000000, 0.000000,-0.000001;;, + 195;3; 1.000000, 0.000000,-0.000001;;, + 196;3; 1.000000, 0.000000,-0.000000;;, + 197;3; 1.000000, 0.000000,-0.000001;;, + 198;3; 1.000000, 0.000000,-0.000001;;, + 199;3; 1.000000, 0.000000,-0.000001;;, + 200;3; 1.000000, 0.000000,-0.000001;;, + 201;3; 1.000000,-0.000000,-0.000001;;, + 202;3; 1.000000,-0.000000,-0.000001;;, + 203;3; 1.000000,-0.000000,-0.000000;;, + 204;3; 1.000000,-0.000000,-0.000001;;, + 205;3; 1.000000,-0.000000,-0.000001;;, + 206;3; 1.000000,-0.000000,-0.000000;;, + 207;3; 1.000000,-0.000000,-0.000001;;, + 208;3; 1.000000, 0.000000,-0.000000;;, + 209;3; 1.000000, 0.000000,-0.000000;;, + 210;3; 1.000000, 0.000000,-0.000001;;, + 211;3; 1.000000, 0.000000,-0.000000;;, + 212;3; 1.000000, 0.000000,-0.000000;;, + 213;3; 1.000000,-0.000000,-0.000001;;, + 214;3; 1.000000,-0.000000,-0.000000;;, + 215;3; 1.000000,-0.000000,-0.000001;;, + 216;3; 1.000000,-0.000000,-0.000001;;, + 217;3; 1.000000,-0.000000,-0.000000;;, + 218;3; 1.000000,-0.000000,-0.000001;;, + 219;3; 1.000000,-0.000000,-0.000001;;, + 220;3; 1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 170;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 171;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 172;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 173;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 174;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 175;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 176;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 177;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 180;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 181;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 182;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 183;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 184;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 185;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 186;4; -0.129904, 0.974175,-0.000000,-0.000000;;, + 187;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; 0.034052, 0.993233, 0.000000,-0.000000;;, + 202;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 203;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 204;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 205;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 206;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 207;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 208;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 209;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 212;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 213;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 214;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 215;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 216;4; -0.348699, 0.930646,-0.000000,-0.000000;;, + 217;4; -0.253041, 0.949703,-0.000000,-0.000000;;, + 218;4; -0.130122, 0.974173,-0.000000,-0.000000;;, + 219;4; -0.034158, 0.993233,-0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -1.000000, 0.000000,-0.000001;;, + 1;3; -1.000000,-0.000000,-0.000001;;, + 2;3; -1.000000,-0.000000,-0.000001;;, + 3;3; -1.000000,-0.000000,-0.000001;;, + 4;3; -1.000000,-0.000000,-0.000001;;, + 5;3; -1.000000,-0.000000,-0.000001;;, + 6;3; -1.000000,-0.000000,-0.000001;;, + 7;3; -1.000000,-0.000000,-0.000001;;, + 8;3; -1.000000,-0.000000,-0.000001;;, + 9;3; -1.000000,-0.000000,-0.000001;;, + 10;3; -1.000000,-0.000000,-0.000000;;, + 11;3; -1.000000,-0.000000,-0.000000;;, + 12;3; -1.000000,-0.000000,-0.000000;;, + 13;3; -1.000000,-0.000000,-0.000000;;, + 14;3; -1.000000,-0.000000,-0.000000;;, + 15;3; -1.000000,-0.000000,-0.000001;;, + 16;3; -1.000000,-0.000000,-0.000001;;, + 17;3; -1.000000,-0.000000,-0.000001;;, + 18;3; -1.000000,-0.000000,-0.000001;;, + 19;3; -1.000000,-0.000000,-0.000001;;, + 20;3; -1.000000,-0.000000,-0.000001;;, + 21;3; -1.000000,-0.000000,-0.000001;;, + 22;3; -1.000000,-0.000000,-0.000000;;, + 23;3; -1.000000,-0.000000,-0.000001;;, + 24;3; -1.000000,-0.000000,-0.000001;;, + 25;3; -1.000000,-0.000000,-0.000001;;, + 26;3; -1.000000,-0.000000,-0.000000;;, + 27;3; -1.000000,-0.000000,-0.000000;;, + 28;3; -1.000000,-0.000000,-0.000000;;, + 29;3; -1.000000,-0.000000,-0.000000;;, + 30;3; -1.000000,-0.000000,-0.000000;;, + 31;3; -1.000000,-0.000000,-0.000001;;, + 32;3; -1.000000,-0.000000,-0.000001;;, + 33;3; -1.000000,-0.000000,-0.000001;;, + 34;3; -1.000000,-0.000000,-0.000001;;, + 35;3; -1.000000,-0.000000,-0.000001;;, + 36;3; -1.000000,-0.000000,-0.000001;;, + 37;3; -1.000000,-0.000000,-0.000001;;, + 38;3; -1.000000,-0.000000,-0.000001;;, + 39;3; -1.000000,-0.000000,-0.000001;;, + 40;3; -1.000000, 0.000000,-0.000001;;, + 41;3; -1.000000,-0.000000,-0.000001;;, + 42;3; -1.000000,-0.000000,-0.000001;;, + 43;3; -1.000000,-0.000000,-0.000001;;, + 44;3; -1.000000,-0.000000,-0.000001;;, + 45;3; -1.000000,-0.000000,-0.000001;;, + 46;3; -1.000000,-0.000000,-0.000001;;, + 47;3; -1.000000,-0.000000,-0.000001;;, + 48;3; -1.000000,-0.000000,-0.000001;;, + 49;3; -1.000000,-0.000000,-0.000001;;, + 50;3; -1.000000,-0.000000,-0.000000;;, + 51;3; -1.000000,-0.000000,-0.000000;;, + 52;3; -1.000000,-0.000000,-0.000000;;, + 53;3; -1.000000,-0.000000,-0.000000;;, + 54;3; -1.000000,-0.000000,-0.000000;;, + 55;3; -1.000000,-0.000000,-0.000001;;, + 56;3; -1.000000,-0.000000,-0.000001;;, + 57;3; -1.000000,-0.000000,-0.000001;;, + 58;3; -1.000000,-0.000000,-0.000001;;, + 59;3; -1.000000,-0.000000,-0.000001;;, + 60;3; -1.000000,-0.000000,-0.000001;;, + 61;3; -1.000000,-0.000000,-0.000001;;, + 62;3; -1.000000,-0.000000,-0.000001;;, + 63;3; -1.000000,-0.000000,-0.000001;;, + 64;3; -1.000000,-0.000000,-0.000001;;, + 65;3; -1.000000,-0.000000,-0.000001;;, + 66;3; -1.000000,-0.000000,-0.000001;;, + 67;3; -1.000000,-0.000000,-0.000000;;, + 68;3; -1.000000,-0.000000,-0.000000;;, + 69;3; -1.000000,-0.000000,-0.000000;;, + 70;3; -1.000000,-0.000000,-0.000000;;, + 71;3; -1.000000,-0.000000,-0.000000;;, + 72;3; -1.000000,-0.000000,-0.000000;;, + 73;3; -1.000000,-0.000000,-0.000000;;, + 74;3; -1.000000,-0.000000,-0.000001;;, + 75;3; -1.000000,-0.000000,-0.000001;;, + 76;3; -1.000000,-0.000000,-0.000001;;, + 77;3; -1.000000,-0.000000,-0.000001;;, + 78;3; -1.000000,-0.000000,-0.000001;;, + 79;3; -1.000000,-0.000000,-0.000001;;, + 80;3; -1.000000, 0.000000,-0.000001;;, + 81;3; -1.000000, 0.000000,-0.000001;;, + 82;3; -1.000000,-0.000000,-0.000001;;, + 83;3; -1.000000,-0.000000,-0.000001;;, + 84;3; -1.000000,-0.000000,-0.000001;;, + 85;3; -1.000000,-0.000000,-0.000001;;, + 86;3; -1.000000,-0.000000,-0.000001;;, + 87;3; -1.000000,-0.000000,-0.000001;;, + 88;3; -1.000000,-0.000000,-0.000001;;, + 89;3; -1.000000,-0.000000,-0.000001;;, + 90;3; -1.000000,-0.000000,-0.000001;;, + 91;3; -1.000000,-0.000000,-0.000001;;, + 92;3; -1.000000,-0.000000,-0.000001;;, + 93;3; -1.000000,-0.000000,-0.000001;;, + 94;3; -1.000000,-0.000000,-0.000001;;, + 95;3; -1.000000,-0.000000,-0.000001;;, + 96;3; -1.000000,-0.000000,-0.000001;;, + 97;3; -1.000000,-0.000000,-0.000001;;, + 98;3; -1.000000,-0.000000,-0.000001;;, + 99;3; -1.000000,-0.000000,-0.000001;;, + 100;3; -1.000000,-0.000000,-0.000001;;, + 101;3; -1.000000,-0.000000,-0.000001;;, + 102;3; -1.000000,-0.000000,-0.000001;;, + 103;3; -1.000000,-0.000000,-0.000001;;, + 104;3; -1.000000,-0.000000,-0.000001;;, + 105;3; -1.000000,-0.000000,-0.000001;;, + 106;3; -1.000000,-0.000000,-0.000001;;, + 107;3; -1.000000,-0.000000,-0.000001;;, + 108;3; -1.000000,-0.000000,-0.000001;;, + 109;3; -1.000000,-0.000000,-0.000001;;, + 110;3; -1.000000,-0.000000,-0.000001;;, + 111;3; -1.000000,-0.000000,-0.000001;;, + 112;3; -1.000000,-0.000000,-0.000001;;, + 113;3; -1.000000,-0.000000,-0.000001;;, + 114;3; -1.000000,-0.000000,-0.000001;;, + 115;3; -1.000000,-0.000000,-0.000001;;, + 116;3; -1.000000,-0.000000,-0.000001;;, + 117;3; -1.000000,-0.000000,-0.000001;;, + 118;3; -1.000000,-0.000000,-0.000001;;, + 119;3; -1.000000,-0.000000,-0.000001;;, + 120;3; -1.000000,-0.000000,-0.000001;;, + 121;3; -1.000000, 0.000000,-0.000001;;, + 122;3; -1.000000,-0.000000,-0.000001;;, + 123;3; -1.000000,-0.000000,-0.000001;;, + 124;3; -1.000000,-0.000000,-0.000001;;, + 125;3; -1.000000,-0.000000,-0.000001;;, + 126;3; -1.000000,-0.000000,-0.000001;;, + 127;3; -1.000000,-0.000000,-0.000001;;, + 128;3; -1.000000,-0.000000,-0.000001;;, + 129;3; -1.000000,-0.000000,-0.000001;;, + 130;3; -1.000000,-0.000000,-0.000001;;, + 131;3; -1.000000,-0.000000,-0.000001;;, + 132;3; -1.000000,-0.000000,-0.000001;;, + 133;3; -1.000000,-0.000000,-0.000001;;, + 134;3; -1.000000,-0.000000,-0.000001;;, + 135;3; -1.000000,-0.000000,-0.000001;;, + 136;3; -1.000000,-0.000000,-0.000001;;, + 137;3; -1.000000,-0.000000,-0.000001;;, + 138;3; -1.000000,-0.000000,-0.000001;;, + 139;3; -1.000000,-0.000000,-0.000001;;, + 140;3; -1.000000,-0.000000,-0.000001;;, + 141;3; -1.000000,-0.000000,-0.000001;;, + 142;3; -1.000000,-0.000000,-0.000001;;, + 143;3; -1.000000,-0.000000,-0.000001;;, + 144;3; -1.000000,-0.000000,-0.000001;;, + 145;3; -1.000000,-0.000000,-0.000001;;, + 146;3; -1.000000,-0.000000,-0.000001;;, + 147;3; -1.000000,-0.000000,-0.000001;;, + 148;3; -1.000000,-0.000000,-0.000001;;, + 149;3; -1.000000,-0.000000,-0.000001;;, + 150;3; -1.000000,-0.000000,-0.000001;;, + 151;3; -1.000000,-0.000000,-0.000001;;, + 152;3; -1.000000,-0.000000,-0.000001;;, + 153;3; -1.000000,-0.000000,-0.000001;;, + 154;3; -1.000000,-0.000000,-0.000001;;, + 155;3; -1.000000,-0.000000,-0.000001;;, + 156;3; -1.000000,-0.000000,-0.000001;;, + 157;3; -1.000000,-0.000000,-0.000001;;, + 158;3; -1.000000,-0.000000,-0.000001;;, + 159;3; -1.000000,-0.000000,-0.000001;;, + 160;3; -1.000000,-0.000000,-0.000001;;, + 161;3; -1.000000, 0.000000,-0.000001;;, + 162;3; -1.000000,-0.000000,-0.000000;;, + 163;3; -1.000000,-0.000000,-0.000000;;, + 164;3; -1.000000,-0.000000,-0.000000;;, + 165;3; -1.000000,-0.000000,-0.000000;;, + 166;3; -1.000000,-0.000000,-0.000000;;, + 167;3; -1.000000,-0.000000,-0.000000;;, + 168;3; -1.000000, 0.000000,-0.000001;;, + 169;3; -1.000000, 0.000000,-0.000001;;, + 170;3; -1.000000, 0.000000,-0.000001;;, + 171;3; -1.000000, 0.000000,-0.000001;;, + 172;3; -1.000000, 0.000000,-0.000001;;, + 173;3; -1.000000, 0.000000,-0.000001;;, + 174;3; -1.000000, 0.000000,-0.000001;;, + 175;3; -1.000000, 0.000000,-0.000001;;, + 176;3; -1.000000, 0.000000,-0.000001;;, + 177;3; -1.000000, 0.000000,-0.000001;;, + 178;3; -1.000000, 0.000000,-0.000001;;, + 179;3; -1.000000, 0.000000,-0.000001;;, + 180;3; -1.000000, 0.000000,-0.000001;;, + 181;3; -1.000000, 0.000000,-0.000001;;, + 182;3; -1.000000, 0.000000,-0.000001;;, + 183;3; -1.000000, 0.000000,-0.000001;;, + 184;3; -1.000000, 0.000000,-0.000001;;, + 185;3; -1.000000, 0.000000,-0.000001;;, + 186;3; -1.000000, 0.000000,-0.000001;;, + 187;3; -1.000000, 0.000000,-0.000001;;, + 188;3; -1.000000, 0.000000,-0.000001;;, + 189;3; -1.000000, 0.000000,-0.000001;;, + 190;3; -1.000000, 0.000000,-0.000001;;, + 191;3; -1.000000, 0.000000,-0.000001;;, + 192;3; -1.000000, 0.000000,-0.000000;;, + 193;3; -1.000000, 0.000000,-0.000001;;, + 194;3; -1.000000, 0.000000,-0.000001;;, + 195;3; -1.000000, 0.000000,-0.000001;;, + 196;3; -1.000000, 0.000000,-0.000000;;, + 197;3; -1.000000, 0.000000,-0.000001;;, + 198;3; -1.000000, 0.000000,-0.000001;;, + 199;3; -1.000000, 0.000000,-0.000001;;, + 200;3; -1.000000, 0.000000,-0.000001;;, + 201;3; -1.000000,-0.000000,-0.000001;;, + 202;3; -1.000000,-0.000000,-0.000001;;, + 203;3; -1.000000,-0.000000,-0.000000;;, + 204;3; -1.000000,-0.000000,-0.000001;;, + 205;3; -1.000000,-0.000000,-0.000001;;, + 206;3; -1.000000,-0.000000,-0.000000;;, + 207;3; -1.000000,-0.000000,-0.000001;;, + 208;3; -1.000000, 0.000000,-0.000000;;, + 209;3; -1.000000, 0.000000,-0.000000;;, + 210;3; -1.000000, 0.000000,-0.000001;;, + 211;3; -1.000000, 0.000000,-0.000000;;, + 212;3; -1.000000, 0.000000,-0.000000;;, + 213;3; -1.000000,-0.000000,-0.000001;;, + 214;3; -1.000000,-0.000000,-0.000000;;, + 215;3; -1.000000,-0.000000,-0.000001;;, + 216;3; -1.000000,-0.000000,-0.000001;;, + 217;3; -1.000000,-0.000000,-0.000000;;, + 218;3; -1.000000,-0.000000,-0.000001;;, + 219;3; -1.000000,-0.000000,-0.000001;;, + 220;3; -1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 170;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 171;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 172;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 173;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 174;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 175;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 176;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 177;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 180;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 181;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 182;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 183;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 184;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 185;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 186;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 187;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; -0.034052, 0.993233,-0.000000,-0.000000;;, + 202;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 203;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 204;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 205;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 206;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 207;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 208;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 209;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 212;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 213;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 214;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 215;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 216;4; 0.348699, 0.930646, 0.000000,-0.000000;;, + 217;4; 0.253041, 0.949703, 0.000000,-0.000000;;, + 218;4; 0.130122, 0.974173, 0.000000,-0.000000;;, + 219;4; 0.034158, 0.993233, 0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Player} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000, 0.000000;;, + 1;3; 0.000000, 0.000000, 0.000000;;, + 2;3; 0.000000, 0.000000, 0.000000;;, + 3;3; 0.000000, 0.000000, 0.000000;;, + 4;3; 0.000000, 0.000000, 0.000000;;, + 5;3; 0.000000, 0.000000, 0.000000;;, + 6;3; 0.000000, 0.000000, 0.000000;;, + 7;3; 0.000000, 0.000000, 0.000000;;, + 8;3; 0.000000, 0.000000, 0.000000;;, + 9;3; 0.000000, 0.000000, 0.000000;;, + 10;3; 0.000000, 0.000000, 0.000000;;, + 11;3; 0.000000, 0.000000, 0.000000;;, + 12;3; 0.000000, 0.000000, 0.000000;;, + 13;3; 0.000000, 0.000000, 0.000000;;, + 14;3; 0.000000, 0.000000, 0.000000;;, + 15;3; 0.000000, 0.000000, 0.000000;;, + 16;3; 0.000000, 0.000000, 0.000000;;, + 17;3; 0.000000, 0.000000, 0.000000;;, + 18;3; 0.000000, 0.000000, 0.000000;;, + 19;3; 0.000000, 0.000000, 0.000000;;, + 20;3; 0.000000, 0.000000, 0.000000;;, + 21;3; 0.000000, 0.000000, 0.000000;;, + 22;3; 0.000000, 0.000000, 0.000000;;, + 23;3; 0.000000, 0.000000, 0.000000;;, + 24;3; 0.000000, 0.000000, 0.000000;;, + 25;3; 0.000000, 0.000000, 0.000000;;, + 26;3; 0.000000, 0.000000, 0.000000;;, + 27;3; 0.000000, 0.000000, 0.000000;;, + 28;3; 0.000000, 0.000000, 0.000000;;, + 29;3; 0.000000, 0.000000, 0.000000;;, + 30;3; 0.000000, 0.000000, 0.000000;;, + 31;3; 0.000000, 0.000000, 0.000000;;, + 32;3; 0.000000, 0.000000, 0.000000;;, + 33;3; 0.000000, 0.000000, 0.000000;;, + 34;3; 0.000000, 0.000000, 0.000000;;, + 35;3; 0.000000, 0.000000, 0.000000;;, + 36;3; 0.000000, 0.000000, 0.000000;;, + 37;3; 0.000000, 0.000000, 0.000000;;, + 38;3; 0.000000, 0.000000, 0.000000;;, + 39;3; 0.000000, 0.000000, 0.000000;;, + 40;3; 0.000000, 0.000000, 0.000000;;, + 41;3; 0.000000, 0.000000, 0.000000;;, + 42;3; 0.000000, 0.000000, 0.000000;;, + 43;3; 0.000000, 0.000000, 0.000000;;, + 44;3; 0.000000, 0.000000, 0.000000;;, + 45;3; 0.000000, 0.000000, 0.000000;;, + 46;3; 0.000000, 0.000000, 0.000000;;, + 47;3; 0.000000, 0.000000, 0.000000;;, + 48;3; 0.000000, 0.000000, 0.000000;;, + 49;3; 0.000000, 0.000000, 0.000000;;, + 50;3; 0.000000, 0.000000, 0.000000;;, + 51;3; 0.000000, 0.000000, 0.000000;;, + 52;3; 0.000000, 0.000000, 0.000000;;, + 53;3; 0.000000, 0.000000, 0.000000;;, + 54;3; 0.000000, 0.000000, 0.000000;;, + 55;3; 0.000000, 0.000000, 0.000000;;, + 56;3; 0.000000, 0.000000, 0.000000;;, + 57;3; 0.000000, 0.000000, 0.000000;;, + 58;3; 0.000000, 0.000000, 0.000000;;, + 59;3; 0.000000, 0.000000, 0.000000;;, + 60;3; 0.000000, 0.000000, 0.000000;;, + 61;3; 0.000000, 0.000000, 0.000000;;, + 62;3; 0.000000, 0.000000, 0.000000;;, + 63;3; 0.000000, 0.000000, 0.000000;;, + 64;3; 0.000000, 0.000000, 0.000000;;, + 65;3; 0.000000, 0.000000, 0.000000;;, + 66;3; 0.000000, 0.000000, 0.000000;;, + 67;3; 0.000000, 0.000000, 0.000000;;, + 68;3; 0.000000, 0.000000, 0.000000;;, + 69;3; 0.000000, 0.000000, 0.000000;;, + 70;3; 0.000000, 0.000000, 0.000000;;, + 71;3; 0.000000, 0.000000, 0.000000;;, + 72;3; 0.000000, 0.000000, 0.000000;;, + 73;3; 0.000000, 0.000000, 0.000000;;, + 74;3; 0.000000, 0.000000, 0.000000;;, + 75;3; 0.000000, 0.000000, 0.000000;;, + 76;3; 0.000000, 0.000000, 0.000000;;, + 77;3; 0.000000, 0.000000, 0.000000;;, + 78;3; 0.000000, 0.000000, 0.000000;;, + 79;3; 0.000000, 0.000000, 0.000000;;, + 80;3; 0.000000, 0.000000, 0.000000;;, + 81;3; 0.000000, 0.000000, 0.000000;;, + 82;3; 0.000000, 0.000000, 0.000000;;, + 83;3; 0.000000, 0.000000, 0.000000;;, + 84;3; 0.000000, 0.000000, 0.000000;;, + 85;3; 0.000000, 0.000000, 0.000000;;, + 86;3; 0.000000, 0.000000, 0.000000;;, + 87;3; 0.000000, 0.000000, 0.000000;;, + 88;3; 0.000000, 0.000000, 0.000000;;, + 89;3; 0.000000, 0.000000, 0.000000;;, + 90;3; 0.000000, 0.000000, 0.000000;;, + 91;3; 0.000000, 0.000000, 0.000000;;, + 92;3; 0.000000, 0.000000, 0.000000;;, + 93;3; 0.000000, 0.000000, 0.000000;;, + 94;3; 0.000000, 0.000000, 0.000000;;, + 95;3; 0.000000, 0.000000, 0.000000;;, + 96;3; 0.000000, 0.000000, 0.000000;;, + 97;3; 0.000000, 0.000000, 0.000000;;, + 98;3; 0.000000, 0.000000, 0.000000;;, + 99;3; 0.000000, 0.000000, 0.000000;;, + 100;3; 0.000000, 0.000000, 0.000000;;, + 101;3; 0.000000, 0.000000, 0.000000;;, + 102;3; 0.000000, 0.000000, 0.000000;;, + 103;3; 0.000000, 0.000000, 0.000000;;, + 104;3; 0.000000, 0.000000, 0.000000;;, + 105;3; 0.000000, 0.000000, 0.000000;;, + 106;3; 0.000000, 0.000000, 0.000000;;, + 107;3; 0.000000, 0.000000, 0.000000;;, + 108;3; 0.000000, 0.000000, 0.000000;;, + 109;3; 0.000000, 0.000000, 0.000000;;, + 110;3; 0.000000, 0.000000, 0.000000;;, + 111;3; 0.000000, 0.000000, 0.000000;;, + 112;3; 0.000000, 0.000000, 0.000000;;, + 113;3; 0.000000, 0.000000, 0.000000;;, + 114;3; 0.000000, 0.000000, 0.000000;;, + 115;3; 0.000000, 0.000000, 0.000000;;, + 116;3; 0.000000, 0.000000, 0.000000;;, + 117;3; 0.000000, 0.000000, 0.000000;;, + 118;3; 0.000000, 0.000000, 0.000000;;, + 119;3; 0.000000, 0.000000, 0.000000;;, + 120;3; 0.000000, 0.000000, 0.000000;;, + 121;3; 0.000000, 0.000000, 0.000000;;, + 122;3; 0.000000, 0.000000, 0.000000;;, + 123;3; 0.000000, 0.000000, 0.000000;;, + 124;3; 0.000000, 0.000000, 0.000000;;, + 125;3; 0.000000, 0.000000, 0.000000;;, + 126;3; 0.000000, 0.000000, 0.000000;;, + 127;3; 0.000000, 0.000000, 0.000000;;, + 128;3; 0.000000, 0.000000, 0.000000;;, + 129;3; 0.000000, 0.000000, 0.000000;;, + 130;3; 0.000000, 0.000000, 0.000000;;, + 131;3; 0.000000, 0.000000, 0.000000;;, + 132;3; 0.000000, 0.000000, 0.000000;;, + 133;3; 0.000000, 0.000000, 0.000000;;, + 134;3; 0.000000, 0.000000, 0.000000;;, + 135;3; 0.000000, 0.000000, 0.000000;;, + 136;3; 0.000000, 0.000000, 0.000000;;, + 137;3; 0.000000, 0.000000, 0.000000;;, + 138;3; 0.000000, 0.000000, 0.000000;;, + 139;3; 0.000000, 0.000000, 0.000000;;, + 140;3; 0.000000, 0.000000, 0.000000;;, + 141;3; 0.000000, 0.000000, 0.000000;;, + 142;3; 0.000000, 0.000000, 0.000000;;, + 143;3; 0.000000, 0.000000, 0.000000;;, + 144;3; 0.000000, 0.000000, 0.000000;;, + 145;3; 0.000000, 0.000000, 0.000000;;, + 146;3; 0.000000, 0.000000, 0.000000;;, + 147;3; 0.000000, 0.000000, 0.000000;;, + 148;3; 0.000000, 0.000000, 0.000000;;, + 149;3; 0.000000, 0.000000, 0.000000;;, + 150;3; 0.000000, 0.000000, 0.000000;;, + 151;3; 0.000000, 0.000000, 0.000000;;, + 152;3; 0.000000, 0.000000, 0.000000;;, + 153;3; 0.000000, 0.000000, 0.000000;;, + 154;3; 0.000000, 0.000000, 0.000000;;, + 155;3; 0.000000, 0.000000, 0.000000;;, + 156;3; 0.000000, 0.000000, 0.000000;;, + 157;3; 0.000000, 0.000000, 0.000000;;, + 158;3; 0.000000, 0.000000, 0.000000;;, + 159;3; 0.000000, 0.000000, 0.000000;;, + 160;3; 0.000000, 0.000000, 0.000000;;, + 161;3; 0.000000, 0.000000, 0.000000;;, + 162;3; 0.000000, 0.000000, 0.000000;;, + 163;3; 0.000000, 0.000000, 0.000000;;, + 164;3; 0.000000, 0.000000, 0.000000;;, + 165;3; 0.000000, 0.000000, 0.000000;;, + 166;3; 0.000000, 0.000000, 0.000000;;, + 167;3; 0.000000, 0.000000, 0.000000;;, + 168;3; 0.000000, 0.000000, 0.000000;;, + 169;3; 0.000000, 0.000000, 0.000000;;, + 170;3; 0.000000, 0.000000, 0.000000;;, + 171;3; 0.000000, 0.000000, 0.000000;;, + 172;3; 0.000000, 0.000000, 0.000000;;, + 173;3; 0.000000, 0.000000, 0.000000;;, + 174;3; 0.000000, 0.000000, 0.000000;;, + 175;3; 0.000000, 0.000000, 0.000000;;, + 176;3; 0.000000, 0.000000, 0.000000;;, + 177;3; 0.000000, 0.000000, 0.000000;;, + 178;3; 0.000000, 0.000000, 0.000000;;, + 179;3; 0.000000, 0.000000, 0.000000;;, + 180;3; 0.000000, 0.000000, 0.000000;;, + 181;3; 0.000000, 0.000000, 0.000000;;, + 182;3; 0.000000, 0.000000, 0.000000;;, + 183;3; 0.000000, 0.000000, 0.000000;;, + 184;3; 0.000000, 0.000000, 0.000000;;, + 185;3; 0.000000, 0.000000, 0.000000;;, + 186;3; 0.000000, 0.000000, 0.000000;;, + 187;3; 0.000000, 0.000000, 0.000000;;, + 188;3; 0.000000, 0.000000, 0.000000;;, + 189;3; 0.000000, 0.000000, 0.000000;;, + 190;3; 0.000000, 0.000000, 0.000000;;, + 191;3; 0.000000, 0.000000, 0.000000;;, + 192;3; 0.000000, 0.000000, 0.000000;;, + 193;3; 0.000000, 0.000000, 0.000000;;, + 194;3; 0.000000, 0.000000, 0.000000;;, + 195;3; 0.000000, 0.000000, 0.000000;;, + 196;3; 0.000000, 0.000000, 0.000000;;, + 197;3; 0.000000, 0.000000, 0.000000;;, + 198;3; 0.000000, 0.000000, 0.000000;;, + 199;3; 0.000000, 0.000000, 0.000000;;, + 200;3; 0.000000, 0.000000, 0.000000;;, + 201;3; 0.000000, 0.000000, 0.000000;;, + 202;3; 0.000000, 0.000000, 0.000000;;, + 203;3; 0.000000, 0.000000, 0.000000;;, + 204;3; 0.000000, 0.000000, 0.000000;;, + 205;3; 0.000000, 0.000000, 0.000000;;, + 206;3; 0.000000, 0.000000, 0.000000;;, + 207;3; 0.000000, 0.000000, 0.000000;;, + 208;3; 0.000000, 0.000000, 0.000000;;, + 209;3; 0.000000, 0.000000, 0.000000;;, + 210;3; 0.000000, 0.000000, 0.000000;;, + 211;3; 0.000000, 0.000000, 0.000000;;, + 212;3; 0.000000, 0.000000, 0.000000;;, + 213;3; 0.000000, 0.000000, 0.000000;;, + 214;3; 0.000000, 0.000000, 0.000000;;, + 215;3; 0.000000, 0.000000, 0.000000;;, + 216;3; 0.000000, 0.000000, 0.000000;;, + 217;3; 0.000000, 0.000000, 0.000000;;, + 218;3; 0.000000, 0.000000, 0.000000;;, + 219;3; 0.000000, 0.000000, 0.000000;;, + 220;3; 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } +} //End of AnimationSet diff --git a/mods/default/player.lua b/mods/default/player.lua new file mode 100644 index 0000000..bf08149 --- /dev/null +++ b/mods/default/player.lua @@ -0,0 +1,132 @@ +-- Minetest 0.4 mod: player +-- See README.txt for licensing and other information. + +-- +-- Start of configuration area: +-- + +-- Player animation speed +animation_speed = 30 + +-- Player animation blending +-- Note: This is currently broken due to a bug in Irrlicht, leave at 0 +animation_blend = 0 + +-- Default player appearance +default_model = "character.x" +default_textures = {"character.png", } + +-- Frame ranges for each player model +function player_get_animations(model) + if model == "character.x" then + return { + stand_START = 0, + stand_END = 79, + sit_START = 81, + sit_END = 160, + lay_START = 162, + lay_END = 166, + walk_START = 168, + walk_END = 187, + mine_START = 189, + mine_END = 198, + walk_mine_START = 200, + walk_mine_END = 219 + } + end +end + +-- +-- End of configuration area. +-- + +-- Player stats and animations +local player_model = {} +local player_anim = {} +local player_sneak = {} +local ANIM_STAND = 1 +local ANIM_SIT = 2 +local ANIM_LAY = 3 +local ANIM_WALK = 4 +local ANIM_WALK_MINE = 5 +local ANIM_MINE = 6 + +-- Called when a player's appearance needs to be updated +function player_update_visuals(pl) + local name = pl:get_player_name() + + player_model[name] = default_model + player_anim[name] = 0 -- Animation will be set further below immediately + player_sneak[name] = false + prop = { + mesh = default_model, + textures = default_textures, + visual = "mesh", + visual_size = {x=1, y=1}, + } + pl:set_properties(prop) +end + +-- Update appearance when the player joins +minetest.register_on_joinplayer(player_update_visuals) + +-- Check each player and apply animations +function player_step(dtime) + for _, pl in pairs(minetest.get_connected_players()) do + local name = pl:get_player_name() + local anim = player_get_animations(player_model[name]) + local controls = pl:get_player_control() + local walking = false + local animation_speed_mod = animation_speed + + -- Determine if the player is walking + if controls.up or controls.down or controls.left or controls.right then + walking = true + end + + -- Determine if the player is sneaking, and reduce animation speed if so + if controls.sneak and pl:get_hp() ~= 0 and (walking or controls.LMB) then + animation_speed_mod = animation_speed_mod / 2 + -- Refresh player animation below if sneak state changed + if not player_sneak[name] then + player_anim[name] = 0 + player_sneak[name] = true + end + else + -- Refresh player animation below if sneak state changed + if player_sneak[name] then + player_anim[name] = 0 + player_sneak[name] = false + end + end + + -- Apply animations based on what the player is doing + if pl:get_hp() == 0 then + if player_anim[name] ~= ANIM_LAY then + pl:set_animation({x=anim.lay_START, y=anim.lay_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_LAY + end + elseif walking and controls.LMB then + if player_anim[name] ~= ANIM_WALK_MINE then + pl:set_animation({x=anim.walk_mine_START, y=anim.walk_mine_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_WALK_MINE + end + elseif walking then + if player_anim[name] ~= ANIM_WALK then + pl:set_animation({x=anim.walk_START, y=anim.walk_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_WALK + end + elseif controls.LMB then + if player_anim[name] ~= ANIM_MINE then + pl:set_animation({x=anim.mine_START, y=anim.mine_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_MINE + end + elseif player_anim[name] ~= ANIM_STAND then + pl:set_animation({x=anim.stand_START, y=anim.stand_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_STAND + end + end +end +minetest.register_globalstep(player_step) + +-- END diff --git a/mods/default/sounds/default_break_glass.1.ogg b/mods/default/sounds/default_break_glass.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b1ccc5fab1ceba59a7774aa6c88d067348a7f430 GIT binary patch literal 11130 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_break_glass.2.ogg b/mods/default/sounds/default_break_glass.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b6cc9e85e2bd39521b4c04adda9d482d20fde87a GIT binary patch literal 16058 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 C21P{x literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_choppy.ogg b/mods/default/sounds/default_dig_choppy.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d605145ffb2a39f9246fb983b3edf96056811543 GIT binary patch literal 6087 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 WU>;ryh=PCE@C%m;@Yw)jz<&X* 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 a+ouHx1HW7(!Ou6aWDJi!I`xyY4fr1xK^(yV literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_crumbly.2.ogg b/mods/default/sounds/default_dig_crumbly.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f1a9248e7c667a667b938ca1b9178177cca02864 GIT binary patch literal 5429 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_dig_immediate.ogg b/mods/default/sounds/default_dig_dig_immediate.ogg new file mode 100644 index 0000000000000000000000000000000000000000..526629be8316c0630dfbf2aed909a80d7f36d6fb GIT binary patch literal 5625 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d605145ffb2a39f9246fb983b3edf96056811543 GIT binary patch literal 6087 zcmai23p~@^|38~cbBSSkMyrNl6J>6hR4igcW;53oVIkLCdXz59Mr-8fkyKiqC6jw7 zk}i)*$SozL(oG?{U*zffKbxN4|M!3WU;o$tyw3ORe9t+b_c`bN`FzgjeCHh*$pT35 zD_Mm(*vqOxqfZkMixJxrlER{sWeo_IYS|9}iCPHxZ!^MMCi(9qla%$W|E%|y#>$`n zk+c-%V3xw(fat`iW!_1V_}J($KRGy_hPSdLTUlCJTH}e{aq-cKN!(;^dn0B;ka3-SPvln_NFL{+qYgDU6* z0PW<1>DY?9@dxfkJx&cZKTrvh0Z?$9yQtJX_nCV>Au!)qp2zoBns+zIvz1)j9RP-p zy6aZVJh@y104RyQNE#rLMu{ebxhO$aH4^XuP=wRitYta66}a5=We+#S-T#jqT*%dv zi$f04x1%>#C<`qW^pxd#fXm=%i7eZA|B%eX(lts{YABDyW0F9PB6>Y#k=VU)d;T%e zdCG)1x$nlfnA`_zCE`H!A~b!#X~Xr-$Uf%Ko6ZrA1WqV}ObpZg zpCU|XkcCa^BAt?C(9J5!OLDBb&Cm463x}80XEau-liSd1m)5i~S#h>Q0Wq&B6Gi;9 zenBxcjZ8X8TEJA5^M{ArQsCiLDm_x@nxt+UDp<2qo&zNO3YSrO-B#~rZcuS9P*7w`G%zYG5cHs%_*wW3^*yvJW}+Om^)^l zPoU)+N9RXwFDyS=^x|l-S*3gkK+A^6lBg_ARFNhsPs^PY=0_bZEUze9+Ew&vj# zbmJ!9m@zSYogzy0J+c=`G2xD!MAxS)^rTzv30jR@_d6#*YA(I&zbpiRN!L|pGd8!wEp zmyWA9hBK(+I(W#Y*T&Yzm+gh|8uVocF7O&WWb9?_<%MChbX?iGY*wKc`w;i0P27kt zdvpPteU2ME1MMXBk+s*z0`}mL7rQYPzK$M>8$JAQDE6=~JJ^mr*ktRI!tr5q10nJ@ z?r;;^e<;-p!x?6Ijp(x3h3t_*F1s)_B!$iK=L`?C{bzQK4DI3!rEbE?kcS6T+1pY> zhTeQ)S=P%+ zP31Jjg&&Cv{%t*6Gwj`Th%je_A}ersSBNh=#GgB| z!Y^w)QmT#!PqBf2DIjAL6FP-S^+jG3{xI!(BLSy?Yak1+6><;KWnm zO62At27sTJEF_`+2!p|ol!<1Fu>3rVsd4yvI?1?^LEoYkjyCHkjp(DPNY7&E(WHXg zK_ufQ20go`F^CmYpT!JPlb#KrN0S@(gJ4CQt8=3ikmb!k2%jk zn$OHOmSUGqlt%RXyug?GGWS=MV#0~W?fJ|cW2t_y$l@F}Spz~b_t(RYY*NR9@II|@ z284o>lcZ<;=v!)%*3%(Wk24KIdC*9k`)E`6(mT#>GAJ4et|}HndC45{PCet@eUD|dxtmk~AUyOY6YGdiWuZAj_Dgc&Q#>|k70xk<(IWR1({jZihzj#>bc>8#gRpoTe@?Nw-*yD%c`cDi~@^IMU|D6 zO>x_cN$|I&wl-Ma(o$PBT^ucMF`vE+r7A0Hmv&!HsH}u1ExcB|Jyto@0$UnhsZ~vP zHJIOTieGqbss-LSn&PIrw!%SQFW2MTnrgqcSbl3ygy*i~6$B`6%^K8NFKS1s$&SJZ zxWsmR1e)227r=N*5)?3DNK(cDfb=9P$d_FL&wRt`#-X6_8dzk@YB4o1WXj{_|5+da zQ%3_ZHSMD4<{EQ6>dJT|mErj64%Z5j`)NdDDWp}*&u7vPB{S)?ipC+CwaVDrjAlk# zwCl(8;vu6sEvJA8FUosjj)BC@Pk zb`kA?I_E=&Jf5r}zmhu0dr<}{bFWl*2bJGd`+wb9Psj$#?ym^IQ__H;#;!Uyk!iCa zKxRs^dt%1DBy+O0J7wJ5PSHT=Jlmag{p{v-de58Lss^Pt5$nkjrENjU6;J~p1Bx3U zfHF#TGvHl8T%EvADxz}j0B{!ep!a8GK7K3F#v7I)d2NcB8$fwov-^c+-ZF&^{nufz zM^Vuk0XQdwioN}lEYpW?1q;OzmhTiE;=%|D9wWfxW?*Pobgi@h?&Ha~vp@v~MwqZ* z765w}o=`Y$X=P()@8G!Fi3)9EF7bFgdBq8qJf8eRLvd@Gya~uYG-Ly*ehG&Sh$eX< z6i$lOQWJ-u^w2eK^rXZ+JAY5&#&7gy(ENPY>e%>fcB@06x)pb~*cI*@`TJS&*-s(o z*0`Pc*|N)K@~?E@17_*2|k`tva>TrMI+q7d`Ue}bOQf-s1x*H1_Er1P>qeHqqPBA6_{_7En&K(%G5sE zIR>r(sp#TDbb5&ZcQ&g=hg&NfAVLH56dZ|fL7F?y1tCE=I?Z!zRV0KWE^Q}os~ z1f#eei$Yw)XWO^T2RnGRlC=zU*lNvE<;%qHdvc4pr>acvR%FcZksyyiphoxsc&sdT zD0NC64SX}R=_70VXz!o=NA&wUG0_4W?y0P?iF0=0(|_R)rnwx?*=|eKG<6xcS5dUn z$mGP=alcHzOipCdMUCg{{h#apZue>9WD(M7g<9022TnIT%_XDM&MQY1hl|~18aY+< zOCxx+i%E_!KnFM-MJ&)#6JUT?C+|oN->)x_Jr%DzAMgHqi%$semtXObB5J+zyJeOZ=vTM z6P`8LO`JnoC_XE(g&|@x(-W(*7y;~d&@=Rok#DO5$IuDx5gp_+E5^PGV(ZqKG0_$i zCPBFpH};~>ANMlol_74&o>u5l=T958Zs1+-|eK>r+Xy@rG0Bw@y{PG5t8KAKRqz%w031Lyh__Gd*FqUfX`I zyHfA^GhQa2Q;Qr%EYm+6^z~ENX!`vP@%S=3`_{f=mXY)EVYD1!nrfoQ4wfWsNl*95 zOT3X+iQg~YrysSd-Os@0rwX@xY&6_?=KO-fYb49Tnv#m^ttu@q*L9VI&E)SL-|-}+ zUMlgH`WdBv9YDW6_w7sA-w%gh+8$^b5{Z>~D%5Vm$ye%ubd?=d#9m+XYsIGDCj!m9 z;N|BY`zmnCLS4@hQa+8%zF!DWXo-)il2 ztMr%u{UE;-Gb|G09_`$cFtFOA+4f?-!Oztu8G74mZ=jVY3-oEy@ty&qiOy52Cmxq- zSLkl|#5BFIoMoET4`g#UJ&0Ddclvq-fRAB?SS_7wBtS6~oa(l;T#GLIT6F~Ly=-76 z)3Y{9Wqg8P`V>Rwi|`h2R~eQoQoF8KV1JY(9Aa^QmtOR^4K$beDeVr({;f`dseG^X z!jAL*`fwY$xJ8?6Wt$T!?0&h8ZqyMKcR^9cxOqqs(BNHG-$cm~p87=OmFb;)qtLUk z!tiO|)5n_G@1K2jwcO#QzZrLL2hQAzWz@@gw(!{1k&cDt?BoWz(epj`jzzvV&J9+r zN;Ry|K6++stWo#M-g_T6NH_s zdG)QvLANM(JaJq09>4|0qLc(Tgw); zUOX@n6l-SknZf3toR>fk&CqCmilwd4#I^dxUyP4+L&_)FIjL$7v@^m~d~maMJHoQw za3XqQ3qpK5>Rk?jF>d$mm(0({RgOv2UA6PuyaO5DCn_utY4O)=Tdv2Tk+eBV8am9aWtc|+#%~BHXoS0fHKI(F%=+%tBkLl**mAf#XwiXvhSjOHBH&9dNj&F^a zv2R^4f694%-FV@$HRQG$Bh6PST330N+P?@xHp394XsF^N%!+I*a#tV}KFul(H7Lxp z!Mc@>e9FLZ3QFlbL1NJDF9?NYRx5Kp<}a2=i~=mN$?Mq!>8_DKSbv$CZczA#e|z|c z10HW}ZHV+%n00#>TVq4|@bP@C^`~L4?Mfu2@h4<{I)nPmr@^z#Md?lelI@;y#Kw(( z^0!y(BB!>jNU?YwgfU&6i&$;?{WEb%3y6m&5*nrL;z9sJ@q5;7bS!DE4D>G^TfrMq zowt1Bvqh$5^mpGY_`TY15`h&yg{O?$a(48hZHM6dhMTk%N=xKG2{ItOVFSu=(@vvM zg09mxH4~y^SH!9J>FC`Kcl`gfcv3lf<}l%5kJyK@_ROn~ai(#sCuUo_Ec|l&SMoBK z)jd1&m38n=MiQkn{#!@S`(LO?4S)~{-LYEd5uQAo`Ca`kYfJ-F`^zq`(q5BtJfW0u z*j3GQ>dcvI8A!f&=?aY|^=;KL5C6%)O;Ik6XjdG`f`i4Qp z9c5(rCEPK#qamZxj3o>cMia(6Ei`2>jp=G3*9^JBl?J6D+lWw2 zH^fbJvlLQjEFoRJ7j4pp-YoBV2EF&*_y7OA=X2(H&htCJ^?QE5^PFc~4;}IVl3<}_ z?G=R}!w>6z01`S9#||I$4PYSz3A<9{20*l>g!q12!WEJH-VjM-ru?_AbIZ2O{i*#Z zHLqqpob?Jg;=jT5=po(U0N>qW<+@I~W~MkZQ!~>|x)|4x(10UHnJi{#I2O??Au}(! z*2Z?X1Rw&S&(bj3Az-ON2zjU!7K)#moA^wQllhbu z_Yf&UecpyX$uWf^OM0Ne-9dsL$P#X=aa%}5T3jQ7{2Hz<{=f>50zgh4CLs@_h|;>L z2p#}{BD$+Jg=s%Lr~Oc$e>d#9qsefX!V#w|C+-ApX* z2!NZrl6{z(oLKGv0P;DO2?DPKfq%kCe6l<@u2d3410W5};B7s&I`Hfs@1k{Ag!KKX z`=m29#o`b{R7b$UV%d08DNR}NIzTs~l@mz z<;PPmB~%ec_^h^v!+cyD9Od!7l`6e}~z>#a?tLJ>wcNQ_9 z7-SeP5fzuTzaJ~#G2*YgL)ll$>=kKp)Ko!>!?$_eKI&hEzVX;A{G*CSMe}g#B1;2+>qqT&<<nFUc>Na;Z`%XNqeFejPbBMbIv(ud6 zVZos74)IJ6@u^_JEfunQV$(ZFS?ld>SDIhRWS=dAuLEsD2zxbjz}nqNFI$(^}m>2RGhiKx$tfE zwKxB(FA*oWJ^QyXrOwsAu^6rm?U9 z04P1Yq1Mu_O;JIMs3tTI6A{&3Bkb-?eXSJ4PB$Gx_`f= znJ}#Fn?Sh2_iH0yvUtq|!>scvSOI**j_`SHPQ(239ZndSA9WJ&XM@2Xum>nZ@ZyLz z0%&YHW2Gu&xRZ>aeg z!@Ha2*%b*ji##a3D`>QITCa#nOK0y5rw#08^mfy{yCVC#V)u4M{#JCgI<)!PwUV2q z-)?UBR{ib`&#BV|aY$t6PNR61hj_3p-`mR|x+Xu=DTkl@m`fFHtoHeX@S#1C$ zT`*Fyai#KLNE&Ex`L-^kcr^~(3b5Q1YP|-xm4MY`QEjlru~h0=4NeNd0L|J-#^egz z$j-UkE*q>cmP!vU6J^rRnsYno7(uxk`E0R3%O}WuMfoJtK!V^N_h<}$JoR7ED^pjS}UG8-~fia^t3iyT8&k%$$C;;PWN!BLcFSy@n((HaGt=(8{Ei=W#x3AM8cT`;|b+ZRgiE3PC!-8Wb+D* zpk(ujOnM2N2nrMqXR_YohI>4M%qum5pba`yHQeO~k4aL?;Pzm^`w`Z?BvSX%dSskz zE-4;2Qh=Ao4fA;kxDnj~DsEVtOEnwO<)u=Q5mix8kV*~8LPcFV`D?s!`7G2@4y?Ar0LvQ~>Ju=+w;<|%CUfS8BIW-uo0+|6ME!vx<3 zr69$7BC>Orm{JkD7fcnA+ZxgB4m5bM@9sL_?)@8iET)m8=x7 z=7|K^TpkZ1wLcLjFDQ6QcTQuW$WF!OJ-(%UjvJL+)}ZAFbE=D8D(uSK0`pcqsFcv7 zO%5<=^kTKuOr}tSa9woP`4mBoan+xa0Ta_5<((M+(@*ByB3y&svczyAp|3UIFN$eBlD~VI9J- zA-6VsIb+aNF>RTRJo>;QO~6Z>=Ti{yQWyB(Il^ot2g*Vkl`NK(M@Fx{)3C_NRy>PE ze;*0BC^81&gV>^M;AH{jMOx~28kM?8gG;r*$D=yIBdE3|OjQk%p(agzf4;&>ooI3X z5&=-F-|g{J7O53?s8~-PS5$06#>U}nn{^AZ9*TOgdaMLJ$=rtB&JFOzj*LIoaD7MirQw0H#b5J*dlKWwDS3g;)04;zGjTKaRcv9V!- z9a?{#p+3^qt%n!1z5y~e)W>YzVrS=i@OaF*gkvWI1ATXL-{jw)S)L+m>KeWLQ{mcG z4__CKRT^1`%|%#$wmMlxH|g<=^nd>K)tBne5(V#nx&QuIPOybRjtbJemZFX`n;>+s;*(1lZr9Nv& z9mq75k0!#s0lOky4Nk5mGAt2?6}=`ziWSa;GOiR zlhh6MBiSZPz+I?gw-M#eJ*OpwQj018_>2e9ha!?5^&~#(kp|h2i7sYZ;Uf1RrcnX_ zZ~TJ&Hd(;!)VgK%jI$;_jB{S=FFZ29YeKEBCy@exj^b=>D6_psm49oW6;vZDJFn}M z6lfjsyKyhk1P~?g;CaIAh9&-QPUiaJ`e+q-X${@tS63Q#ALEr@^Q1;dDf z7M*+j-~P=jgh%7L5V{3G+> z|1!4`)MYUn4+b|HK)@AdYd0{V+dBhIS1C$8Lzw0S6o6lOHQ#G@_+YEu)(A>)BzN^FlJddB5+ZgrZ?R!oOIjJk=f(x>7!6V}3^rSd0&vU8?|kxy&+jT%4t@N3V`;Rs6^QbhslCp8QomR|(Ht%K zriCU>z~UQMhj|F)jGG5+$7(xLsxxP7-*P-FA3U5)I)ybUqC+&uazI@NGqb(Y%=C3*@D`Jeo$x#{ zwGaMf1t)g_u>Is&B$;3m9Fux7cddME&4KA-mTL-Wt8}cKiCP*PGo@mi-bBmH%FUdv zP9u4`?%MK>co7yQap^FOKpIvDM5*>py#=zix>W;%+app8L(hB~+hT&Qb#{x;I}4sU z%*8m)g?CbFjQKyPtpP5&;O@xu>A?=&r%9DruP>0`J`in}zC2J@W9_`Y!95ELQ^(2< z>fCA>I@0~fEJL%d%?GQIu6Xc2TaleT4LKl+_;?Skq5G)7U@LNwb5@N9X3svZu7ybcE-=7rc@KqYVR; z5DlC@S+1=8`0)B+T${AR0l8?IJy)h@`W=E^hfE1Q-ra9R@VY1cv)Hx-i0Jfi32r>7 z1i)6G{BNP9r*G1w+Ob8HWw@u`hFqt0qB?q=g`PjR=QRC(x^1dzL$#B|*MXnaldee` zQ=-;?^I84%=WyF+hxWFGHcHZ&-9Lw|Xg}1q=ZxJY!JCaI-2c^9&#eF|Q5n;xlgGY< zW3!|B4_}6+n!^C(OO!d;Geaq&a)u z#2^)*)L7YXG9HI6nYfw}oxzxJwTPi*KYa8~bZ+)4K5MMzRQ=G}&09XKuEY}Fo%|SZ zHZQc``gp;Ro&5%_vX+zUn2#Ln;(Sj!1Pe0qsKh1Fz&c}kaPq@Z>{tqV6FcJpC$a)! z?~#g92GI%7A6N`^&7Q)&O@qy0`BLwC)vlhIJ$L#>yU~`Mt&^m{E01bf{DTFdZ%(9j zH|5=(x!nEb*YVbxe1+rP9|Ma#2?iXx_tV;v*P@op>xb8WoTx~;lQDElpku9GUU(_X zvR~bokg&@tp?J=BzvT1u=}%reIX$7RJfrbn;IZryP6dVDvBM4k`de5MV6^^Yg^ngr z`ZYgemQmZXG2*y)@9C2K!iy)o$p(X&?UxH9H#!@z18Td`L3c&%#@no^pN<<>zp8s| zU9uBx&~ zP<7H1wLE6k}z22@Vy{FL4H(&%OOyE{_LvrV(Cb`+lQaUEax zuRoe5(hrU@-;I38Z_i$%)zxA-(!Y1&Ha&Mu!r$iwxS(|%tOkgs ztTCRX#SK?*V$2SIPFYDAF02fQQ3#N1eRpQOez>pf8g)2o`{tTV>!Dfa!_~~WrI=~ZxA+hDJBN5ll5&5ms;iz)Z~EyCIwg{ za9W4U1n)Z#rz9(@3$6G_cx|uEQsbSl>-h+aly z^M>pWyARk~JQRJ}F+l7r4Z#(JZHn~_IyDsFf4fJc`ig?8OgO+t%jl%{PZu2~ORO5b zs1A1}q!HV)_I<7{t{z=;ec9zo`qt{^z^j^c!&}?$KYMF?XDm_2_Zud^ypiTzHa4gh Sd&EW0M8Mrba9*=30Q?&kGPgVc literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_grass_footstep.1.ogg b/mods/default/sounds/default_grass_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ce625d92b7bb196dc2f7a3aa642b1c7b1fd96504 GIT binary patch literal 7014 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_grass_footstep.2.ogg b/mods/default/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..330ca4770fd1eaa8bb43b9575f723f584974ea6c GIT binary patch literal 6953 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.1.ogg b/mods/default/sounds/default_gravel_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..68758b2098461367b864f70ce870b16572677080 GIT binary patch literal 6923 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
FRZ$vBqk%B{;qv4ZMlL zQ+lLN%`PvQ4jlHi48g4XIM%`+h+Xc+4rTI&KP@fsxZv`7x^H$Q{IOCklGhZXn8(fc zOlS7;R}R1klQHSxHSzr(&2$YO=hLx9*u7A&UQf!|W&HH4_#W{ye?AjB)S|}sM8ZVF z8PTr0pv{gn=+Y~F%~oC~T~){>0+mm8vDlF`Crp1Lgw$5E4SL9*OUV}6V0LAXz~RNb z1st^w)Ke#~wn{2LPE^_c{UlyFv`fpTmiOQY)i{!}?_2wMi!ejchi{7hT+J(d7u*)b zHoJOX$iE$^y9fT4VkF+f6lsHBQB67Bxu z-VbQa!9MhRMvnMteE}#J>;9q5YBE*JH ziu>8KLykhOTn_g1BhVR;vt{%L00i z0RTu7gcVFE1R)ZisL?r*1*j3t|FejZC4Veb-O{CBhL9$e|HvrOMgID58U~;%+%OCi zASD}eNRec89n<6FbU`W+0rLFlJU*j;8e@bnC^h5|CoQOI^Td79-i4Bk5srKyZ&{Lb z(5Nvdt_%SVmew>o7srNJhLT<>$tTBlsx}IdSTyBt#(q@oc^$`Xl$aA|uDL5px?mV4 z^k)ufL$kCvHp3oal8GT`0UM%GfYfhTBuY|1a7d6O;ogEk8UQ?cBA@(3o{LYknhWRw z06qg-f$kt^?;U7w6_lIffD1lSpR-T=VyNIRM0m`w3aUP?^mASIMB0Wko;0!{-zgFbDVadyZKGg*(H`H$+7 zg%e?@gFfUN_46raOH^eRVPotAXhsZwvTA3{KTeJjM)E%4EJwT}FFbPM%|TWn#K~rL z;pq>On-EK60FxfGH#1%&Vm>Mx_Twm2Cck+Z@)l6)+xyV@3qAwkPqnTDUPy zELsbTvBx`P;a%#9Gxu;aJ5lfcqhi?^OFRSsI_bw@>BnH{3)-pD<_5k!3V;C{{X{0u z%cm}Ar%Ris%lM^V2+u0IpR;m5SD}P41mL3&p_k->u;k*fi1AVl@W0It)6NlYU^^p(L7eQJOiYa(1$O zr}Q$)kR7&6Q;mJJa|jVf?iN58rBSoYN!j#s#RAxZ=SrDO7}M z@zd9~$f^Qi4WvxHo&N$E?5@gFL@iRpDFR-}RiF~U4*s|w52p!230WEg`FUJ z2-A@#$BCFLM7Ih2yL&{eqb$QJEC#en6GR5B!h=u_|FRh~{Wo!(h{ql_o}?oiV=}Rz z?z>DJ!)Ce^O(bIL@m|?@mm}7o&7jmH6Z`faaYi@*yK`$0j-Ls^VozcnCh^#l2~Lwy zZgvVpRAQ~lTas`in%olIO9e#XHED>u-LhqhE|M0kr%TUu%H)SZIF3HLb!USFr3YAm^3Q}O* zLS8g}uX7+2I5~_`YmdBG9&C*Sp#}`iK`0Azm=Dc-RWkpzp(!2890po-352pRSF0B$ z1iTs0D+j;U(I;T7bn(FNR8IzaEP~Lc!)q#^ApmaK-is>4q zRg=PAgRpv6bc$w!a72Z2!+8R)UY$K588#{8wXW76=}&tR$_K8zQy7_4)n)IWqPBDn zNneMBc@;Q0zI@^+D4%87BZDw(E-ym?-Aay2Ma>E834+XmxDnd(d!(gkBarEX%D0Cu4fLxvo8QKfZ@P!exR zowGj;u`6lmUo{~b!e=B5#EgONzv|wx${}a$b^V_W;2>pq4uF%ML8>j%uPQhGbP3jK zRIqEv@t7{9XJopRei0o2_dE_fkPivGj4P=QL&_l)@~3MA-a#36)!~2LS|8H~)9y)+US@tgF_?MC4N=hD$0R?rp8+ zo!{w9CizP!U4Rozj9?K4b^$>9Y)oR}qN+MvOIzo(o`De<6MsrfObmlC0Na=t#)k$A z?G%Fr&_6Wj15FGn+67eszq;QW!~4>vyPjkFZuE+dg8ZwqJ2fFE9TDy zYlJJfC!dB)j-knMaKSH?YtHSuP*Lr-MO}GE;^xd^X}ckY7&@^(g*z;jX&hs?`~HOD@8oph-Nw1A9bN&hOQvvkZ6G z*Gbav%X*5I-D69z8#sw_9GCp&(e|mI*$dY*2Tn_7H_keKcWe0=9Xpa>r5e%X5DcJ0 zpcQVe#-Dfy!zW<5?+nt3mc!hzaz7!qjyW#`vr%dmuL2|}hzS++9^UXnpNWsjG`y{n z835)^zMTsErE=Z=fP?7NfuRezA5QpgcQR>;W|n7kc6#6YsJOi2wAM-^(!S;{S6;~z zbe)SDpNzQMX1w-tx~=VYbVHBodY!J|@8i6vwsb=Hla1)BKfdNJuwk;~viGVbo`i2b z6L2L~@@n4Je{=bZV|%z?O!3`-6GFMO@tZ&FDvz`zzRGY@8bDq=gcxC-mlPZRlz$&y z`tw=K%V<4$1xRR#z8g2X==zeU+G8`RETbOd81Pf{y!jyO$2j+Mr`rRzB8%ec#fk^j zLN~8m> zWL>07LDtIo5qW1>YekdG%eog&K9SiNi8>h!H;wpsA+s#my0*3;jHYR%;>xQQI%I#u zyf7#}M}I!N*s!cN^i1-hRP6N3Y}RcD(|sKimZtp4W&;uBRS|rjU|LOcQup7z)w+K} zb_dC3fPI*_&(kFxYduE_HQ+rbz!ybgOG`(kpB2v@dv9y$PO;gqy|#LlS$EDqG}TGq zUC47sH4qCQ6l5Vf)v<7eD(LDz5SY9+e+r^KjpYf09UUSg1g_?LvIqfXI=snS-x`#r&7ZcNbrY3`_N zc{1hFpPz3C=Pc{kdzD`7x9z>rSR%fmlXLG=!%@>gbO;{5cZ=oYsBv+~w#AMU2d2Xv z-grUBAF5R+R+_|T2W`ChwPc{kXlUDLr}ZtMvop(aaOl7*uXzX&b_xQ-hI1MSS>5Qk z$6}5(43!Xzs+QQQmFRu`Mpw4=sgtwWjLSf2_xGQvsSztv(yW2~f%*@Mg${}x;lfY+ ztpxv6b@7&I?!ea;YEZC*$>mFnM>2_et0nawb$rx5xlaQjxrs%r*`FQ;s_3mf z0Sp}aX-4{rb_cJKJBxY|UhZts9CeT;b+Us&VGQ|K&@blg3WKX=95F)eJhj|_7Ar17 zrD^Z@72DeV0QJ{O&5Os0{^5ePmp^9SIM$4GwMt(uK56R|yE}*O%iF1CUzMslc}@4) zn?|B~XpMyPKFod==q325d!)TZEt(|e-hSStoB-r;DwC&uC5O)ZYrn<=V-g> z2_qIu36(DXC?5&lrYm!q$)jv%Hkm?4Z)xB789+UC>qV4iaNQmC-vXVoVY!xqH&W&T zw^~DUTGnxPT_L-r5a8(UM+oAC>HPeMO_A46ZvRl2y7yU+%H;1i@6(mG8T_=Rlmvr( zZf$k-s#%9GIyU#LTJ)r}Rajk8y{m6+O*OnNQV$Iyri`JPAF$`$$6l&iebOh+0^jr* zSZ!<@dwO~&Ux%iS&7*2>1n!hL4*Gk2-p{s9B|pYy>`SH^Rl8p9_1M@(l51^SggxE} zs#xrOYcpkkYBb{O80Gk>k7&}yGpD?IXFq7c2-s5}rrbok*B*~}Iib@ZUV2Q@e=Fo1 z254okQ+|f!PmeW4#zS{BmsrA%om!8&7y=L~?$03;6gk!W{GR46{-7;y{A9h5DsX&# zjeiPZE%|93tr!y48d{{8Qn|7Ba`}#mQ1x6-9!0(~k~-2IbO@_6y_g^2>OJUxCr4Z( z^+x|sqU$HQae1p9bI)Qqro68 zk6g)yM4+mbl~~9^>TZ9r^$dk&sXd#HqoruNUt+mU>jKX2K&4m0WsD-umRaitPZjcC zO~|`mCHIuGy)0+t*2lf*g-0?OZF}c;yCb6`$389<+Dmt*lqU6D6w;n|8TYbC*>bsW z_e~UU_m1%F*xbF|6R~`nV%@!uZhYH{tjwwqE#J|dFX7vU!8A@Gb17SJ-IKgKgN2Du z!?r`{Y19T@Ye#uc*4n2wD_%@gkfZxxWwZP7;nub*7AwNQtZG53>2-g7zv=fyS}vdx6W3Fw7QAqU8fZ;M*;zbLg%~c!dYtp;3EZ=TUtrA(991Yi4@3IxG41NbE7L;9CMrs z@KaIqIJ>SO1kjUWY!o+(DhvY}dry6Lx2EW!e8iCw>3%h zH<C80^j_ac5<#5nB!iH2rc_}-qR{7}A z>lUVi2GprSznD87&u8a6CW8V+xaX*$SrpSWtRYT5f(Do|^PEz76TQUVuIo5yaQM5~^V`Gx`-zb!~tC2frB1G#eI z5i{NLdMdYVJR)kAKHYjL+>uLL{%|_=C?JM;eCG*i!mS^MJ? z-!)<@iYsIlQ<6R|OaOMjXs`5DgALfbpZ8t)>x;o4uw<{XxzYc&s&zYlP{^QCN9P;-`+No4GVm;p8PE#| G1pWtY<=d

Wa7Lz0+WN65c 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.4.ogg b/mods/default/sounds/default_gravel_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8cdadb16fe68030cb9507ad9077bc562a2f73fc2 GIT binary patch literal 5906 zcmai1c|6qH`~Qd->$NvDY7{Y|jHOIc$Tnji21A1|)+`z0lGK#pYAlICX-F8^Gh&3& z#*lq!sDy4RqAcA)wER9Z-FtuE-ygr%_q@)W&vVXmp7(jqbDndaXB>lqT!1aW--Yn> zOE{18op|wBV240#WVBxhi8ml%QN#NHK$MIC|9eNkktg|Y;Ysp1zWQbpQpP|3qsR#U zg4qjlJwl>__c=xf!B2+xx$(i_Xteq%764V)Ill&GSQ9IDjYc zhgqCFm1YJ}rK+2FWG88ufK)0991G!%Nt^%ESfYYKt{FsyI-_eOk@VJR9Y(c8c}Rm} zb8zZ!=64E`YEa;0HA5SxBw^GXjQU7hlXjs)_l_b}$WSx=!W-T0r%B@GsRc=B!*yk9 zkXfAKuQk-nY_gJs&AOpfD>G07VbmRYYOh&^GF1x&*-3>P1SkMm08m__Nh{G5lU8mJ z1G)h~+SFOT>lEzCW!MuIOdKMK-wGN7fPnLCXk|8;Z)~#F@Y(A8`tD+tc5ef}>hZ;G z0Kmyv!t#{72wyG$03gLiG^PiQ8BCi^&4f@>YPJ9r01yI~F*xRO*qUxJ=!zR>hfn-R z^~xhE@x?(KN{@sDRtl%;3MvWn&jD0}B16;dp!{QG3KSz%B3g@@X3P}hr3x@ClnTS9 zDL(retpzp9APqcu$3PB%R0#twQ2@@HWpotd#ePv5toWeKLkv%KY~0d81<;CwLL`2ca$ zkl=EFfO89X&kOfrlPB_t6Kjdn|4|7d{4L4?z@hBji0oa6>=~m>HMD7Pw-#V3%)61a z*P59#M%ilUZ1s@rp!mFss|D|`7HL)SrvTEtDZD}}kE2z_(JJCH=TftSujW-$7VPaQ z|Ik{u@ZYL9-@(-YAV$qPTFn}(W{Cv}zI7=QJnO<9Bh@UUwR=Yle(iBs&IB~5d(5v# zJ{F-5(1pTdxh*qcEF+soafan2T)onOb*Jr zvh=AlhE)#L$EdSi!)6#@cV3gJY@4RSl=r8xKp{W`{E6Qf%2E(8l?QGTm zF$8BE5f38A635v%_c5})JYn3${<#7Umxp`KCF1hPJ~23gJ7Ihr=f0Zwd@PYLMm_=M zA&+y(xLC5!Som~4nc%U9uN46YYGnu_gIa}yQ0{;0jC=lt%q52tcfcUjo18GAGXBz9U1b3SXi;XPJSGG| zAMr$}vz;($wN0KbVXPFar#Q3G0~3O5a`O+X<)k7-uadBOvt@Lw=U!%G9?F_Y%EF4M zGPAL1>P+a~*|LBk=lAe3SM0^gGI@VZbxt-mU7e}yMbl}9lB7T=>_ryHNJDff`VYwX zJAqK(;s|D=8z!_i+5rPX^_ihTC|filZ~#3IFMDcc&4WTCK&?)KP_}3!8%l~mu$3_( zAXFF{!2zLk*e?%3YLi|4B$yq~{Q6p&+`{;a*QhgJ_|-Ili%T*)Jg}8KiE7q3)W09W zKJJoc*bGgm(`oi5NgZi&Bhe7!ivEkpW_Z}Zz2Bw5op(Sn7g?QdVQI)&Ck$^NwrCc( zczEsD4v@iHypjX;A7F93UBa5!&;$pavE!u0dmLC&Xze=?3c+TC)!iF^c|jXYmH1bV zs^=8kjRD|d0HB+KoP`^Rfl-Vu4BpP1Y?O#9m994nr)FViVbpBT1xAt+CX7j^d#17I z+1N0oA{gsmff3p_sl4MgkepH@1YiXKiA;ZdQBXluXm6%^e352VdG$PdH@--NR#jES z4v#NFfZx`-Ixqf6YhCq1Q3!uTd!Zeas;a8n+uI&lRRzAZU|O+!t!lm%9BKF{UcJ!M zpgqBk*#3CF70fu;;R`*dz)73!ESNRBZnIVQ8z%~UcMm@l04g4&aAh25oGs$Kr!W9i zkpmBq#&*N0U_3=o=~yr%3Bv$ji=Cz*U+og`&EHkiH0J4F3pQyyDy$X^nf$o<|26^u zR!$1Q{&pZ3qb>EzjtV?GBFbS&5{DksNkeE&btY(5Mp8BwlS{&4(3MSNJa6S$FHjmA zqQg-R>xY9DO-HVR{-eY3Bn_H?KA+Y!_L2m4VF`m~kQ{7v(>oYds;bE|Yyhf4~+X&(?$-P(e)L3B0-S}DD~gA-FNGYD`%29$Mpk}AOy04{*y zssey8L@W@XJQR2|3!f8$WF7zjv(!H6iz&&kmWyTKyUMpvI)svs0~PgmY})Qn_6Z&z z>I8#5#9aD<2h3DJ)X3=16pg86>UKu4i|afb#04WL@Jax9bqCnBtKf0>(6d)_%jSor@RjFlK!ymFVuC;=UmOr zcLLgI))Derv9OZi_o?SvCPg&&w^t)q*Y|nj6wF}9wW_xl{@klbBE=%qoN@i{7I(q* zLyr^34DQVkS@Za3&Q3pZFVk$MzqlH2Ix+4o;RQ~6sJI?OyLEcZ9lueMH#ot4(DCzy z{kdXITw%G)Tbv=+`jGmKc&kP~mdVsoLVm!?qXpaM zFIA`6jT*(t@K?_c+|W*`%XlR~=^EenL%CrcF_!wp0)H@7?0u@iG%+X9&E-deb zh%nX69N2wD0%(V*NVKRtgxCF6{Y-MbNa!%y?@a|gSMBiq(9Ds*4W;TQlm1IRdRAuGOtDo6vcCB6H;vWw8=d+u3QZHBjm3k`3Jll26&iC-u zl?;HhFW@f~=$3&oWktz?U-x&3`cS zl`D)!G1;&Lj|>fDVSWt$#fH?;!IwGbIL{KiZ*py&Xbuysi_7SFE!nSE&Y$`8&R;Wq zS|NE#2Pyb*`x;RCJ$8lO{B;+bdr2RgFnGQ94YA|&IjHj#Ctkv%3MKyRu1fVnsrJnS zKVN!RTx|0-G-|havSQ7RVJ=6$wfCX+?)s54#EE-)F6s~Ys!dmT!3w)#^8P+fO>6e( zhZvw}9oCRbGu-~MX6%{ds{4c3`FlOmBwcaSmmb#;iY{G_6!sgg|0w2Z-Ng;U#)*KQ zg!v$$iKS(gCdH-ByVsj#UgmRzgPb2X6wR!O*Irk?eD%)0ZCt<0BLRA2)$sx9cKF$t z9a@j{((!hCRR$oizv9kG3W#`Ngm*wEgKc8)A^Yw2R}g<9e8XvrE&j#{K>$wQ2EB_@ zo4?=o%Z48;Dd(06VKRAA%>Ah0YE$s`PkD+)gJv36C)zr;h58N0dFd*a!)z8?ON>jZ zy&RQfLh`+ZPv0DYM4N7l-h4Hni)^_*q(r&vx9w6n%i`rqzi>pSryl*GOU5~kpMoXd zt=vBzUEC+JO`YRTXuGh1r9(Yp@L#M1pxpBJ|2ch^29P({1% zoQ=~j&3xcwzs(RIAKBh3*ahgU!@`GkapLlCxfZV0-%phhv_nGFJnqx0bZc!y2<-t! z#ZhFVzrrAIpDU>AOt$RrX*<4iYU;k_?owm%dY9JkS|xNws%x_)c|t2`l|%hvex~oy zvbAk({=I4y*DNiOPX~>^$Oevy0zcLp6`*D3=k!VxzuSF|d0c)wXsY#+T(4erjT%}T zO*&h&a)lEq{B!Nw^h!{I?oB5@j!aMDw7IJ`0P*Py zjau66X$aS_-S3yPKWesxJr?f6eeEXFf}_1%+wLUY?a7N+Nl71t(2O;Wv$d-{hximQ4s)XRzc z#}FUqH+^LF`&jMbT_g5M1@{7(UvX+4eKyE8+PuAry|F-jeAI?KELz!ayYBX-2^P%=Kyx_^{F_eVo8+@U z99O17=B@k$)7E|JEb{ku2Wf0K@|t)!_(`NmZEM%}&L+XCBU*(7M%l)hb;lEuyJsH5 zj(%#5br-*SJR@G=t#zXxY1Y?Ke9v7$ky971`?j3^l!Gg4b4YphaMI@C>EzDC)QIso1x{j)xN9tH$)OnQf%%5?CJ z=ibY*n@i`?+1vK6-#D|izE3DBZba3qXjE2IHBj8_t4gPTNrJ)QCn+Tb`pm$XWv9Wi zJ7f6~f})n)4!7C5k223*`m`q~R;cu~pUM@z$v>&)ZGnnsk_WsuoHl)ssHvli2Tx_R zK01jFs!j`zelWCld4IMqX)HYfB0V~Sf|dzq#Yq+cMIuc&zn%R-F_w|`@sY>AEI(Pq zSLk=wlXjnfe?b4Lw4%lLTM0+m@Pps4#hs?!ExK*fVQXd>skR&|=4&~Vvf=dXhXmU= z(?l{waw!_Ediy@gVs*;DbeTS5!VGD?a;v+4-b!P<=lSy2})3(WPM%NkI5NRdkf1-W>)p0KTR0r@ zXiMd;;{f&hK7l=za$fDDIDs#~k3A}h8=;|t?l=2OKMpHx0)<`AMq6%n2~!%F0T26} z;3L$hbF}^Om&!uR+YTNLjXONL6ay!|?dxf6sAGi8ZZAC3Z@hocPG8nsAMM2r)!FEX zZ>n%+>{Qf*y&iID0+EtQN4+I=l; iAZNS_P|%lc`cNtE&jBQ07c{6yBk}?MgIq^=Se*P literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_hard_footstep.1.ogg b/mods/default/sounds/default_hard_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6b351ffeb3fe7ae38ec1a2875c8de2d42f93469d GIT binary patch literal 6634 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%0D|Q#?*CZce$tXw1ozH$E$hGnct^2n# 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 Pkt-vU&Ilm!|APMkOv?Ce literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_hard_footstep.2.ogg b/mods/default/sounds/default_hard_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2ce721ea8f67cff042b0b77e2141794e63e72b85 GIT binary patch literal 6852 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node.2.ogg b/mods/default/sounds/default_place_node.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..012c667d46cd106d88f5814643b7948e102cf727 GIT binary patch literal 5726 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node.3.ogg b/mods/default/sounds/default_place_node.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..eaf971975e810da91942af88e35956c4a59620a4 GIT binary patch literal 5585 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/crack_anylength.png b/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000000000000000000000000000000000000..499783982d553bfecbc596175b492dd0f2346a32 GIT binary patch literal 1076 zcmZvaTS$~q5XZ+YwIp5ZA+bWNP6dWN`A`qqZMU2fSwyIZS|XA%8?t(dZiHqLRIo!m zWCj&>p{O2|fi%0QU7+X&J`HRnl0`)YU7&|fvm3;&+Xv^IIUi@v??3-JM^Yfk(&CjZGCe1m(?5CLW&0z`2CJEWij!oUQCfX;5pNXx`~5oH!4MkMDvvl0m+TTG;gVgaJsY*M|7 z3JVhx5;}C^g_TJN867$HOiC!|*pVkxJK@lyOXjPNp`l1BkeL55&7Z$m(~=+?Khr$# zMU_P?5sB;stC9#ZTTH5UzXhmjv-271y?A965=JJ|%U($Zg{=N&nLm;a&{WTz@_s2wnG6;bk_aF)^Ky1%eJg}MsFi`S)UKSW{!DkFD ztzSFvY0Z;@fznB>jj#J!W4|e%UnlRBzYS>^H?DMeo+{`1b5pVfMt)bzRL*KkhzT(%n;7aUrm}q5thr ze#ND5Zu6pJb6NseURPaI+&)k>Yu=Ad16h?z8v8rix|=&YkH@Fv#sjB=cVgFeHBMgK z9`EfBmmTQ4dh_SHoEha&3@!`@cNU+Uda$jgH2X!*p3*ArDcKdBA9;2A%>FI0D?`hE zpD+1RPYb@BqWLp&QFK GwEO`}y7WW< literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_apple.png b/mods/default/textures/default_apple.png new file mode 100644 index 0000000000000000000000000000000000000000..ad03a1812bfdd97e3c795532444c3a87be310b53 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMpdfpR zr>`sf9d1csR;k=M{?C9yyF6VSLo80eow$+fkb#J+f7V6Eg2_t1I3F#4kyify;QXTE z!Vk6Rx`ei`D{lVyd95keyz%EJa_Nf=QXvL>4nJ za0`PlBg3pY5H=O_SORIEGl9PEL@>IN;&oSg&%qUSfB_ zPkXmTybjkocrNfJsx0|IqP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW1_J>KEte|7$^ZZX=Sf6CR4C7- zQq61Aa2S5_%bTRBSzR$8Oxw#ktsn{=dYK1hc-f@`Jq&vAQkVp9$~^3%;1IkCK_-Yy z{{TTz4}P#BC?RO4;$ea^u~tzlOJ`!+^q0g#Yn>f};B$I;-mi!Ed4+S+qr`|ezq=uE zCIeB!t4CqT;435|qQrnEO9WChO(jVoZF6#=fNO8|;SYp>R~QS};^K4D zuuQ`OaCL{}==omBDckDBj-Ge){Ib17nVs8zq^<)<7bo%P_rP?qoV5Yq@X+}Ej}MO@ z3<1!)ENj(k@ybNJGSMr|4JUHLU4@;^reV#O*nElkjWyfN>6xcC zfESbFqpE$eJ~vpqdFh0W2Y51g7Qg{OO{VGYt;e&MPj(uPx#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RX2m%rv9x0I1-v9st1W80eR4C6) zQcY_VK@fda-94SzthfoeB_7utMaU0O^#2%)iVC6TxtT<&5N_{2`?b60m z!cCj0bB>v^>bkD$I`6%zW;MDu9P)pxOf-)1#-r^&?>+(uB9<~c#xdUA z+qD@7pi>pqq}qv;W!b3~%!VjC0YE_E3wsfx00a)O;k^eio6S;60LrrL_xn{=tz$GqovLGQQW8}HmY0_o zIRVhuqtC{gdQ_La(ik(J&zadd=e-XhRMpwWwRHgXsP13sw{1&1*RN-}q?-NIF>XEC zIo>}2;FyC*!5l=!G2VIe(&hF`5YmNCS^%3v~?h{$X@GuEuFt@V1nNi&g7Vv3;+#uyR#2VdVlqF0AoI{*Lx M07*qoM6N<$f@VJsOaK4? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_cactus_side.png b/mods/default/textures/default_cactus_side.png new file mode 100644 index 0000000000000000000000000000000000000000..395dd0d64ffde7c81d97de2282d412c8a7e9a4ca GIT binary patch literal 763 zcmVPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2Tt6WL#Ml>h(&jY&j7R5;5; z)6HvLWe^7N-+51NZtiEUw~0wwU084-f}pq(1dGrnHdcEme$a}FI~Tg>!i5ShLEo3=) z&hc}FcAvWB(yLLJqI1V>VmW5xR5a7)+c%@|%^OjBNIpfD(;X&&!14#FaC?@u<)|)` z7f*ar=q+;OY$2O@NPXACH2XkR@#n7$m)PB+cYrX>_1{^zCn>pcl}3ZVuMoP6ga%ce zx`dqWooV(~CrPeKI>VHMuV09=jLrc%h7m0 zZJ|9NOwpZBM^;T(I~KKi=@!O2WX=24ix1KqkWF#zGQ)!j@YVCti3qb@vs+n9}0k&KlOi`4m+!GYd9`ORN=^p!&P;}5Ye&K34+4&Ilf{_zXL th4jL=2-kjN@o;*i$$xBLX8rWK{{bz%^p}YWO~?QM002ovPDHLkV1mYHU;h9A literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_cactus_top.png b/mods/default/textures/default_cactus_top.png new file mode 100644 index 0000000000000000000000000000000000000000..60a193c4a811d0890d52ac24bbcc21f3784aba7d GIT binary patch literal 682 zcmV;b0#*HqP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2Tt60TT80{{R5JV``BR5;5` zlRIlwK@^3*nKS2{`^Zh9qP?w^{sa*b6(b`kHz83X!PY|mfmT+wDhWwQjHnZ_Nt53H zVv%6(Bj+&>i+w=-E}R0qaK=Q%b#ldT22{K@N>*P7%JnaD)neymZ7CQlK;7zXRz0g^pT)Pq!WZTtf8t zqa|N}hwrTf$wOO#Z(#F|BgGEy`WsRT5~OA#ra_m!0Q+Od^1dZA-L!O4E9Pj_pheLc5;I zl99xN6h-o_*A`u!2(`6COR)&$2sVyoxnh9&OoCILO33z?WxVwn9KUn?1u9Av5Y%ZC Q_5c6?07*qoM6N<$f{uA5cK`qY literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_front.png b/mods/default/textures/default_chest_front.png new file mode 100755 index 0000000000000000000000000000000000000000..47b7771baee292ab32b66304cb7fca3d6514fb72 GIT binary patch literal 769 zcmV+c1OEJpP)@EHqpy8Uw`)n zR$GTp!p-dhtw1TzO0jMuh12*bWJa-U68po9CM3=lfs3Wbx*XdXzJ%54g*hfDGKDw| zC_w0BhBgX53T+hP^G5aZ5^G(~>)Vc7;|>Y1270AKQsQ#y$(_YnMH?d4Xkvu3tA^c$ zCVG#m&VLfWdWOw=#89JchPEXrO{gx>HYYY~bY2qcB}gRtihOHKiUIrR$8WfN@`T>7 zkHkdQDRE^%Xj|6*&M7(t7k{2H+#3BFz&{k>f7?q%}fH7B=s zog9yxOs7*hJw26^lM|WEX7a(v$(@mtcLr8&kDT1SUdTVceJj@2D+;T)HSPjX`@}Dg zS4^iQ ztrXT}*sR;Kd(_XM?L=Gb9waeXLb(u$;y(&v!_&bORQ?% zc<&B>&300000NkvXXu0mjf-4tG$ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_lock.png b/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..f5346f48b9ed1c44d55bcc42c14e529ab57d78cb GIT binary patch literal 871 zcmV-t1DO1YP) zQ#!!~A&9WlG?Y#_ngr5VbM4CyG1^$FAgs>S&oz#k zX|Q&@!NdDUeE!28ckT=r>}R}n?F%06XRLPWob5I_y;S4OVuG(KRDSTIRHJ=NlHy%~ zHZeDET<6rwZ{wUJ%Q8Bh4&Qxxg_mBr2;%WoPBPOac!#%k1TO+27-Tw@?p(~M^psU# zp=EJi@Bt2vCd{W6rQm4na9)^g8vZyaP$ohB_3aySd+#RmD?Q?Ro#FmH@?wI|3!Zvz xll!-RVRV$UxN?kqIG`Mlsn4_lVgAHP{sX)EYd)dc5eEPO002ovPDHLkV1iDZm=*v4 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_side.png b/mods/default/textures/default_chest_side.png new file mode 100755 index 0000000000000000000000000000000000000000..5665168c9534ec8d426775e36a166c93b6b984cc GIT binary patch literal 714 zcmV;*0yX`KP)UVrea)e3OCzKOf7M7@)}X)e{nVF8o`qS0yv8%Fjps6 zXRc1YCmOf6#F$#%IZZsdSYSX5u<8?T#_cxKrbvpyTq-drwZhfi#Q8?4IU~dMkDhn0 zi0z76Ml?2P>_L<=+@i6iPJ6WNspA&BQu9Fj-~y|K_~M6W+`fFt>f{KoMziQieMgyR z_W!Ku79BT#TygT~A!VK!Haps7PfUs9M;FBNw?5$0&%Pw#xI0q?m4h3?p&yFV2f=}L zb{0wKn!q>TJtO9EM;C=B7fS%fY!q{%3b{IcqYSgLXcQIU?_FWlD!<)KxH~Em=##Q& zlpxS2C906Z0VApqRp_Ep%~`d|J{wWN&4?NT@t)Znj=De$LJ(myRsezu=FU`%CMrn< z6(ObuZI(y;S8Y__Krt1=95!Pm1!1a(n7Tuk6m!R{pk>?xP^y!wF%^UR9gG5`Po literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_top.png b/mods/default/textures/default_chest_top.png new file mode 100755 index 0000000000000000000000000000000000000000..b4e8a1253d23487a4efba00237e89ee53583b27f GIT binary patch literal 628 zcmV-)0*n2LP)sQoyPb~{|xo0|mO00S2?VERO zqF_!x?yLr9Ntl~c8kjrRr;)iDw~KKxDjz<+Cu&UO=Dd71p#mbHA{=sKN=j+Y5QP0| zTt69Dt1;~=zxSD#M&kC#bE5JHZU)mJcv3(BXFCLPb4qh^bDBBkuHXL={>osDwxm*p5n67^4z{FeYUP!VrbI^g(km=3=P8prA3K zH814mm^n)^nsxE^YonPHM5yMR49eP^&G}QJs$vc)bQccUShWud+G}GJ0Adi@ z>ZmH&AdXwKEca}V4Jv{Pl;*g@TJ5ne(s`>00we`@M@0gsN!boc5ZELos*u9*RTZKN zQ&gHcr=xNxMpVJgh#CU%*lZ4GQ@;lhc1!z@inCT@h)Pl+2*fm?!^zpBcw_A3H%Yr? z4!fmw3!6WLlqo6A!K|WnIRH?bQ=0w9y9X;jWS|(;;6C?(Nx>}>B`EbMS}|uXj*T#v z4&1NCQtU{vr?8n*t*;YtC!6!-$AP)_xL%A(^{&aE)%bfT2ykDV=5Vtsq##Hfk-M)S z{pR~;wwG6gG_wBvMJXA}E6-lOX7}?Od7e4ByrL{S>N=A)=lzddzTh9l>roRlG<<3R O0000Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW1sn(m2F^1>Q2+n|_en%SR4C6q zkxOnPF$_d0iTbqKZNLtk`yVB@36MB(+-mDDauxz+$wh(n>WPn!4*;;%T5I=xmr@EL zh)5~5@B8ENaL%1hC#^LR{r>)9@4b}5%prtr+rGcQt+mcMBC^)Ly}gYwnE5ykM0Czc zV~jCojL~~X#LMNfEQ@oll+t_m-UC2u&00Ig007y0mr|ZiCu2;Ek%(f9wboJ!0C?}M zwch)mpPyRmvMe}zd+(V!r6hz1At0jG+BwI}r4&Sbe}6Bf5Rnu@AR;qQbgeZa_TH6J zM06Yn5h3E|=Vz@ICkFtGF~%6y+7JRW=bVi(Qc7m_-k;CsoHGEVlyHo397k)dlrqMc ze9Wwrsnp~nl)`=Ag%ESW|1i^ct(AxXAcQdWx7K9u{q=ga z*0k2Q+igmfQqHh3hKPg^x7%&oHYugtwryS4ZQCaIwr#c6S$&RMYhBlM-}fmLuh(m9 zO(~U9(pod~R58uWVzt)G<)V}V0Ljc#r&3Bv`FK3M_q}&x%=vs4LRf1j`V7nCIGl6y zzTfXDrFC6juUD-V0Ep;%y=tvP2!DTn&*$?W^X_;XQ#;Q+00000NkvXXu0mjfk1-eJ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_clay_brick.png b/mods/default/textures/default_clay_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..8ade8ad99af08a741f6ea734cdd22507496d0372 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9Kq#-M`!r?MdsNd7YF~s6@ za)N|p!mPGq|1+he{%<^KD0HdA*XH#xUbj7L4=#0_RS+vOk*ohHbS^D1At7PLx^@5l z+bb)3N(J)l`2Ek883>v;El^-KYu=FQV#vUDf%njI!PSf>*!KSUE4^H8`}g;f$sZ*h zJRT>-yj`sfZB`i$4%x%!rWFB&QaoK8Lo7}wCrGd|^Gg(Z>O^jOV&5Yx zEPU8w3*!l?i;QN?5e1t2YJZyr#w94Z7T4DPt>422R<+SA*|Z_#tOT2hnVHd};F{;> xWZ4!m3r=TSbjh)##N^tFm|Z2B%2$Jx7`FaU%KpTr(hana!PC{xWt~$(69C^6KP~_O literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_cloud.png b/mods/default/textures/default_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..24091a37722e5918880372acee3b414c1c2a8d77 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|%*9TgAsieWw;%dH0CG7CJR*x3 z82FBWFymBhK53w!q^FBxh{nX^KmY&RGix?|z~N(s^dQ)R}0t6B!Co^whKH#ZtVD70v?FgjsSYC&NT z4mB+-2&m_YqM@ai?>1 zDOHn$=AbE96jFT1Ye}Jfb_>jhGL#meE3yZag28gDH^MMD)v|Lc$T|mKgUVokQlvP= zAbC8*TxbI3v$YUgWX-q-Kj+q+L+PhWev*?Bwi zVQOpS!jqf#&b)uHbL9H1?&P)SRW7b8}0c z<-A`m0jR2aBp{)xY9s*q>kqVTivZ3!=JPpye?ZTo zML>iQBR&MaY+4Fc*SwfciSd5)86t^MK-D!TU5B&wAOfJ3qR|?y6h+fCkP=!eKGo+0 z&RR^{j)F>2mL==;8d4&qL~(g_#p_qEkWBDCKpOoIKvR!-IBN+p0ne!HWpYs#uZDK+8)0u=B24fGoX8BYKo0*%(d5#P)VfBpRrrp;lqN3e*DdGNte zoGq99zuN&&R@EWp;61NTPiZEG7t<-jFyNiT7=!l?Yb^l9N!KAy<8jt9Uo6JJQew4Q zQ4W!diwh>rxWcQ|6(aC344iZwg?EmLF#t@AA;yTeV;-k(-q2KFCX>TxKVLLwEky{C z5aQwTQ^k1C>T*RnHz2}%HY3JJ0^DYUdHx({E!m=5ptM4%QMs9zgV@>Gzi6#lU0!l_ zevY*kXDx`}tYu;h#qWRoiKf2;O@n%LyS6;ype_bY0`UC(Cn=kB>P& aU-A(il|;KwjHWyQ0000Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2Tw9AeEn#{d8V1xZ9fR5;5u zkz11EMhpbAfNoNn*Y1SR8?_&_50F4rmj3?hPpgZ)07DNm95@XF zY(oUHSrYagmNme|*CT1UCfim3v{uXl$@G9&p@!I}5oRy(w9sxQ!P~WHw{O!swAY5` zq+v2d8Mdbx172PrA_3@{L=ReuZ8M=}`c(*%Ya)qi!L}8brTF*^`fD=7+`cCLeMPPF z&#$6p(AGuRMu5lJx1NLbl0fminHhzrc=>GHejUuiEG4#4LC$pj05gZ_|SgN>3uR0cO^eRd`bgc6QW>FBryuMBUr=yxER!_?V#-$ z>^uB;H&ij7V#+X$5+Z_Q7t`kL0#e|b%;)5O1nqG%mtJi5Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2Tm4K38fOaK4@mq|oHR5;6R zlUuUeAPj~-fiO;bPN&^T7tmF8*?mo$7=xe>7#z=3FP^ci|0Y>}{ru7Hi=$T9N=0al zit71arD6cQvZ1T?;Zec&A)(P)qaoab^2`MQC-D6ianA9~J8HFYj|#xo+XBGv$94ib z_`7ESa_#E2va@){$D$~}Gj;Uw3{F^svK_2z=mhHly5&M^jX!(A<=Q6lV9B-dNSQS# zYfz&42{r)NpzNif(F==qwl(Nv8B73=)Ga)p+f*2WCj^fsYa}~7rc7{hNj%p!-v!mP zaRjfQF|g%AR8Oilo4Gcu8M{@oxXBCh0KdsIrU?8k*|RxTE13=NdZ=^fZ=Ii$YFf(}O zGUcAv*JbByRDpyM)n63k+DOIF_u=uu_=&25f0JwP8JOYZSmTs$h3HPeoAUPv1EgZK)~4T)N6JPFo}v1+8zKS%-V0kPI0yd#)%4}L07jw)00000NkvXX Hu0mjfi9zV! literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dirt.png b/mods/default/textures/default_dirt.png new file mode 100755 index 0000000000000000000000000000000000000000..30cd4bff67ff055c8e1bad2386c06d94cd2766f9 GIT binary patch literal 888 zcmV-;1Bd*HP)- zaTJbLsArGYBpO8+t=ZXLqpV<*QluwbHrE$9J+4r{ z@UQ|}Y1*9uN-0o+AczQWj_Wv%LwMb#(F)L3K&-I;(<>^COC-9{o|`S;`5pE?+F-UY ziQnlHw0rD5SfM`}l5h=)xWU<&yZ!A#d5V@7a_MzQXObudLC|GqW07vB%XE2)gf_JN zkO?h?wJ`MTEaj>U6pzL<`lXN2PI-5k(R2>mCP(r~JQK%V#o`;H=>@7K{4& z;i@<&(kYiu9&M7%W%&MwpK138l#5v+QACm8hh40Nc7K3YpcOb;p`Se7;;W~7H=l|k z^sZT1DkEc|>2--l0t))WA!{pT9;_`e7>-CK;%u+oMSb(-Ln%+^34?30xeV2YM-&Ox zS}M%|t-v^tNyh2+h9u%H7Fb`NrPlN@0M&-adBZ2!^vR}ESZk@aJa+EQgQGG3@#655 zTWOctPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2r{DRq)BJOBUzR7pfZR5;7s zlA&+HKorJ*M_8H}W?Hk%H38hnWCaR4#Fo@f@HZ@JgIq|L%wq^*jvx?i=1?p{(_{ij zYG`qqVM-uEw;RUyaUMTawlBJ z!ZtG*gnI!{(I$}V&74-dPP5SwfYiyhnH9La&VfL#CPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW1s?%42*8A&2LJ#8tw}^dR5;7c zkw0(KP!vax?dRBmkQAG!NGT}lz<>%W5)uPak&qA)Ux6JlF*7i+AoXjoAXZoyU;_!1 zg|ed{k>I2v#f}@l=YNl(RosSV>cXAxJ@?+bkdv>#bqen>=~C zed1xyAKlYoln_QUl*)Pee#a01zbBd%D@QmAfn2)n-G@&&ZXL&U5yGx6Snr-eTP0-{ zl0=dhkMHUqgCTk9(Dns&x51a*H?Cj1O1wWKj%TDG;G^NX@Vr?v9WuMaq=CC@R3$?-Odape6*CW%BxC|1g6oFqpq^voqG6)i#~g3p5*N zdD|Nw06e=uTPE5BjOAi=q@k5ylqJStp8z=LT|t+MvQ(gprGVR88zfQ@#WN;=`f@YJ&>4Qa#d+Vy5DkK#!9ThMz@1w+ zj_K(K5%IpnEK;1&6xSZ1Gs%Pdo5ys|0gHNe`nyMxRF#EbPaoA?0Y)LN#az#u-uT1} d7Ipt0^%oDf&+9E}8chHI002ovPDHLkV1kTAvTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_fire_bg.png b/mods/default/textures/default_furnace_fire_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..1272e101e5f5fb5e3c78f21f4e7bcf40c1c60c12 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf4Q*#L2(>w<>RSTlaYFmWY$#R`~Q4>GskuB;>9a|_PZJzxiK1x zR!D}e_;Bc};X=u#b&Z9q&Ez*NEX4~i5|4&)EAxV3ZVowB*%f-Vj%Q(YlJYeyOnByNHZ1#N863)AF-LgxDE1UEGNeiwZ>=w literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_fire_fg.png b/mods/default/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb19df7438f6c806af40f6357bd0b28761c0169 GIT binary patch literal 865 zcmV-n1D^beP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyh& z4*(X+Ro>PB00QAjL_t(I%Z-y=Xp?so#()1eZ)5W2&1dt`q)SqX^p#aBL+h-Jj(sqY zsW^5wh9csPH$yhYP!OhqUU;{QO{56h#2d9Ja|0R7iZ)>cW{G#?m}CNWKu z<3%Z2=D>4xc+TND&vW2`*Qldm4@bkESK;y>aHkXbKccaegRzuj)m$A6nR2eMpjLp3 z{YYp zP(IQp05gxK0cd=&R(yUZn%*R|J_vw45hnh2g2v_^w8+Jb0?16w5!>R!yC=frr*28C z3oJj$ijy2lQIw$PWe9JK zVFZK7#7FY)jR%CcucOsheL-LbJm}+P+Nll?)AxyfxE{6Rx?)&Z8VpeAUxJ)Qqtj;a z^k*#22GLz{wBn&R1i<_ut2#a%TSv$L#Etgu?+PF{_YlK!(QWfFeQT0-wF1d*vc*ZX zhzHGX*pTCI2|%S%rkR;1c|4~8znEg@y{^~m>_KxGODRlQI zap*DN7{o?PiqR6;lTk6F0oW2p^R(y+3PlsvEOb%%v&hzO_EDW4BlojHNqSgr|B+?$ z&^GXv;Zl}oA4G9jQMfh*8%&TG`CAismweFc;M$p++Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyh& z5Dq3}btkz100Ik1L_t(I%axH$OH^SPhOg&6@0oOJXcJ-)DV1iakx&%msvi&pQ4kS9 zP>UjH(?;5~h#)9hwd-%V=z~_G(TCZ`Xj5Z>O&)EWnKN_d*qQUbZ;PUpf^#jO#r51b zw_Lq)*$of$(wWUN^YJU<2~nd#e{VOl#S%&>wAPFa?qTY69%Brh*(`m%-OLqBsAe29 z{i#S8R;kr$l!Jgcs*@(G;0%@WGEo>J&S0=4X+mF5H-+y3En`q=nvx`|6u$jr^ynbX zMo6=|LRMR5KTK0zD$%T$S^2d{RI6}gXfIzD7HK63T5II|*)z`bJ$z5-(2B$RwsZ03 zJ=Ws!{V`@fmuR*e0Aa0;oIZ8ZDJ&gYQLU62e=$WXO<9lYm(H;el(8uMOa^&)_m<0b z`e?h#g&TL+2=~UWk=dNX%XFYiOI3W=B45a}Q6}HLXUDF7L=-xXA|jK}E=k{x-kC(5!ZHwC~9DxLYJ!{BGR^C^w)3+q6?d|SZx9NW5fqCJJy z!tg*3h2k963f4M|bsQSn&*YnVl=5(>|99PtV>bC2>WvDbKmi92?4}gNIOp*6-+7Hy lR4OYd?PH83Z8>x%!yi=c`$nc~jr#xq002ovPDHLkV1i+FAo2hJ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_front_active.png b/mods/default/textures/default_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..10ffd1fa2973e0570fff53369687e45d17246d55 GIT binary patch literal 826 zcmV-A1I7G_P)l#Mu(U_G0*?))JJn% z`n`f5YXF>%sGVnZ_UY!Bk0APF(8Z!_Vfc-X% z&GGfrDR|^E;*+jG>X1bFL@LFoZdZvq9+p(-S!kSvZ+x&G9fk)FLG28q4KB0LW~+2ulx6GkB&WgzQKhuiuDR@R1<87M6< zmCQi?9w@v7*}EXsAi2f!J)bjqU;@`SkwGVhRG|&KTk!7&9)_M_NMo=DAq5`q@{Y3j z@#i(#A&AdDeotFg!gt@FB`Z7h_Xv7(2`cW8YKbW!V+x$MB8*HFSsYKWYv^7g1@ipL zI+m%~HME;MZnrUX%zcGk${X7VA;{Z#f{xF#6C*4wuOUR1ekGAI2cbgxK|t2Z;I?vTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_top.png b/mods/default/textures/default_furnace_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c86782a2147130bb2b12644fb767e33ad5f4b1de GIT binary patch literal 731 zcmV<10wn#3P)vTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_glass.png b/mods/default/textures/default_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..ade0196fe64e00c80496c9bfc914645d5b472bd2 GIT binary patch literal 978 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GA|hzm>B|mLR^7@ z%a)v6w&dK(WhYlGJF{xV*~N>mELwDR$>J+(*WTK?_3n-x_jc{Nf8fC5BS#(|JNER< znHLu?zPf(>&7C{%?%)6L@Zra&Pd~kW{q^I=pI^WJ{{H>fj~{=2{rdao&%b~F{sRpk z1*0J_m_r~WI*bSCKE{$DzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?2!t6g-L3lr z6l5>)^mS#w&CM^YBGzz7?t<8 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png new file mode 100755 index 0000000000000000000000000000000000000000..4e1f0f1be0ab0f1cb6a622c5ee4851b5cdf3b13c GIT binary patch literal 794 zcmV+#1LgdQP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyZ3 z4Jj;&0fblp00NpxL_t(I%LTz{a^pk*fYGlvskL}bDj6Wd6er*!+=k;)@FO$CBo!x? zB}?j^_rxE6{$8qD5mF+hgi?yIMxK7XC&kS5Iulajcx?IibVh1P+g1SBzCz!ol`p?M z;(g}(^BV%mc587wifRK%N(($ zrtcb3N_2gN)f$;o;lI;Btt)!lvhRDQ(czcC-EoVMaDKm%e1udW74~h<__-iNK^8K# zF{GH$MiFD=?d`(q0)1~uF(Z_MBItJwF=y7*Ln#O$(0BVDlprU;G_JT9IqWvrwqp2P znC6vz-{RNEI(woE)Qw_y=$I}mx@s%N(IEl1W?YO+W(HAMW{+PZ=1$RW4C@k*O7Qrw zC+Ezvdi2}N1=|^F+j2MxC=J7~@b}9ro2}*BZ;v1)%Pp`j4go|Lm~R0sC7L22OK!J? zsx}BA+3q@QTcNe2?F>Rfl9FXw@jl>OVp<$AB;IEjcANd&|?;1IJ?vsql6h zIQ{sbstsSi-BB6E_vd%cuOlUco~D`O{gzY`2@n!O^au$>72F)qM)A*IC-%FJs%|(O zHOmrseYv7jhLj2jLD$s`*O@}b)&^56+OFX?I)?KN?;~wj)7T2B6HRN8&U?J~gp}|x z0wAU2bQ&* Y1DCRQ3Tg7HM*si-07*qoM6N<$f;F{brvLx| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_footsteps.png b/mods/default/textures/default_grass_footsteps.png new file mode 100644 index 0000000000000000000000000000000000000000..57e063d8cf729a82c24c700bd49a025feece82fd GIT binary patch literal 856 zcmV-e1E>6nP)nNT&6CM~ioNX7-8FhKjkTh-N`24*rR6mg zIxq~B8DJO&y!pHROt&67?G78s!2`pj)O$2R)f&z9jd-yn@m6ccfKEyU8bekht4G4u zV)hL7Mp#wXAd-kr&#GnR+M3rvTaxb&>;$?0zEnNwC~7}2>rEBjmW9R`_JUgv;&MxD z2_WEd`xk>^p;m88-nqbwf6{mFUs3ex-cFmOCh^sI+-yS;7+g&RC&a)|JMVT5coH2# z09Pc=;ez$C(9{S!F%w26CPEgK{JvZ+p24TxTp=ezlQx6(RITb`hCHyjqCuB&U|WxK-#LaVr_ zoW~c7NEno2;eY)?`&cm=W;J5R4h?=>x0}ObAIi zxlv#Lu>FZZw8bd>%TK>Oef(cEPQtL=KSNOr32TZ$yB$_jxYrxmf|lfNjbW(ha_A^8 zP3o4H&$ibVP+!Q;PeWy)g;E@N^dy$v6ZcPYQ;ROAnTSVuifIegqp{kzvXd#-cz0hs z&XvTo$$VrM!`eutCSKra*EC8}2BNVaGwGgb*vJiBHV7h+{GqIkbw20~`aDdKe)Ycq zXEUmUB^H)~`Oi`+mvQ>APRqEqv4SJWmsIsxQo0!8kA>mSiNxQ3?M_d@upt^hvUrJ4 zZ4H+Kmhz!|11d>G zK~y-)Ey7!G+hhQM;rILO#CBq*$(o+%AzkUZZk^VZvUXY}K&z%z6G*+`Vt2p~fWN@+ zK?ou4*dzqn&9rJ%orLH%pl#Y5nmCDbaE`XW-Js_Y+utmzK|_$cmm=O%cC*nI$=c=&#(0cI*u!fMXgw`6 z=!LY-2Fy;Ukf|91y)nX&l1M0QTjG{{raw-j@?GBimM1r9Vl)KvEyWJfUR*hmEVSC`z}ouc#F!$~B$DAg$*R)|nozJbjCqY<2q zc=qcdam!{gJITuY2V9+DUgRY_38m z$>%FbO-CZ}ye_-j>r{$$_CDR>?u`$z^cWp)$Xqr}GC780TF5AZ*T;GMZjVU8Makv7 zR3(fQK^Spza>>hAZ$SaTX~D%#B)BNL1S&%8uP-T06Qt|}4?o)^lNsZuUw)_KcbS#b?2t)2Y|~WEQD@c`Vf7AK0x2YrAyc2Vyp}W7j-e(G?eKKp&6r7{JWQeHW>nxV5IFVh~sWJ<^l_{m< zbT+q5F`dnc2n{F^k^a&WX_mK|!n-(se0tu7QQNXxP4V+rY@31`^)$;LpPpMyfo2V6 zh-k4~ZNrF&l#<&p>bg#xNM_M>oqn%F|DGxltv5SJVY)0UB}*LyL{$0w=_7ie@P{5k zr6gd$IyRZk=K8~*eead~`(Y3DV!4vX6IdBFYFqX;jEou?M*Z^YdNLkW0)N0PFg{MC zZ3>*F8D@c%Aka#$FyjxsuIqp`2Ejc}+Z0+^_@DYVjPQ{-kzj~T{Gq46dpl4{8b&?v zy@TA}-re8c-KSZeW_jRyo15?;_aB1y-+zS6!a94QYZ`H*UKF`Jo{A!m6WO-x{XyEM zkjGQtdtbhO+uVe0%T`Lt<4Heji8RX*6A^~BExRakkg-hxR%w5`T?RBY)^=fHN77a82bkPsSr=!7Tit2Oi8~z1dZPtR%Zwu9yW7AvvAR d%S-6G&R?|RF*S&NQ40V7002ovPDHLkV1nn54afih literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_iron_lump.png b/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..edb931018b41ea9b8c5090f6cfa38cff69008b65 GIT binary patch literal 936 zcmZvaKWLOe5XI+=iUgylRX7L%SuE^C5z$JyU5t-20=0dLZ zYV6ya^YrhyA~GiP7Z+!88@&;|C2|+l=k8`k5`e0fQe4DDC;|}`DVa6$%U#Tb6hKs^ z{O^#9n;3-F1?^JIHMAHZ`RrxQ8EcP6nOJ zZGS0MlY{1%!e|R7N9G#2b6-ra;rDOFgVq+b1KL>2VaBAV1H7i zIK?1&Jj7gR0_L-|5PC|G1ogg;$9C<`U|E~z7EixhZcXkPJ2-hwKX>l^o!+|i;lcaa z=e0MDPqkCGmfEkr{F!>(ecinC4KF+KtI@u(@Z;uHY^})p=JEYMH@goHJ^Fffb>&2T s>h_D1_4@~oUVqxU`?mXib@EB)aBZV~e()ri+n`6JN%O zFJHyPi7zRRd!n0&mwOwQ60#pWi8&7S=l{oJn30syMK!7CKS<|c+d4FIyV z{AUsM9WHGdF74+A>TJWHIPv9AiE-jfV^|0PPRA=8*W}Js-hj|Op;F;lbAwS#7bEUE zU5t8Y)ErH%I<|Cvw{-^q*sjhZh`e4i;wVmhDO4xfqxH#i-ysCRcU3&8Oj08o+P7{7i`d*rrthj3|2b=fo`Y)B|= z=5}=!)SYboxo1UK#w;xnL>_|3!}@bCthpiU-MuH>EO_s6!U&4ZO|*4~@2`T{CZY&3 zsWM%RWR*8eI#;8vV@pR6d3;y|-*HWxj#spGhq0yeU1(Wa@-5W6yJ+hUSz11kcgQXv zl7q-&zBH=z{Z$}b+H!2^y#)H!ySoS?4~}axiE-jfEnM2taZLb^8yH(U#+HsMZ+fzl zD(cwGa=5gm3X`OyqQr-~16f)=ZehDR3u3;lJ2zt8)Ap*<_vkb9o%#^%OfGui$)s(3k%5VW zJs4-eH3)$YAkgkg{XXfpUw>#c?Dp{yQMI@4hkw2MXqkHVq?K(qmQ!mr4U5(;&R=Sh zUNiOkPeaJd0yM(-w&2C+`is+~n|Oz$N(c^6Q5|t!S+?D9tdh{}o@1=ae$P@WV!Ht* zc%5ac1`<jsr?y;Hm>`*`d7c%5VUXcw zGFPpBG@DnfXdl_8A$MG-;G}|ELzA{CD<%E%{kt^DvX}u?X_BEuxY>l$$@D*rWKTDm zE}Zl{A|uVH3rSct5{HqZC|HxQBuQS=ZJ5$n+LIv&tE;)RI~r&wB#{RjM;ihYW`+^YdA*GE+50hKMMA>lKP~1g8sZ5Jxpd4 zvhL}?shdD5en0wG(cJYiNf*2E-74W*wt*MDmw65>m2AiO{f`f`yU(Oz1|fKxr^^Rq zVBrP+beVp4tm_83{QIALe{dT*Ky^0gzP-6h!1v7OHNMGT+Ytg^&YFWH@D2P$*PTG!%Z2|VTY?_&>>pKu(F|oAmXMl*iYU! z8QVa-i&C675NEKHs&lsDrS06jt(P@PHA|W__mkrfWn~4QKj8UZ-uDv*kMFaDVjkI{ z@$TSvy!FvASJ{1c2YVjcieb0_$flFbO~*NZF~Y-#-Xrw>0mSb97YW|c%a6atkVQxwfS|3)t1@jB6M1s>nGhdWzzu5WEbuW!b%#}ELE|KZD{kD%A+Xqty? zGR5p)lhm{ZNKK95Z(omP+{FCM*NcB}m8J@vzU@KO)GV^KK<;v!*|`j(qkrP7Z9sH| zNnQ$5zt*B;78h5zR^VUZq^-eAb^Ue7s)S@IM3PY=1qV;P^Z@`z9=(rDGL6lbBN3ik z6xbA*e4$9!<^XQZB>vL~vf(0?RSA7N#mk@muykbXk0{$zH<|D>cDDz4pl1^wfAur# z+Ui)hx)!NS!B$m{AgPot$FY>yvTlx^3Q_H^q_x>cBA!C-xTOKLnB(T#19+PQI1MkN ztRgzfaJGoFi&gO9(2`)FuN%#0L-*<2v-cI`%DNhMJ$8~KEp=oIF-WAyCKKc`d16;G rj1K>{EW!DSaf0nZvY7;D2A}0W>pv&|VICnM00000NkvXXu0mjfnxmvk literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ladder.png b/mods/default/textures/default_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..11056359df244d768e3aa827f5de09feed10aabe GIT binary patch literal 395 zcmV;60d)R}P)Px$MM*?KR5;7UlEF#>Q51&1duJS-29h9YQAkU7QM+Emmk12nxop)Y0yjZELJ-w6 zw6Appp=C6ds5wr~=)H5>L{!2^wD8{@`1ttG;lO9=m6EBJi-sAgmW!rdDSdJFZ=klb zVLaC+XG;hDQ2zk zeU|()Qw>h`wv18f2mqH7b4HGVIm|29Y$+%-FdqlEjGg%Ds%h$n`zO0cBB z%ZYTs;n~BSZ*aW3X}ugS3Hz9y!0b%DQLC3>4K}9CvsWIC{9?&O0IhW pVWbg45Js9p-bxo7UHt72J^%*@kP&HWYm)!~002ovPDHLkV1h?Jt1tin literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_lava.png b/mods/default/textures/default_lava.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf9fa81afa4f33cff9a8b4b1109cc767cbca6f2 GIT binary patch literal 772 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
XkA=Nl4togvEtc#1_&v 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 Hu0mjfFEda< literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_leaves.png b/mods/default/textures/default_leaves.png new file mode 100755 index 0000000000000000000000000000000000000000..d0258eda0b6b14281789026453e685172228530a GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE&CtRw<5@DZ6)j=64f@4fc7g^*iRQ zQ`0w!%oCHiC3yO5(xIihS+;+cExjqh&@p#=(!Dd+kN-}uv5e&vi8xZJ4U}QH5Ni8s zli|5&#s&_CC((~erYqR%tOSZcgmWw*y|@#-oU zkyM%bEk0*$!!`)P^kx#*MKJ{g^r0=LqRaI2VHYY+WkwIz9j(>gtA z;f;@s&u>}me5K%?7l$CjCne#sR6U(j#_nqT$yZvo3A?zeeg2U5{P%wm51ZLc+~;%s zmNkgqkl%jDX5QNq7y4#&e13F&{=a1v`=&l*-ScA4)Sru9TnyS{pXZt`^wNIf=ch_9 rTNUTO6MA89ajp6<*PC+-O4aNQ6D030`+IsjC@wr*{an^LB{Ts5?Mb^^ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese.png b/mods/default/textures/default_mese.png new file mode 100644 index 0000000000000000000000000000000000000000..4c876cdc57e2f061fcd3ff3ebe9bc4c26e08487d GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|%*9TgAsieWw;%dH0CG7CJR*x3 z82FBWFymBhK53v}o~Mgrh{nXZL7qYf3^V@mw7e=I?u* wcgxak^2HMQv>FVdQ&MBb@03HZMp8x;= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_coal.png b/mods/default/textures/default_mineral_coal.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff9692fb483347662c6b1aa37ff7214d1bd125d GIT binary patch literal 952 zcmZvaKWJ1z5XQ%xsD!&2!&3e#v|D=LT>M87T& zL9kFyh#)#jnj98E44QNzLprfEimfotyFj?h^TF=UK6du^%{O~*Z1iNUe^);d)nuf8 zHrMUN*tR9-J%8d7QH91%HygQ)&WO$uxr^d+cQXT^sv^S7PGm$NQX(PZ%qsnICo=*_ zl|+dDcgV?&3#PQLpFnwWJ16WcR|-nQmShxQ@)`u2EA;f;;$< zbJXixZo5k&$HS|?W@7&K z^o@x#`}oO~m#sIg!*?!!{MNqusEXgyFD}$tL#GD&XmZET0eb%S)A;iI@_~3Z)tLLR z|J?2`$L_AoP9EAheDjsOUR@e|IQ4Ymd-eQ6d*$oG-}fWe-fdmb%7 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_iron.png b/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..51b15d95da3315794e1bd43d8a47b0de6f1609a3 GIT binary patch literal 1614 zcmZuwe^As#6kp{|e#?(AgfUS03aEuzn1?CM*&VnFr-(Nwe~1W~BrC+Bf;yt-4}MPM z6VpPIniLC!(pU%#wLpX8hlXe9$|3$hCk>TL6Y==Ahcga{JF~lQci!92=Y8JWti`Gj zdmDEfgpfU+uUNu&NAt8A#aBA_yV? zBZOiM+$Mx!Ou2zE<142sGRi1WAV4s|0v4!9fdQce0~Uw?A`nI}#R3RKB$#mz0gG4| zh-d5-G)(DWKmza*lk4*WmUA&9bNu1ri6UhTDCL2e5bgnt5lS%tw+UnXeQsdJ_$r9Q z*o#zTz$l@BfpEScGQudP!1Ev?!;JF$u*i7c=IEhdT$#amT)>x*ytpq=ITa2(06$DQ zG*mf$9Gr@|$RbcifMNmyCP-kfXpK10L2@HP*((tks7Qce!fOCXAVbqN_XvoTFu;^o z4kN!E3F z>_;x=(i1mnjA^X}>?q#*xhf;&>eY*K`9Y}5%$8YI-TloWINT-fN$J0*lZvh{2%n{` zRL_>Fe0E5GQXSe5nsC&!_dwS@@A!34&{g9%QLXTl9Xu(^$S~e?dXWBfM4hFw|M$1e;%=Hb{ZIc=(` z+u5+497r z+)Q`(_Ec?ET4S9?=UY>lNA*WjFT}m?QIwvnjZyrV0s3>hLyKIW=H{Z*-(_F)J|A^w z`?Uu3ryKA2)RtFt#QBeF&_C@pZ(SO9i{ga{)bEr6D;cT zR@FOse4kyir?c^Pv+I3#w>dwcGY{19DblFvJLB!!48MdWcrSR{Ie7W}Ca0z91h(2Q zu;qNmmdT?_Tw=;_{tQx_7%Q>!+qX3zMX!wypS*v1_1yfgmw%XZBr{>F-#gcrkC1HZ zkCuMdYJ2nS*#FA6sGPNV$@UXgtk|5j@5q=clZWw<#MPrjm)_NRxiLb!J*+oIx?iV! zwB~SI0?1p=CaWC(Dmxvrab^9Nh0WcaHOEr^ZhWSdXx;1MM(StbWws|yRx8)Mt9?&f z*!}T^3hUJ8zFD^d=2Zkr$4i}O-4AwEcFf!!I7V)lk$O33&s;CBO(t)ok9vc3H?+n? z`+5~E>gy@~HukZvi_NKr*NiFa`p@ir99G}iVfW{_h1<3ShFt!`N^PHMt(M1EM9E}! zn=P8Bl_lLV%-y|YWsvDJ-~7>THoFpS`)d6i%2)558fj3rUpX5njq<*6d~I2H_ocLp zh7We^pLwpnFKE|#2VIV?r}{yn)ghamB32|LE|E-zk-+`4XMd`ei+W!G`nFE#p literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mossycobble.png b/mods/default/textures/default_mossycobble.png new file mode 100755 index 0000000000000000000000000000000000000000..ca727177b226c6c1e628536001da3a8ec9581fb9 GIT binary patch literal 988 zcmV<210(#2P)wN_18GS_ zK~y-)1;I;9n*{*C@&DJakFT$bR{uJ}WeIX7bdK3aCJ`M2gR!mbFC;T5g7N}b zvQ*R)bjl1jm*cF)lgM%iyUWIq>j~=32Gv%QX`M_G%9;IdNUN% zG;7*f4n9JB?4?f3XP%|5yUS7jkX*J(Pbkr8!{nrc zNJOGml`t6$WV*jn>7=navJ9QFkSnO@k`G#-X-tP-q28?E^ymru78wbgWPHh4{u^On)PNZEg<_&$rKRP_MY_Xt%*!DKYjHN`P>dWhq5#+d97XqDZ#>_N8HO7t41Fo_0y4<-5W`!%d)7w^6Y zi9I)>UQbO`5o{?sCtbvPQ;0pkU40JnE#@cOj0K_`Y=!XIMhSYu zl)Ag<&4=iu26}(dOSara)%QpwlK^<683NHg%u<(cujg=g#*l|M&`Re?7jN;*#9LGi zKanq)(3L7}eEtC<(I|GCjnUCjre|fg6AjeEi-f{H(4dt)2f(YBr%;qCi;s>Wbad$M z#f_LmH|TVJ>Be>JY82USN0KBSzp%&psu`ovNUoHj(^t?*7Cn;A zL%CSykL?vaLq?92UHV!VZ-0TX`(aA@A8Ij3V7;M0%Rk;U<#Ki{780o(`eOcUW7=V+$I1_Ush|K|ppm5N*alOs&>23O#a# zBAtqi>&)LA<%?XsGR=5&08cc@jh{=*KNVtf#!oWdL<5qEB>w{+(rdGIX~ty$0000< KMNUMnLSTYix65b% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_nc_back.png b/mods/default/textures/default_nc_back.png new file mode 100644 index 0000000000000000000000000000000000000000..9f423762d6cee801dd4c4c07e0894ceb636c413d GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5M?jcysy3fAP>{XE z)7O>#4kw4Ot|@2f{(hj)ZBG}+5RLOwgADna4R}lhqvZ~q5f%t$yCS+$e#I&KJz*)z z{~cbjYbhFrO4=+u7rXl@<4tQ92M&=y{m!-4cTYao@V$R5rC`mZC!*4mZ?em&d?*$> zfA{mYcH67(QW>M_O~U7B%L%zL%yxI?W_Y^S#YOSR8Of;mF9bhj{StHCXc;eb>{1l- z0jDSGi5a`S-CY)TJlBd7__XRq%*5wixlD6bpH0e+?Vi>#CFt+g`&*y9jM~z!v-5;h zR?O{y&3qGmPZl3-73k2|T4KENsZ3IZlw;iTDkq(9+yZ~A@5L|v>UX4Cc)c^wn+%?= KelF{r5}E)ZM0d~t literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_nc_front.png b/mods/default/textures/default_nc_front.png new file mode 100644 index 0000000000000000000000000000000000000000..e35c583fc89954bf888af1dd12646a3885fef31d GIT binary patch literal 378 zcmV-=0fqjFP)V4e5FDdaj^vb- z7VUO<0VxqYz?T=qFIb^;*F=e5aQ6bl1BfW^2kDSfUP*~1*Oy|CgM%YVT zgb)DSNg~E*jPc%6K^OAEjxh>UTI=om^K7|d=3lxGAqZ`Boe=9m2w()@LO!J=)N{zp zv*oI7N$?XCfC^2g-Kj`w9zI%!!E=IM)GW&+5Ubu=(}v|O zZ?z$nLTeoor}|J+puvLU^XI)8s3hl{m?Tb#+ig1MsHCf*r#S#??FmkE3ERsfRR8_n YKQ>v3xKkCjJ^%m!07*qoM6N<$g7z|+Q2+n{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_nc_rb.png b/mods/default/textures/default_nc_rb.png new file mode 100644 index 0000000000000000000000000000000000000000..caef71fd19221bac2d51f66e413a849a0fc2181e GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5M?jcysy3fAP>{XE z)7O>#4i_V{u~jxJ_iLa~j;D)bh{pNkkdQqm9k>z>s!sf$$W_L>L*>(b|6^L`e#lQ3 z<=ZjmiGwchw;d)oCZ{n!u9umYaYS^@4i%|_4r8MST+5ojTKs8nZhGjz%qK0iA^Kqf yL%V!|=Y%y67afRxBURuTBXDFP<8&5128NV0x$CR%Xioy#%i!ti=d#Wzp$P!cgF`w1 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_nc_side.png b/mods/default/textures/default_nc_side.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1890e21bce1d25b062849960fd32645e3272d7 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5M?jcysy3fAP>{XE z)7O>#4kw4OnzCHzWl^9|qo<2wh{pNkkdQq;KP^>cE_8_bV{`iS^tSlz(*##G-o8D7 z^`Lb`zyI1=<(9NV>wdinDq-_s6fP@0cJT#|gu~Sa#oj!DU2HO46L^yjt>kOZm5?gf z$<@u4V*WtL@nS=!Sxn1@kfEiePUziIj4Qp UbJf{rK*un6y85}Sb4q9e0HkP79{>OV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_paper.png b/mods/default/textures/default_paper.png new file mode 100644 index 0000000000000000000000000000000000000000..ae5c06bc6fea52d8d78c85592b97405682bf0e9b GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9vL>4nJ za0`PlBg3pY5H=O_SKve#96}gV#iqlw;Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn( z5+^Py;5`Ze0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~0005+ zNklayHx{WP?nFUETy^cj zjkpxFS`<`pCvH^qpAf+ZE_@fJlSy*#agmvuo2>GYlk+{!2f&RF2W9!`K4JV^dp9SS zU(R@Z{r!Sme6io-D{p4y!t=fWXn?#dsVY19PB-Z=7#1GqWkFt49;b1Pbq)YC8Hgh7 z2L${8fL5A(RC>I!YaKW37(HGT1JFw|1~OL3#6Cn*0bvr3#k~bL~ zU7F$hw;#Z707hj=8HB2pVpKG^V`8kUkD>t-iqhJaqf`7;}U%38DzLvsiF4v7;d&wKX-Qyt>M+`A2sR4FsO1BsMP>QH=Y0vFZJmk+TIik y)grLYlBK3uuqDkf!5M*8b)5)dEwZHJL;nw$c-KC6wVzo40000Px#32;bRa{vGf6951U69E94oEQKA0ia1lK~y-)&6B@N98na7zxU=j>tw-1NU+dC z$R7|iDkRvYlN13FYq7KtBq?H-#uQ1DLLq{r2&pX$1_VLKkH%H8P!L5{QJk!+E9*{n zX7{~$DP}X0Dv+e`l=mJ!?mgTK4J|D%+M(e=%O5l}JZP7e7gL`C`1G$_s@G%;@gRCt94BK9S=tc{8B`VrwD5XzZ8-yC%%tU5AEa0 zZ%GDwheg^NfZc;4K{aOo$Uz8D5~8}Lreho_z)O6&E&n=Y@L{qqCC-d@S?->n;GR+yChoegbuB)%daag-!qf002ovPDHLkV1f&}+gAVp literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_crossing.png b/mods/default/textures/default_rail_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..98464057704a84ab9dfeac63f13e9b1af8d6f1ae GIT binary patch literal 555 zcmV+`0@VG9P)Px#32;bRa{vGf6951U69E94oEQKA0nkZAK~y-)rIO1_TTu{)f0KKoRRR_lqV;bm zr9MLUuEdQf>aH763q==-RD)0`2t`A5A%f3E>!UtMqfi%uOLtnqN=hSIF*o-pii$|c z>ty({&l`wmn9nC&tD zH{AA?^Bi{ARl;OvDH8~}ISS4$W0-b1*|(SCzIB!H`>z{h1AxD~y6j~C@EDu^AQFir zb^-#M{vfve8te*TV<#xNKLOpG!k0OXZZF(EopQ4kgia&yEa^1#>zHD30}NnbSxBzm zt5e1?UWF6L&&!s%F#la8LLGMC{;szre zHPGi3)H|ab;?J8O#A-SS!%Zm%xl t#n10DZ{q#v_X+}p%soCq9-m0t(KTmX;6MA&eM$fT002ovPDHLkV1jh{_{snP literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_curved.png b/mods/default/textures/default_rail_curved.png new file mode 100644 index 0000000000000000000000000000000000000000..62afa3d2b81c4dc6f85275ea6de89ffb43a1be8b GIT binary patch literal 545 zcmV++0^a?JP)Px#32;bRa{vGf6951U69E94oEQKA0mey0K~y-)y^~K!lW`cwKfi6gPR1Y?nzVF- zL=q2^R^-8Bdg>w+Aq8Qg{Si8hC?ObxLVpgHC@34dc#&995Eu+Rb&64R=o+CI6;86b zcguHwo(|)kdubEB^xS?Ae811<`SXMS84s_Wl*N0er8?(0h{2Cdo#5qZ5(89B)PBW@ zm1O~lMq-w{I;gPCNaFW;xIOnt)otPaP=|E+nrP{NP!YzTzf=I@=Z}lWt?fMn!!Rmh zQ)q_AeTYH_F*VOk^mUQM1u{%N8#a0vw^6wU^t5@eIF8V}k&^XrY=El>H z3LrGtF5cF|WrFaPPMI3+mU<+Q;;Tx}8tB;^ixX!Az$geVr=v`8_kvH(-JB;HiE*jx z8+xutNlFYq`CuUl4YteCBQ6@98t*nbtSy-MZAKE8)6TCMdY=pOS*XikO-TO1mzFFTjQ;6NB jK=T98eWHb{kCW;zgEX_2=&9K_00000NkvXXu0mjfyq^6z literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_t_junction.png b/mods/default/textures/default_rail_t_junction.png new file mode 100644 index 0000000000000000000000000000000000000000..9985f63cd49ce29f636e72fe3b168fe1b6bad236 GIT binary patch literal 542 zcmV+(0^$9MP)Px#32;bRa{vGf6951U69E94oEQKA0mDf|K~y-)m6J_KRB;r=fB$)ZUZZ_L8#mDh z6@df|6=4fE5w?gnGRPpb3DLkd89|F;KxiSMsTeWLFzblP3<84zTeORaAX>G1evpBZ zito*PZ+!2znCAKQ)V#}c?>U@vxflLbd1_KRGHGFt>d2&}JT)23X@FNxS|T8K|Du>W zf$aq-AQaGsqPiAh>I5I>YjeZB7o_jycclS7eVe2GTCMTZTI6t}W^vi)P=lu81vDlN zTtCF|0yuISfb;1A%4tMxj8MoIDZL(7an|d$3;E(ETJI_k< z$)hy2^+&|Iv#pDc74UsOBJUKbUWquctv5#@UnJG=gE!f$vM+&+%UoEhVEtZZ^j=E# z<)B_8@21tS1&5VYm*T_A@?Qd5a}SPN%643=`4w_~mn2pod;8q3IR{FXvK=4Wsch?M z0N3>*Ak#d@tw&cRl#n~mzD7=l-dgHG`w78Z{|SI?mw4R&!oj4$pVca@sbf^UfaC## z&ZnO@-9dLxSNt73pO}tB6-YGzQ!7f@7Fn{_D9_f&A70#Lcw$EFddg$(XV=9PVk8up gr)tl1rU{tgFLW2g;W?8CasU7T07*qoM6N<$g8pIiBme*a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sand.png b/mods/default/textures/default_sand.png new file mode 100755 index 0000000000000000000000000000000000000000..2a484569bdb6f456012598a06c99603055ba5637 GIT binary patch literal 732 zcmV<20wev2P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyZ3 z4H5=z2%@$C00LY|L_t(I%RSObZsbM~h2cLU2eJmKdQeF~x9rRLYQB&!VL)gNrDBoE zoV{SftJpon`y%9@zyIpS89uKOqrz@yXdPQnok#5)@6+b9xDfqzxjoZ|)#u?U- z@K!M@giujq*&P(47VjD%RBG4^EE!c*YVPz>5j8-g_s()%`StIF znntY^Dx^8#2W1?U(i>mTJ8W1o!)OpI2$d2u*GmRb9?pAGZ1~aQ1_LPCA?D2K+m5hg ztQ)ops!D5(dCqi%hwlST!S59j0r@?F-aBE*8>q7N>$#F{iFvAg`@X>$6+{G4hcyZc zB^Kr>Gks>pQL*Z`3xp-}`fK6w>4=(!sDsiF=eBAU)+zD+wt)3K-U~RzwzW{3aJe;p z{Be)5+Xvm_l1JTQ!cswKyaeR-J~_nx0Wcbmbb5@N<6s8y_2Qf#y? zJpXw_tU;Vb6~T)WCergt=k|INcAZg4=Dty?3aaRSlVNtAtd!T@%*0P1YIk zgZp3Ecm+{Zg_<%sR&pvVp%Fty)bRX#WD_)sltL<Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW1sfMI6;LOBPXGV{mPtfGR4C5{ z!E18bH~;`(OP2f$et=CNWJ^K{G-;>P8}#>{aZl6C3N>(IRF3nVOcihLMV#DDE)GOzgR96 zDKXX{1ZkQ;sD@!ko5u4zP1AxPXifw{MXBn#s%u866e3O%+qP%3SzZ)U%BE??5F*VqXD_u7XL*GW*G)peVV~p`?wWf@&*Xz5x_pe1+Rh5cV z#Jg_4j}b<;WpeHU)lsA<53dkHP19P&eBb~5`+4zhxmvx@hQcrm!XWS*=jYQe#uz)D zo}ZpCFD{i%wu}khA%tAV$@6^BA7ojITGnDsGjx402yEMWdHLn}ZXCxdQu~&lw7kp< zLQaE0KpQ%JGlh&X!!!`a^@;5Fe_Gz1**!vt>$nIZ+qPTIgD{-W=f3Yp+X$Mb>GYiD zbmA?~i@dHYP1D-8MHu9r4r`&@DWK42PZ!4!i_^&o3sgN;nEdtMmgcT( zy2!-%;p8pF7k~MmFs2o&qjnLKaRo%)jeh1I-ASTXO^HLGmdiJ` zs)k8ZCbU#qvfQitdGbNVl4EV&yxffLH3H8P(-RUB{Z*vNHD>b1fDKOgr#IllhB stW3@to;z>O@BqP_-{zopr06KJ<5&!@I literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_scorched_stuff.png b/mods/default/textures/default_scorched_stuff.png new file mode 100644 index 0000000000000000000000000000000000000000..9ced2fbe89e84a0abf5ca13f71c10a0b3b11170a GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=s(PZ!4!i{7(Aw|N^Bc=kx8CrU3%m7ccJUaVj2!iQ90r^Y+Y%n!~l zom|)Ll3BBU4pYMIlOi=fAyZ{}=IGoMZIBXd{JTfxa{^CC8{e+VMfdi0Tv)gvX{GPZ z)z$Y4E=g@Wwjk*7F5x9tOqZ+M98qYlWvJS;YO{IJ(;$YV{|-G*blK-~%Cl78x&8Ie aRy{$3__d~{M>YYS#o+1c=d#Wzp$Py!<5X<` literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sign_wall.png b/mods/default/textures/default_sign_wall.png new file mode 100755 index 0000000000000000000000000000000000000000..d5c6dcd35295220c56a5acdaee68250b7a4a445e GIT binary patch literal 617 zcmV-v0+#)WP)1;*yGS>|L2#&TDWYJ7f(S(@R2>yZR}q|? z9K}UT(Qeg2aMAkJ*dS@DL0U*sYtl0x_nkWj%?bVo`cA*;<$3u%@Xtp8aE*0Wt7Zvy zPoZx=L5d9npjER-v0=1o7J#k%5?zTDlAH#hv*)ZJ0H~z}_s-l^%$7w>GZ-5iV53mR ztOe;k1f9VM&zAG_9|>dCTQoJ3TMMrc0)v9DjbiE+2jUT2)8gHGh1E<2ORb=Ow<&%7 zLC_J|=MNBzyF?^BDqkBdr=G}hK?l}oS32BOi*fw z-b@joZ(x#;x`|z2qp-w|E}$=e;pFiUhVmDIrsRmqAV&o* z-kc{8lsSEBgqiDelp8K*W+%BkKf#ULSJ>Q+^P%YXz96;_$AOAr@$~LJY{O<{ZHLv& zeWG0s*_F450fG9PHTKvR>2Aj>@BzrFOXMpq#a)r2A<>d#diH9>!#aKYB@PdS=}#U+ zbS)fLC6x@LDY-ucf-k|hs=??`g3PBT&6a_(sngN2khV-h{yL6jva9;|Tz7E4nJ z@ErkR#;MwT(m=slPZ!4!i{7O{2L%r(a4epuobrFA%wgF#r{yjsyfM|coGdV9^;WYt z?5k!*zW>|7lkkvf!yylbB^8fS4+y0uWffSRGdq}Bp1I)2rH0PO%%=s*9$h&gyjWw| zqUsM%)y0_g=W##HuAjFe^7)QUK7UjKHa?!ao?AI3p;xPWsgF&bdcRw!z)$O$K!-4R My85}Sb4q9e0IR4^OaK4? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_steel_ingot.png b/mods/default/textures/default_steel_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c9414e781fd31cc2a437620e2b6887424b6b59 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq*#ibJVQ8upoSx*1IXtr@Q5sC zVBiDF@f~5Ds?8@26fE>~aSXBOeLL|Y=K%#C*7+9>&N*gjgn=ROCNZsrnrC`pX>$m8ylWdpQ{PmNOjSNl6v%HBHD~dPG;CRcYeP zZs`c;RZ?BY%2<_V)o)~*_efAlYVFo9p>}6@-JQ&3-fXgu1zOJF>FVdQ&MBb@0LfuQ Ah5!Hn literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stick.png b/mods/default/textures/default_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..2d31797f00678eaf60a7c84536b20b3e30d743d1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=roPZ!4!i{9h}i6Vt-VNdJVtUXmPF~2qBtp9vFSHWZz_s{#P??3$2 zVZ<;!Z4u9bs|a?q0H~<%r%*fv^Y5+D&;eU{S;2%t(Iy z{NW;khydX3e13l7?%)nUF(ah}z}CgqFG5gNM1-6(s>)?udFVRkKYsvFRdgJ;i?weY z#|9E!US0s``+-sn$BBKRw z^>QH$L)`YP(*fczaF`}?&J6@0#mIfd7zruee%>><-!-K~-}k(}zLMt|2S!zL&IA$R zy%ccp${`KIwtvoz_VscB;Gyf9Gmj~4E<8Owk#lYgRJE}>91b^KN@+by6*SEAjJr4C z0M6$#0DnI|c<4I1t|P_>?v4IFDC~&4NP<8OO)>i_oCs!ytt*1CuImk;nDKGF0?^eQ z?3eFXQdO2^VXWU!%s5Qb7M5yP&Y5YNs<_VabZP*PmEG^-2@wd7DQ$j>v`MN;DTSp9 zyJzCQ_TYta95=g)QHr(0z06k3Rsf!#zr*eZkms4OKO$9S&Uwp&JE|kglD~i*k4N51 wxd|&mIKRDN#c&|T;r58~+%(yl{an+a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tnt_bottom.png b/mods/default/textures/default_tnt_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba2fca0be5b58ab656f61743204358e8d8152f8 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m+9HPZ!4!i{9jz#S1^qXXN6$yW?QO@`VQ-xaM~@0)b@=2s7$Ag7{7c uW*k58Vg3fAI}NQN_Wf-KGbDH}8vxDda%<*zA(RC)j=|H_&t;ucLK6U;Lohf1 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tnt_side.png b/mods/default/textures/default_tnt_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a2bc4ebee1e8046f98d7fd48deb545b7aa4896 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=r&PZ!4!i{9jz#S1_FKh-PE0|M_QBqZLLm`Hd$G&T(2XlrEb`40sC zqT&WdMu!Z0`gPiUdAk@5+7+xhA{F&aD-J&ZN=vjo_`+o8{DHBHd19f7W^f(@gTf`7 V-v-t5ZGrYMc)I$ztaD0e0ssynH*^31 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tnt_top.png b/mods/default/textures/default_tnt_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a84ffc9af486b0869b64c649700eafb6aab959e9 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=sgo-U3d7QJUDALMOO5OAHptF>YY*SR=fpEpfnJ-QL>o#E%BS?}(c zp4c3j_+;CACj0pYXP#WHNcL+f=ZHvNaZ%U7{Ci39f77gz?n5F>kE>Gt9y>U*w2`-9 zlUvND`b=A3jvUcZ!Db1c~6CPz3 zO$fU){o!$TRrZfBe;cK24mjg@#-THb???Ck1q=VN_VO>g7J2Z!yvKt?_Cba4!^IGvoZK)~RT#Q%7MKkgGJ zIGlLMtn)(3Z=3O-=hNIw1?DGOs3x!(8W^3ymlU#dRK}Y9|#}>vDY@952Q!4)a zFk}XT=I(CpE;%(PwmDDdAG>h%>d_CszGk=O7H>8@+%1E$K10avvQR6XaE8g6bhf>3DDVqtW`pwxoG zARKC1SP)Rp6GcNyo$o$IQ?pSZ$U|oObAU}P6*>8B^CHZhW|^o!o}fF-l*}0Jd4C4# zo^y$o`mk`i!Kg&)WjNf_m~|jr-LgIn&$_GZCM=y9<)wj#$ZYNbHKioD#S=ci$aQzc`Ye)#BPE4SccL9bVc@nQqU~7dLs;jQ!P8Ef~>Ro8dRG7Ns;0d zgXHlLbD;^C&(=cdDM1oce><~Bk7aOMyVq71w(qT-*&pt`yC1&>^Cx#7{`_*`pkm!kUN*=UJn1PZ)|kFZC-vb{F|+Ke(v#Gn~lvE3$gQR{>Rn5*Mp~9 ew?6HEUOF#wWai4?{pqjYE1WJaci&uJTmJ_m__J03 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelpick.png b/mods/default/textures/default_tool_steelpick.png new file mode 100755 index 0000000000000000000000000000000000000000..1d5a2d1c82c79d676ba3e68295f95259387c7d55 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmP?kEj5TK|{a=1EA1(PZ!4!i_=RdEfi{U5NP`!%&fxA zCc)IC@1PKsA$I@3qt!o|ezS;OR*QGY^{}wow)F(hoW*xu&d+-{|L*_WH(CEpc_rt2 z+2cM(lY^z{3l|rmFD~#i)7)j4w(aC%k;*5XJJ)UeU2y1Mm5ScU{9l$om#X)_DB$(Y@N5El Ojlt8^&t;ucLK6V5T!5hf literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelshovel.png b/mods/default/textures/default_tool_steelshovel.png new file mode 100755 index 0000000000000000000000000000000000000000..ed8413846005dfb5d02ada350a4e2c088c566cc8 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=r~PZ!4!i{7{AHgX;@;Awq$|9b3eL8q)zJ!ZA)6dwPDOKqCjKXUET zYPaOL7`v)@k5|)o&Vxr;@&iM2=X-1BKet-2YFdz!OU7Ep3B`O2{qY|puCs3qlP(uj zJoe&uLUh{gi|S>m(P`1kmot93_jXNv$NqD@|Jj&h4jtg$%4+#_|D2f`Kvyt$y85}S Ib4q9e0DUM+nE(I) literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelsword.png b/mods/default/textures/default_tool_steelsword.png new file mode 100644 index 0000000000000000000000000000000000000000..6a82931f9bcab87c59f351524e6030b2814e89ba GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf9i8EEwdU8C%u9P4*8TkS^fb@q<^Jg^ zrxaK z6XP|X>E@=$n5-_ZE!8%AU-p))T{a^k+?^xO(1 zM16V&!{Icd^fCkC=Bzr9Vc}JuWmMfw_8_dB>F1S!$H;2#5w)ZgxQ8EcP6nN;ZGS0E zlan5x8>j}+81h<5XrJ8zkD&~sCm4q60Yx!bZu3T%j-YvU&IDEG;A=1$>`#f5pg5$C zr+5fmz$Z4#t@Y{F#>}7B`}>Cr^Y_oTcU~<#c=B!fN_%JX zQm4Z=dwW~kcgALF{O)$I-~D)dV*UK`ZfpD3;la~;^B*2R9Dna~`QlkCXI1~s-n?+* f%f+|PU+$bcB?sSI`gP*xj|OQ=D~s>i8(aSX%Pp|1 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stonepick.png b/mods/default/textures/default_tool_stonepick.png new file mode 100755 index 0000000000000000000000000000000000000000..71ff0b558602649e9a77a92659ec804f796ce2b0 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmP?kEj5*viEv+O`y;(PZ!4!i_^&o3j_=fNlaGr{k4A0 znllH0py2zv*tR`;Y}_XCG&FW}bo^hmXc5np=-YaS_T$&r z?1~;i6NX4*pPZvzqCGr7us#3&vG+_lvl1UXJ3ITw-UfeTW@hHY>tc6HOx%0WsVgmJ zU4y%5Rf(XNyoQ;zX5l||ZS#p)#%v0=(=-?u!e-=a2L4vB28IHIr>mdKI;Vst00Z)m A^Z)<= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stoneshovel.png b/mods/default/textures/default_tool_stoneshovel.png new file mode 100755 index 0000000000000000000000000000000000000000..ba5243101a1180a6f5f07f0fb791dae2c1e9416f GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=snPZ!4!i{7^rHu5$Y@UZBY_&ktH?KOGx(9p4nJ z@ErkR#;MwT(m=uUo-U3d7QIU^EAkyO5Mg_;zooEgW~$KPBX3yPHA3$&^{08-)|o%x z64u|m!_%$l;Dk=8yatUd-)*MZ(`~QrdGdSm_ghTd-Dg>yIPT8v>{$Ekka4)EV_Tk%?I{rmiH&!b}M*B&k?-1RTuCeUjPp00i_>zopr05S$~;Q#;t literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_woodaxe.png b/mods/default/textures/default_tool_woodaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..3daa4af72bb200b80ad57b1ee801d21ee1115c71 GIT binary patch literal 927 zcmZvav1?R85XOgSL=OT-3OTe8VG*=35EL7g92a#^&Y*{dAS4KOpEg3Y(n~-{>1P)k z@ei=Dm`X%Z3$aieEv5*>!pcTd*^Kip5bo~zV0UL9JNx_Qn_XMzo}X$QXo$#^Ug%uO zwONh5dvZSXCzeEZ$-<@Hd~RbfVz5N+qWaw3%t!)I)l!O!m0ys4H}$A_7d22d5H1nGdOGGoA1Edy20Ii-f18;u|oTC`XgoiHf1 zpfCuBniduW)bm8q&@#w(AET++Fc9PpGyU1drk0AF{JMD&=1#LrR3J~#9cD^q4EMZ0 z19i{2L`{8IINe}WBK0yHZfeXr5Uy@npN41MRrV+>of+n(fjh`-?lv{0BzSwlf&=f2RDL&@4q|hO|1?FQJN(;~x*#kFt^6Uz2wae!bE8BCUIWw~ls?&oqCp kJemIa;N|l>z1h#rG2xPUpLw7wyHBfAUJKAOHXW literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_woodpick.png b/mods/default/textures/default_tool_woodpick.png new file mode 100755 index 0000000000000000000000000000000000000000..7346630499682172b807b517dd91f115da701f3c GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmP?kEj4Ur_I8~&p@FAo-U3d7N?UF76=#|l3=Zq`ae-s zEoaw3k4cOt4tREc-aoI;=46}U0~4R7xAwcZ6B{}wF#dj5o1T)8kWlgaA3w91Gl!LL zY>TMt|=!QKRrtqz%A+6t vUQEiT(|8tWo%t0XI^(OoYv$ZZZ+I9~=LQMQH;8))^b3QhtDnm{r-UW|z!i8; literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_woodshovel.png b/mods/default/textures/default_tool_woodshovel.png new file mode 100755 index 0000000000000000000000000000000000000000..649ab4c38a79fb48376ed13949ae5e182d328cd0 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=snPZ!4!i{9jf1p)>_t1ozVezxz~`~F_}4!cD>1woJg=r$<2J4TiHs2smVcZ- rp=!=7PqxLg+I!O2*sjF5@i8!{=NsfmUUzv2w3xxu)z4*}Q$iB}C{jIg literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_woodsword.png b/mods/default/textures/default_tool_woodsword.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c6be3254274acdd5a95665a580ad68dcfcb50e GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m=t5o-U3d7QM*{3(PNwB>s(mu>9kF&(6>G%s?Q#a@O6oQzZ3bD>=lK zZ!wgdJ#YUvF#!Zr!asjC-!Iu|#4tatiA~^APh!I|j@R{UY;0|>^XrU-7SC*C^j6pv zttp&p?596rk>ql2peZL7ELZjqFm7XHt&{q%59BN8>YgoldCGZ5`3K2{MxgMmUdo-U3d7N@UH z+Q@s@fQKc%$vv^{p_W-tcH0)lIl6bMB#WneD=zU==i(3u%cJ;<1% rbHw+D@2bcHKQlh(zg1iHZ{Iz!TsL27wjDrcFfe$!`njxgN@xNANZwpv literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_animated.png b/mods/default/textures/default_torch_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1668c718830c6ce22ebf8652a116da7202ef68 GIT binary patch literal 1441 zcmV;S1z!4zP)EK|00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pl5eF0q>-YLh000F*NklF;I->}7?!l@fw~(aJW7kxf46u0uY{qFt zx}*ae*BgmDVNE7IZCX=9Sx4|leqRzwAcBuyYNf1l@JKdKkQHb(WSjPht$ka=V%oc@ znX;b3Bh3b*7irJw|*1$vwsvhp1PV`(8h+qi@T{6UcE=E!5!z~)y&tBVUz>D*RwPxsR++t%~rZAD#?SiRs=NUUCv{R7E^-0JoR1~DGE z%->VGU?Es|5*5w6v*&@KX$!+27ogIq`TGZfmGLc$6V86+>S12LDusd*3ES zxlOfI3k3W@ZIKucX8k0_1G^{4bdm>>2RyoasQX{{{(mM>w_zEa)(OG>f!$6n^8j&0 z003#P7i#S&oc1gHkqm#`PRi^sF+jv0=*9Ypia#mVPn7;Z@*uaeoO)l72ezB!9y`R( z0~Vh_I_ibXah13RsHkselc)Qj)%pMt9xOBJsZ*qX5D6y{l>GzAgC|$+bGyWN;B-xr z(=teweXID6bHsfOYPA{KH^1bM;>S-mkoW#265>H)buo3dR`c^96iguyj!GU#9z2P< zck3`se7Bdse_$UyPO6gSV4(z3sVNxiJNfp`Sbq;W%?J38^3it<6!r=7V0mRRb%^jF z97!Q0c_4X^6WuvbNk=pS``>xJk6hM^{4X@ALIX&v%i*+LCfCHb+53Z~Yd>Y_6o6C; zs^~5LTwMBMIn7M{%+G`ECXi|AJnH1-LGL73GC>H6@W46~VEG!gmQgZ^whOlz#k-INd!VdJP5LU zjr0eS2OJvQsS_*xZSia5u>C^9kvN=oa##oX-cJMojjA6B#m>)zD?glt`+gbJ1%(3r z#JUoCakaqrOi?8ce@NhaCaWjN@@2gsdGLQIqh%aB*hU45rlD5rVc33+Z|R+G7dh^k z`TT)(e1!61lfcl+{B!O5yo+q3y|i#akpK@&3ux1tI)Ud4z8I81NcImT5BN3K4zYje znG@ywPy6oozeDlHef&UiT5b~Z^&px?rJ;po?GMs<^N^?5pz-YI&%wya7s%oKomMoI v@+Y&tdOmfx3Gg5hOu*+4Nq-=D@RH-h?Y00000NkvXXu0mjf@Yu4} literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_ceiling.png b/mods/default/textures/default_torch_on_ceiling.png new file mode 100644 index 0000000000000000000000000000000000000000..8deef965e981e504a5e9c49656adf958c6dd4dec GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0%un+>Odic&pY978PplM@awt5q8P`5uz^qu-x5&TWzqqU2n}dNt;kLKR&Z~L9fEF@%y85}Sb4q9e0RLA}xc~qF literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_ceiling_animated.png b/mods/default/textures/default_torch_on_ceiling_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..b101561fc0b55bdabef2f13a1962a15cac1649cd GIT binary patch literal 1302 zcmV+x1?l>UP)EK|00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pl5eF0y_?u!H000EFNklKte5+MWD3A z2U0>5s1VCG%-jnM11MDlnKI1h!w~5MjodRY);ZtP%-ozW-~FHbe{;Tb4zNP(*c?V! zWhhqqF;*LhcwOMCldKrYF(JfU0RVV=sNhrrFLxF0)dmoAf*?OH*ca{pTEQLb)T;gA z8>~Ug(F|I!si3g-L%Z{&AWO*NBU+jizoDMf``BirzOsO(#1dk91ppWw?MH24HF(^W zk>V^5;{HE8*z7D1Zp~Z&`QGvVT9TDO8|;tWkKTvz!DcevXeFP79Qi_)WTF`N^E#ax%JsVu9~Udg)&Kx*ddHzQKa)F)^T6eKKz7IYV{atW@vKOaBaG`uZc()qR#E={no`AY#WstoK)7r2ZV+RF-^lfC~3|avpFV@P0wz1P`JkH1Juv z&?FgK*#y1tPC7|q1C1E3(eN+b@=iPffTEv-o11`;&?LtD2fuZr^rd~=S)2!)2TSXN z&g>8xD@&5sFGOoK@OE?X!25}OETmnOFJ#g2Lo_wfOrqFN!)>|pXXWbmB~*7hll^|; z&|oKKuGDa6aUQrl4{rZQHP*Z;j|Wlr1R*ro&#`~d*FnPeBl3m3c;-18pJ*rJ@BmxC zpoxDPrp`u0=%d)q7n&N+W5ehr?kvs&m*)Y|@_4ECHF>M`$glv++CA~pwXbQCf?>CL z05~I0$hOkQNE)al$TjTis1I~lHnFqe>f@u0}cVgy&&!QEoj3gKigBW<=hs?*f;V*4I+>W-%uOP3Y zT}a%t2pg>hR2ncX_rqe7uweNSqInHlf}T+&=6l~lM&1bL!GAjb1`Dwnq^kvD`v3p{ M07*qoM6N<$g7(yE+W-In literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_floor.png b/mods/default/textures/default_torch_on_floor.png new file mode 100644 index 0000000000000000000000000000000000000000..925a59af960eb65250a99618fc383d636643f8b7 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4x1pm601yBc!h{fsT1PP&p?ZSuu%UbgM-*|H4gUc14Z@l?Gr^a4# zM%|yJit?{A%*=;{cuakM@Fe^#?0$IO->&U;xSi39qxy*|H(&beeg9wot>9z*rayBh zzx(z7Z?ozD*^8$Bn=D&#N@&ji+A|>^r5en6ZbaUcypsAu@`PDKXJ_Zb&)4OjNFO+L z=E#Td@8du5{y2Z&z=zl8>$&zEIC0>^Y$5SKzmFd{aPE{(qxir7=?|VIEIq*b|G)8_ e%5Q?}85s_?*fm}~dVCtt6AYfNelF{r5}E*$JAXU? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_floor_animated.png b/mods/default/textures/default_torch_on_floor_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..0b55818b40bcd2ca47e758179a51e4209f9a70cc GIT binary patch literal 1355 zcmV-R1+@B!P)EK|00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pl5eF0*fk)cD000E)Nkl{#DH41fG+RDyz424d+_0ndNLr@ApWod9R& z7}oA;&_&LJdtXqW?^|Mxd*7ay=#lq49ey*H*ps&+)lB6ZSMqsaG#F8kxkT_l@E{6w zpgM;R>|ai-Ie7H*7Ml9I6qz&YcnLshDbuM!E+b`A9#AquWdTptO{9w6-b`)u-7mRUnc-k)N1;K-uk@s#Jj|cvT z-;-omh7b~Yt02$K;C|02mZ?V~H*n$X=VVM8!=J5tV9q(qvu{Hf9&Z= zM%uO^m(PPl#f;Sso8W=qK@_Ry*mL}x+0%ZU#{^Y}bSu*P9^R-)j6;6W70Q@5ES-<_YN{XQ?5w>fxk_Pcw? z>+0rpGy~oaGT zgU^GsB!$X174UhGq{t{pix)f)JctstuLn7gZ05&=-`z?6-{(IS6#hJt>l8_*Qp|=V zWIOUAKk#gr`wPvNTNixzUk!w2rtwE(H8k-+Q@xNR>IK1r*pTN^6#+oddySW1$SHR8 z4tQz0<228M{$LB8`D!me8b^cOa5pvZ=OEptP+76YdSR8|f#5;ZsOPg}x>e(de0%p@ z{g8C=xlosuAlvcmy!VDp_mNTzieHQDtcADtum<#oNr0~KmvL-x7$5CE#Gky3r3zJ) zX!*ZjmXV(>{x1j~EPDBVJxKnGuWBhYn#mU&;Rlm^`+XQq!~7u(4zy8Kp@#l}J=sF# zTKb9cmN*oMeqt=}z}f$Q^PqRPp8q8RfV9)0fd`GRkiYvP^>s4OBk5LE0p=pi>T{Sp zc-)HVfqRe;&l^I(^CNxymZF6RR;no0a$ebDKz@eE4;DEOLjNH@_y?b1F`{xgXQ2Q9 N002ovPDHLkV1kgJkQV>| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tree.png b/mods/default/textures/default_tree.png new file mode 100755 index 0000000000000000000000000000000000000000..ab1250123c0bec828df1dd9d7bd22f6b2ab67bc5 GIT binary patch literal 706 zcmV;z0zLhSP)N<2DpT4=*WFlw`Mi5Cq5qvj1fT^ASvsEr}FgHy>^w8z|JNQ|9l#9_rl0 zZHqW-Sz;gtPaB;n%>4Z4Cx86;$=C0LB}OJOd_4~^%GdKi2H?X)&XqbkV+?Ysz#ur` z>$wwsz&nR?4mFn28rB-L4@3<3U=b%6V>nZ$)J7YFp@X4HN*A{^GJ4~69stzZ!GK@{ z=PcF=lUN4O#-Nl=Rq$?lhqlI*3quD0y$^7e&cx-P^BVnB>4;)HZ&T5pWr5bM~sm97J|f~wM033GV! zk4_(*0dI{VOg#6@x<>Lpd81Evx0RK z!P~b50iMsqdfWK-*OSl3jn|%W&SKQCYzqKK%3wfMN$2@KmMYSR@_HTIZwo11oL9jb zLur*(8*z&~KJUEtMDU(%nMqe8=kne_QF?9UBQeI{$``eDj2KjvI5~_lqH2L<{9 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tree_top.png b/mods/default/textures/default_tree_top.png new file mode 100755 index 0000000000000000000000000000000000000000..6d620069402c138da424cc7fec497a7510f04a15 GIT binary patch literal 843 zcmV-R1GM~!P)}7fL2@p6<2^n&jnB;N-l+hhK2@- zE>eWp0wHC!DD09=v`ZYv|2{Kwe&$ekSBSU$^nS&w=MkTMdK{K3OCwg)0*rAOSCc3S zK%OXGN58rOBucW=ZlG)x`24*?&Yn;Bcqe1nZ{p*WgZ(agUgCvkJl6bvaYG1#(YoZ~ zc0r?=GFg_WTEJXezWeea{ZAfX*9E?qBjS`OZ&Eu)9H)Gt5@ePWcaL~>`ZHgB^F1{I z1<=$Ldk^15-%VIvUy<(gpj_jxULaJ2%5!v-62&Q5DS7MtceuabG`rA2nH6`EQrM)*GNfKPC`RBJ^SlwJ;=eJnBMhJm7YrL@>4z>W0m9gL) zdTF@1oKh{Ps7z5#uBpA_=J6ktdO>Y80NxbTuEuBS<^jOvcuAunxi@H&q&fO_f|Qc1 z*J1bY5G4~34ZPiyLv4|E1DUcuaJQ}yGQyPx?<{q>z*jkLYA9zV#bnOlgA;0 zE(==2K6bfg_T(wiR-2^NLc|fW1~XgG8t&43b05{|Fd8q|&J&`;VfWkdtR!AlJUD3K zttIJpNLno-C5e=K!_s7W6kOFJERwz4R+cM07k2lN51CK%m1`Zl>DF0vsd)JR(+@4;9pZp VZni8G05t#r002ovPDHLkV1nIldmaD) literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png new file mode 100755 index 0000000000000000000000000000000000000000..fe652a94cf1091469a130bd0d9f9abd4b2c00560 GIT binary patch literal 710 zcmV;%0y+JOP)GBl9M^`HO%0#ivu zK~y-)J(JCH+g1#PKj7l>N0Oy9YVENnebPQjAFa!D#z`!vku8fNMe+h&&`)Zr2KB zMskfd8-C7nSJ=10{jO%19mzGe%1ReC08u8?Dw2Y#@@bd&?-F#j=wpB3TMv?J?zfqo z5_VGy-7teYR@FS*C`kgX8or)`eJgZ>fji8@yV1xu{eUIKOyO=@|2p&EK~0HKI(M&IL(^=89(3 z647w&d%_E^eR+>~r5}{rT?6Y4hZn`}f8XKm96De46RZq8g#CVl2OPVR>o_h10uFDA zq|C#9gB?1@-Fet1{@f{_k27D7J)())8lEpfxlUwLyaXOWTsx>Y6j#iz7b1c$rxHf9P{!MV-NGltSu?8h-m~-wr%FnITllocJTW0yimw1l4bVm zgi6bG4vudYn6mOY|aX8P!yf|SEzil!q!Hy=`HI>4`AOHXW07*qoM6N<$f~!O^X#fBK literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water_flowing_animated.png b/mods/default/textures/default_water_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..ac35b2acb0d71a07fbf4add80566cdd7c7017c5b GIT binary patch literal 5972 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water_source_animated.png b/mods/default/textures/default_water_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..26de7baaec5224e62128ab1096ea2ffdb1bbba2d GIT binary patch literal 5170 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 Js&WX3{a>lCNLv5^ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_wood.png b/mods/default/textures/default_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..66f2b7228161d6681ab3da2e94a7c2931475d3de GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sBugD~Uq{1qucLG}_)Usv`!%rbmN;uESQ_5)2}_H=O!(Kufk zWSh<8C{Wuz+3DzNem<730|_z*Ff>8EDPVddq?jc zV$pGHPc5&#`sUp1esklKze@Y0&(;5DkXxZ{)?6Q4&eK9$| z_Tt}z9=npJ{t<4n3A(Jg&~KB8&;cjropvcZO4dYsp4_xZfUounSHMFz<~i#a`(0ms z+g$yB<*7Gu6HI6AuwNN5H8N!Nnn{bgQk(M%E^B6+ob9sNm9Wfgu2s#pn$|rHM{M6~ e+?mZ@z$o;%?DXGEPj_GlF?hQAxvX4nJ z@ErkR#;MwT(m=s$o-U3d7QJUL+4?aX3bZ{u&cS(V$)cxh1tNJ2vYID(cQC4!aH^jO zTKbe@Cu4}mN{-MK5?p%@>fBq>5-wHw=HmCtKZoNdpE}8Fc;YA5EbMrlR z)&5IMHc%_&&C=QMMmtW>f9mdxWZyGgpTlPg%G7H&NKVA726BgIKuyzdyDTDz{; zB>KqJ^gYUZ#hciDs^yk^m-q2xce$nXPrimpG%Q=}%J~&KKp!%Ay85}Sb4q9e0D|Ik A#{d8T literal 0 HcmV?d00001 diff --git a/mods/default/textures/player.png b/mods/default/textures/player.png new file mode 100644 index 0000000000000000000000000000000000000000..c055d9b6fce6340b2a7397798466da0b4dc953f2 GIT binary patch literal 21512 zcmXtfWl&pf*L6a0ch^F3cXusT3Pp-E6nA%r;_hyxSaEjf=XqJ7+s5 zb31!V1t}>?dq+D{3u_Yqz_3%s)xd?h_s&Iu}=W7 z!~$Sf&@z<=R5t-26PPHq07O&(yINQ<0|3?w03M>Ib_aY<2jI$HX$fC4Rbn16LM@eE zE8IdOAQPaA$l`#YrNv54KcPUtgv)CPW0)b%+T)Q<#2LViv2{HL0OZBvL2rBg;y!_1 zIWfT-(}@0+<+uy}?cKL;JFk0_W%l9#z_zpR^eZ!49kIUt!w*#wvow?Ygu02+udFI&?l*DIHKkAYS!}=qV;0^;4A!mce~a3nGLV^PTU?5GysxeY0Hi!rSNaqDGR!flFbQ3Z|;7PmT*1A!i!MxukY5IC3 zF(r|W{Yf3c4CR56^daNbWQ<_8IdL*>h?;pwqCGlm&*x@z5qpeBL&ThJ`t|@MScxG- z97C#=FyOZcZR!|Ag7n~fs&08$>_{5Q;V@jacZ%^m@*JNcG$=pIlU<28!U%-w$+pG| z4FNaCuF_=vyD{y>>BcIL>4#m~!}a;zs7iQ>&am?|^JScw&t z8f1qY5+ZQ*S+lba^h(z7Gb1G$jn=#?M=cv5uGTCEwT0grP1d-e%~)q3dOC6*}G)3#zg^bvmJTca^a_*e zgECR;=}8a+TC6t(nmyxx>^$(2W}^S_odyV3-*_ zQ6?b*p&5}IVO5$^5z%ZU(Vzx9AIC}BK{`gd-DhpaMn-SE_z~pf56QI2B#dktrN4@P zZTv#{eEoS;Bev8)-KSFaGne{KDbid@+2>!`A5YXt)XhqTNU&MHU;^u?*yz7ZR^7Yx4{NQ$_XS~yJftbV1Wrf8SRm#LM>opkV4 zo)u>ob;z{oJO!Xj41S=~qmwg>oq)?eP+wMGFGeoLR~8Yxtz`XWRY;QGChgW`TYR3D z(`n$JqhwdS;n8vMNb1A(qVZz$SbQsostsRpkUN%}5Bg$exZ--{bX252kfEJ#XidIqiSou8TlX6QDLy?e@kka7z z*!Yj}g>;@w5spR9gUo}>#mvnn@E7+l%#9_D%_a)9yI+cQ&KuipgTDyq6l#C|qF*Ol zkzMhAp{=5=7^}ENB~hg;XThwu`m%Ajv9yV(dT$ASwX)Hs(Z|s28-ZC59b(uY9C975Eyyq6@p=-Hg z+_?-nI$Tauy+cx4YJ1aSD7ne(R-5I%s#2-}W(^0_Y({MHS`~}cO@(g1?hG#oME{C9 z=I)5@2=i@lZs>d+{`is?4c!jT(yH#v} z)l_F}UOQV`!CH}2fR(Y5*Vejo^ZD#L^mq1elpQaEG`1mqdyo8yo}1ue{8CnIX2BG3 zr7#u#q(2gvj3xL{@2_y&-p3$&^pN$KyE|kB z-fQ_zR~px@gr>BfDVT$w;Yw-4DI(ax5tI-g=OFouN;$F7?AUDI)OEDnB)Imq-!`&| zjXW7)*s3nB98QM?xlyv{P~!{zA|pbrnTeKZ*Le7dKuTE-)A-p~-N5S>o{sv2qE_%wZ)csU+TeRhsdbCZ=`m@`=GOKK<WWhr_V{e+W&H&&adjW-@S+qcdmX0epa40oi}+> zc&fV-s|^2jbf5BMqhFz7<8U?zngP8aP@^|4w#?0w&4_4xid|qjkwYJ(=zPt-aAQH^ zMf)6`HSn9-UfN^#=niS~jvP&J#Wl*Sd>dhw!j;U7jLlLq<0?ZoQ$6EJ_nU63>X_*C z!tsXZv)n2LMi#fQj>m^%NY3FB79}%Wib%7453+UvI?EB$lPt zL+8bGU)Po{*8D6XZh6 zjVEby2ws1@j#d)jv-#f7pDa#Hr%mUlUZo~>*?1Se979fss#XVj2FN>y-MKgnZZx0H zy4}{?$Sw*tF;sWGDgEf*%pYoQ)u)P|5{VKM-(W#$*Uv^=EUN&3g0q6OgogXdnGaGF zUjJV{q;RD0VMQgSXVKTmyD=%XBr>F@YA$xeB_b0acI)2i-bBOArqH44$?DP}^uRx6 zn@KXLLot-d5?GjU@DI`fYFpm7WvlZ|t*xzgcO4>SYrEgKH_m@K`F72IE>>aD|2Z@} z`QJx1{{huTt7~q`6)ndrqVMZ{;zH-PH?2<^F4{mTar@9uV4^WCUV7ro8NQO7yJs8Le1<{+HrMEr)}x5}Bg-Yj zx8TU<)HE870Oz8TiW4C7%K%O$9$8$UI_MyTESq3TD7n9v>|vJKJ% z4?oFLs61#)5D7{yI;y5e#++g+t#BxqIcg(q36CCDMq5Z1%W@<}aDLQGx)bBHmglo( zyi77=T4p1ZstlLia^WM+8>HbY8jH6vzkX(Qwl<<@_2rMQWs51y?Ie|DDr$_(@Lr4L z{D?myy<7rv$)BJf?XX%BoUVQe?m}Lk{C3|@6FnSa{&eQBo;lSsZDTPSSeX?^A}48V z<|mXwZV9{j_0gG~g>ZVniL4p_t~oheP>s*opLGhURptm+3sq?bH7bWisn3Z1uMRgP z>LOk|a)8FcU)6gi)mKn(EZLf`Tco(@rho{PA+!*>X|G(rcdZ$Egs7j-*Gf?jzlgX0+z-o1H`-UX*mVeQXSjnw$y z9MJ~HDbSzfJ0Snl91XOkIPiY@Z}9MQc$YlRO6+V8UtxaKNA_e>`^etS#-%3+%Ow z=cAX5sZgAZ>4hjwXJ;Sm?Dd5l*3)yzO^QPqzL>wo$ z!&v)cRWp9nm;6cll`ioU@$7Go@OldaMZxwWmh6>h{8TR8RUOg-N+CGs)bJ3S9+f53 z)c|1iA0o>AT-I)FX$Srk(x`0SMMC`H}*f`YKt+_;Mlz^PpmA1G` z=bq*4kfalYb2u8CsANBJaVpIhi^1ruEM^_}zeSClVZga@n;FkfN`HydD+O%fnRD01 zV0X*T$lRTDmW%*Ph`Pb+5K5R~CsgJ;;-!6?)I5u;Dnh3dZ8Xnq` zk<;rczv)z&?t(W?H8JQ--_Zi_A$=yIRLVUKKLTzo-)ClA>%){$ZfJAfex+qe!*xsh zrN6y9o#@54@3VEpVmF%{#BlSpSnyigE4GA=>JP^bH)RqNCnNSI#pcNjSVR6FJ;y!BTYsg#6F0@sT*B;WtSK%U@(Q9X`|YIY(feOvPy` z+o^1xD;Kqyg^Ijim+(hphtY(LbtCyZ%s;0f+&9fyW=!joOmARp?hnTn(|F;4;l}*4 zgKz*Reg_D@BU@!2hs^a?76%jlzU(~R9mZ0aioE}V1@$BI>=LR_YIz_R- zEo-!0xQUU1!69ze(zz@brAmLJs2@#mxc)fGpP%JLKEXeMPJYAw*u1NG>e_iT{hE{D zN9&ZvT5CHsKluWINlUwDFZWMBMTFok3GxG*>60^;yS!9p+c(e2jH$$)+DfG{#4tz( zcZ(HsrwFXPy!>iAb0uyL92AM92@WqOM@7~rb#sJB7@lT+4jI>4*;hQ%v?4*17=Jyj za%#EE2fBs!2sjNWw2b6mFGS0F>^ zm(YvvhVJi!$rGZ}&MLgC3h`l|VtwtC>%;Fy+^Xl+Q-Uy^y>_(er{oU|^+J1Iyn~G+ zi+XOV4}g$=ZcpJPbcK9$g#n|M>$iTd&-xPDHBmZqdz5|n3U^|e@iEtR8h%WU3w}1| zmg^|?qDTgoR%75jK^z;&cOOO7+65~lujgw{7J+8brx|J1d)))$X03yd`6pcsVh_A6 z#sfl?ETp|KX#f&0A_5kZ?+fTr+i7k5-K~(n41~kkiH}LP!gig^%A%ko-!~1Ep?n(@ zbN6C*&-+ydPiK+Yj;=QwRapCA@BSdV>6=#%m&&V~TxXvT`U=K(BPzkQz53I9vg_o| z#*NMWaHJ?9|9ri|NmvBYbcF?Dpp#~88IP438V!!3`Fv<%@aggka|v^MzmE0Ciok8U z8a?_j@x9T*Tke{{&L3_iy2l+wFCss3Bk}WEzqj3}?65Xn0qy)(ozB-Rgq}{dF9Ca0 z#ik}Jq_K+?2^~y7%N|AQkQ$G4TX~*||COrbL@5}fWh4l&*eq*=nye$U|fER+O4dkLj zfLo}=@kg=$oxpue7!A^!!V8PW!q~fPE2yC|$$f53#E(+?cE_8CQFMzUr0|zup?GV- zQhCfihy10P9W_ZfiTm+QSM2n+^s~1sC&;u^sGIWcu7efbe&ZYv(VLGx7cA(pZb{G+ zYCj;=?c5}EBV$|E4?vcS!5!IKJDn|Mvcg8D}JR8Ll;eEDx;T*3xJ%?>K2@2ggc zCTvgaQaG-&(Pa~fVvYrL{7C1eJ5K6--jAeKz3dJ8aJw1PiDn~zVsEe<871O>vPI=prUm^A-#W#GQd|r2 z%b!*E8@W@pU)+D@-jct!^`8(9FNk@tt3ZzaM*8T4ID&thr!t2|#;i&+J1sKHueQ0D z?wDc(HwNnq!A`T3Q=Uq9(9<-*uy2HfCmH3W}!wV5bce!l*Bfb4TIWgJK|fm7jV0 zHg36{%$07m3w$-3iQ@!@r(@NVUv8t1y0fK1Kv_+29KMeG`3rP6Nj^q#-*L!Q^5|yg&c=iPW zqW*LUYbRUN_eD53Ze8(9Cah0KS)I|VLELB?SHT;ej>7Xkca=Y<%tOhjHB~zLR50IJ zn$yRSrg)Pq?8NU*s1TI_?4?Hrk~IeOKXz>BloXi*d>oHDPn~}|@KZiKOieobqYS_f z29^}*A9YhL9E|UF6Nb6lf!%BRYQx8wGuhg$8Mh_g&(bAO|6p#ho_l{BjDC+UD8Y9~ z7;V!Y{5!l1h1MXS%8*bId}1~U+pJDXIU5PeLbcnp9C54lEInPU3b{snsEaKpDxGW^ z=Rxy)KC#_c9BAE=#N@2e;vY&+SXq*s>GxT0ALrg!J~Zs?%q+B?GdZ{XCOCvnFdB#l zt+TKO|6K#d2z*v5JV3^ubb!#F_1my=?!Sndeq@U7~loFdKRrHK}UQk@e zS0HhqNu5I5F!wnwH0Yf!!RP?a8dGi5@gG(ELzwJ5UFJq02^d#}Tj$9S&y4L7z^`#b zw!II??6GD>2m2>+^#a_HM*v zxL53iup{`$eu_i$iVC81_VzieqYt!&sW%d8*d_oO|5HlNLJjY)C8pZIP#6hHQMIsr zU?HZ16n!Ad+9ta#Gu+*#gjF@=Mi2F}uhL5qey(Hv-XPersa(nU;5~bow7>HD70(`% z0TVX$isRlEfjfi1Hf^5a8=yp#s#YoPZQ4w2#$;hqgzy2p=T*97LS|e&`e&@gLId^Do4ii2uTGkI0JWqj*S4sn9tz z`b+=Rex9LFcBG({`^ThK)9o4TJ(}14Zl#HmW7>1gu(HKpNRy4R(#dLCOu1rhAI#J| z(?hf7`I8#{h{lP;`V^Hn*o0b99c`U@xtN*)`U-8rios-a4N#Q1qsa#S93|K`9y2Ec zUq7d07;XJNnqs_A@i*5N)d2ybPRQAK+AeQ&_7NW~&omyv8nvzjR|HlSw}$t-ytw^# zSN8aUoX%~oYIMgT=u_{#<4oFvnV0fNUijlNpisewN@cW!44}ujS9n6Y73NJ`oC+H! zEJQmx;}DKs>^*QDCXj#wp6+iUBV$p`%eo1$_HLrc*5w;dYDiRXIKVv0A?2QQ^tsnP zH#IJv&E5=Z-EGZ}+#4b(DqDl;#`oZ>$9aIrx;pCkm!ey-Js{YZW_|ONZaQ7ndkgJF zt@D95tqpsz-f5%btYK9mTxBsJnMS4)msLjZtTy?wPSNBpO@IQFY@8$>d;INgQum>~ z@d?PV^c^WaTiG^*j{e|2&w4Juj6|^X>0N#sX;cp{-BkcmbxnN+st}ldWY+NP{T6KM zmWB?Uw$l2FjX|}O8sBDoOWY1g;#kFadavMgjmeJrw^-B0?Uhc9GZp{+Pv>5$-dFhJ zq~`DaWWVz68*s@e!Wh5xV5RsjS3Egj>vKhMsx_*2KzrTcJ8`!q%E5QX0cx1wd~~(| zqH0jcw@8ud=m8+*mWIXWUnA)3@~@X=XD=eEuO-N5Ur5OreS|C65Du2)b}SsL@Eala zlQRo3G~h87Gh8?%dPVrxDb1&`|A<#HUIuXw<(S1d4EuBCh znOpnL3=v1W_fM|IA&j^Pu;Cu2MCAWW3XVGkr09!vWsws#fXcJ*$-72W$1eA9%p)X` zC;HU}&m`@Ab6m>FRC7&Hn*hEh*Iv@0T=Y*6?@XL51D^C5gm#k?-@j~bt}xFLv*TrPD4ZB($+$;bl05-zX{?LT2tgYD@VBNP5Q%4l z#yse{Pub>+9{VD~xhve5R_{HEe=lD-m!+qs*`hsmu5t(EkQ#{J$iNe1-K{o+mACApPEIDGdNr2qM4{>XBve4h*2#C@{CbU>?)UI0QE znv*wEX(%|QeL4LdEf*L-_qMsbMOd5G?y0P{-l=asj(gG>IV&ssu&V?ioEBE5OX}^G zQ=zrwe&n>9&VfPK9{QGV?WUjXo=V?;nt}H#^I<<%82Tc=#=;VY?KjY1ig?*0~JHZ-@W0{d0X8*iABYgX{CN(A;t3z z?79b+TR@`ExLCy3m*OY7#OgdFSUx%-KTcHT%69qj^1Va4!YOrvIpirVeyO0kS6R@Z z-K^+WgA|93^V-JZT_SbIkD{$5dNCd$$_pvfg?Xx3F1z5VmmuuK`ue3 z{8aSElc+D(t!UN1wZkjr2)5O`lTZ@*!DW+ll1ADQ=B9z`DHMnLUiYS}CXNlZb!2Zy zO2C6$A`XLjj?+I~FT`BIzeWoI;I=gt@T|mxa%x&;Aeu{;+%SB@^$=0`Ih~^r0P3%RFX1M^DFB2{vPTaK9T0J%fn5iLobMq+Vj7 zSW~Jvk$j6x>m551SOsDa_ySf9`?wGq^PaxOh93gLtoudEXm4uiFN|q+Utc|LZU<)t zkem>j4yLP>!dAFtsbdM_33ybtXqx}3q3)LHXWR2H!INC_L8&N}I~Xn(?P)l49rFBDYEW;|IGJntVV99u zeXy62?3FQhQCe8xoT|}y1<~l{wIvr&(vZCa8diI>?BOOzGhT5Qle>)s`@c3&+^&SN zp4D~9sWOAV4+(fRi21mKJBy1RXXv)`CztVdEUxca>wPs4BAE}@=W>5?7p|@rg=TFz zS&_M3nf(5{vks|}t$MftJWWvQ$d6@4_d%eL}DI87mQ;)`@TAh9PzUpM=nfx|8w9mU`xJ^Ckt8uq7MN|+oMP5X4Bio zzpSG{VBS$-QB!TY%-_ySnbTSe(FL*aO-QKjLol?xWw3m(>N!`ok9e878+u<6$OHh@n-M=EvJAj>1B9RQ{wJI4L1iqgc3&9 zXLoBYQ3TP}$POWGfeMj3{&L#@>~ELfZQ(Ih(QET5akzn>poK2)CIb2|M=zsS1k-O&qToN9`E+JdC2ljGKBS@ zP$iQtcC*Q&VDljnnu;)n+XCn;`XcJFL2Ya(G?-}!RPvA3Yiiw+&LP5O3ho9rPdUJz z+ha5*kx~wi17E3Gh123qHCv6Pwa!L!F0#lCb%4y1fa85&=U1VW6f{dkrVv_(Aiq{p z;Ull04BRXV<6(>o-ow^A^eD9 zVJ^he?f{lUBfW4B_#7#)-UoE{!EqpOFicWPV*~~(d13Z^g41~GGIy~DU`RO@-9GU) zziXpi!OibAz1H_RepDHQqo)Eux|M=};Lj?_c8I8N=NV;aYv5vAIQIZ>G5wf&fFQRu z(rB6PV95`GmKFZ+NX^*8lJTS?(}vv^uXPdIYk-0O%h_KW&#NuqbZ_XFZacr%za*(o zZs$`Sx=n|vxxPPE7prEg_$vEP0Z=rMuap!mDD4w}6L@Yw+I`~fFUSSuKL}Z2vxw2{ zXU2iG_R}#I49;eg)}GaV! zF9e@Y?vEfvUM5k!<6 zL%2>5MCd@iH6$tbn_{zzf@sY;x@2*!jjRon7iE5|3Ck-W08{;k^WUo6ZJ+_9W}qBK zl8&r>OJ9Z+Ly?pJfeZ>jXQ>J9rP{YWp?Nqj@`P5cmG)S}3_v{r@_q<_gPrUnaXi^4 zBhKgyA1!IowU~bF#n-9XBh2P^U^PV$C!$wmp>T`gitjn4IvCp3N^qKrmwNnaXfMtE0zsvXP%9#((|!Jd)2}IT9mI~N7)<*f1R;8z0j?LyHbmftQhfpOSmgM`)^@LdaMz0 z<@wrcvTV`L{llMwNOb}hV;53PsH;$0l;)`X@<7hv4BBw`m z>Mc(Ux#&kN5HJJ&j|S>9Mya;{qTT9K#5Ax4F$5y>d(p;e4HBWqaL#||i^@-=Og%$9 zcMCOg1IS8SEx-mPdD@}nUp45ew=}2FswwzDe@LPlk@_d&@$misV|_@q+6Nh{nLd6u zZe@KA>&7a&cK|eb03NrsDbXp1N@q<0$)(d#kbsR$C*K>DD?~WVEjIooJj4Zd%|3~ngVyFFQj6cnz z@_6=?@o!xMuUF=p3K^#kUS=4M8WS#Jkfx_^uKpXdyy{o?E^{7p$RFg%?Xc%uA;QPp zjsh-ZUH?le6qAT6wg2c#D${?5IRH^Y3_KoZ9eaVl_dXEZ+DHs0@2Izr!8$&83QfOk z{&4mW<@VXZBkuak8LjIR->Rx@hs_P1@Fi|L)+KJ*|1<_YB2?tW-78?73vbO2N^JpD zKwQCFpSotFDA~WxY3VDb6Mm)P6TRxe8j7fQeI65D-yfliPx+qvr6AY-k`mz8(|XZz zlhc_TpEy+bR_?QZ=SOOQ%k$8zl@#=k-ct0QB%>t0GUT#$E2UUE;%$Pl0$0X~70cWD zaH>B{{Rw+7#$M6%7VjTtG#XZ0`2g?mccF|H>t*K79BJg$+hGpf-^&F(q_yvEs+;ej z8jn}5WYYo`P>y#M>!0|p<$+@#^?ao5D>@sog*v_vSmX>eoSWiD!T`e z!Y3`_oR@-iA!-n|M-We618S3%Ffk(d+mN3um;eG;*fn!r``&pxsO&|8`NpsF z9piy8C9+(x^{R67ju@kybYX*+yYDyrW+IRUrM3P?QsN{zU887@d!Vha9Md~cznFjLu&Oh*ZJqDb+Rp?N|5um zAks@-S+At(;;eMzGDr-ZcJb&_bqNSz`pVphfkx4s6^)}fvp*2*=>7P50nNF*(24)OY_~d681M73*TGFH^el9 zE)_qCy(>4&(uDSK<=1t=L$1x!9%N&l<^z8Hn(}OIazX%=sNib>WhTPAmY9OmpDQ$gNRwXy>m(&!yGAeRx1q0=vAmflf{ejZn9JB@LYpGFNGwmK|iWE(LuR^Z`F}U_>1fBp85f1q0 zZ&NUmQskc7l`eZrIq}B?59bP3mr{pZQ*Q3hqRcggd+fi;fH~;r3_jjq*3`9fb%R6T zYGIuh|36tOxxNub(%&ZXS>Bt0c9jQNy?-FNRPBShEg?<7Fz)b<7Mk5;EC&upKvgic zTEgquh}v_r=4p25mYsL%>;xsgCqxsf$d6b2Rl-J%qJ*F>9kKINvnEr7`K1h_(k}l> zsQT;`bnI*iCZQ_*>`f5I0>(Ml>5(1T6 zJt5BJP{5q&tewaJ1)Yc0Fd>jnJFv^}e<%0x9>~(yKH@Q{o#Xw=(vJSEehWYE-G<)r zr4W~=Tz%vAyIodcTee90(uuEI@!K$UR-M~+0am>WjO!TZjJkK$>3EgRz=aGE{pg(r z=Pc2`PT;re6@N8=79tx;R1FK&CU+3G@{DY;zs3w3>d)SIj&o|T2^d&OuUAGNMt?D3 zS-i7W>%ES@7=>>t?3neM?*CkH^eTG6u#1p8@!Rb3cbaQfM!?H8!i>7bNuTj`A^JVZ z<~E;Rkd*_*`Rx}B=Rn&jtX5AEOLD@YGypZYuorU)#wgSln3Xh&hENUX!KOv8@L6|Z zj&Z$O3+8i}U*hX$R&SQ5^0}YL^B;aG53iHV((i8{iEaX`EtgiE-EI9;QalH2E2Xc? z|B+I8k-2Ut|9J)4YCvxlVl+|>V+v6TWvJ$@`W)D|X77*ZSZJbsJ)b9s)AplWtYVrs zW@Mp4JQ@4fM>NwC^%KgUXo(xAoztjU%c5l8W}8``ku+nQP@I2*_LwfQ+CwcOdsp9v#2-hR=WNR_u12f#<5O{d4&xt3 zZnGXRUFn0Sje#j>L9Eq7^ruMTD{3{;DfE%_o5_mqbC~PRHs*8mMLTv(>qoj{TZ(Xd zS2AcBuVzVjfhLnjH?GNt-JrxDEj-vu?-(nm4wbdull-;rL9H?(zBiryCA`J3nfLBZ zs8(t&Uobme>c-wJj8;jIQxcv%JuQRq5GD72!$$=QG(G8+Q#y^S3jY6`$VuKzu+(CR za{3-&DIrs;o7)2xbFq_r-c~RK`2X+{SK2AhVu}1{aw6%Orn0sYI)2_02+J31u%rO z2tue0ax$TbOUXpXq+^N^r%5Q*vek?>D82tROPJz(jj+aW%vB7=s;L}1uCTgn7Z4A> zsiz^-9}t&4)# zH0_zLs?R>zdQFJhk#g#}7Q0{b_^P%%;@vN`SdJ3&hKAvw zZ?lJ_=!P|hNPG4`3E-$%Omwn5lz&+@9m&$ZXVkbuKJN={C!MunjKDSw71>DIMW^Twg1@SP$^1!UMSd>~Q z=(;JRb2CupLtvikL$6HbfGt8Frr?Kk>*b=jmpX_4U`uAenl$E6r;H32;VB0q`Q);r zD$~C+zR7()N(c$1s%BExG36h*ob_q{#ITEtSc&N&M{FR7wrI~bvURKFIj+Suk)3da zPGVgAJ-R(vk~ByO+}27vT*as#Y;TLU9mfow6aee(K8#V~8ji4-I?f^y5`x&Lq6AIg zIM5;tF+=!;ODtJj-lP7ExU~C}F1UBtU|BUgx~C{h1M;c!l2k#ICUj!7HOp2P|abb86;rmq@q;34^$zi12XAzZ5V z-KQQ}I#|_Wd;clS8y-b)aHl3Mmfwz$0JvYIS&JVqGG-&>PsU!4`b0PY5$uZJl$$^S zv#wtJl#L5iN}mF?xVX?q(6w1c9%s3$h(77sGW21h-d#1Io(d(UYyAZ%=7$pAfv%s$ zpShIM@A@$@kX9Yblsu|+rxXkRnWUQQx%iTR)FkY zhMbJMajZ;xpFq+ ziOuv5HA-lqS$U2sW3L?)5jS6penNps@?asjRUH0ByTAZR0Ga;rW~O1ZUk@F6D1pZt zF6O>d6Yjep6#Gv25 zQIw>^4WEs*!_p-;ce$_>54)AKr}jxsX?tX4IrmCR=57ICfAoz5xV zc*nXm^Ynr~1PHfOT?;&a5GXQ}+BqUflm5cUhEkndsk089Aki7?Bcbyt96w9`qwQO8 zzksxDG&=YgcFd8opU88|n0B)6JZ^|d4TrjEP<1JLiVhhGtN$}^^}XukZ(plIKzOcq zueL>*2!H%0uC09v{w3E>uc>KXGMuV?kl)uGf5E+{kj^?Bx9JvzW|@jA_clqMd7 z6@t{Prb6&OsMlRgRV2oBHIJ8xMAog|`d4$47cC3f)W~y3Tj-h?YG{1eubTP~P5Ue* z3`Wuy$(j8*DY8ToQM7#;RTHLAjpk2Nst^8pA&W}q9iFtcWwVb+Q@p76>tpRNY7RuP?SryaCGwSaEA_*tBL+qv&p1MjqUR=G<3+1jTn==)vacuS z*E9F){uy^B<1AKAIFo{a>x*s}7Zh7xd8skqPsmZo03%W5liS6bXWhxH7!xcFpf8%q z{sWT&(Lf(~AvFN9c9+JSylVwds%~Fxcsx938;r?k<7gzS^g*cPe?R3NAOw=OA!H+L zL1%T^_JZ6G|{sYY6;dMG=2&n?}pkIK-|Tpkg%r><-vp93lc?+c|7 zHcHsTR@$IfXWe2+kPSCFn%}Rj-g&JDil^eJ#%t z2|k@rFB`e5m0nT$C3`Nx<`^(83`kmd2Sf6|;Wn<#o&k2WV$Mh3im6KDZv85~nXyLzX##QF}O&PH{c%*STu>OnXRi5!vD#io0^2JzyOk z7YZJBZ-m&jHB%p+DTL+)3LkN*wpO`1~5aXYIP{H&3|=jQPI-@ z7I_i)`O8%Ec2OR#dTZ)GMj+UK|FSAji0+0q-Wr9w#rWb|l-Zna0It^~mWnc573{%{;QBM~57c;#bq{+k# zWCT4(fRup}upt5+(&LJ$0P9^hCSaR*mcIj%N`D*jKO6r2iBaFVbh&fnZ1kkmO0g}{ z<)$|z)@hx!N9JxcHP#sOa+o479#Lu@kFjNip{;H(%Wueh_)`T_5UNmf$r8T;g}{g3 zFR~F;0OycxxV`Azt(AR1?l{?RZ7c)(?{{m)6j>MP-tAAC=m0wQtF~nhW3po3TC`r@?ol z@uzHlGEGM}m}`QoI=uO%pr)1Ae$St&pl>=QEihYHiO{!=;>#P6XD26qAZI_&xw_`h z+`Islb{8mmG;g&tKPdkyVb~6bOh7(9!PttysC1vbGjRxWl|T%PJ)2e6ei$gJGkCU5vS{FD_|b&DHlo!n7#Bkh()b~_f6my(a*+#L_F@Hg1m2E#u&B=ZMk;b^{X3wDh;{;wrH zjLK|xP3kxmTW#c~o8Sks@u>|R(D;YK%@}ru{pxPqi{_ouMQu%xR%%i5iL-6m0Xl%} zyQr@U_G|?@Jg=+{7pbci9vAz*dt@k<9{qY1<3-S{`Cs@HQ$9Nf#`~ZEn_cb;BHBrz zxLC?RIT;9HrabH_2RG}x`+ufcBq*_EK>G3 zj(GHv&V$B5iZrW0SNp^|wp8B0c;jIZi8R07x2zTn%8f@!B(Vcf9u(TW`3|gGo|7d? z2!^}bO3sg}F49aOu-_r|>283yS$jas;+6r4F5PYu0x&4@X?-%3Z+6gsDXE?sc@U+! zXSXlzsgImY-y@TqY)|JeHgA=aDODn>sS?~#H*2w?m|Txnma_`j2eU5V^nbl;7^_IB z_k$q>G8Hg`@0t*W`%DC3Hy*Zk|4d&oefqJC7(w?lDT#V;=7^ESQkq|(J-p=;za|2^ z8$Z*}Rh3I)!C}RX{JKSam38)C?UJU>@qzao1}wSn#fXkabN^_x@T4Lp?BdmF|H2#3 z5YALLZ#2K=i69?#T~}bXx$!@@4Pdm^+I)X+8fc?J$uwzzMKM>lH->8;6!Dl{rO;r5 zAeARJ5J@DR!E<<~)5GxNz0gb}cYI|Cnx!>R*GjNnX^&WAt}tU3nfPJy(17eZ#1vcJ z#_;>f$k5$LD?@jO zqzn(;-QXkXfJm!|FnkAn-}m?Z181MT&)IveeXsjkH;vlrVpH_m2HZk+SC>Pp`Xj$l z?$IylTx-Fs+QD#i;&o-$-8A5EwXtWb;X?27Q233gHk1&XB+RIiMpkawYn z420q-QKXLnXm&V1?{mcPG_KGfuy3l@I z*gu|$R9u!0SU0SN>TqOsZrs1MOdg2I^SGiHmoJJ6F`Lynp|fy06%xJNytsWfnCUqUpuW=s7v77#;z!q@e{aoFO!PMv10Y$SH;dRku%uHZ(t$ z8HZnMZd6$O`gdB}dMv|4NxLaeZs#{OCDz$?LCS8`#aY-5kO5%J=8#J{Y`EVEN#sDy z!D&j*#A1rr_T!q$7c4)WlP#L}fZLPYWVrUN_<3cqdmMQq4i30Y%u7!t_`!$>NEaOm z^d#0{D)KF(W;bQ07|UDn7;H`X?}Nf}&nD5+*WKR7O11BGjD99jy8z=*ApW_OpZ^M- zN-r@N)Fe;?)Jx1m#<3^U8R>_yTnE_|*~Yw|U_BI>`uILNqD4>bQHS8+Dw7_fIZn!| zGJa8Ln6Pi>1#Kz0L>S7WOx* z9v_}$`ks;u7jCx|9wDQkZ->1P3a4+VS2_%HhswY`sXxZ~bkpW`=e*Fo&Js07-%y_BKt-GRD(5fl=k z%EYKPs8PcrA!|RM>Q}`A?O81@9dqKG-j?B*O*fTvWBKhjFzdb>G3VR}FEnB`{G%7* zHt+n9t#Xrd$Gn_@A@4CV#%3=B(ybfbi9(s)bUfPgB;2i3B70m~W|6=t&ZkcBzW(yfAXCb!vfBe;0TL2% z>;j$e@)>cE@@p}Dej&$xVF-`4w77P>&fZ9~P?#o{(kByk(0Fotc0E4^r}7enJaLdi zV+QPGGEyitN-rF^3@;oLZQ`S@t8%`Qk1z?eKZ=LQa?w44s_0S3an;RW#JnI583cHL z*s<>N{yQ;YtJ%%)L_r5kd=EI`Y7Qi?G~}$-E^&;X|KrW9Gg(55-Dp4cL!?s-QKY~J z$sWIISA}6tZ1zTa=8)Qc7j^9)mjL*w1|R=~sH`{eDs9cx?gusXCqaEOCBl^K!BM1V z^*!$xuK5<mong zmfx4?IgsaayWKt6;@NDh_sLk~QHvJY&m341drCCm7~UY`QAhk{7FY0?L!wSo|DIQs zC!j$hMZ(2>lXK!bJz}VhF&@gaEYw04WXGXDkC-c4w!Z`@FZEc@5xK4q$@63?Ewa2rh zw{$qXhSr@!BuCzgKbigfzdg-)sQ=sYhq^Jmy?kAgGJ{}qul&705}Zmcd)H(^`&$Uv zu?L%jYmdMK)$*x)YGpo2k|88CXaRidIkl>hiiUOTWMFBTvnm zSwC2*Z;vI6MujP*LR40s5}(O3>o0CGZ6vnn_h^M(l6B1x&X{`kkX1-XjFs2RUMXu# z!eIvHtnBe~B-`xAP(hY^-em0JuWg!`jr{U`O7{6z%+)^ zj&(wg@IOa4UH6^#-Vb-QesqLGJtn($BOt=QcRistrvb*$?LXL%?0-I<-Z#wOO#)D} z4vqX}kGQ;e2Ie(NP|eV@obdmCx3{sHBk(p8`i z3h#;-|C>^TL^5CdW7*>e0hI6wGd&Hj7QM_+6$8KP(dO`yjjq#DquiH~ce#O3szZC} zvwa197B#~vjNoLU_GVIilGvL*-5)0R5);7NCJ8CwHGi_I+y7hoqFUxz`kzCbtz_7t zAp*ba)(-`+3m^Iu(+>)m+jZlm#s*?kJxt-9uo`o_HAOpHe!N;IU}`e zrZR2-KlFz|_o$_~G+BY4M!BBSp`i2}xP^8<8E2yQv%@E+r(Y|XvtS&*c3bxF$6J%= z&p0sQn8)nnQa{+c>oZ6SZI$!KZ300bAOsT6WOkl#a)3Yc+EV>c0BSTs+eVriSp;Daf0%#% z5t?IO0tr%cUP?{KM+r9hc!~S2hq>pu1c>yvmFmxa&uu4}i#{)L*DX28(i*ydDJEbWt(tXri<2QA~!i_gV!D=!f~ z+rb>&>e4A7W}K;X=_P9_f)A`HQ3v`RbSTYj6W>HyPq`IfrOrnM^6$v~syAs-5!L(=xi4?4&HI33=ZG2T z1Ql}TR5s5XffDi=eFdI7%H*W7@<>c~&!+nuYn#Q`|9+qrbI1-RTXXalGQ%v?JM2ed z>P|v5b5D*beF?(rx8b9`R#&m^qS@5~PQw49ry2?LJms()>0y|NQ`C$ zNm-`ZIl)JTQYg?FPw|TLpl5kaLLr#Zxd!W7xyOe^3v6o#sTjFpZUJ+m0Oq9kby9fT zSRc=G9Ll?AQ}OD?r3UN?NhLA@z#4grb(p+4OIBMhJ5Mi^&A>6X8Q7rN zElY)+4VEHd$1J!BGHVymgS@XDn$?*u7_}O$#nT_rqEUvE<&62$6^`-Qsi1NC@VwA; zUdfXYiKOw8x8K4uEW2pM)B4}TG~tZm-K}-xR$;(u0rZusV?0*EL8I0ukcr3?nY&61 zV_ktgNUA{)s}XFP0vLG2zo(B!=(!8zUL%$O@3Ofj4)xj7VIXy{zPjEcbC}y$F%Q?p zg|A-84Sc-K_B?^1%uihK#iJO80F)!-$h%#36eTx*?fwsbCKh(kZ*2h5>~*-0Kjx}Z zosELBe`Zq*uf>^MqjZsbfPV9J2HmIZ^lv0f)qH2V63l-SVZX^}{Am5WYhBe~*Mp3O zbms;+(cYj{ZiS(yC>TiFUPmDxsK7dadK42toKlWGk5S(sIJy<8*GZ6AP{J7Gzc#z) z6Q?g>^yQEbJ|3NoglS~!tz&c0e87T@n3D-yaG z-A@7Y#jY!VTTq-XRK6j-+mP5UrQFkg>eJ^g;sZaQcc*P(DjJHH+I;gPZmUIH!%&7bqS4tFIndy66ZO!uWdEt5Xas zu*Bz?;zL4gqk4l_C*7>ON^t%{moR>Na;Jffx^eAgt)^xluQH;_*)p0wRKk}~E?KAo z-5{HRaA%hakppX9Lg8je$EaY_ZeAD2qNB4;DVirhmP{L41G83xyMC!Twu*NsVQc%I zsNxaGv`H-dw6%1bY}v{PnPJDrukjMB$Mpt>#w-S;UE>(tOzt>%!y!zR#N8wf-Su_s zdMnw*F8zUmz(y4%nV8twiU|p~J_Mya%bEUl0m;7Ixz(UKV*zyd1gR>jKdO*N2K*l< C2;_+X literal 0 HcmV?d00001 diff --git a/mods/default/textures/player_back.png b/mods/default/textures/player_back.png new file mode 100644 index 0000000000000000000000000000000000000000..4acc8d40bca6d13c8f4077b74ffc5d3f58e8855a GIT binary patch literal 19781 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/wieldhand.png b/mods/default/textures/wieldhand.png new file mode 100644 index 0000000000000000000000000000000000000000..c4549e5ede15586602c9223d5b5e3d9ca92b88f4 GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^J5B z%x1`EtPMN^6yYrJh%9Dc;5!1sj8nDwq=AC$C7!;n?6-NCc)1n0r*TdLn!@1e;uvCa zIyqs1fWf3y2M-@+K6h_pGCQ;I%2}sRpAO_nR0{okv|HTsJJYUbvesn=Z*FX4-p*L8 z{WtK3R~~DGX|m}8m0R!Z&74i2vPg!{|KGW2W+M==`WiC>LG#*9wq^!?^_V}0r@!ZE zKY!=P{^a9|Jlq$VKki@OtO$}i+^&EBVUxk(4LkYr4t$%ZA;Os=ZU6*7tR#|n6Vzrr z+xvX}gI=KELWvD~)w>*>yu@4;cRk{d-q548c4rXYqq#X RH86M>JYD@<);T3K0RXO_i`)PJ literal 0 HcmV?d00001 diff --git a/mods/desert_uses b/mods/desert_uses new file mode 160000 index 0000000..f5ca7fa --- /dev/null +++ b/mods/desert_uses @@ -0,0 +1 @@ +Subproject commit f5ca7fa620231643ed4831227ad6763f7df47a97 diff --git a/mods/digicode/depends.txt b/mods/digicode/depends.txt new file mode 100644 index 0000000..aca967d --- /dev/null +++ b/mods/digicode/depends.txt @@ -0,0 +1,2 @@ +default +mesecons diff --git a/mods/digicode/init.lua b/mods/digicode/init.lua new file mode 100644 index 0000000..6a3c30e --- /dev/null +++ b/mods/digicode/init.lua @@ -0,0 +1,110 @@ +digicode = {} + +digicode.digicode_formspec = + "size[3,5]".. + "button[0,1;1,1;dc1;1]button[1,1;1,1;dc2;2]button[2,1;1,1;dc3;3]".. + "button[0,2;1,1;dc4;4]button[1,2;1,1;dc5;5]button[2,2;1,1;dc6;6]".. + "button[0,3;1,1;dc7;7]button[1,3;1,1;dc8;8]button[2,3;1,1;dc9;9]".. + "button_exit[0,4;1,1;dcC;X]button[1,4;1,1;dc0;0]button_exit[2,4;1,1;dcA;V]" + +digicode.hidecode = function(len) + if len == 1 then return "*" + elseif len == 2 then return "**" + elseif len == 3 then return "***" + elseif len == 4 then return "****" + else return "" + end +end + +minetest.register_node("digicode:digicode", { + description = "Digicode", + tiles = { + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_front.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + --walkable = false, + selection_box = { + type = "fixed", + fixed = { -6/16, -.5, 6/16, 6/16, .5, 8/16 } + }, + node_box = { + type = "fixed", + fixed = { -6/16, -.5, 6/16, 6/16, .5, 8/16 } + }, + groups = {dig_immediate=2,mesecon=3,mesecon_needs_receiver=1}, + --legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", digicode.digicode_formspec.."label[0,0;SET]") + meta:set_string("infotext", "Digicode") + meta:set_string("goodcode", ""); + meta:set_string("currentcode", ""); + end, + on_receive_fields = function(pos,formname,fields,sender) + local meta = minetest.env:get_meta(pos) + if fields.dcA then + if meta:get_string("goodcode")=="" and meta:get_string("currentcode") ~= "" then + meta:set_string("goodcode",meta:get_string("currentcode")) + minetest.chat_send_player(sender:get_player_name(),"[DIGICODE] Code set to "..meta:get_string("goodcode")) + elseif meta:get_string("currentcode")==meta:get_string("goodcode") then + local node=minetest.env:get_node(pos) + local rules=mesecon.button_get_rules(node.param2) + mesecon:receptor_on(pos, rules) + minetest.after(1, function (params) + if minetest.env:get_node(params.pos).name=="digicode:digicode" then + local rules=mesecon.button_get_rules(params.param2) + mesecon:receptor_off(params.pos, rules) + end + end, {pos=pos, param2=node.param2}) + end + meta:set_string("currentcode","") + elseif fields.dcC then meta:set_string("currentcode","") + else + local button=nil; + if fields.dc0 then button="0" + elseif fields.dc1 then button="1" + elseif fields.dc2 then button="2" + elseif fields.dc3 then button="3" + elseif fields.dc4 then button="4" + elseif fields.dc5 then button="5" + elseif fields.dc6 then button="6" + elseif fields.dc7 then button="7" + elseif fields.dc8 then button="8" + elseif fields.dc9 then button="9" + end + if button then + if string.len(meta:get_string("currentcode")) >= 4 then meta:set_string("currentcode","") end + meta:set_string("currentcode",meta:get_string("currentcode")..button) + end + end + meta:set_string("formspec",digicode.digicode_formspec.."label[1,0;"..digicode.hidecode(meta:get_string("currentcode"):len()).."]") + if meta:get_string("goodcode") == "" then + meta:set_string("formspec",meta:get_string("formspec").."label[0,0;SET]") + end + end, +}) + +digicode.turnoff = function (params) + if minetest.env:get_node(params.pos).name=="digicode:digicode" then + local rules=mesecon.button_get_rules(params.param2) + mesecon:receptor_off(params.pos, rules) + end +end + +minetest.register_craft({ + output = 'digicode:digicode', + recipe = { + {"mesecons_button:button_off", "mesecons_button:button_off", "mesecons_button:button_off"}, + {"default:cobble", "mesecons_microcontroller:microcontroller0000", "default:cobble"}, + {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, + } +}) diff --git a/mods/digicode/textures/digicode_front.png b/mods/digicode/textures/digicode_front.png new file mode 100644 index 0000000000000000000000000000000000000000..90003693b51d610a51f2a12ef984a9ceafc59a77 GIT binary patch literal 1143 zcmV--1c>{IP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw+ z3Md>fI`~}x000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000BhNkl72*RHRx zOMbnz*$p`7*x187Ys8%1Tom!`W1k$-@axcS{ef9(qbtjF^Xy)M)Ciu+uPjSd`YoYiHj(LB-?hi z%FUOXBBz!iu(PuRKy|yy_4PFce38sv-3FK$lg(dLgqS5dz}3~2iA2Ul(vdO%i_G_g zH;Kg0b&8M(sY6)y^76$CS%QFpXj*@FcbCc41T>ckL7$h&)g;S;aJ1c**_g>>vMLE( zg1T0F<#qomxkDtmyu3^y$p;AFRjtNfmzOhra#a!rq?68EI+o=0wOTDbf4;aNi;$#E zB>U%!g3qNStk>&F_xiWjjK}AICXCO|$ApUm^?H3K&;16*<8kt(PRp|J@j^5jjWD3u zXfPU$5{8j)jb>x6)8!#P8;xi-8VfsNX%-Cs7@8+jR^xs3_3Tf_4xC7kTew9@wo5ZX za&rx6zkMq!A+Wc%SJ0oFoD|Yv);=7bgc$oVdHZm9f+;_f1;WwsF#>ctoj^`a0K_94 zA0I;)jP1Gz21Bm z4Ts$SxSwp94_lrEA9_8rd?k|N`tiacW~t=H9$_Wk1@U1Ceh&MGviMS}imF3Z>G%8e z5B#61qN?8R94=>%?`n#Las7TDb&7K?J(qRF@=9pN;OK~Mw>uxSaLmEcAlV0l0p0Gq zLg!2=Eit_vCbD808uO`V8LW}%PF;$Ss$pm$%#lxvzBd+TLH-^uB^1g-TKt|6+U+*O z;Shj!yZtlQa$ksA%@(I;r%B&zwNe=t5t^+gXQyWXv|6pwFy#*=xqIZoEO=9Y69Bft zsk3@dDpFZUvu|d}4T?7*34H>A@tk44ofy`glX(f`a29w(7Bet# z3xhBt!>lbCYGe8D3oWG zWGJ|M`UZqI@`(c#1$nwShIkx*JM|zhg8~neY2p9E8+@-g_FWLT&FZnCjbBd literal 0 HcmV?d00001 diff --git a/mods/dye/README.txt b/mods/dye/README.txt new file mode 100644 index 0000000..d414c2c --- /dev/null +++ b/mods/dye/README.txt @@ -0,0 +1,15 @@ +Minetest 0.4 mod: dye +====================== + +See init.lua for documentation. + +License of source code and media files: +--------------------------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/dye/init.lua b/mods/dye/init.lua new file mode 100644 index 0000000..2886828 --- /dev/null +++ b/mods/dye/init.lua @@ -0,0 +1,134 @@ +-- minetest/dye/init.lua + +-- To make recipes that will work with any dye ever made by anybody, define +-- them based on groups. +-- You can select any group of groups, based on your need for amount of colors. +-- basecolor: 9, excolor: 17, unicolor: 89 +-- +-- Example of one shapeless recipe using a color group: +-- Note: As this uses basecolor_*, you'd need 9 of these. +-- minetest.register_craft({ +-- type = "shapeless", +-- output = ':item_yellow', +-- recipe = {':item_no_color', 'group:basecolor_yellow'}, +-- }) + +-- Other mods can use these for looping through available colors +local dye = {} +dye.basecolors = {"white", "grey", "black", "red", "yellow", "green", "cyan", "blue", "magenta"} +dye.excolors = {"white", "lightgrey", "grey", "darkgrey", "black", "red", "orange", "yellow", "lime", "green", "aqua", "cyan", "sky_blue", "blue", "violet", "magenta", "red_violet"} + +-- Base color groups: +-- - basecolor_white +-- - basecolor_grey +-- - basecolor_black +-- - basecolor_red +-- - basecolor_yellow +-- - basecolor_green +-- - basecolor_cyan +-- - basecolor_blue +-- - basecolor_magenta + +-- Extended color groups (* = equal to a base color): +-- * excolor_white +-- - excolor_lightgrey +-- * excolor_grey +-- - excolor_darkgrey +-- * excolor_black +-- * excolor_red +-- - excolor_orange +-- * excolor_yellow +-- - excolor_lime +-- * excolor_green +-- - excolor_aqua +-- * excolor_cyan +-- - excolor_sky_blue +-- * excolor_blue +-- - excolor_violet +-- * excolor_magenta +-- - excolor_red_violet + +-- The whole unifieddyes palette as groups: +-- - unicolor_ +-- For the following, no white/grey/black is allowed: +-- - unicolor_medium_ +-- - unicolor_dark_ +-- - unicolor_light_ +-- - unicolor__s50 +-- - unicolor_medium__s50 +-- - unicolor_dark__s50 + +-- Local stuff +local dyelocal = {} + +-- This collection of colors is partly a historic thing, partly something else. +dyelocal.dyes = { + {"white", "White dye", {dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1}}, + {"grey", "Grey dye", {dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1}}, + {"dark_grey", "Dark grey dye", {dye=1, basecolor_grey=1, excolor_darkgrey=1, unicolor_darkgrey=1}}, + {"black", "Black dye", {dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1}}, + {"violet", "Violet dye", {dye=1, basecolor_magenta=1, excolor_violet=1, unicolor_violet=1}}, + {"blue", "Blue dye", {dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1}}, + {"cyan", "Cyan dye", {dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, + {"dark_green", "Dark green dye",{dye=1, basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, + {"green", "Green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_green=1}}, + {"yellow", "Yellow dye", {dye=1, basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, + {"brown", "Brown dye", {dye=1, basecolor_yellow=1, excolor_orange=1, unicolor_dark_orange=1}}, + {"orange", "Orange dye", {dye=1, basecolor_orange=1, excolor_orange=1, unicolor_orange=1}}, + {"red", "Red dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_red=1}}, + {"magenta", "Magenta dye", {dye=1, basecolor_magenta=1, excolor_red_violet=1,unicolor_red_violet=1}}, + {"pink", "Pink dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, +} + +-- Define items +for _, row in ipairs(dyelocal.dyes) do + local name = row[1] + local description = row[2] + local groups = row[3] + local item_name = "dye:"..name + local item_image = "dye_"..name..".png" + minetest.register_craftitem(item_name, { + inventory_image = item_image, + description = description, + groups = groups + }) +end + +-- Mix recipes +-- Just mix everything to everything somehow sanely + +dyelocal.mixbases = {"magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white"} + +dyelocal.mixes = { + -- magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white + white = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet", "grey", "grey", "white", "white"}, + grey = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "pink", "dark_grey","grey", "grey"}, + dark_grey={"brown","brown", "brown", "brown", "brown","dark_green","dark_green","blue","blue","violet","black", "black"}, + black = {"black", "black", "black", "black", "black", "black", "black", "black", "black", "black", "black"}, + violet= {"magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, + blue = {"violet", "magenta","brown","brown","dark_green","cyan","cyan", "cyan", "blue"}, + cyan = {"blue","brown","dark_green","dark_grey","green","cyan","dark_green","cyan"}, + dark_green={"brown","brown","brown", "brown", "green", "green", "dark_green"}, + green = {"brown", "yellow","yellow","dark_green","green","green"}, + yellow= {"red", "orange", "yellow","orange", "yellow"}, + brown = {"brown", "brown","orange", "brown"}, + orange= {"red", "orange","orange"}, + red = {"magenta","red"}, + magenta={"magenta"}, +} + +for one,results in pairs(dyelocal.mixes) do + for i,result in ipairs(results) do + local another = dyelocal.mixbases[i] + minetest.register_craft({ + type = "shapeless", + output = 'dye:'..result..' 2', + recipe = {'dye:'..one, 'dye:'..another}, + }) + end +end + +-- Hide dyelocal +dyelocal = nil + +-- EOF diff --git a/mods/dye/textures/dye_black.png b/mods/dye/textures/dye_black.png new file mode 100644 index 0000000000000000000000000000000000000000..ef526e698581cdddaa7803dd1fd63e0d97d928cb GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWDg_x@*KTt?EGbEzKIX^cyHLnE7WngeFN=+$&Ut@oTQk%88)NAH z3+7KGr)q69*A_kdj{m|zN7WXM>`?D%2foRsOF!UWyLV&$U1MSG4bnf?ye{1;%~&1T z!nax}cC)(@!`~|l=UereFXv^Q>GOFHo6@5z7r9?IxD}tXdhpMWlk343KbMUDxF-+t zxt)*CYv|+%Y@8x=*t@m$*3PM`z7%ow98=-goW>Z-Y$mzLFpcrtdCi4YbDU+0Lbd$j z^^Pu`^5L_U>ps_|AvbVM%=V6_q`Jwy`^9{S0q~a|rzJNUK>FVdQ&MBb@0GVBe ArvLx| literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_blue.png b/mods/dye/textures/dye_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e97919c79b2977c58d8b5101e4fd3d23327b12 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWD^cJOvTA+|@W=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6hGqW;uvCa`fkuh!NUqXHAQJ1OBSRu_&<`&SSi_bYi;@o ziIox!VXihVTtN?RaGcnA*0p?>u+?90eU?89eZ9Zszdz-|ylh7D(%V^G4j*(%GrOjo z`=`j15YD`N)*N|RZTX0DzbR!xoPr!13>sJt@mAP)bFMuW(x10foI&6PgS^l?wQ9~~ zC%zf(k4d_m7u1&b{GQU(V?KHhcloX}5jdsl$IX7d(9@&v{`m{Kde+}RdA*$RiKb;W=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6hGkU;uvCa`tGE?f`<%vTIU!0I6gFE-l3Rm&>Vf8XQHeT zbFu^%|Aa7Cn>NiU0zcI+6us~(pX7Ic^BUm~?PYUs^nW@O!g~44#&@stW;Gh5EnSy& z$@aGz%K=wzaoy`@-zGFA`H1Io9ocv>ppjv*B|pm#S1yx;nd>)bJ^agEep>H=!<*ME z94%9Pch@b=-m7!)Y>USv?>g=s+(tWkmOl8fB{TZd%Bwo@c~^Vc{v_wzVQhHV^X2We kKbwkQ1t)8&9lXC${9teZ=YH0p43H;1UHx3vIVCg!00uRJ2><{9 literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_cyan.png b/mods/dye/textures/dye_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae44e26cdb91e2e2d033852e9d112fb61e75831 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySO;3kYnOkE1-~UW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6u;)_;uvCa`tBrKzC#8)t@}fsa`EuQ?rv?=E?`{ez&6e6 zt_4f9s)W@S9+~Eq%r|$HEfAW{;T$#Vi+il#G@YB*s<+Kg{o!maa_#x2#!kVV>vCj{ zCYQuIR(|w4$RTp{+HN<8OB$2hZvJ}r=Ad)_uI%GC7HsX6c8PRuY7(6yU9l&I)A^I! zuNFMbgFCelRFeCrRb*3mY6KH#CLb;yz|H!Oi<}$kNL?kzKO)f96R3aJHVacm2`MPS%Qq|I@at zk&`gEtFtv)#PgF}2g8=+=CYiceOBuIdV0^h9L z6Rs(<ypg@WLfmAov`J^fj=ql9Cw_=qtJ@T;ir%zWZtJQ0Ze1E$9i0h0M_Katt6ApH zQN6V-ly7qgXTzdbC+>1AKXE{5^&JL>wgUepWxHzoAL$hSo}#-`@z-32Ih#XFTHWWL z*q5gslPh#r$5Mi8n>PQ?RF7)Ehw+7_6Mx-aKXB N0G_UXF6*2UngG)KkgWg! literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_grey.png b/mods/dye/textures/dye_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..c4706e7f469b809b0294c0824c8876c652dae49d GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWlb>oSz{6Hbu%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dD1OV+#WBR<^xa9ie1{waTKB73@Tjk7T*Cf>_1NMMue)4| zInD*#sp>mm5yJ1#w2GnIQ9mj3#^X@P937(pq#4YG}P=8uMUDAo76^m8FLa!=* zzrS(8+_^QopJZxTuA9@<&2cVQsGK1p`|tMX;&U^p%v6+d4di`K LS3j3^P6ARD3`3^YEr~7HiZH`mdB44GrIAd?ay<%QS@rYD*3x9 z2^P0om5#J5^zf5yN@O!MFnD6)pLU{h9*>~8-rldLx<*2-@B{*-M_c zOG+@9)_h`a?U4foe&@YE#lYIoed^ETYdbV(Seu+xvFO# z{OtQ{-<7>EF7Z&B@g_Hk2Fakq%%&VtCkmM5R6G`DxTPyg@A#T^tv*6wb3$-WjnqbD)rHW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6u;o<;uvCa`tGEKe1{x(+V)2a*c=tQ!tzNb-?7R0TwYpJ zyTcqu<>i$+A;RfOLd@)bt!xSMxSXqL&#ufP8Py)E+Z!ng3}-tP}w;kmO_&u?>O z>Gh^L>MK*irlg&7S6c9*xXZ4*vNkF};KY{pt*$H$n+(0IF0A}LneUzcdl@%CBban<#U zj@CVoh|4xOenOUE+p0I)ql1sF_@P*<__=X^a=zT55YtH|-u56*d%F6$taD0e0svlE BjB@}0 literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_red.png b/mods/dye/textures/dye_red.png new file mode 100644 index 0000000000000000000000000000000000000000..9f8c151ee25685c138bfce9fa731e991f334412d GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWLEVp#jIiQeiW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6o2UH;uvCaIyph2O`$-K47X?NtA0;=xcpD0($xmHge5 z1dH3PN=I52dicpUC9)YB7(B7@PdiaLk4Mm4@9;w=lk}>b+CTq4-+#^n0&UBTCC}R> zB^XR=J~6lU$bo`ClA9PKOq4&{|F1olkYP1hFxL1G_v^`u5}u!*?>{e@p!XnkT8c%z z)nEIr?1gcO2h)r7BhqQysByOhV zJlb<+5)V(h^oAwOY;0`V&%XR`xpeE|eq+gv>MBfairF$Y3=Ao$u`Sysc76o~fTydU J%Q~loCIEfHif8}; literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_white.png b/mods/dye/textures/dye_white.png new file mode 100644 index 0000000000000000000000000000000000000000..508e32fbe38d264e1ca2086124d284d1ba124ff8 GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWL+4AL!`+!2SnIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^Q2e&1i(`nz>ARB*`3@QIxW)@EXIQDt?$GssEz;7NecHJ* zXYMpCOixJsz&kO!vcYh9VXTVGlwJ8SdDbCwL}s-w5a>YV;?t*l_@aTdvf zIo8iD-seti+RU_SRd}erQk+Z8oa@>V=i`{;<9`YShSu5(9*}U}#o1tckLg{=URR%k znKHts%HCB^T)y*JMbWyvp2llw?-&FG?aQ*S-BPOeP);%YQ2vIq?ozJr>(lqPgZ%I5 L>gTe~DWM4f4C##D literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_yellow.png b/mods/dye/textures/dye_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..d00a5b83fadd5f54ac76bb9d0fc498e8d6d67f51 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPaySTWrtPn$XKTt?EGbEzKIX^cyHLnE7WngeFN=+}c&d~f~Rcm3aVruvNA-CtJDnJLk*Ipo+h z+c)Qe6fD1aZFZcT>ixch;m1yP`|l}tIn~V)vaeld&MahQ;5g)@BKaWVlkUle-_EKM zjH`Ewg#*P3KCEac%?yg2Ur0NAtOe%Mwmfh`Q{^c z_w;wjoJpQK;hXg_FPBvM`r@QXL4y$L~%O&nHD$lZ+=c{;(|0VZKu0OKX YjBVzbtIZB;&j5vnr>mdKI;Vst0M~GfUjP6A literal 0 HcmV?d00001 diff --git a/mods/exchange/depends.txt b/mods/exchange/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/exchange/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/exchange/init.lua b/mods/exchange/init.lua new file mode 100644 index 0000000..86f0c2c --- /dev/null +++ b/mods/exchange/init.lua @@ -0,0 +1,148 @@ +exchange = {} +exchange.formspec = { + main = "size[8,9]".. + "list[current_name;pl1;0,0;3,4;]".. + "list[current_name;pl2;5,0;3,4;]".. + "list[current_player;main;0,5;8,4;]", + pl1 = { + start = "button[3,1;1,1;pl1_start;Start]", + player = function(name) return "label[3,0;"..name.."]" end, + accept1 = "button[3,1;1,1;pl1_accept1;Confirm]".. + "button[3,2;1,1;pl1_cancel;Cancel]", + accept2 = "button[3,1;1,1;pl1_accept2;Exchange]".. + "button[3,2;1,1;pl1_cancel;Cancel]", + }, + pl2 = { + start = "button[4,1;1,1;pl2_start;Start]", + player = function(name) return "label[4,0;"..name.."]" end, + accept1 = "button[4,1;1,1;pl2_accept1;Confirm]".. + "button[4,2;1,1;pl2_cancel;Cancel]", + accept2 = "button[4,1;1,1;pl2_accept2;Exchange]".. + "button[4,2;1,1;pl2_cancel;Cancel]", + }, +} + +exchange.check_privilege = function(listname,playername,meta) + if listname == "pl1" then + if playername ~= meta:get_string("pl1") then + return false + elseif meta:get_int("pl1step") ~= 1 then + return false + end + end + if listname == "pl2" then + if playername ~= meta:get_string("pl2") then + return false + elseif meta:get_int("pl2step") ~= 1 then + return false + end + end + return true +end + +exchange.update_formspec = function(meta) + formspec = exchange.formspec.main + pl_formspec = function (n) + if meta:get_int(n.."step")==0 then + formspec = formspec .. exchange.formspec[n].start + else + formspec = formspec .. exchange.formspec[n].player(meta:get_string(n)) + if meta:get_int(n.."step") == 1 then + formspec = formspec .. exchange.formspec[n].accept1 + elseif meta:get_int(n.."step") == 2 then + formspec = formspec .. exchange.formspec[n].accept2 + end + end + end + pl_formspec("pl1") pl_formspec("pl2") + meta:set_string("formspec",formspec) +end + +exchange.give_inventory = function(inv,list,playername) + player = minetest.env:get_player_by_name(playername) + if player then + for k,v in ipairs(inv:get_list(list)) do + player:get_inventory():add_item("main",v) + inv:remove_item(list,v) + end + end +end + +exchange.cancel = function(meta) + exchange.give_inventory(meta:get_inventory(),"pl1",meta:get_string("pl1")) + exchange.give_inventory(meta:get_inventory(),"pl2",meta:get_string("pl2")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +exchange.exchange = function(meta) + exchange.give_inventory(meta:get_inventory(),"pl1",meta:get_string("pl2")) + exchange.give_inventory(meta:get_inventory(),"pl2",meta:get_string("pl1")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +minetest.register_node("exchange:chest", { + description = "Exchange chest", + tiles = {"default_chest_top.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Exchange chest") + meta:set_string("pl1","") + meta:set_string("pl2","") + exchange.update_formspec(meta) + local inv = meta:get_inventory() + inv:set_size("pl1", 3*4) + inv:set_size("pl2", 3*4) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos) + pl_receive_fields = function(n) + if fields[n.."_start"] and meta:get_string(n) == "" then + meta:set_string(n,sender:get_player_name()) + end + if meta:get_string(n) == "" then + meta:set_int(n.."step",0) + elseif meta:get_int(n.."step")==0 then + meta:set_int(n.."step",1) + end + if sender:get_player_name() == meta:get_string(n) then + if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then + meta:set_int(n.."step",2) + end + if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then + meta:set_int(n.."step",3) + if n == "pl1" and meta:get_int("pl2step") == 3 then exchange.exchange(meta) end + if n == "pl2" and meta:get_int("pl1step") == 3 then exchange.exchange(meta) end + end + if fields[n.."_cancel"] then exchange.cancel(meta) end + end + end + pl_receive_fields("pl1") pl_receive_fields("pl2") + -- End + exchange.update_formspec(meta) + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(from_list,player:get_player_name(),meta) then return 0 end + if not exchange.check_privilege(to_list,player:get_player_name(),meta) then return 0 end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, +}) diff --git a/mods/farming/README.txt b/mods/farming/README.txt new file mode 100644 index 0000000..7f3ffa6 --- /dev/null +++ b/mods/farming/README.txt @@ -0,0 +1,46 @@ +===FARMING MOD for MINETEST-C55=== +by PilzAdam + +Introduction: +This mod adds farming to Minetest. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a wood/stone/steel hoe: +material material + stick + stick +Dig dirt with it and turn it to soil. Water the soil and plant the seeds +you get by digging dirt with the hoe. Wait until the seeds are seasoned +and harvest them. When harvesting you will get the product and new seeds. +For further information or help see: +http://minetest.net/forum/viewtopic.php?id=2787 + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/farming/cactus.lua b/mods/farming/cactus.lua new file mode 100644 index 0000000..3723e70 --- /dev/null +++ b/mods/farming/cactus.lua @@ -0,0 +1,22 @@ +minetest.register_abm({ + nodenames = {"default:cactus"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.env:get_node(pos).name + if name == "default:desert_sand" or name == "default:sand" then + pos.y = pos.y+1 + local height = 0 + while minetest.env:get_node(pos).name == "default:cactus" do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + end + end + end + end +}) diff --git a/mods/farming/changelog.txt b/mods/farming/changelog.txt new file mode 100644 index 0000000..80138c5 --- /dev/null +++ b/mods/farming/changelog.txt @@ -0,0 +1,17 @@ +Version 3: +- make pumpkins with face not craftable but created by punching with a sword +- change groups of pumpkins to more wood like +- add big pumpkin +- add scarecrow +- make bread non stackable +- make saplings plantable everywhere (they still grow only with light and wet soil) +- add weed +- add fuel attributes to nearly everything +- add pumpkin bread +Version 2: +- soil dont turn to dirt when walking over it +- fix hoe bug +- rename corn to wheat +- new textures for harvested wheat +- make cotton drop strings when harvested +- add rubber diff --git a/mods/farming/cotton.lua b/mods/farming/cotton.lua new file mode 100644 index 0000000..658b70e --- /dev/null +++ b/mods/farming/cotton.lua @@ -0,0 +1,93 @@ +minetest.register_craftitem("farming:cotton_seed", { + description = "Cotton Seeds", + inventory_image = "farming_cotton_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming:cotton_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming:cotton_1", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_cotton_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+6/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_2", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_cotton_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + tiles = {"farming_cotton.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming:cotton_seed'} }, + { items = {'farming:cotton_seed'}, rarity = 2}, + { items = {'farming:cotton_seed'}, rarity = 5}, + { items = {'farming:string'} }, + { items = {'farming:string'}, rarity = 2 }, + { items = {'farming:string'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +farming:add_plant("farming:cotton", {"farming:cotton_1", "farming:cotton_2"}, 50, 20) + +minetest.register_craftitem("farming:string", { + description = "String", + inventory_image = "farming_string.png", +}) + +minetest.register_craft({ + output = "wool:white", + recipe = {{"farming:string"}} +}) + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:cotton_seed", + burntime = 1 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:string", + burntime = 1 +}) diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt new file mode 100644 index 0000000..0b8ebe0 --- /dev/null +++ b/mods/farming/depends.txt @@ -0,0 +1,3 @@ +default +bucket +wool diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua new file mode 100644 index 0000000..33cf462 --- /dev/null +++ b/mods/farming/hoes.lua @@ -0,0 +1,83 @@ +local function create_soil(pos, inv, p) + if pos == nil then + return false + end + local node = minetest.env:get_node(pos) + local name = node.name + local above = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}) + if name == "default:dirt" or name == "default:dirt_with_grass" then + if above.name == "air" then + node.name = "farming:soil" + minetest.env:set_node(pos, node) + if inv and p and name == "default:dirt_with_grass" then + for name,rarity in pairs(farming.seeds) do + if math.random(1, rarity-p) == 1 then + inv:add_item("main", ItemStack(name)) + end + end + end + return true + end + end + return false +end + +minetest.register_tool("farming:hoe_wood", { + description = "Wood Hoe", + inventory_image = "farming_hoe_wood.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 0) then + itemstack:add_wear(65535/30) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_wood", + recipe = { + {"default:wood", "default:wood"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) + +minetest.register_tool("farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_hoe_stone.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 5) then + itemstack:add_wear(65535/50) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_stone", + recipe = { + {"default:cobble", "default:cobble"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) + +minetest.register_tool("farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_hoe_steel.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 10) then + itemstack:add_wear(65535/80) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua new file mode 100644 index 0000000..56c6751 --- /dev/null +++ b/mods/farming/init.lua @@ -0,0 +1,212 @@ +farming = {} + +function farming:add_plant(full_grown, names, interval, chance) + minetest.register_abm({ + nodenames = names, + interval = interval, + chance = chance, + action = function(pos, node) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name ~= "farming:soil_wet" then + return + end + pos.y = pos.y+1 + if not minetest.env:get_node_light(pos) then + return + end + if minetest.env:get_node_light(pos) < 8 then + return + end + local step = nil + for i,name in ipairs(names) do + if name == node.name then + step = i + break + end + end + if step == nil then + return + end + local new_node = {name=names[step+1]} + if new_node.name == nil then + new_node.name = full_grown + end + minetest.env:set_node(pos, new_node) + end +} ) +end + +function farming:generate_tree(pos, trunk, leaves, underground, replacements) + pos.y = pos.y-1 + local nodename = minetest.env:get_node(pos).name + local ret = true + for _,name in ipairs(underground) do + if nodename == name then + ret = false + break + end + end + pos.y = pos.y+1 + if not minetest.env:get_node_light(pos) then + return + end + if ret or minetest.env:get_node_light(pos) < 8 then + return + end + + node = {name = ""} + for dy=1,4 do + pos.y = pos.y+dy + if minetest.env:get_node(pos).name ~= "air" then + return + end + pos.y = pos.y-dy + end + node.name = trunk + for dy=0,4 do + pos.y = pos.y+dy + minetest.env:set_node(pos, node) + pos.y = pos.y-dy + end + + if not replacements then + replacements = {} + end + + node.name = leaves + pos.y = pos.y+3 + for dx=-2,2 do + for dz=-2,2 do + for dy=0,3 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + + if dx == 0 and dz == 0 and dy==3 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif dx == 0 and dz == 0 and dy==4 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + else + if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + end + end + + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end +end + +farming.seeds = { + ["farming:wheat_seed"]=20, + ["farming:cotton_seed"]=30, + ["farming:pumpkin_seed"]=60, +} + +-- ========= ALIASES FOR FARMING MOD BY SAPIER ========= +-- hoes +minetest.register_alias("farming:wood_hoe", "farming:hoe_wood") +minetest.register_alias("farming:cobble_hoe", "farming:hoe_stone") +minetest.register_alias("farming:steel_hoe", "farming:hoe_steel") +minetest.register_alias("farming:mese_hoe", "farming:hoe_steel") + +-- wheat -> wheat +minetest.register_alias("farming:wheat_node", "farming:wheat") +--minetest.register_alias("farming:wheat", "farming_wheat_harvested") cant do this +minetest.register_alias("farming:wheat_straw", "farming:wheat") +minetest.register_alias("farming:seed_wheat", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:wheat_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + +-- rye -> wheat +minetest.register_alias("farming:rhy_node", "farming:wheat") +minetest.register_alias("farming:rhy", "farming:wheat_harvested") +minetest.register_alias("farming:rhy_straw", "farming:wheat") +minetest.register_alias("farming:seed_rhy", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:rhy_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + +-- corn -> wheat +minetest.register_alias("farming:corn_node", "farming:wheat") +minetest.register_alias("farming:corn", "farming:wheat_harvested") +minetest.register_alias("farming:corn_straw", "farming:wheat") +minetest.register_alias("farming:seed_corn", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:corn_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + + +-- ========= SOIL ========= +dofile(minetest.get_modpath("farming").."/soil.lua") + +-- ========= HOES ========= +dofile(minetest.get_modpath("farming").."/hoes.lua") + +-- ========= CORN ========= +dofile(minetest.get_modpath("farming").."/wheat.lua") + +-- ========= COTTON ========= +dofile(minetest.get_modpath("farming").."/cotton.lua") + +-- ========= PUMPKIN ========= +dofile(minetest.get_modpath("farming").."/pumpkin.lua") + +-- ========= WEED ========= +dofile(minetest.get_modpath("farming").."/weed.lua") + +-- ========= PAPYRUS ========= +dofile(minetest.get_modpath("farming").."/papyrus.lua") + +-- ========= CACTUS ========= +dofile(minetest.get_modpath("farming").."/cactus.lua") + +if minetest.setting_get("log_mods") then + minetest.log("action", "farming loaded") +end diff --git a/mods/farming/papyrus.lua b/mods/farming/papyrus.lua new file mode 100644 index 0000000..d33e072 --- /dev/null +++ b/mods/farming/papyrus.lua @@ -0,0 +1,25 @@ +minetest.register_abm({ + nodenames = {"default:papyrus"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.env:get_node(pos).name + if name == "default:dirt" or name == "default:dirt_with_grass" then + if minetest.env:find_node_near(pos, 3, {"default:water_source", "default:water_flowing"}) == nil then + return + end + pos.y = pos.y+1 + local height = 0 + while minetest.env:get_node(pos).name == "default:papyrus" do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + end + end + end + end +}) diff --git a/mods/farming/pumpkin.lua b/mods/farming/pumpkin.lua new file mode 100644 index 0000000..e622f6f --- /dev/null +++ b/mods/farming/pumpkin.lua @@ -0,0 +1,454 @@ +minetest.register_craftitem("farming:pumpkin_seed", { + description = "Pumpkin Seed", + inventory_image = "farming_pumpkin_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming:pumpkin_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming:pumpkin_1", { + paramtype = "light", + sunlight_propagates = true, + drawtype = "nodebox", + drop = "", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin_2", { + paramtype = "light", + sunlight_propagates = true, + drawtype = "nodebox", + drop = "", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + node_box = { + type = "fixed", + fixed = { + {-0.35, -0.5, -0.35, 0.35, 0.2, 0.35} + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.35, -0.5, -0.35, 0.35, 0.2, 0.35} + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin", { + description = "Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), + + on_punch = function(pos, node, puncher) + local tool = puncher:get_wielded_item():get_name() + if tool and tool == "default:sword_wood" or tool == "default:sword_stone" or tool == "default:sword_steel" then + node.name = "farming:pumpkin_face" + minetest.env:set_node(pos, node) + puncher:get_inventory():add_item("main", ItemStack("farming:pumpkin_seed")) + if math.random(1, 5) == 1 then + puncher:get_inventory():add_item("main", ItemStack("farming:pumpkin_seed")) + end + end + end +}) + +farming:add_plant("farming:pumpkin", {"farming:pumpkin_1", "farming:pumpkin_2"}, 80, 20) + +minetest.register_node("farming:pumpkin_face", { + description = "Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin_face_light", { + description = "Pumpkin", + paramtype2 = "facedir", + light_source = LIGHT_MAX-2, + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_light.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:pumpkin_face_light", + recipe = {"farming:pumpkin_face", "default:torch"} +}) + +-- ========= BIG PUMPKIN ========= +minetest.register_node("farming:big_pumpkin", { + description = "Big Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_side.png"}, + selection_box = { + type = "fixed", + fixed = { + {-1, -0.5, -1, 1, 1.5, 1} + } + }, + groups = {choppy=1, oddly_breakable_by_hand=1, flammable=2}, + sounds = default.node_sound_wood_defaults(), + + after_place_node = function(pos, placer) + for dx=-1,1 do + for dy=0,1 do + for dz=-1,1 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + if dx ~= 0 or dy ~= 0 or dz ~= 0 then + if minetest.env:get_node(pos).name ~= "air" then + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:big_pumpkin")) + end, placer) + return + end + end + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end + for dy=0,1 do + pos.y = pos.y+dy + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=2}) + pos.x = pos.x-1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=2}) + pos.x = pos.x+1 + pos.z = pos.z-2 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=4}) + pos.x = pos.x+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=4}) + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=3}) + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=3}) + pos.z = pos.z-1 + pos.x = pos.x-2 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=1}) + pos.z = pos.z-1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=1}) + pos.z = pos.z+1 + pos.x = pos.x+1 + pos.y = pos.y-dy + end + pos.y = pos.y+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_top"}) + end, + + after_destruct = function(pos, oldnode) + for dx=-1,1 do + for dy=0,1 do + for dz=-1,1 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + local name = minetest.env:get_node(pos).name + if string.find(name, "farming:big_pumpkin") then + minetest.env:remove_node(pos) + end + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end + end +}) + +minetest.register_node("farming:big_pumpkin_side", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_top_side.png", "farming_pumpkin_big_side.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) +minetest.register_node("farming:big_pumpkin_corner", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_top_corner.png", "farming_pumpkin_big_side.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0, 0.5, 0.5} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("farming:big_pumpkin_top", { + paramtype = "light", + sunlight_propagates = true, + tiles = {"farming_pumpkin_big_top.png"}, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:big_pumpkin", + recipe = {"bucket:bucket_water", "farming:pumpkin"}, + replacements = { + {"bucket:bucket_water", "bucket:bucket_empty"} + } +}) + +-- ========= SCARECROW ========= +local box1 = { + {-1, -8, -1, 1, 8, 1}, +} + +local box2 = { + {-1, -8, -1, 1, 8, 1}, + {-12, -8, -1, 12, -7, 1}, + {-5, -2, -5, 5, 8, 5} +} + +for j,list in ipairs(box1) do + for i,int in ipairs(list) do + list[i] = int/16 + end + box1[j] = list +end + +for j,list in ipairs(box2) do + for i,int in ipairs(list) do + list[i] = int/16 + end + box2[j] = list +end + +minetest.register_node("farming:scarecrow", { + description = "Scarecrow", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box2 + }, + selection_box = { + type = "fixed", + fixed = { + {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} + } + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + + after_place_node = function(pos, placer) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + pos.y = pos.y+1 + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y-1 + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:scarecrow")) + end, placer) + return + end + minetest.env:set_node(pos, node) + pos.y = pos.y-1 + node.name = "farming:scarecrow_bottom" + minetest.env:set_node(pos, node) + end, + + after_destruct = function(pos, oldnode) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name == "farming:scarecrow_bottom" then + minetest.env:remove_node(pos) + end + end +}) + +minetest.register_node("farming:scarecrow_bottom", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"default_wood.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box1 + }, + groups = {not_in_creative_inventory=1}, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + } +}) + +minetest.register_craft({ + output = "farming:scarecrow", + recipe = { + {"", "farming:pumpkin_face", "",}, + {"default:stick", "default:stick", "default:stick",}, + {"", "default:stick", "",} + } +}) + +minetest.register_node("farming:scarecrow_light", { + description = "Scarecrow", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + light_source = LIGHT_MAX-2, + tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front_light.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box2 + }, + selection_box = { + type = "fixed", + fixed = { + {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} + } + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + + after_place_node = function(pos, placer) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + pos.y = pos.y+1 + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y-1 + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:scarecrow_light")) + end, placer) + return + end + minetest.env:set_node(pos, node) + pos.y = pos.y-1 + node.name = "farming:scarecrow_bottom" + minetest.env:set_node(pos, node) + end, + + after_destruct = function(pos, oldnode) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name == "farming:scarecrow_bottom" then + minetest.env:remove_node(pos) + end + end +}) + +minetest.register_craft({ + output = "farming:scarecrow_light", + recipe = { + {"", "farming:pumpkin_face_light", "",}, + {"default:stick", "default:stick", "default:stick",}, + {"", "default:stick", "",} + } +}) + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_seed", + burntime = 1 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_face", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_face_light", + burntime = 7 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:big_pumpkin", + burntime = 10 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:scarecrow", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:scarecrow_light", + burntime = 5 +}) diff --git a/mods/farming/soil.lua b/mods/farming/soil.lua new file mode 100644 index 0000000..f800335 --- /dev/null +++ b/mods/farming/soil.lua @@ -0,0 +1,45 @@ +minetest.register_node("farming:soil", { + tiles = {"farming_soil.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("farming:soil_wet", { + tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_abm({ + nodenames = {"farming:soil"}, + interval = 15, + chance = 3, + action = function(pos, node) + if minetest.env:find_node_near(pos, 4, {"default:water_source", "default:water_flowing"}) then + node.name = "farming:soil_wet" + minetest.env:set_node(pos, node) + end + end, +}) + +-- ========= EXPERIMENTAL ========= +-- This will turn soil to dirt when walking over it +--[[minetest.register_abm({ + nodenames = {"farming:soil", "farming:soil_wet"}, + interval = 2, + chance = 2, + action = function(pos, node) + pos.y = pos.y+1 + if #(minetest.env:get_objects_inside_radius(pos, 0.8)) > 0 then + pos.y = pos.y-1 + node.name = "default:dirt" + minetest.env:set_node(pos, node) + end + end, +})]] diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..6dca9831cc77450685c708758f2207294995f8fe GIT binary patch literal 918 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*bKrO34m@#Ixngjy_v!nwN`(;m!MB z47Z>CVEFv)F9Q=;6p4V@1QP;jfPwG7|1pU2vx2z@Q6LwjDa1yE;nUB*3|H@e1uM{2 zarp^Z6Nn8DRU;K{oB@HZ39b>u07VJ10$5^3 a7DHzLo3u}!^TzcPATdu@KbLh*2~7Yq>)hD@ literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_bread_pumpkin.png b/mods/farming/textures/farming_bread_pumpkin.png new file mode 100644 index 0000000000000000000000000000000000000000..44db02e254c97d2d3ae003eb3192236258aeca54 GIT binary patch literal 511 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m1E01m1FT&pG+00007bV*G`2iyn` z5eysp4`Rds00DnVL_t(2&xMk|O9EjS$3GY4A{fdAq7Zl_2sIUvLP3KBbxr;ihcY5J{KhNjO^E`rW+x&Lq zWXSWVlsW>y*k4do^r0N+Xn;F zM!WBSfpRiruPp}2$r`l>C|2SCtj<-5h2iij!da%p&Z$VZXAMCo-fYYdKu*@kD-xRv z8pTQ+wP66zd^YL!ER<4572#`ty*j&(nVZ2e0 z3#JkQ@`^+zUFBt9QLMyiJoVXMZ;gZi#+{4P6ackhd~3u{2te3a3fl8Ce#D@Uwr-M5 zH@PT8el@vKl~PBzy))c7#lrjxeOrK^3;h=a@Chq7+kHZuO{4$-002ovPDHLkV1k^( B(3t=L literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cake_mix.png b/mods/farming/textures/farming_cake_mix.png new file mode 100644 index 0000000000000000000000000000000000000000..5c4b19758af8a5804049ebb615aafdd7c758c972 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<4qib4wyWi{PXmRnd%8G=Se(8a zq{w&JfM-w0;^c!<+kQ2C`kSb7sUXvx?OR9Vzl4gQ6LkUsMpxLUux&Y#!+*kInx1Fy zRKLwBC(CNS-Q@ewUbG`J_LFj=@rHM6=Zb&MxyyXllp}TXl06$jJsN7~cU&-QI{M%}NB^l+>}pCDY;%g=oWI19 zW51ZiJH*R3fxTxYL&J{!GqUICHYVTJ*XWOaJZ+Ds>hHP1h39^j_=&{_dSzbwH%p*t isr@A{L-`-ppV-15#66uI@wXZ1MFvk-KbLh*2~7Y>4TyOF literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cake_mix_pumpkin.png b/mods/farming/textures/farming_cake_mix_pumpkin.png new file mode 100644 index 0000000000000000000000000000000000000000..171e486703dae23880edc55c83aa53c49815ffc5 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<4t_yy^;wD?EkL2`o-U3d7N_q9 zE#y07AW$1?@VoP-+hCRN?r?J?>Zx- zw{uDP-tX`3K5ekya`)!1AQ_37jaL)yN7}6qV^+BBsWnqHb!VwN%K|ygR}*j5T-4Fv zNSP&U>SWB|aJ@)LG$7@hzm|hdZ4<|h{?@b?QGQMz%3GwjzH4kvE8sdcLNEG}l)CqW4{wFP9d9r6zIUYS@41aNGm9LKy<>2wPfdG!ZI!M1 hN9QQT&yD+&^*t@yzdEZJXOv zUamPXTxE@Z3{JO0`AEuZ$h zZ{am{HLLeeVoca<`o8~fHIF=lTGOSF+;ELkQeLcw6_2<^ChzsR@m1IQ+Wz_fmdPHP zwu@zw3d4(i7v{T6TRt~4@LIvO0Nd)xpHpq>CiUM@=VUEmb(GF}u6jUS;y3ftb&LQL70(Y)*K0-AbW|YuPgf<4qhP!rG+0Z3ju{BOI#yLobz*Y zQ}ap~oQqNuOHxx5$}>wc6x=<11Hv2m#DR(qdAc};Se$-4(VnZ>K;mfplGV=JofLOf zHR(tiS8?i3nOt%<~5Y644w=Qcc--1 zt)KiS?J#RYsg+bz*0q-tekyt@ntHK4%E^uq(tZB(UBZ+W0Vak+k{@a`T8~tR{r=SC zZmk{p_OzAnVwK>!wOXGLXst}5hc#~ zxw)x%B@E6*sfi`2DGKG8B^e6tp1uL$jeO!jMY}v*978Nlzn!p`x7k3T_5Q*wA}^I( zjWTB*;9YuJXJYFN72VJ!S8g^)X?m21@O)U&_aV8N{eCB+u$*{vd z@6PAdev{5g{nKMOwJJfwTSJM7p~|m9s!K8O zd{VrY#;w4UN%8lVvZ$TE)N0Py@cnc5w%5%+ex0@PuG~B4V%c7ot-mjP*0FWt+53CT q)9=}rq>!LLAHFnGH9xvX<>&kwIgI7r2^4WQj1fY;)iEBiObAE1a zYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8afsr;B5V#p$b;4Y>{|@UUKxe;HuYXpwft zuZK9 Pp!E!%u6{1-oD!MQL70(Y)*K0-AbW|YuPgf<4qib%!=2rX(mnJn(L9DDa z%BtcPaSnuY(;6@dPgI#eRR TUsYlr(02@;u6{1-oD!M-Npt$@a4-FgGWK_!A%j)1yT=|965Oa2o!QJcm1#_a! zr#kw(&zm@Z_EZb~1I(Ahp8mhQ++T9u-^8RR&(m6W_bd>fU|OG=p1!B>J#**9jwO;e z!xr%=_!dH?_b literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_hoe_wood.png b/mods/farming/textures/farming_hoe_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..6b33f6ec31948b7cf6731c84a1c9684f90c4561b GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^M2+ zY#CHE3zWoxBAf*tk;M!Q+`=Ht$S`Y;1W=H@#M9T6{SF5&zrN9~rKc@`LPtGa978Nl zC#M`>oHNDZzqhxyu>lb1*wwTPPPdvPbVTYsjDG@WmleBFM*?zV@|XY2px-}8fQ`;5*;jt%ecmAkRAv9&GtpKtWy zPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z4k0JvFreW800G!ZL_t(2&n=QmZX-t!1tYVvKV(ysX5bV1nm&PHKoTf5$*#(e7n(@}pV*rBXS=*q4$|FS1p|N#XP}GDf2r7s98qYxf733= z{2~>`EyLB1Z^U%D>P(bGR>cv0Z|keO>qZ=3QsMV^)U=t#zY%?>GK)5yDucG>4wW{| zww-gQ#-2NXOq=FTNh7;XXUfe?n=ujJU(y!QW>*{gVOR70S%~U}R3Mh)?)wwS@wDxn zMdk2*m-Uw{4V?j1Rei%hfXp3P8g0#S*J-uwOl5q9RM`19Boh@w?PR(^rM=E(CfZcB zf4++dl{!-yH6DNpT5r zO{PuSGCp>ZCe!IBQFc`43vFdUzu7c1U5GArDrrB6=zHw{A(qDtPyoLJF%Gd4qSzUr z-+<|D`D4}w*s3ZuGF&cAZLYEV{avS(?Bnwwy>w~Q(&nxFA?vTqRCjOl)>LS#KfI2} z@hpThlvC;MRe@N=$U^Ig=sRsCI|DnPDe#s7^ me)Fo5>4a!iRUGLZTmJ|1{4#PGCFczQ0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z4kI$X+a`zr00G!ZL_t(2&n=QmZX-t!1tYVvKV(ysX5bV1nm&PHKoTf5$*#(e7n(@}pV*rBXS=*q4$|FS1p|N#XP}GDf2r7s98qYxf733= z{2~>`EyLB1Z^U%D>P(bGR>cv0Z|keO>qZ=3QsMV^)U=t#zY%?>GK)5yDucG>4wW{| zww-gQ#-2NXOq=FTNh7;XXUfe?n=ujJU(y!QW>*{gVOR70S%~U}R3Mh)?)wwS@wDxn zMdk2*m-Uw{4V?j1Rei%hfXp3P8g0#S*J-uwOl5q9RM`19Boh@w?PR(^rM=E(CfZcB zf4++dl{!-yH6DNpT5r zO{PuSGCp>ZCe!IBQFc`43vFdUzu7c1U5GArDrrB6=zHw{A(qDtPyoLJF%Gd4qSzUr z-+<|D`D4}w*s3ZuGF&cAZLYEV{avS(?Bnwwy>w~Q(&nxFA?vTqRCjOl)>LS#KfI2} z@hpThlvC;MRe@N=$U^Ig=sRsCI|DnPDe#s7^ me)Fo5>4a!iRUGLZTmJ|1{4#PGCFczQ0000QL70(Y)*K0-AbW|YuPgf<4t_p$0iNrNGJrx0JzX3_Bre;Y zyXbq^K!oAI=kDaCstR=y(_JGM22Bizj=Ej=W5p5Qf|sw2-y6KU`{m!lSies(E|FI+ zNA|3peCWnsZ%xUsO8ZjuEE?U$$-ECVXlXd7|90#XR}-C9BSu zH*Z(nKbI6I5&Gqx@6)3qotYQwcmLfe`8IF*k$*RGzW%D|@luxWzL>W}$K==dV!p>- eTI=0hx$2`=cqu+RD0v&`SO!m5KbLh*2~7Y1%5)k4 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_pumpkin_big_top_side.png b/mods/farming/textures/farming_pumpkin_big_top_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e2eb1a75f5528df9ec7a863145c6e976cadd9427 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2~4hMP3{LQjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sf9S(jzH51MA3$uJQd(o`pPl)Vq@9%puj$f z-fiBm+9Yx%PqS``c+bGX@P{+u%hYYmtlQWd%Gd+WUEUul(r{MkjNIYMkd3oyKRypV z)sykJ+_mD=lGIC89`%L)dN>Np*RqQ`rPo)kQ~qV`_@=QWWykMt*6#f+PpsUc7Z@*E zc=(&?FJTko+euf{f;746r~OoU@j=>yse^UR@(hNf@8`|bu?{dYJ}z}H;j{eY4HJxF TW;{9s3Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2o4PfAF2&=CIA2e07*naR4C6) zlD$qFQ51yd{Opf+jZIL5gp@K+_`Om`se^>6sCk|gya(wbMNvd#9Prw^_nv!B3S6Z9 zicd46p@%Og9~LRRAl%*U8Qen`rn;T{hmo@@LU4y zW;@6nRG&~3#S36u(jKJTEVxDqDjrd$k_Ks)X2w0r^h!}|zX2gu^$j5@WfSjwcf4nz@n&7cCRGO)$M+Dk33AeP#eYoG0#9z zKa9}+dooTjh?x2MQJ7+9-$A7y$A zCRG!qaFhaK4_tnITHS$&K3;ED_n@jLX)f0TkzB2J0I2FcL#gf{ik#jwm$ygX$Lr0J ztdEQO^a6kZz>fPo-Yx(<-gE%I-!%V2VgVox)5GWbqEA60A_y-Y)odAg$lIxU*9Qst z1k&(K&GN_3CoWc`?u7}`+QDKfp2q;81Huq)W)TIXQL+OZsgyK8T6jW+cD3g{NL7!& z6m5uvSYUf?dWONCK|}z20M#d+0AhQwh@ff);)sYcxg|*R5A%^NSJ;GpZU6uP07*qo IM6N<$f*3Odk^lez literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_pumpkin_face_light.png b/mods/farming/textures/farming_pumpkin_face_light.png new file mode 100644 index 0000000000000000000000000000000000000000..cef48664d85091313841b76e1ef9ba90b7028a10 GIT binary patch literal 632 zcmV-;0*C#HP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2o4Pk4eT0xBLDyb3Q0skR4C6) zlDlqGQ4mG>N!PG+ycfWtwGAo9@i*A#UsjCQZMbo%(z1t?g}jdW3sG zs!4c(wB7^ZTGiT3y+`EUdjKGvs&5b^@Wj>h+1X^%SDWX&bXV zf4V)6PY-tF>}YG$$6Ejl0JigU`Surp%k%F5uFk*y4~YeUG)xyS>Z2|NiHIP)cvO=` zOmJI!KxJ*0&v zWazZ^yauW2?k`0fA|V#oTAPkxup1B&0PjKd+!H`-w-ympO+XwGQAW1}Y5oD|YAJEa S?TTXn0000F6yYrJh%9Dc;1&j9Muu5)B!GhKC7!;n>~}c$c=VZi`d=vng(OQ{BTAg} zb8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~Mb6iY9xyIEGl9PX6=%zdf^RLuaGY0jA_T znU9hafZ)g9pT^8U(46+Y-fB04xWW^o9o!+O%nS?+j0`t?`Y8Oih7AbZVm1~m?|g5+ z=`0TqPftax1IL3R$%||&uGAfP&zjR%x;*lMeTcDgPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2o4M)C7dfE1poj59cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HN0o+MMK~yNuEs{xY*`Bl9PR zB1|l{SpFF1b;C%MCzm(Y#aA$Ww=fax>Fr48+%` zv`Mtt&H8rO&3toi!=Ipx; zv#kr2@flKK%O8*oRCaB1(-kW1c{DT8rmE-rtB6pkBb8D84yaK6P{1yh_fw|lejep_ zonPosj@octD~|8If&Mmfo5zFHPPypY7=!e(^QEUM?KY-z7`fb(*v`JOUGhD7sZLGfe{;I=F zp8fqGy>x2B)W)^^F7uDd)bMEI+Ei$>-@T5={wRb6%Bghssz9uwCup4!=SG{!la4K8 z_8l>^-@j}&i8RrM?>4Q9<8O!vkQ*{SY9K N002ovPDHLkV1mDD8Lj{T literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_pumpkin_top.png b/mods/farming/textures/farming_pumpkin_top.png new file mode 100644 index 0000000000000000000000000000000000000000..edef2d94bd59cd02eeb0dbbec9206e6e638c9521 GIT binary patch literal 623 zcmV-#0+9WQP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX2o4M)Dh!l7lmGw#9cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HN0oX}IK~yNuEs{%aBS#PgBeSwU zWK)!8;1m0rK7nCC5-2svuF8)Wn(bRe0D&j}{QXKiD}&0+^bd5yu5TQl*qZleyS!8m z(%oGJ1Aq)?po`9bso04eQE0k<(=N#TA{E9h!_|*(#B{mpOq4`c#SwjP>#Mu#MjT&K z;rDmcw3)`g5q+mJi#DAqgSO@ll{U?`opYzgo;!d{o90eQBfCy#%FRrhF%jQi(iYKX zR~!3bSM&W@i0Xz^AeQ6q`xD6VwC$Wl#xjIcW?97RA{R|ypG86EQB+ZQ|azifmp@JLhFd=J8dO913S+-?ueQF z`DL?3q=`2CKCLgxz&{WXAa`Vb$qu4^^Qw~RglJV&9O)ff{|EE@GIALu=M4Y=002ov JPDHLkV1n8|5Yqqv literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_scarecrow_front.png b/mods/farming/textures/farming_scarecrow_front.png new file mode 100644 index 0000000000000000000000000000000000000000..364738fd6f3020f97686e0350c7b20cb01ebca52 GIT binary patch literal 634 zcmV-=0)_pFP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3pEH~gop+J00H_*L_t(I%cYXfY7o*UA3{&Q4t(G zMd^ZNMupAB;*x#+Lb(RmfbuX1EVqg&Q}R)ay`F(oEHkn$S%&2J+1Mut5gz!F;qY~pJoa|c^$q4Crm@?(;u!a#9`FIE!%sKVr zJi=BM09M7qSr>@P2Kji1?bk5*1S2FmPe3Sa$K~i-|Hgy8c7tgWv*uMX(_;`0Tl+%* zP7fw*byB(q69vBTkw-d0{NjW`mX?13FJHho2MQqlC zMTn1YpDp&Fdhv;Seuh*I7>#rTvf&7O!v|AwLWdH#53(SF!$Ao)-I1^FG; UvMH`M-~a#s07*qoM6N<$f{x1#`2YX_ literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_scarecrow_front_light.png b/mods/farming/textures/farming_scarecrow_front_light.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b3cf289b9525f2d4ae8004719a924434bb925a GIT binary patch literal 641 zcmV-{0)G98P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3eCM9?yGOiu z+%jD1`TgH4`6;Hz&|0HYP$fXkA*7Ab8F_lnoA0eLf?B)hF)N*DWJzL`J&Ghk>Kvqv zaLOp1GtH=Gy*9a|U%yby12&*s3<9fE#uN$JAi`cuK`N#h+3AOjLyy1+3u(KozOEuI zMR67(tP<<*8f3$Se0a_@qegKAz}}xB&AU(x3XBu8_o{<11=4jfMZ&@M0K0OV?Cbt&SDS>+bOa0t#{?YW~;_1j+l4Ln9(i> zhsMhVV1fPMh(@qXJLs|+ECFz^Jz%pn<-sV9Xx1-^2*(AZ0cdX>(+HN?4~|$3mS}Gs zU;a?YO4Xl)`1tn8WDm;SPu%fRq;kM$WXUHz8DLjDFgXYXw#)l&{c41thdt)qG62mu z1rHFC{4_;+1C+18zc6NI_eYiepzge## b`A_`?RC(3*j&oOz00000NkvXXu0mjfqj(y4 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_scarecrow_side.png b/mods/farming/textures/farming_scarecrow_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e22e84ba1dd15382c478abe92c35b03ffd9ba9f7 GIT binary patch literal 613 zcmV-r0-F7aP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3pEq#;X&#E00HGmL_t(I%cYXfiqlXOhrfGsle9@2+Jab&2zD{dl)9MBJb~cC2XNs+ zpT~#s8QeOEf(}Jov?vw}g)mLpbn@?B7qy+VA_{)H1NS@p&bddtd^$4x;>F2V?gu%h zD$rV^b5Jgz8VG4)bU~Tl@ap4er=U(B_#C4%jdUee+o#GBq%J|)2&awGC3Qy)2jRZR z-@T=30ydyL3pPKsz*=rlrl9;V8WP7AvmP^=b^!_HHmCNZ|M0I(VsPDdab zU5eEL+wY;v9FXWD1);DVm&^CF+XNS*kWHG<^xBxs6$poFy?_Etu|@z@nju>OWfJ3b zdR&ac!x4sqknv=Oa6K?NmVbvI>m_%uGwhDLT`HiO3Z2C~><7R9!f+5GzJEYhB{EwQ z1{&%1$QKcI*QZ*=SiTRo$9Pg3VLX}9^xE4dX%0RhB;_(k`VlHnU`nLt0bsJ_{yl(r z{^ZQmk7&2he?>hS1P6x!@cPXc&QJS)l{aaE0;rDxaDLi9Sk#{hwhfLG?5JPqal`36 z-X<6h!h?s$?8NCj=JIOBv&U!q_`^YnRP00000NkvXXu0mjfYmf>R literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_scarecrow_top.png b/mods/farming/textures/farming_scarecrow_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4addcd66f7399cedc6e9c415ff044c18ae5ec7 GIT binary patch literal 639 zcmV-_0)YLAP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3p51=F2(u)00I9=L_t(I%YBniYZFlv#eeV3o0(=NGo%4&As{rXHl%`^euA!a*Nt1h zkDtV?Tm1rdBVwtdn1UEB1cJ#VGo3&0Jr`jnomf1(d%5>=IOkmP^7+_u4`rnRaFx@l zYt;Q3>iBWkYK(@1R{i?jXI`A20B}8-vJ3I%)kTZJ&F%7^p)5@vJPx4lFFY~tc@`H~ zU1E&E6rg;dyN8f2cJ+~}xZ`bc-t5RMO~}%O4_|JZrpXObO57;ISin>px?Y4*s$rF- z3F^~i*$7koO3)p^1yq1V;P??%=almVw^x8vTwZOpP-o)-S(?xZBFwidtZ;CY5Bd)2 z$5e|sPB+5s3CeX2z}a}Kh04-|(Qv@^WQsZfJ=a(-MRXlZI!6WpR_92si@P6Fu4Wwd zVkY35fXl z9iuB`zF-g=q~E8Q&2jfb^lFI{hTsM~Jw9x#RCPor6wd92!gvHQ;d!|tmC Z`~`sUPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl6 z7a=$y_CX>@2HM@dakSAh-}0009HNklonD{?TDnMCLlzb`EOA$iN>&q-&AzP~<0|z3CHJc&aQiCLtsdO zc=2RMC-a0sH07il;7SQ-lmaaQAfIsna5E_;NrIRsREsWXkb7^|Fr~z@Ew`qEk1mF4^s$%o3Y6+FH*2gy1tD9ww7|F(jtmqqm^cLF^7?|IcwhX>C*%DHYzxl$taqz zzf)%#&v9%MCuL$hSX+8ouPqZrW4`;Nf#cY8{E)6cVs)j&-;Ha=QWAtSI{uLM?U1!n z0Uak;hJn;t^Vj(`mz{v+VuoH2aXSdn8k9=t`Vo!SH~g>F3&>|3nx0Rr6~;z6|5C*Y zVF(TncKGbsI}E#hY)evG%n>V%V_QVw1jn*SnFbwygkzfoqY3ialRZBF_>e(3MQFiq zM-9@sEL}h1xX~qvHI)Sy*D-nWXp^T0+sx-NStrH*&IaPkPu|tFl?8&qh!bysKL|;* zMk`G(h!6s#gtTojo5hUhiv7D4b~jgPb$m>KE3Z%6^ZEX?$(>T3M8hx~Q!N)kf)oNN zCB2{rQZSp&`1Pnky;{UHfu`qkGaU2${ayZTcF|h%=w6MSo93U(4wZ5q(=f+$NM%|bp+b!CB{|GYpe4FU`VxonE<%^Iz?Pogz(qF7nX@gL%I Va*JV5Iz|8h002ovPDHLkV1j5}svH0S literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..398f72774fed5b831e15fe08e5a61ce71bfb4c2b GIT binary patch literal 880 zcmV-$1CRWPP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn^ z4+#$;69f$a000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0008ZNklE-{uzECh!s)=5~8$-q;1+H zuE+M+%#0s1_RQSN!sSSx&gSSWK5^Ez_5QYpVF*5cnouvhG#fQ)UWH#@T_X%|B&ZB7 zj`z?4)`jB64@uSvX(5Mm=?*~{m9F!#Ug+gfv)#fY*)_@JnRxkrD8j`P1 z4-raZ3Ivssg|}0oW*bc7ISSCL4A->@qLe~|>qxYMMWToj#e9(vOk<=1w9*8_kZ~BJ zm8M@*1kx3B znl4HeI2D&TO7JH+t_Azs7R_o2%QBH#!`01*{v@Xkgmd_J4qAg!1=Bd=?$eC_Gt8h` zb{GUPg;t1O4K0CG!RezeCl9;){LAkw(lwn%6+c{3C|E9Yl!jytLO`PeQi6Q`^bs$< zf5L1DLJQtp-r-itOk>SeKc*<4RWDO^;OTjnXBS_P6;N_4PLH~X@9x)hXLpPFY{|QE zOgzgdG@u|{gJ6RzAybe7CoPNP!#2Yp#su)k5#u1{uL$Zu0W5%)1xSzrgoJRp@sO=E zUSIb4vQ@)0fk6;6S-`jVYupWDw1)GxhgWg<*q^Z5@Gzx8$&c7=Rq1Tk82SNz5Fvvw zrsP_rIqcV~^o~089(K6CoimRT1Yjt*ypCv9O`aSd@b-4ZH|GzqZ42?^i^n=!WekIm zw>Kl|RhL$Ci&y{j(P|?=0$$nV!C{BtIHu5=qR=$!75)R=giZMGX2Es<0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn^ z4+$b<%vg8;00QGlL_t(I%QcW&ZyQw@Mb|lJF1E+lG`^%wtu!@h(xeGRRRnK+K;i}Q zWB3L9G6XzDl|U5*LgBQ3GY7i@wB4VtWmAx zNs>9g{`HZghdW#kBCy~Z(8efS?a=OzSg$SjYGqv4!7&EU)zqp5l4Oo@6rS(#x-%e} zEfAwH8r12wmUL}#wBpHeli&X6AR<@`q6L8ZRuO<|xj>!iqZM%=whGe=R93^NgAXd2e`I2sUgVuBA+>Uzc(x>& zE;v8iXSrG7y9VDgm}*9Sx7*la6ipdNGjc%&1tiIwCx=buvpL(1JNVi#j3#7Vm&t5} zY*Jif&?3T{_JG-ZjcB14Mtlr!Z`d^DpMJ#URfqr6AI0QzKG$K)Ml9-a2{9;woX7dI zLkh)!AAbCW>2gKAQoxELwL+XMumaQN5)CK?Ml1C5&mZ&kSLbLAN)(f5#(uMbY=mL7 zAl=+LS*}+c?AJN_WS7+%a=y>;!F|-1t&%jhOC-sRLNTBhMx<7-R_G36G++$mGd}ah z3g7dvz@rB>dSQG!05Aw+G8vabkY!_q-Z19m;SOkxF$za(UR`ylR|0xBQnbQAOJw8e{;uTkHA^Qo+tD|&;7x19l{LWbIQkylqA tkXwHkAjo;N_UiNpF)6|(6{_Wce*q~QV5K&DN2mY*002ovPDHLkV1m7pjimqp literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_string.png b/mods/farming/textures/farming_string.png new file mode 100644 index 0000000000000000000000000000000000000000..f417ec44a39858d300e423a6d33e7a8623a77be0 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBhS|K7Mh5toJid0)=EVLn2C?^K)}k z^GbkR1_tM%)Wnk16ovB4k_-iRPv3wPy;OFf_%Tlx#}JFtS0`EbwHOGv+%9I$d(VA9 z^}xcp((Qbl6MIr-3hebgwwN(3@zC9_TUVb3{df7tI;Z%E#7WD`-);AET`y&=;N0_l z_jlF4L#dG~{!Bf&m`$-IcF`0ihF6`LvsNtIE_!9hl%ih`_WsZL^e&D!$m`D5Us($? zrIv1Wb8*pJ%CIeW@)V)ZHpy#MTO6*JKAQ7*wPRGazf&@g;j!1De1{JdZ?H~$T72&N zVUuGQw&}VT3r@V9Y*iHX`aS=uFvC9O17F|$XQ^X&dFsgiBeSl1gS_hL>gTe~DWM4f D*65B` literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_weed.png b/mods/farming/textures/farming_weed.png new file mode 100644 index 0000000000000000000000000000000000000000..466728706c050be8a875f4ccfd71cfe89a571f1d GIT binary patch literal 591 zcmV-V0Px#24YJ`L;$M*_CX>@2HM@dakSAh-}00051NklfLOTQsQV_b`<}95(!NFT^ zN`%M_fo@I_pB6GD)fRK4TnF#}`ch+;e$%`E_r3T3{@;5C{|O7=D)dlsLS_E~fcB?V zEpW;?fT?_C|AJW||Ax778icpa4?py@K*b3vPH@V(XL$g-R(DZxLZ_T#Do002ovPDHLkV1n!j{hR;* literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat.png b/mods/farming/textures/farming_wheat.png new file mode 100644 index 0000000000000000000000000000000000000000..a508318d5b6d5f8a65df2fbd128c2456bae2a501 GIT binary patch literal 536 zcmV+z0_XjSP)Px#24YJ`L;&Fc%K$uHVo){!000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn^ z5ds&-Gt24#000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004VNklxKk;s_5G{bCYTs3U zicS!>(WQaT0~`qag&#+CJ}l$#Ar27i=864U2>=e8w9!GvA-Xiykw-64&8a6C%=Y4< z7hM_-o7C#9;cF#$2V@)yy)}OG8m}dACL-gI?ywLt4r}&!t?%Kl z&2mY+4#mN;pXiRf*j^vCf}cJoxK*zUI;be6BTFE+68J z0=`Z^p27O~H0s!f2ksUeu-v5e3(RuKc&&xQmz%U6-$@Ss`x_etvRpD57ToT+m<)?M aPksTt!MTao-=3`i0000Px#24YJ`L;y?xVE`Z&JCEo9000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z6%Y}TQQ2?+000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004ZNklMzIW+HitrY~%^m5O6_nv!_z(3&tJS71tFFC$?1mOPq$O^nx4PYaGeD%n- zA=e=JBiBmE{3W#Ti(I*y($uv7+rCSgYevf#GEB(mx!fpn@O);l8@P7oBRxXT2 z!tD+GZ(=i1Ix{t?i;{pS32?`w;+tsGRKpvm24Oe*3Q-p2-mxF-fPfa;gk;8Y|uDdk%mbC4pYsUH|0=v~MBoW{$Db>3fVvg(FuH e8EBc0(R>0!{J+sU<{=;e0000}c literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_2.png b/mods/farming/textures/farming_wheat_2.png new file mode 100644 index 0000000000000000000000000000000000000000..40956a7b30b1b05dd1f37279f4500d6d3c019240 GIT binary patch literal 534 zcmV+x0_pvUP)Px#24YJ`L;y?xVE`Z&JCEo9000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z6%QODx~o$F000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004TNklCk#IKa-! zY{l|ukBiTJ-e12szCNN=lnkHWST|~1HEP@^inGH5^3@0HM$Pe;+3IHm*>%v#nV9MT zmx*#5;9Q)6pCz_?Az7kmMRh0jaXiN|=^I9MviZ_+A7IeQ0l1ql>Gq>P3(JfO8zar{ z_9GjtO-F5^Rc3v%=qQaDrLp!O$8)ko>2@#lL}4wvW{L9Jy--`FrkNgea?h7ZW*kq> zZO;JRex!vm&+R}+*42X6Z!~g&Q literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc89a7174a7eab3b940b85a9f4fb5e12d6147ad GIT binary patch literal 500 zcmVPx#24YJ`L;y?xVE`Z&JCEo9000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z6$m%MN5s?s000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0003`Nklt*C0`%!EF7F$nE1*Z*Wt&x$;1Vi ze#G=6aT@*00d!s_V){{TX(T(l(k+d|CGKk@7Z5<&+Nej9c@Chj)u2wpla=jwZZcW* zqf6wwh*et~Kl%kc_bb@0#A(D~+o_wa4zRb$?raAWz5v)1F>P&FB})L>+HkD~mqTB&d{ q{qEnWXS;FOcJqC`f7o_^H2DQW@4arGp_@zq0000IqP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L03N{r03N{s!)a7g00007bV*G`2iyn_ z4-__&&rkON0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~00053 zNkl6o#K~?!BW<&FwNjc}L6|B>JIZiWDJfW#H0H(5{8hDvA-MWkW>k zpheI+C@3PRMN(9>a1kj5Vd2IUyUgG?W8>UEote*-LeRZT1ijmH-iO0E?}2}m2rEvG z_sLW;%HixD&Yav&cKEeu8*t^4DIYv8iuW(BO21x0RaH8p4V2gshA!OR^+kdJXHO@1 za{rusJN*>LF5`K1TB3&ze*V@M2oOyl+i|IHtWzml`2H4-UBs0cmga8AP{5rDQ`*iJ z-{(K$c^;N!vGDB^t}n5Fm8jJl;S%%JWwh-p$lRJ5i487y%N7idEWVY&7xrzi|C>w=|L(#@;0PTVF)GfZa1j jwFa4<9L>#D{;ReDR{E3xT~xP700000NkvXXu0mjf0oeX) literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..bf2ac77e695ea2a8c1d5fcb427d0ebb040f8aa65 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9vKF0L!UkSEP+CjC9V-A&iT2y zsd*&~&PAz-C8;S2<(VZJ3hti10pX2&;y^`}o-U3d7N@UHwB>3r;Bkw0Ie2&B;^zfl zcimf9URZc}=L3QEU(E}yL<#&^CgkzylKLtyFC(GJ`TaZBi!6{(i_Zwzr@F(tBS$`9 zh9ARGhE(m3EUDZI8`V!J_nv#T%jF*LkL||<9xmJ{$C@r|B6R)7xkIhzcKCnkRX@e5 Xs9_lTwOn@w&=Cxtu6{1-oD!M + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/farming_plus/bananas.lua b/mods/farming_plus/bananas.lua new file mode 100644 index 0000000..8023b48 --- /dev/null +++ b/mods/farming_plus/bananas.lua @@ -0,0 +1,63 @@ +minetest.register_node("farming_plus:banana_sapling", { + description = "Banana Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_banana_sapling.png"}, + inventory_image = "farming_banana_sapling.png", + wield_image = "farming_banana_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:banana_leaves", { + drawtype = "allfaces_optional", + tiles = {"farming_banana_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:banana_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:banana_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "default:tree", "farming_plus:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming_plus:banana"]=20}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "default:tree", "farming_plus:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming_plus:banana"]=10}) + end +end) + +minetest.register_node("farming_plus:banana", { + description = "Banana", + tiles = {"farming_banana.png"}, + inventory_image = "farming_banana.png", + wield_image = "farming_banana.png", + drawtype = "torchlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), + + on_use = minetest.item_eat(6), +}) diff --git a/mods/farming_plus/carrots.lua b/mods/farming_plus/carrots.lua new file mode 100644 index 0000000..20316fb --- /dev/null +++ b/mods/farming_plus/carrots.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:carrot_seed", { + description = "Carrot Seeds", + inventory_image = "farming_carrot_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:carrot_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:carrot_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+3/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_carrot_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:carrot_seed'} }, + { items = {'farming_plus:carrot_seed'}, rarity = 2}, + { items = {'farming_plus:carrot_seed'}, rarity = 5}, + { items = {'farming_plus:carrot_item'} }, + { items = {'farming_plus:carrot_item'}, rarity = 2 }, + { items = {'farming_plus:carrot_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:carrot_item", { + description = "Carrot", + inventory_image = "farming_carrot.png", + on_use = minetest.item_eat(3), +}) + +farming:add_plant("farming_plus:carrot", {"farming_plus:carrot_1", "farming_plus:carrot_2", "farming_plus:carrot_3"}, 50, 20) diff --git a/mods/farming_plus/cocoa.lua b/mods/farming_plus/cocoa.lua new file mode 100644 index 0000000..a6012d2 --- /dev/null +++ b/mods/farming_plus/cocoa.lua @@ -0,0 +1,73 @@ +minetest.register_node("farming_plus:cocoa_sapling", { + description = "Cocoa Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_cocoa_sapling.png"}, + inventory_image = "farming_cocoa_sapling.png", + wield_image = "farming_cocoa_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:cocoa_leaves", { + drawtype = "allfaces_optional", + tiles = {"farming_banana_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:cocoa_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:cocoa_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "default:tree", "farming_plus:cocoa_leaves", {"default:sand", "default:desert_sand"}, {["farming_plus:cocoa"]=20}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:desert_sand"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "default:tree", "farming_plus:cocoa_leaves", {"default:sand", "default:desert_sand"}, {["farming_plus:cocoa"]=20}) + end +end) + +minetest.register_node("farming_plus:cocoa", { + description = "Cocoa", + tiles = {"farming_cocoa.png"}, + visual_scale = 0.5, + inventory_image = "farming_cocoa.png", + wield_image = "farming_cocoa.png", + drawtype = "torchlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_craftitem("farming_plus:cocoa_bean", { + description = "Cocoa Bean", + inventory_image = "farming_cocoa_bean.png", +}) + +minetest.register_craft({ + output = "farming_plus:cocoa_bean 10", + type = "shapeless", + recipe = {"farming_plus:cocoa"}, +}) diff --git a/mods/farming_plus/depends.txt b/mods/farming_plus/depends.txt new file mode 100644 index 0000000..0f8e026 --- /dev/null +++ b/mods/farming_plus/depends.txt @@ -0,0 +1,4 @@ +default +bucket +wool +farming diff --git a/mods/farming_plus/init.lua b/mods/farming_plus/init.lua new file mode 100644 index 0000000..8a2ec46 --- /dev/null +++ b/mods/farming_plus/init.lua @@ -0,0 +1,52 @@ +farming.seeds = { + ["farming:wheat_seed"]=20, + ["farming:cotton_seed"]=30, + ["farming:pumpkin_seed"]=60, + ["farming_plus:strawberry_seed"]=30, + ["farming_plus:rhubarb_seed"]=30, + ["farming_plus:potatoe_seed"]=30, + ["farming_plus:tomato_seed"]=30, + ["farming_plus:orange_seed"]=30, + ["farming_plus:carrot_seed"]=30, +} + +-- ========= ALIASES FOR FARMING MOD BY SAPIER ========= +-- potatoe -> potatoe +minetest.register_alias("farming:potatoe_node", "farming_plus:potatoe") +--minetest.register_alias("farming:potatoe", "farming:potatoe_item") cant do this +minetest.register_alias("farming:potatoe_straw", "farming_plus:potatoe") +minetest.register_alias("farming:seed_potatoe", "farming_plus:potatoe_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:potatoe_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming_plus:potatoe_1"}) + end + }) +end + +-- ========= RUBBER ========= +dofile(minetest.get_modpath("farming_plus").."/rubber.lua") + +-- ========= STRAWBERRIES ========= +dofile(minetest.get_modpath("farming_plus").."/strawberries.lua") + +-- ========= RHUBARB ========= +dofile(minetest.get_modpath("farming_plus").."/rhubarb.lua") + +-- ========= POTATOES ========= +dofile(minetest.get_modpath("farming_plus").."/potatoes.lua") + +-- ========= TOMATOES ========= +dofile(minetest.get_modpath("farming_plus").."/tomatoes.lua") + +-- ========= ORANGES ========= +dofile(minetest.get_modpath("farming_plus").."/oranges.lua") + +-- ========= BANANAS ========= +dofile(minetest.get_modpath("farming_plus").."/bananas.lua") + +-- ========= CARROTS ========= +dofile(minetest.get_modpath("farming_plus").."/carrots.lua") + +-- ========= COCOA ========= +dofile(minetest.get_modpath("farming_plus").."/cocoa.lua") diff --git a/mods/farming_plus/oranges.lua b/mods/farming_plus/oranges.lua new file mode 100644 index 0000000..6876fe5 --- /dev/null +++ b/mods/farming_plus/oranges.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:orange_seed", { + description = "Orange Seeds", + inventory_image = "farming_orange_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:orange_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:orange_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+3/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+8/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+14/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_orange_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:orange_seed'} }, + { items = {'farming_plus:orange_seed'}, rarity = 2}, + { items = {'farming_plus:orange_seed'}, rarity = 5}, + { items = {'farming_plus:orange_item'} }, + { items = {'farming_plus:orange_item'}, rarity = 2 }, + { items = {'farming_plus:orange_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:orange_item", { + description = "Orange", + inventory_image = "farming_orange.png", + on_use = minetest.item_eat(4), +}) + +farming:add_plant("farming_plus:orange", {"farming_plus:orange_1", "farming_plus:orange_2", "farming_plus:orange_3"}, 50, 20) diff --git a/mods/farming_plus/potatoes.lua b/mods/farming_plus/potatoes.lua new file mode 100644 index 0000000..d833dda --- /dev/null +++ b/mods/farming_plus/potatoes.lua @@ -0,0 +1,72 @@ +minetest.register_craftitem("farming_plus:potatoe_seed", { + description = "Potatoe Seeds", + inventory_image = "farming_potatoe_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:potatoe_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:potatoe_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_potatoe_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+6/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:potatoe_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_potatoe_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+9/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:potatoe", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_potatoe_3.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:potatoe_seed'} }, + { items = {'farming_plus:potatoe_seed'}, rarity = 2}, + { items = {'farming_plus:potatoe_seed'}, rarity = 5}, + { items = {'farming_plus:potatoe_item'} }, + { items = {'farming_plus:potatoe_item'}, rarity = 2 }, + { items = {'farming_plus:potatoe_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:potatoe_item", { + description = "Potatoe", + inventory_image = "farming_potatoe.png", +}) + +farming:add_plant("farming_plus:potatoe", {"farming_plus:potatoe_1", "farming_plus:potatoe_2"}, 50, 20) diff --git a/mods/farming_plus/rhubarb.lua b/mods/farming_plus/rhubarb.lua new file mode 100644 index 0000000..0151a9d --- /dev/null +++ b/mods/farming_plus/rhubarb.lua @@ -0,0 +1,72 @@ +minetest.register_craftitem("farming_plus:rhubarb_seed", { + description = "Rhubarb Seeds", + inventory_image = "farming_rhubarb_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:rhubarb_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:rhubarb_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_rhubarb_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:rhubarb_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_rhubarb_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+11/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:rhubarb", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_rhubarb_3.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:rhubarb_seed'} }, + { items = {'farming_plus:rhubarb_seed'}, rarity = 2}, + { items = {'farming_plus:rhubarb_seed'}, rarity = 5}, + { items = {'farming_plus:rhubarb_item'} }, + { items = {'farming_plus:rhubarb_item'}, rarity = 2 }, + { items = {'farming_plus:rhubarb_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:rhubarb_item", { + description = "Rhubarb", + inventory_image = "farming_rhubarb.png", +}) + +farming:add_plant("farming_plus:rhubarb", {"farming_plus:rhubarb_1", "farming_plus:rhubarb_2"}, 50, 20) diff --git a/mods/farming_plus/rubber.lua b/mods/farming_plus/rubber.lua new file mode 100644 index 0000000..4b7e413 --- /dev/null +++ b/mods/farming_plus/rubber.lua @@ -0,0 +1,104 @@ +minetest.register_node("farming_plus:rubber_sapling", { + description = "Rubber Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_rubber_sapling.png"}, + inventory_image = "farming_rubber_sapling.png", + wield_image = "farming_rubber_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:rubber_tree_full", { + description = "Rubber Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "farming_rubber_tree_full.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), + + on_dig = function(pos, node, digger) + minetest.node_dig(pos, node, digger) + minetest.env:remove_node(pos) + end, + + after_destruct = function(pos, oldnode) + oldnode.name = "farming_plus:rubber_tree_empty" + minetest.env:set_node(pos, oldnode) + end +}) + + +minetest.register_node("farming_plus:rubber_tree_empty", { + tiles = {"default_tree_top.png", "default_tree_top.png", "farming_rubber_tree_empty.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2, not_in_creative_inventory=1}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:rubber_tree_empty"}, + interval = 60, + chance = 15, + action = function(pos, node) + node.name = "farming_plus:rubber_tree_full" + minetest.env:set_node(pos, node) + end +}) + +minetest.register_node("farming_plus:rubber_leaves", { + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:rubber_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:rubber_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "farming_plus:rubber_tree_full", "farming_plus:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "farming_plus:rubber_tree_full", "farming_plus:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +end) + +minetest.register_craftitem("farming_plus:bucket_rubber", { + description = "Bucket with Caoutchouc", + inventory_image = "farming_bucket_rubber.png", + stack_max = 1, +}) + +local bucket_tmp = { + source = "farming_plus:rubber_tree_full", + itemname = "farming_plus:bucket_rubber" +} +bucket.liquids["farming_plus:rubber_tree_full"] = bucket_tmp + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming_plus:rubber_sapling", + burntime = 10 +}) diff --git a/mods/farming_plus/strawberries.lua b/mods/farming_plus/strawberries.lua new file mode 100644 index 0000000..6a960b7 --- /dev/null +++ b/mods/farming_plus/strawberries.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:strawberry_seed", { + description = "Strawberry Seeds", + inventory_image = "farming_strawberry_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:strawberry_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:strawberry_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+9/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+14/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_strawberry_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:strawberry_seed'} }, + { items = {'farming_plus:strawberry_seed'}, rarity = 2}, + { items = {'farming_plus:strawberry_seed'}, rarity = 5}, + { items = {'farming_plus:strawberry_item'} }, + { items = {'farming_plus:strawberry_item'}, rarity = 2 }, + { items = {'farming_plus:strawberry_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:strawberry_item", { + description = "Strawberry", + inventory_image = "farming_strawberry.png", + on_use = minetest.item_eat(2), +}) + +farming:add_plant("farming_plus:strawberry", {"farming_plus:strawberry_1", "farming_plus:strawberry_2", "farming_plus:strawberry_3"}, 50, 20) diff --git a/mods/farming_plus/textures/farming_banana.png b/mods/farming_plus/textures/farming_banana.png new file mode 100644 index 0000000000000000000000000000000000000000..f775e14cd96d00ee04e28ff5ed0080e56036f673 GIT binary patch literal 515 zcmV+e0{s1nP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2iyoB z5CbCwPWwFo00DzZL_t(I%cYXdD@0Kkho5urU}hsb*(eKkV`D2j zd;i8PZIot3N!h3=+fjG0n1#r3XE=bYbj-rn;FDJ4$pY-<&l z({ONckmdatic^587CLtf2!@US0g5G@4Dn!NfY+Nup@ZR`4vyAG{si!tDhiDSz~p!w z`Fw@BIq}=+%ZJAdHV*|rf0sr&p5i=t!tL%DPdhUe!^v$QrYccnrnKh*@YFZ+VnO=+ zf`%52+|D!~o;T_=ANP01sOAl}o#Q!uOE8>bzRd%G*KeSB{YHs4w`9v?UPvo@jVqTY z6J5cbkK%gIku(g__gNOETFU=ID4-KQO~|1>jn1ZCA{To?sj{h772ZFqv4lX=+hxLt z0f^$mKUD7T(s(i9=qiHV-63o0o2b)#JYKGmipTg4^C4Qxdk_lf#iayLtv8e^8-W{3 z2mrFwic$YzWs$xi747o+4e=`zLjk>XU`dtX*{CRY?+bQ;r%1TN|Ahbm002ovPDHLk FV1iwP-J}2j literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_banana_leaves.png b/mods/farming_plus/textures/farming_banana_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..cf8eecbf1251e08347e964853dabed27c627c9c1 GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww*V5f^YV91b zkZVMVV`)i7ei6gUb!R+)LR=+4A?N&p%A(Blj1q=5{Aa9yqI_V{qSVBa%=|oslFZyx z2Gj5SoIn{)kW6rXT1k0gQ7S`h!GDl)Zjhi$W^r;(B2Z}&!}bGP`hmh6AmQ-DqP)z! zbcO@c&)R`v>=6B>MaiiQU;j71hADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(+nG zKRjI=Lo9mNPBP3sY#`7&-$#gJp{C+&Ly0c#s4Xck?Jw4Un`9r5EFh7qq;iyF$$`=g z|B0Km@&#=QFO`4y6A-l97jbT=B~E zd_O;bN8SH~H@zqHXF6rhKLz3xYk)|@-0-_^MPE{EQuf?NCdwPs1JIq_M( zT6xN}Dk&pf9Jf8hUt7<1gZRASkVVs7fs)D#-Al Ze$|J$Odc;*=K#Zi!PC{xWt~$(697ur;#U9w literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_banana_sapling.png b/mods/farming_plus/textures/farming_banana_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..821c64ff374ad182b4b0bb87d4a4f7a44b450430 GIT binary patch literal 647 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwmonjgZoD2W ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*Z+aL#|S@MTYn?|&dS>`lg!Z}QV+jMQ$iTEsS=XHB!xDhR)^ zGb6E7kSje>`SAbd%MuT`zJ@&gw^+LCovDcanR_daZFs2Aq<`l0!Gv|If6Z@fY&>`} z;_v>(SGsJ>SEDuT5?uP-)RVvd|FdTg&ujiUi6us1|NnozZqJryrq;H8|3AYydunD2 z+HwT&SeVTH`2X^C9v|Ms~&PkjBq)CXzl$1*t??jF*;>6opb0}L+)Pgg&ebxsLQ0A8N` Am;e9( literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_bucket_rubber.png b/mods/farming_plus/textures/farming_bucket_rubber.png new file mode 100644 index 0000000000000000000000000000000000000000..effdcac6668055ea457970d96759feec677d797b GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<4n6@6vB)*o^npTqJzX3_EKZ-D zbda~jfQRM!i(L+laW7QXE)ncDtGK{rq*3~&mVwnnK&an(|00du^GbRC>{?QAez}w; z=gGzG9&zgF8)x2C+MZi|!HcunIBOQ$XPfy)Z~h1gU8NOn%(P(U#WNfYiY!&{XPW(f zV$h!G&?CrT(5Jj>oim4`^h&RZd%jO+KfUSA^UPTbRZWr$W&fX4dV9Zep8KWPduuj5c>jv~)Oo+hjj!xa06oIs>FVdQ I&MBb@0M0#oCjbBd literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_carrot.png b/mods/farming_plus/textures/farming_carrot.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed61ac95479127c1fc082752ba42a3ea71afbc8 GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBB*Wuq6=JW_G ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*ZWC7o9Pe{8~#uaoot*W`nfXUiTA*u!>U4)^7r)2Rjx z4_Q+h)^MgNR8>6q%4BwZ!S0p>FPHD9fciSWGw~eAaW&(4X0?dN!JNZV#>0p~dVz&G a6T_VNEl)1DZ0rR3iow&>&t;ucLK6U;PT(Z~ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_carrot_1.png b/mods/farming_plus/textures/farming_carrot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..09cfe7391f52a0230312094a3f2cc990076fa459 GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBBSJXF{CX)^p za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9Wmxg^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBBR}#IueVQ0p z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX@(8 z08bak5R2aAKmY&RGpjaqD&1Yo)+6Om%)HHZ`tS97PJXxVIhJ|o|NsAnAFicu`k%Pv zlG}VB?|*v3#TOE*84cEKx%k}vj6uwd1!+!g0dJTXWFH^ZP1rL3F3@ZSPgg&ebxsLQ E05U(Gng9R* literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_carrot_3.png b/mods/farming_plus/textures/farming_carrot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..74e3dc89c8dc55cd5e870dc7a8d63b02aafdcdac GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBBSLRs0>U1Ai z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX@(8 zHcuDF5R2Zc0iIk920SuH{VO)G|LuK|Ec&L|X3KdA|3<0X3pkn@6`vSHYfY*!{;K`W zo~5Sb%SBQ7s}U{?61Vpn$$HG&(AsxxZQ)9VK07PE*FFpr=B}L-EP7qH6~*Yo zYcA*uU$zcke#7^~%Y9Q7dRGfSap~gx!tZ6kTGDi!X}*dD!`!BATffbH{2b^a22WQ% Jmvv4FO#nUWuQ&hz literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_carrot_4.png b/mods/farming_plus/textures/farming_carrot_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1c6445f39126b115294f9b9e93f77ebce99c4a61 GIT binary patch literal 550 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBBS7EORakv2% za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxgpplG+fy*XWt`##MEbq{l1_L&$HQQE7xWgf14xnjB6#6y0=K+^tBIDcL_4QJDbP0l+XkK Dd6dN( literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_carrot_seed.png b/mods/farming_plus/textures/farming_carrot_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..69bc45040a4fbbd43ba9063841ab88cbf22bcb0f GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBB*W>QyeNqV) za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9Wmxg^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8xlrW4vzI8HK z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX@(8 zMV>B>Ar`%RCv4oZ`o#U n|2J+QJd_GO5%(6tPnu6{1-oD!MbP0l+XkK4GlW^ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_cocoa_sapling.png b/mods/farming_plus/textures/farming_cocoa_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..73c588f2525ae676735f8002c22094ed70f6aac1 GIT binary patch literal 644 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8xl+xk(zWW4N z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX>^^ zjQpN1jv*Gk$$$R;w`W#u;GF+t-7Ahm%l`lWFRxu@67;*@n@{p_siXSh8}&Iki}r5t zYnMNF@0pU<4Q^SUMgPmgS`W`%w_NMH{N3mman6MY{gfTsKIi^^P?H$P$5tGB^*;{~ z_#J!o|L*y{=>_)R<&HA;ytw!xWzE0&^QTWw{M%^U1CrhU@7M7IXOA8E@b$WV+vMr_ z#*2P49A$`bSbO(k!%{|`7pqVHfByV&a>CF5-1`-OJi6iI z-kK0~K(cqoqq!>LFIJxV%fG?=*lVsmoG%}(ZSTq7|L4eShCOT+lB@rVKTAyKC^0zr yQdTTRsQcNuKmWgd=5JeX|KF%!v+?6CEDVaP8J@{0tWF087K5j&pUXO@geCw&Ed_4? literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_orange.png b/mods/farming_plus/textures/farming_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ae9e90c5b53e684f5cccdf35c119a7b187a14b GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww7gpTiU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*ZOj~ic0Wd2gWjPcb0wnv)EKN|`Q{COs9=Vnn+inzEfgqPuW z!BQEcsJs`s&c!TxHu{$Fles4~6iv{)vdYupSowjzsx@C!I(ArV<}j7b-tlb{gWtvF zGaZs^A2{+Vn3v4mlKn!oYWei;zdI+|2x#9qCBOBLbpE7;4zGW;S#AY7hr!d;&t;uc GLK6TGxvawg literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_orange_1.png b/mods/farming_plus/textures/farming_orange_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ab553c899d680e34f02b0658bd3984e01889f8f2 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww7gYJWql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~u*a^Y;rA5i93}62@zlJGu&d<$F%`0K}c4pdspcorSYe;5EPAbEScbC+G zB9@*mjv*Gk$$$R;w`W#u=v2D9n5{?3fQjeEx0rYTw>>XnDVA~+7chD9|NnoBkLOl> f`2PdMJkP+u<8QU}|KoIDpdk#Nu6{1-oD!M^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww7qqTe^ZhGW z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX@(8 zcuyC{5R2aAKmY&RGpjaqD&1Yo#*@ap&33x7T_I3VUi;oJpKta?(lh&eB0os>y%Ews z>E3hWN`geg*`GU1k}DYRuG}%Fx5to4@TS=`&9EOeCk`BF5aX_x>(#^fgn=PBIN#7H Sx%@8BDh5wiKbLh*2~7YwGoHr) literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_orange_3.png b/mods/farming_plus/textures/farming_orange_3.png new file mode 100644 index 0000000000000000000000000000000000000000..af60f387975a7d24b0299856c6c0282bf8f2918b GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww7n09!a(E6F za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxgODdIh(@7|{+thu5H_`EW!`Ybz;v0<}7Dov6 qi*I1eX`7V7VAt@FH7M3`BR9i~;J^#X!5ScsFnGH9xvX^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww7v}k-ZcqUh za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9Wmxgu zV~xY~BXUw3+gVSGXzw_vzUO~JsjQn$Lb2VZ?hCvJJB)MAwd_2>w9JOJUwi{&PTQmu n20Mq6O^2Uyb;TO+@Gvl#zw?isE5M`!bTWgdtDnm{r-UW|E@`!b literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_orange_seed.png b/mods/farming_plus/textures/farming_orange_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..3873bade454bb2804fe4926ed7db9b02ffc8dd85 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<4taigt)BV6I)OrxC9V-A&iT2y zsd*&~&PAz-C8;S2<(VZJ3hti10pX2&;y^_uo-U3d7N?W{{QqyytlH4o=yZT7{qMR4 zi&jgKtSyGhb7LF01qvh&vDV*}khlAF{=`{&Uq}D| literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_potatoe.png b/mods/farming_plus/textures/farming_potatoe.png new file mode 100644 index 0000000000000000000000000000000000000000..50411f837b4a462692733b892bbde51f8bc0e8a8 GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww(-(bG+g$(_ za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxgHT|jDUc^T(Ud{*%^I%b>b;o^X16(aGA-v$*d|=W8mGU2Ipz8TQ-;}2G3yRyF>G>* zX?qCdCGOx!a`8W9AtcBQ1kEk;Ox?PUyk>Gbcl;Go%(??<*38U(dl*7JLedVsVgg39 Yz{22Z+pBDAfo^2*boFyt=akR{02iUMg#Z8m literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_potatoe_1.png b/mods/farming_plus/textures/farming_potatoe_1.png new file mode 100644 index 0000000000000000000000000000000000000000..75a36d9251c7a25e40a17f0f080e00fc960193f1 GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww)6{t7pYR+k ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*ZWXh(+()$-Z0+iX5%;oz+*q4k=%I?sDY4H7pw?ByOp3{Il8LtEEzybpGNO)|dnF z4zF5QPJf!yEPk`*nqt)K(vB<>HinDw9}dZ0_|C|n;wZE+H7n=twdB)ZcBMYx-thUc a?jC86%6X3_{y7P>kHOQ`&t;ucLK6U$l%rMv literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_potatoe_2.png b/mods/farming_plus/textures/farming_potatoe_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6491d34ddc2d6ad713f554468e5a89678eda1b52 GIT binary patch literal 502 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww(^690e#;6h ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~3@%KCoy}YGO%dex5=}W^O8j z>34okpbRHSCOAK>q&%@Gl_9p^KS((@NYEv-I5{T~sI-V-`++U}Kw%D$aCl--US?i8 z!vX1M?LaYhi2l-|Q|C?XKlsV_;=BDPAFnl{RZ9hOhf3 zPZ!4!i{7_Ej$8*6cvf$k{-XTK{#EZkYNv^(E)5pEQ`qRFnL8^(l)moS%W}ZPr)26=gNu&eH0nHRikp+XLS8$b?|h;7;&99+-+j|2Z1t6!^dhzK zw5ZvE>LtBTr9GMgdFmaLQWLuqUhGYLJt6I|i;MZTj~hL{*KUmhI)=g1)z4*}Q$iB} DUS6;$ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_potatoe_3.png b/mods/farming_plus/textures/farming_potatoe_3.png new file mode 100644 index 0000000000000000000000000000000000000000..37a2c972bf486830438d387b1c00aefe86cf6edb GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf<4tahS@!Es6OhBO}o-U3d7N?g^ zIw*KpfrrJvr(UzU>cQN&n2z5K@m3y!SBid0^tVkk@O;aKYPv=}5t{GI_;atd{(1%Ot#a z-MYYam|1b!k$KCkx5oS~XRkG9&92dVkS3IEKgp2O+%=+b{?-j^p{y|y+EN@PZ!4!i_^&o z5*Y_LlD|BU`jeiJkWlgKnKm;JIG_J?y61?*0hg8B5geKdPmFeObE(fym@;u%g2DB0 zwOcTQX!a9K2Q*+ou<>c>XqN*&TUK#LeWUHx3v IIVCg!0QfyfsQ>@~ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rhubarb.png b/mods/farming_plus/textures/farming_rhubarb.png new file mode 100644 index 0000000000000000000000000000000000000000..849f61bf4329d95fef070f9fa5ec649fe3ce20db GIT binary patch literal 502 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwlQU}9vRnxk za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxguvwF53b#-fFV}L0kEzRsSa%hKXzBesP@Gu#+K;qxq)$ zo^=UFrU@l(6HMj^V-Da^6yUSqRS@Huw8RJK_oyhR9NC+b<^dhU;OXk;vd$@?2>|ak Bre**D literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rhubarb_1.png b/mods/farming_plus/textures/farming_rhubarb_1.png new file mode 100644 index 0000000000000000000000000000000000000000..706d8cf6d56b458f6de2962c4033f25c3ce3c80f GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwlNLH?{8j}l ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*Z@_Of>R8 zxqANY33S)~Kfj__(sd$Gs#$Hnkn?m$JLNM4F%5#zX-0SCKK{S_emzh5Uo+!FIVou= zNk4x7muCio!?F9%_EhjX7(KBE@|3xijhV%{*$-Eq7oBnMH_#1!Yj&!>sK0XY)c+q> afFZCd>D^_yq#mF{89ZJ6T-G@yGywqGkGQb_ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rhubarb_2.png b/mods/farming_plus/textures/farming_rhubarb_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2aadf5fde122960e9f91c6ff3fe35233e16de4d9 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf<4tYLJmK)P~Sb#!rJzX3_EKa|j zWa#ZwC~~y^_;-!MpTf1x_037d48vImw2w|BWq=wn0uN>XU(iNU}?>B?U69?(c z(4MHne79xJOzT`)nbzRM8gj@ebKc*M<+-k_zUFy;?s@#+M3#D}+viTEsXsP^{>e1H zrytPK<6q4d;JYrA^K?(X+|Q}a`FnO;-MH^U{nYZu+;?sSYkD+jp8$HC!PC{xWt~$( F697bMl`{YU literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rhubarb_3.png b/mods/farming_plus/textures/farming_rhubarb_3.png new file mode 100644 index 0000000000000000000000000000000000000000..833f65b4d75e1874bf566a2d05c9ac75b0455c78 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf<4tYK;on!ppZGl2-JzX3_EKVN{ z+{t^`fX7B?p2A*fX|_!c+cs?Vcy>}@+p!Z&j7*^~ZJYFZ6*ZdX9dcc_$m3Oo4VP!n zZ6}$6V_aGi+mE{YPfVN}nN@bo%V(bR^w~FlxTLRP<5ckuni)LhSr?0;=UH(}pPuC{ z74Oyg8K$3)R=yP9lsLDWYu@+i>V!Z literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rubber_sapling.png b/mods/farming_plus/textures/farming_rubber_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c9f5de0c191c2fb3c9e113a113ed69138bff8d GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^JsM z;N)AjnLrWF0*}aI1_o|n5N2eUHAey{$X?><>&kwIgHJ$?^Mp+vFHq>Lr;B5V#p$g< z2f3OYL~61hX)Wn)ymZfq<$bNw{EPixrq((-z0v*jXz3c&8G2$$%T_!K%CI}PN1uVgq>(Mx+ekjBKx1jbBbMLh9IxaUnTDVm=wso0n|R zT%5b~qx==U4)bC!=~>TRm%6J@>^OCG(&eAuDtZ^~>pbejcFwRwGUdSnzXi9yeq;99 W5#n{Q?w1qLV+@|IelF{r5}E)?uYE%R literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_rubber_tree_empty.png b/mods/farming_plus/textures/farming_rubber_tree_empty.png new file mode 100755 index 0000000000000000000000000000000000000000..1792951edd5e5783c39432d545a82be85c54fbaf GIT binary patch literal 835 zcmV-J1HAl+P)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn_ z5CR+B@r3A6mdXN25~mJai_QxT^b`9rl-2QKJUG+i;m|HoR8<2 zCub9NE@3>%`Rw2a0It9EEItO3Y{30{_t|>v4D-_!!#pPu!@OL9QRd|ei9nhqG)>R` z)4Kp%eg0)2k~v{sF3Ho3)H$4UsIhe3W353$M8rUvS;Ps(7;av_#)X|dX4~h98i}gZ zb<4QOiNUj|Rsi&U00V*%oU>RfBx3pN&p!Zo`_}vP3aLw|>W0pH+NL9F1R#V+R1kyW zePA>k(8oaE^#JT&-Nkn;o0AR7MTHZgY8#?P5^HJN0D!0}O&2i6(D#9e@WzYJP}LP} z(=je`FhbRIbalt4UmQ}k9Wi*&hZP3ak~+t7S)oxuz>09^^KTdq60A{%gB1TTe%-c+ z5yXHqs)!Tns=)_O3?8wLFTekZqr-1eE2t_#m28l$`^P}Q5Mhlm%M!|ELs8^3Z3nEK zcJ?k)E-TumC(AN6i=3M`Ugx``U+@|bz!?;^%IRXsx!I$1ZHuDpU)g0golq_ow0=Eo znq}O2?*m?a;R;zcpldrsF$h9lq)avniaf_+@V>{Tj?Q9|$e@RP5JG14|Iy$={Ms47kbfafk>Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn_ z5CJtR2^p@NZCU9<}q5?q+?yqS0J zJzY%Rl=LjmIscDy{_3^*I`RF08xvCi9C&v-QJBLxOAyvD{cM_-*RNw{c9AQ;jRLU$ zt<9i>nYl%@18z)AF*bS&0OuU#qyjiXUo$heK$HtJFhF7qo~ID&&|0OFT>XK%+rOcJxU?j`nYZ3N)VsV{Ki2t1E+Yyr?BDZ%4EA7lh)zrMu4_umnh z6AHBvRhP+fLLncq6el=qKtNZA|2+ANt(zJ$k|W2u>AzMYUlZV|RK$qGTFY`Aqm@Q0 z&}zlO4?kbWSVMQ$p;iA7Pg8Xn)`aQ(&SIU#K^o)TiQ9~i-r_<}FO%bAD?j-LfVqVw z;&KImp_`Kwua@}Z?jwv?G~g?Qug-nR)4!iHGIk&BRg?IXuJ%^u=I4n`WtFQB+qMyg zH6(F@78DxIorh2O{FA-ZMp3rt=X_>gERgek1_v(F-`fL#=LdwjR7t=7Mk7C7{T+bb zE5od-D`b%>QRLU;0cdUO$cX!X8lg}d;Y3iczEUU3Q*78!PjT>iYJbl*ibExiw(nwk zVV=M#taId}5Nj+0zovpMjSXl)uoc6JQ|B{<;!r6~K!hmpQA)8~j)}rB16NCn2%TNW zd9$fGYaV`YXFAlH#pQ&xg<3qVFaihLcKioc3az!K>$7eECdWqUczX*P`1qX`#1nET m%9RAq4=~28Qs20#k$(Z;HXch*gveL`0000sWZRl)tGRR^OcI-5Se z-~V4iZ^Nxe#}54Xe!o6-#e+4v|DQ@o%#=3-YFlFX#HHbIV`8njar=;V=7V>BIl`_way#T~C3!_sL9SyXum! z_E#324~xE2A@T7k>k^05m@QB3o#*f?A2yFnYG&>B1dL^Cw=qPpxA>LTyhmZj8TMXMxRc_zI&ItCS9;;kFY_{g z6zR?rnEmzYnyX&S_Zcnv&MY|`-X79;s#Wle$y2_p_lr&SdN$l}nfL9&kCOM5uKzA- gt~P&Y`*$}}yk_8!YeI>ZKp!%Ay85}Sb4q9e0Ag~1lK=n! literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_strawberry_3.png b/mods/farming_plus/textures/farming_strawberry_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ca77389e0ece5a7ba20785684d45409cd4380b26 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x381$4un6YB1eHl=Yy~NYkmHiHfJTDXP)!Oe9fI?3_T^vI!PQRVB zF^kDj#P$5_*w%(?2TwI@``K{AD`!srhVJ;3rAZqFIF_7YNpw8@m)l;!RZCZ7^KYF; zdh4{CGG4xJn`t@6y4)pnXBtmXM#QL>|!NtrbbHeG%5@)#>Iw#+e z3=EB0H#yhD&A3h8bm6bX41e<`8Q*k1-FR8IVNcE8XDeRKeD-JMz6X_)7~AguUj&qG zeAHg_^>6X!PyL^l-n@2sBZI+$fXnwXZWhh$nzQ=jgFw{+uk&5Y3a=O&ey9lSZ43@P wKjjjevh=@S)4$2x{J=k9cI^`D2W$&5IS(z@Sx_lypfi6%)4TbJ57>gZf)NO7!I4Aa}!oj*ZiQ9`O}&a4Rusq>sJUQ=q# z5H_jSy>mi^?T_d4>u1mGeSXKY3u`_IZo$FV?%=ZwMmkcQOBcFaZhnso|F7ODNbYNaBOpFX#^qw?~hN2e}u zEnQ->_@aoL5aWiMa#mT6F^#tmuMPP7#nf2Gs_sBA->0-W>TDmL`QGOJsoMO5%|h+T oe(se0|H>P)mfTsQU8DVh&%`YBlIxknx}dQ1boFyt=akR{0FIWONB{r; literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_strawberry_seed.png b/mods/farming_plus/textures/farming_strawberry_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..08c958d9e850647d0fcf2d9e033fcbce5b08f4dc GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x381$4un6YB1eHl=Yy~NYkmHiHfJTC)N`InAnpiqdXi(`nz>Er~7 zi~}6Wf6^0voIh~jK!M1q?T(WUv(L~dW#m?5ZHYP7^hEsF|G>ciYb7NlB&O>ot61`! wC}j+MP#<#TKS^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwvtrmM+Sv~l za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVIO$T|*?aCl--US?i8 z!vX1M?LaYhi2l-|Q|C?XKlsV_;=BDPAFnl{RZ9hOheT zo-U3d7QIV@t@#cah-_ZXWGy;>VbZI%2S#%ypKiEewUDnSq^xVoai_&5m7E?GU5{>j zERO2p2vW#&QR)5|_$d5Ou0t-%BsPY*x}Cj(5)({vBO?nhUh$l4qgK|Ear%{Wd+W1V zH-w|^h_60pep1HJVXKec7k4K(22mO&&p5yBv82G&Z;GSL2 z-&Dzcx2^d*A*eHli9tcLZlax@Z*2tg><6L@4lWTUrC-ipI?~Ki)@-8wfP>-mrd!L7 ita8j>G$+`*j(NUA*|mKiirs*IWAJqKb6Mw<&;$TJnbY0? literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_tomato_1.png b/mods/farming_plus/textures/farming_tomato_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7c425ed0fbea8fd75f8fb699d7e23570320bf6 GIT binary patch literal 482 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwGgCXT*0~NW ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*ZydIWXRhIY_W!%>jDF+2n;%?aNw)v_ZPLTb@7EvM zt?(=2>VNh7aYi}Y=AWo|{@A(g^E_>dpAkDH7xjlGmLL89|9|15xuFmLe>@3f%GXO2 jaCI4J^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwGZzs|RNfC3 za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOar-;4Wuk2vm_^#Va2;k>OhfJ zPZ!4!i{9iv|Nq-Ft2T5h-CfMaBg$OE|Lp&F+Zp}F8#g?-#FA|P^V_6{m*1~HvRmO- z#MS@m_v4Imw#`3L@%*uK+vj=O5^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fwwv*4GR^KA}T z$TgzGv9u&3zldSwx-%X?A+8djkaK=PWl?5&MhU|j{xeoUQ9iI}QEFmIW`3SRNoH;; zgXwpEPM{1YNG3Qxt)x7$D3u|$;6F$?H%QPWvp6{?5va6?Vf%qC{Xk(3kZ^cnQC?Q0!XYD{Sc8LDcqU2PDum780!<0Ga=jNv7l`woeGi^Umj18nLB(o$Zm0`uZOX@(8 zvz{)FAr`&KfByfsXI5?KRJvPYc;I`&zxw;lKP~>AZ1NWF`TOLycbotI{X*}XUL=S9 zpI=jba>LC!rN?vo`6bU)uSPx!k9U@bwf;Y@4rJErBo=i2|G(}P z$Bx`nvupkv8yFb8S=IOBd_kA|VbLCqmkg^CuDkiKSy%e`K40RD+LR>=#S0o@uL^3! zH8X}VU-;9%W@ck!o(q3)@dW^x-)z4*}Q$iB}!lm51 literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_tomato_4.png b/mods/farming_plus/textures/farming_tomato_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f5db4e30a01258b54f6281f2d28e57ef309770 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwXAqV|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxgwdiV7npf4FbUHx3vIVCg!02vSBr~m)} literal 0 HcmV?d00001 diff --git a/mods/farming_plus/textures/farming_tomato_seed.png b/mods/farming_plus/textures/farming_tomato_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..dbef76e7984dbf972498ce7fc0c9917a85c0378d GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85s1GL71^(seKtxkiEpy*OmPahde(Y53hGj3Q#E4)5S5w;&gI? zM8*M*r=e|Nr#m|NU1oRGu7C6zVnU^<&`3Fyv=l*YN^q5re0zpUXO@ GgeCyv?@1N_ literal 0 HcmV?d00001 diff --git a/mods/farming_plus/tomatoes.lua b/mods/farming_plus/tomatoes.lua new file mode 100644 index 0000000..ba9cd08 --- /dev/null +++ b/mods/farming_plus/tomatoes.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:tomato_seed", { + description = "Tomato Seeds", + inventory_image = "farming_tomato_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:tomato_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:tomato_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+8/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+13/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_tomato_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:tomato_seed'} }, + { items = {'farming_plus:tomato_seed'}, rarity = 2}, + { items = {'farming_plus:tomato_seed'}, rarity = 5}, + { items = {'farming_plus:tomato_item'} }, + { items = {'farming_plus:tomato_item'}, rarity = 2 }, + { items = {'farming_plus:tomato_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:tomato_item", { + description = "Tomato", + inventory_image = "farming_tomato.png", + on_use = minetest.item_eat(4), +}) + +farming:add_plant("farming_plus:tomato", {"farming_plus:tomato_1", "farming_plus:tomato_2", "farming_plus:tomato_3"}, 50, 20) diff --git a/mods/flowers/.gitignore b/mods/flowers/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/mods/flowers/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/mods/flowers/README b/mods/flowers/README new file mode 100644 index 0000000..a8a5f6f --- /dev/null +++ b/mods/flowers/README @@ -0,0 +1,6 @@ +This is a mostly-rewrite of Ironzorg's flowers mod, using more recent features +in the game, to make the code perform better. + +Dependencies: none (just the game's default stuff) + +License: cc-by-sa 3.0 for the textures, WTFPL for everything else. diff --git a/mods/flowers/changelog.txt b/mods/flowers/changelog.txt new file mode 100644 index 0000000..fbe7518 --- /dev/null +++ b/mods/flowers/changelog.txt @@ -0,0 +1,24 @@ +Changelog +--------- + +2012-08-06: Tweaked selection boxes on all nodes. Tweaked seaweed to use +signlike instead of raillike drawtype, (still forced to only spawn flat as +usual). Adjusted light level limits to give it more time to grow. Created +this changelog file using github commit messages as the basis. Shrunk the +geranium flower down a bit to better match the others. + +2012-08-03: Tuned out the random-numbers-inside-ABM stuff. Uses the ABM's +chance setting instead. Should be approximately the same as before, but +hopefully using a tad less CPU. Minor tweak to ABM interval/growing delay. + +2012-08-01: Added blue geranium to the collection of flowers. + +2012-07-31: Disable debug by default. + +2012-07-30: many updates over the course of the day - first commit, removed +some redundant files, added wield/inventory image entries for each item, to +force the game to draw them properly (these shouldn't be needed, must be a +bug). Tweaked spawn code so that the radius check also includes the name of +the item being spawned as well as items in group:flower, that way all items can +have a radius test, and not just those in group:flower. Fiddled with the spawn +rates a bit. diff --git a/mods/flowers/copyright.txt b/mods/flowers/copyright.txt new file mode 100644 index 0000000..6a4112f --- /dev/null +++ b/mods/flowers/copyright.txt @@ -0,0 +1,4 @@ +Flowers mod by Vanessa Ezekowitz - mostly complete rewrite of Flowers by +Ironzorg. + +Textures included herein are ironzorg's original 16px ones. diff --git a/mods/flowers/depends.txt b/mods/flowers/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/flowers/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua new file mode 100644 index 0000000..b9b5568 --- /dev/null +++ b/mods/flowers/init.lua @@ -0,0 +1,239 @@ +-- Flowers mod by VanessaE, 2012-08-01 +-- Rewritten from Ironzorg's last update, +-- as included in Nature Pack Controlled +-- +-- License: WTFPL (applies to all parts and textures) +-- + +math.randomseed(os.time()) + +local DEBUG = 0 + +local GROWING_DELAY = 500 -- larger numbers = ABM runs less often. default is 500 +local GROWCHANCE = 50 -- larger = less chance to grow. default is 50 + +local FLOWERS = { + { "Rose", "rose", GROWING_DELAY, 10, GROWCHANCE }, + { "Tulip", "tulip", GROWING_DELAY, 10, GROWCHANCE }, + { "Yellow Dandelion", "dandelion_yellow", GROWING_DELAY, 10, GROWCHANCE*2 }, + { "White Dandelion", "dandelion_white", GROWING_DELAY, 10, GROWCHANCE*2 }, + { "Blue Geranium", "geranium", GROWING_DELAY, 10, GROWCHANCE }, + { "Viola", "viola", GROWING_DELAY, 10, GROWCHANCE }, + { "Cotton Plant", "cotton", GROWING_DELAY, 10, GROWCHANCE*2 }, +} + +local dbg = function(s) + if DEBUG == 1 then + print("[FLOWERS] " .. s) + end +end + +local is_node_loaded = function(node_pos) + n = minetest.env:get_node_or_nil(node_pos) + if (n == nil) or (n.name == "ignore") then + return false + end + return true +end + +spawn_on_surfaces = function(spawndelay, spawnflower, spawnradius, spawnchance, spawnsurface, spawnavoid) + minetest.register_abm({ + nodenames = { spawnsurface }, + interval = spawndelay, + chance = spawnchance, + + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + if (n_top.name == "air") and is_node_loaded(p_top) then + if (minetest.env:find_node_near(p_top, spawnradius, spawnavoid) == nil ) + and (minetest.env:get_node_light(p_top, nil) > 4) then + dbg("Spawning "..spawnflower.." at "..dump(p_top).." on "..spawnsurface) + minetest.env:add_node(p_top, { name = spawnflower }) + end + end + end + }) +end + +-- On regular fertile ground, any flower except waterlilies can spawn + +for i in ipairs(FLOWERS) do + local flowerdesc = FLOWERS[i][1] + local flower = FLOWERS[i][2] + local delay = FLOWERS[i][3] + local radius = FLOWERS[i][4] + local chance = FLOWERS[i][5] + + minetest.register_node("flowers:flower_"..flower, { + description = flowerdesc, + drawtype = "plantlike", + tiles = { "flower_"..flower..".png" }, + inventory_image = "flower_"..flower..".png", + wield_image = "flower_"..flower..".png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + groups = { snappy = 3,flammable=2, flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, + }) + + minetest.register_node("flowers:flower_"..flower.."_pot", { + description = flowerdesc.." in a pot", + drawtype = "plantlike", + tiles = { "flower_"..flower.."_pot.png" }, + inventory_image = "flower_"..flower.."_pot.png", + wield_image = "flower_"..flower.."_pot.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + groups = { snappy = 3,flammable=2 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }, + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "flowers:flower_"..flower.."_pot", + recipe = { + "flowers:flower_pot", + "flowers:flower_"..flower + } + }) + + spawn_on_surfaces(delay, "flowers:flower_"..flower, radius, chance, "default:dirt_with_grass", "group:flower") + spawn_on_surfaces(delay, "flowers:flower_"..flower, radius, chance, "default:dirt", "group:flower") +end + +-- These few have to be defined separately because of some special +-- condition. Waterlilies only spawn on top of water for example. + +minetest.register_node("flowers:flower_waterlily", { + description = "Waterlily", + drawtype = "raillike", + tiles = { "flower_waterlily.png" }, + inventory_image = "flower_waterlily.png", + wield_image = "flower_waterlily.png", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + groups = { snappy = 3,flammable=2,flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.4, -0.5, -0.4, 0.4, -0.45, 0.4 }, + }, +}) + +spawn_on_surfaces(GROWING_DELAY/2, "flowers:flower_waterlily", 15, GROWCHANCE*3, "default:water_source", "group:flower") + +-- Seaweed requires specific circumstances under which it will spawn + +minetest.register_node("flowers:flower_seaweed", { + description = "Seaweed", + drawtype = "signlike", + tiles = { "flower_seaweed.png" }, + inventory_image = "flower_seaweed.png", + wield_image = "flower_seaweed.png", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + groups = { snappy = 3,flammable=2,flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, -0.4, 0.5 }, + }, +}) + +minetest.register_abm({ + nodenames = { "default:water_source" }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*2, + neighbors = {"default:dirt", "default:dirt_with_grass"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:dirt", "default:dirt_with_grass"})) > 0 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +minetest.register_abm({ + nodenames = { "default:dirt", "default:dirt_with_grass", }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*4, + neighbors = {"default:water_source"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:water_source"})) > 1 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +minetest.register_abm({ + nodenames = { "default:stone", }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*2, + neighbors = {"default:water_source"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:water_source"})) > 6 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +-- Additional crafts, etc. + +minetest.register_craftitem("flowers:flower_pot", { + description = "Flower Pot", + inventory_image = "flower_pot.png", +}) + +minetest.register_craft( { + output = "flowers:flower_pot", + recipe = { + { "default:clay_brick", "", "default:clay_brick" }, + { "", "default:clay_brick", "" } + }, +}) + +minetest.register_craftitem("flowers:cotton", { + description = "Cotton", + image = "cotton.png", +}) + +minetest.register_craft({ + output = "flowers:cotton 3", + recipe ={ + {"flowers:flower_cotton"}, + } +}) + +print("[Flowers] Loaded!") diff --git a/mods/flowers/license.txt b/mods/flowers/license.txt new file mode 100644 index 0000000..2dc8cbf --- /dev/null +++ b/mods/flowers/license.txt @@ -0,0 +1,3 @@ +All code is WTFPL. +All textures are cc-by-sa 3.0. + diff --git a/mods/flowers/textures/cotton.png b/mods/flowers/textures/cotton.png new file mode 100644 index 0000000000000000000000000000000000000000..c184db25a22b83fddef424ab990e65b24903c44f GIT binary patch literal 680 zcmV;Z0$2TsP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipt` z3K<$u{=q>200JmUL_t(I%dL~KYZO5k#ecK8TeIC5=Yo32+CvecJvG zyaql3Pl0Pnsm^(VO=HZn(P-3)uYOk)!}d`@;sj_^?kn{;HQZ5#tGQpyh5-DY&h(@D96h$cYdp)eR?C zYPCjZ2z=k)%CgL{)?%$iYdr^*YciRzva*7;cKiGyeGozfgTa6(ifFgnxUNf*Bp74n z1gE|jA;b@@^<%BInwvNn3_dxIb3+JG6+&RGMF_!oJVr{1F@_)r=yWQL70(Y)*K0-AbW|YuPgg)9v)5u;e4ftaG=m`PZ!4!i_>o> zZRBk>5OAHZERwe46wkz_CN=IQXEa#Z=uU8HdbEPt4Wl zf7$>4ul0||-vbt=T{aO@=u38SVU$SLIbgt};<-qSm0{JYO;OqZ^KOeZnE2ke2<*t| z5p=&4^;_!DyXHo@1+T5%xjuAl_?*Rd`RCp9sgaXXB^%DC6n7N=E^d6lp_eKcxc#{3 zgBNBGj+j55@;>*(-B(h}pX{p(dcOGAt4n;-GcJDOX3g|*US9De6X*>FPgg&ebxsLQ E0C%Z(`~Uy| literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_cotton_pot.png b/mods/flowers/textures/flower_cotton_pot.png new file mode 100644 index 0000000000000000000000000000000000000000..9432adf8ffcab9b8adeb6ce5d5308f2350d0ba45 GIT binary patch literal 498 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9v)63ga5_e%Yj0&nIRD+&iT2y zsd*(pE(3#eQEFmIYKlU6W=V#EyQgnJie4%^&^k{~7sn8b)4h}SdNDhSwC=Z#!}xg8gFT7w&KokxpKT87 z-#y~_tn$~7CY|4&rwq@%|6j=PVaMGIzg1j?yd8V5{#ZIiI)qb0_OZI=C%N@rQCkoE jn|s1&f{f$Zs`7n|kE*AYe|w<39u(T1u6{1-oD!M<`)A2a literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_dandelion_white.png b/mods/flowers/textures/flower_dandelion_white.png new file mode 100644 index 0000000000000000000000000000000000000000..b22d6d4644b7cc8cc1ff653d9c58d163d2ec79db GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|l097o(u`H(92`!1w&QKh4$2!MF6?CM7Z6oM629UqUE1!^C9@uhz7< R#R08j@O1TaS?83{1OP(iJX8Px literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_dandelion_white_pot.png b/mods/flowers/textures/flower_dandelion_white_pot.png new file mode 100644 index 0000000000000000000000000000000000000000..1b48fe6e963cd7bfa2fd241aa9ed243bf0a89e6b GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcrO0(btiIVPik{pF~z5pDoGT z-GxB|1i2*>B!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn~1*ny)dWgKq1Kz*N775 z{M_8syb=cIqSVBa)D(sC%#sWRcTeAd@J2pypsgC7E{-7%|->(7JzT_0$Jh z*OXdvq_}mr2!t@TaWKXoICbt`*czRqm%=|N*06CqT03%oT<)CgGtvOw1 z)uLA{-*wcy{Mj5yhIQ-oMH+e+f1K~W>sQPgx4jl!=R=b3Ucb9DlXXJM^03XV@!uk2 zBBot=^<+zJ*4ig8Z-+Z95qvkJ_ndWX`hs1tr(fUo@^jziYh@PM$5X#U`mOT*kkE0n6a&>gTe~DWM4f D1XQw; literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_dandelion_yellow.png b/mods/flowers/textures/flower_dandelion_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..500adef8efb469520f44acb82102945520c3cc29 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|54w#*DsIMh&NDbHKmL;Z^NEG`g2}={2>}+hOr8IlpPHs{ z3a2JIa0sL}+}GLmUxi)C=kjLb{}1lnnDVWA;*tmlvnOZP*hgGtV%VT3^Xlr1|L#D$ O7(8A5T-G@yGywo3={m9i literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_dandelion_yellow_pot.png b/mods/flowers/textures/flower_dandelion_yellow_pot.png new file mode 100644 index 0000000000000000000000000000000000000000..42a0cd7530a726cd72e217454cbcd92d6a12fba1 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcrO0(btiIVPik{pF~z5pDoGT z-GxB|1i2*>B!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn~1*tw~$|)Kq1Kz*N775 z{M_8syb=cIqSVBa)D(sC%#sWRcTeAd@J2pypsi}2E{-7&5IS(z<`9th2!^ zjx!kPC0#ZRDEq zMon{3yy=-aJD<<9W_DQJrgPw&Ym?%ZtQF~t<4$%OuE-bJvfp5F#PU~~T^9e+KC4_T z&e+xcwZ`rJeY=HDLBe`_vbOC#@z%|9?e3{d+LpcjzJ0M!PweBT7;b%yjzUWuIgtPq8*yS7L7DY(u zb*5C^iV8c%tl1FYk+9~V#Oc-gUFp};o(S-ZZMK>--;K*Lq37X?g=atdp6+?G;B>L- z>i)idm7sIV@wJ^-cR8|d%iqt@#K1Y{Iscr4{O4k_!{=Lj<^hA1!PC{xWt~$(69AQ6 BwTS=# literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_geranium.png b/mods/flowers/textures/flower_geranium.png new file mode 100644 index 0000000000000000000000000000000000000000..5325982eac3e749ef71ec3c2e16df67bd5a730e6 GIT binary patch literal 361 zcmV-v0ha!WP)>P|7_OhMV&GyCXHYe9 zC(Z?SfwTY1Xp}HKJhzR(RG**0)=Gq7#==(&U;iIsU}xcA*uN$Pu8#$q0bjppFg&`r zmw}n_FN3h)Zw6lO9}GVj&NKY~Zo%;R|91w0Uii=Oo#EHtZwxE~yBLn1dCySOeVaj6 zBah+F{~rvDj6aAALiT?5MvKF&f4HM&AJnB8g%on!G$ZUD1o#72<5R&D%Xk_V`%Iw{abLex-Q$B zYZP3Kmv^~8=TY!ln8c;Ew@hWBCcV5mEhx{|#MMRe{uV(#;G}&O8@xlz7}4P@Uq0O$ zoWZxxRn-p9Fgf*%!>G-1r$cz~h>6Ru`i4_C=&ee%E=ot3*yHQk?SX7&J$*ANgZg?< zbNOW;VnZIUc$t#EwRRWFGMp2%SenwIIjK(WsQjQiEBUD#_}l01*oUN-17!AMtu?zmIp)1aV?%geQ6U-O||L(0000< KMNUMnLSTZx$>pd3 literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_pot.png b/mods/flowers/textures/flower_pot.png new file mode 100644 index 0000000000000000000000000000000000000000..1c16464ceb8e86d29deae07c146999df3d557fb0 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcrO0(btiIVPik{pF~z5pDoGT z-GxB|1i2*>B!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn~0`qY|fIeKq1Kz*N775 z{M_8syb=cIqSVBa)D(sC%#sWRcTeAd@J2pyprW^)E{-7{=f>&5IS;&y(ntm2MY zTR9XrZoF_P$R$9D93i85tXeK7<6< z6u;XmKjq=B*zlGA=PuhOp5|q_Z^NUF_fCBIBiGTjMA&ZLmtQBhmuwHcdbH?ie_H>< z^TyX-UHwxkAd|Ml?%|H_DGd8KwivzNHcPaiZ|C84yjNq_`MgRief9sV!Ma)8dFIom zs46@aXk~fEV|+YWU^DyjZ;Kfc(l;)<`!jP12a|E~`&H-v-Q4?km*c_M-OHvsItZ=w u&yca@Ir}TH>Fj6oPd4sM^IIm$)-dp&^()=HdxI{};|!jzelF{r5}E*4QlKjU literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_rose.png b/mods/flowers/textures/flower_rose.png new file mode 100644 index 0000000000000000000000000000000000000000..4047d3ff25045e93dbb685eabd382c12df65e308 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|QaxQ9Lo7}w zCrGd|^Gkg6oR^sJB!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn}`le;n9FDppayVYeb22 zer|4RUI~M9QEFmIYKlU6W=V#EyQgnJcq5-U&{lI#7sn8b(@Q7Wdow!<9IfBH-OFIs zW)8)T8!sp=^>FAE_`n@;Gc#8^Y+BOG@D1C(8AotLE!oudzsp35xl2OSq}*JrN=UET z@<{kuqx`h{)w>x?92r;S-h6+kckvAI#dkG&AEhta8+CE+&rH?{2i=6Xd=1W5t72Fq z+m{{mRzG{`o7b S7hwntX9iDKKbLh*2~7ZBfV|cK literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_seaweed.png b/mods/flowers/textures/flower_seaweed.png new file mode 100644 index 0000000000000000000000000000000000000000..5d34ec9da3f1d9ef73244f76990634e598526014 GIT binary patch literal 416 zcmV;R0bl-!P)YN5?qJWrjeaax6WiE?G0&vLauj{ zsNjzWrStU|%d8*)Yfc`NB!@=ygUe%4Non#rMY+5)j35B$2bTdf(?4A5yu}JdLvR>X zwy-0ND*F@CI)i1_4D7tcp)nhL+Qd3a$N3W6K$=G-`OVkQFUYIO-Pq;Oc$zKc9R|z8{kbzjIFg6sxgFB!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn}`8ldHR!+Kq1Kz*N775 z{M_8syb=cIqSVBa)D(sC%#sWRcTeAd@J2pypsjkIE{-7+KXMajgFR&gBBS zxdIobbx27$w=6o4k&&Bq`ljiuMVeB-`IV$*|CW|&nk94VmsHFt7G+b=GIaPuXFFRwimTo9G3Xt;2+bF$oBh7nny;R{k^gtyENeSv9(JiJ-lygH`p^qEcox4b|5ZQxm+AE4%=epL zOSyPNwy%D+o8e3Oj!7HSmQP?vp0P8-fa0FN3G6 KpUXO@geCyHj=u>2 literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_viola.png b/mods/flowers/textures/flower_viola.png new file mode 100644 index 0000000000000000000000000000000000000000..21e17bdedab64d71b333087d8513aecb6c130494 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|+&o9GliBFv_q`eYoB7>)^pUXO@geCxvrY$c3 literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_viola_pot.png b/mods/flowers/textures/flower_viola_pot.png new file mode 100644 index 0000000000000000000000000000000000000000..db02084e2c9b3f9753c52673e0132f3bc848b123 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcrO0(btiIVPik{pF~z5pDoGT z-GxB|1i2*>B!D8E1s;*b3=G`DAk4@xYYs?|y~NYkmHjpkn}~s)59bj^ppayVYeb22 zer|4RUI~M9QEFmIYKlU6W=V#EyQgnJcq5-U&{j=P7sn8b(_1I)^PgSvI-Q$l-n^uS>%X7o%P^do1{wkhbLVU(ro(i)u3B zuJuM__hqa*d%2jwh{36e#f8&FB#zgxv_|zBE5iok@CWzKu$&N3P*A$D|NWy6zaow5 z1um`=`*G1&fiv7%WA5G)0kUiE*C=u@O=u|d$?~^%I$L;K?8lT$V8}9fy85}Sb4q9e E0GSZB6aWAK literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flower_waterlily.png b/mods/flowers/textures/flower_waterlily.png new file mode 100644 index 0000000000000000000000000000000000000000..0235d8499dfa133d595d653c2a551137ee8a9dbe GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|rhB?LhFF|V zPFP@G@%Px#24YJ`L;yknA^-`QWtw~d000SaNLh0L01l=A01l=Bhuo=e00007bV*G`2iyw; z5;PT<&#_CX>@2HM@dakSAh-}000JFNklCz-61*lq%LOcEdjg^Lsrsv0##5LFebWR>;-P$Md( zh^lIZ@&F1Cg-WPZY5RbL$^$|nLfl$`MbbF5wv{>;)`}A#ah)ZJL zcF!3n0>J}aX|*#ubLRWzfBC-uxh^*|6R02{Pys4XC>0O{3Z)c5ppZ&m3zX8=1AVN| z^|1^TK@bqg>N8aBc|j0Z=Tbl4!g4E0@rxg9;s5b@Wba>am6QNvv)ON*fK(D!DOLNU ze5-3Z(70oR3({uPaYqwE?e=r^aVqcM324xBXL>tlkA z-H`Bsq*>P64M|UzP5g=>@#32vxe1-x77vn1$egkXRH8L7b_{Z#!2d>Ja0vDvGvGHR z1e-R3pAJ*xSiFm{(uZx!;YUA&=N>gAc0ccNYzWSM1}#mn<9;gzN=9qo?;nEWLM{(u z*BS5|<^+Wbe0&n>9JqBJuJ1Ardgpy8EWl5H0$aBO%itAX(D$?^@xp$eyVnR3aUBKD z*hOe}fdg%AFkCR;&;3j=JFDg4^l2C#fuqM^Q@2^xvJCFK9d5e=SOqKx;_%Y11&{61 zBo5=VzCjR+Efykaitx5x`17Cv|NU;k^}c=>Wmww<{%SaM5Z>ztTJ^ft6m+c%@2iA* zq9Cype)D6&v#*AN<@>Y=0bwV|io&hPN{xUG{>na~^Xvij`g*JpZg!!$3I068!ksW~=_+9}kfYo8OCqp7j!EFRD2_04qG&RG) zLvZdC6f$8qEoc=i&O$r^{8vPzyQ%|`BCN`5-(K%)naX9?<8lF>e)&soYLCixjlkjv ze3Q>NU01oP3qpoZ?hc@%*;$y&L179eFGFrlo6D-@L_K6SEWWvL zp70=*hFf}JTpI8@SBVG#S6Xct14c4}&7rI9$7e@TT+`28I|9?8f5fkzC;s|@0e}2^ zf{|m3rPy-AbiMZRiHsl}l6V&%mIxdNHuq{jpPq(fi$x$G3eW_!Kl6y- z!X(UG`I32{J_cRwP*R{u0(?W_!7ZZZ=g#7CE`)C^%{xk>-7NnhhGYIKd(u=cEo4loS--dnEd05msi(uo8- z^j&!OQ)?ixBT)78haZC5x9IjcGyr>cnMl;H@hAsirIO)6?e{kL&$kN(hM-)A^Apgt z6f;lMyr6<>x1sIlE3U&X&36JTZ2_8c6IE^zHcy z7c5a5CKm6Cs`CVcUt?<~RWt(Mwj0*wfqVL%vbN>+_Bq^kt3YqTmAs2&5t)xcXkD_yQ{`0O&rA+Iau~002ovPDHLkV1i-hHlF|h literal 0 HcmV?d00001 diff --git a/mods/glow/textures/glow_stone.png b/mods/glow/textures/glow_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..71b97c0e942a06deb259e85c4e4be612db2a0346 GIT binary patch literal 1651 zcmV-(28{WMP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01l=A01l=Bhuo=e00007bV*G`2iyw; z4mdJ|Oc28W000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000HfNklGqyTMi&g<0>C~z|s;shPgk>=?hE^Q+UFTF~-Jelqr_DcAE+wpoO=`dGFU8JdEAw zLyQQ|QNTRcukg1INo^wDvJE}q0;xB6e}vX7XU?&>L>9Ln@z(dr4^yr1sLX>o?xFtD z`Lhq0xlSCht3+=eo6vTLnwFdzan}jRwPI26ALJ1tef|~ot_Os_xDk$6sWHF6?n!oy(Q2_&q_oQ7GTXP&KS11C zBPwDI>7<=T0$If7EL(@@&rzw-Y?98fbC^z?yGqnUwn4GUES7F?>o$|Ssn+O>NcYgw z%ce{y5qE|Cu@=h7Bi4nlQF5U=;kQ|FzPEM;<@__=ZT&Z zHPO34>%tSxULczdn=%>R`2m>`3zk@mIO^wL0f6 zGdW2m`+my2y63f0C(bM#mT$4g{;Lv1KIDhc$LiFfz{BGyLOY{%|_bsSY8gDRO`e&q?_osM_^e2pr@!C)#VvFGtt3}qDq`H}#B|AVm6(->6I{6gw;{x~QSz2Xu56@$w zH1df_btnH;Kqan_8)Vl6Bb&)Tr#H))vy2QexJd7K5V2~FS|uoFv&G{DMz&FFusKoO z_~8RSE{6_}loAmdNZv8CQCKT5UT5G(sl;H8W3Tf1v9RW^e`mGATR&#UDAkqV2lZ8! z%Ry-Sv*dF@4e#6|zETc8)WYq52j?5BpqPAo+0SdCvxPaXTxMjH6UTXxC*IA4Jn`q# z|DPw~&Y+UH!H_4SI7oIp+oqqln>xe(5shr42ui1g`uyPb?=8mN&A*H}gaky_6@WgR#YXr`q%LcJoBs zuAjGZ?d6F$+T5O>zxz&md7|^=`{|SI_<7G$+Q}1fyMEqoo`~$ literal 0 HcmV?d00001 diff --git a/mods/homedecor/.gitignore b/mods/homedecor/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/mods/homedecor/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/mods/homedecor/README b/mods/homedecor/README new file mode 100644 index 0000000..07deaab --- /dev/null +++ b/mods/homedecor/README @@ -0,0 +1,49 @@ +This is what I consider to be a fairly feature-filled home decor mod. +It supplies a bunch of stuff found in most homes, like flower pots, home +electronics, brass and wrought-iron tables, and lots more! + +All items can be accessed either by crafting various other items +together, or with the usual /give commands. To get a list of the actual +node names, just go into the homedecor/ folder and run the listnodes.sh +Bash script. Note that a few of the listed nodes are kinda useless by +themselves (like the various parts of the folding doors). + +All of the images used for the recipes in the forum post tracking this +mod are included in the crafting-guide/ folder. + +Most stuff can be made from materials found through a game world. Some +stuff can only be crafted by using materials from another mod (look for +the orange highlights). Currently, this mod can use materials from +moreores, mesecons, wool, and unifieddyes if present. You can still use +the usual /give commands to get the items that depend on these mods if +you don't use them installed. + +This mod is still a work-in-progress, but should be complete enough not +to irritate anyone. :-) Namely, dressers still need to be fleshed out, +many items can be used as fuel but the burn times need tuning, and I +need to tune the cook time and fuel usage on the four smelted items. + +This mod was put together using a recent git pull, and requires a +build/pull dated June 17, 2012 or later. Most stuff should work fine on +older builds as well, but a few nodes in this mod require Nodebox +support, a feature added to Minetest on that date. It will NOT work +with Minetest v0.3 (that version doesn't support mods). + +Much of the code (especially for the doors) plus the bucket were taken +from the files which come with Minetest and altered to suit. Many +thanks to Jeija for coming up with an elegant cylinder using nodeboxes; +see his 'irregular' mods). His code is used herein (you can guess where +:-) ). + +Dependencies: none (just the game's default stuff) + +Recommends: buckets, flowers, unifieddyes, junglegrass, moreores, +mesecons, wool + +License: GPL for all lua code. WTFPL for all of my textures and +everything else. + +The distribution archive also supplies a copy of Ironzorg's Flowers mod +and of my Unified Dyes mod, since this mod provides more stuff when +those two are present. You can remove these if you want - they're only +needed if you want to craft the various dyed/colored items. diff --git a/mods/homedecor/changelog.txt b/mods/homedecor/changelog.txt new file mode 100644 index 0000000..a98aec8 --- /dev/null +++ b/mods/homedecor/changelog.txt @@ -0,0 +1,89 @@ +Changelog +--------- +2012-09-25: Added alternate recipes for most items that use dyes. Removed +Mesecons dependency from TV and stereo (uses in-built silicon lumps if Mesecons +isn't present). Replaced speakers' Mesecons Noteblocks with copper ingots from +Moreores. + +2012-08-01: Added optional recipes for items that use wool to also use cotton +instead. Choose one or the other in any given recipe (you can't mix the two). +No, it isn't a Kosher thing. ;-) + +2012-07-28: Noticed I technically had left/right textures swapped on a few +blocks. The textures were drawn to counteract this, without my realizing I was +doing just that. :-) Fixed. Also replaced all "tile_images" references with +"tiles", since the former is deprecated in favor of the latter. + +2012-07-26: Updated to use the Vessels mod to give back empty dye bottles. + +2012-07-24: Made all objects that use a dye require a more appropriate color, +made all objects that use a dye give back empty bottles on craft, made grey +shutters use the various grey paints directly. Moved this changelog out of the +forum post and into this separate file. + +2012-07-12: Moved project to github. + +2012-07-02: Deleted a few redundant files from the unified dyes mod. + +2012-06-30: Added a fancy wood-and-glass door. Textures used here were +formerly used for (and have been replaced by new textures for) the default wood +door in my realistic texture packs. + +2012-06-27: Relaxed dependency on UnifiedDyes to prevent depending on Flowers. +The mod will still use them if available; if not, you just can't craft the +various colored objects. + +2012-06-26: Separated dyes into their own mod ("unifieddyes"). Added a copy of +flowers and made this mod depend on it and unified dyes. Updated all crafting +recipes to fit, got rid of the conditional code for flowers (since it is a +dependency now), removed a bunch of redundant register_craftitem code, fixed +some copy&paste errors on the window shutters. As a consequence of these +changes, white paint, titanium dioxide, and all colors of dyes will have to be +removed and replaced (but the things that depend on them are fine). + +2012-06-25: Removed all of the old legacy_wallmounted references - I didn't +realize they were deprecated (and they were causing out-of-nodes issues also). + +2012-06-23: Added small speaker, round brass pole, square wrought iron pole +(without connecting rungs). Fairly recent version of Minetest required for +these to work (uses nodeboxes). Note that if you've placed brass or wrought +iron poles in your world already, they will be drawn using these newer styles; +if you need the square poles and/or connecting rungs, you'll need to remove +them and craft brass/wrought iron fences instead. + +2012-06-16: Tweaked terracotta roof tiles/shingles to give the 4 pieces back on +digging a 'shingle'. + +2012-06-15 (a bit later): Did the same for the stereo and television and +improved them in the process. + +2012-06-15: Tweaked the speaker textures, added separate images for all 6 +sides. + +2012-06-14: Added right-opening versions of oak and mahogany "folding" doors - +allows one to create double doors. Split the two colors into separate files. +Inspired by Calinou's update to the default doors mod - works the same way too. +:-) + +2012-06-13 (a lot later): Changed the crafting recipe slightly for nightstands +- they're designated as 'oak' now. Added crafting recipe for mahogany +variants. If you've already placed nightstands into your world, you should +remove them before updating - sorry, you'll have to rebuild them due my having +had to change the node names. Added initial crafting recipes for oak and +mahogany drawers and complete dressers (dresser components are not yet useful, +work in progress. See crafts.lua for more details). + +2012-06-13: Changed buckets of white paint so that the empty bucket is returned +when the bucket of paint is crafted into something else (rather than when the +bucket of paint is first created). * Fixed copy&paste error from the previous +bucket change. * Moved smelting and crafting of white paint from crafts.lua +over to dyes.lua. + +2012-06-12: Multiple post-release updates over the course of the day. * Fixed +recipe collision with glass panes. * Implemented a full set of dyes derived +from flowers, updated all related crafting recipes and screenshots to match. * +Collected all dyes into one file. Changed recipes for blue and purple dyes to +something that makes a bit more sense. :-) * Tweaked oak shutters to give two +pieces on crafting. * Added alternate recipes for orange and green dyes. + +2012-06-12: Initial release. diff --git a/mods/homedecor/copyright.txt b/mods/homedecor/copyright.txt new file mode 100644 index 0000000..14613ff --- /dev/null +++ b/mods/homedecor/copyright.txt @@ -0,0 +1,6 @@ +Most code and all textures by Vanessa Ezekowitz. + +Some code copied and modified from the game's default mods (especially +doors) and ironzorg's flowers mod. + +Licenses: For the lua code, GPL. For all images and everything else, WTFPL. diff --git a/mods/homedecor/crafts.lua b/mods/homedecor/crafts.lua new file mode 100644 index 0000000..69490e1 --- /dev/null +++ b/mods/homedecor/crafts.lua @@ -0,0 +1,1715 @@ +-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz +-- 2012-06-12 +-- +-- Mostly my own code; overall template borrowed from game default +-- +-- License: GPL +-- + +-- Some recipes need white paint. If Unified Dyes isn't present, +-- implement the standard white paint production method here instead, +-- plus some alternate recipes in the event of material shorages. + +if ( minetest.get_modpath("unifieddyes") ) == nil then + + minetest.register_craftitem(":unifieddyes:titanium_dioxide", { + description = "Titanium Dioxide", + inventory_image = "homedecor_titanium_dioxide.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "unifieddyes:titanium_dioxide 10", + recipe = "default:stone", + }) + + minetest.register_craftitem(":unifieddyes:white_paint", { + description = "Bucket of white paint", + inventory_image = "homedecor_white_paint.png", + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:junglegrass", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:dry_shrub", + "default:dry_shrub", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:leaves", + "default:leaves", + "default:leaves", + }, + }) +end + + +-- misc stuff :D + +minetest.register_craftitem("homedecor:terracotta_base", { + description = "Uncooked Terracotta Base", + inventory_image = "homedecor_terracotta_base.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:terracotta_base 8", + recipe = { + "default:dirt", + "default:clay_lump", + "bucket:bucket_water" + }, + replacements = { {'bucket:bucket_water', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craftitem("homedecor:roof_tile_terracotta", { + description = "Terracotta Roof Tile", + inventory_image = "homedecor_roof_tile_terracotta.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "homedecor:roof_tile_terracotta", + recipe = "homedecor:terracotta_base", +}) + +minetest.register_craft( { + output = 'homedecor:shingles_terracotta', + recipe = { + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, + }, +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_terracotta', + recipe = { + { 'homedecor:roof_tile_terracotta', 'default:dirt', 'homedecor:roof_tile_terracotta' }, + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta' }, + }, +}) + +-- + +minetest.register_craftitem("homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "homedecor_plastic_sheeting.png", +}) + +minetest.register_craftitem("homedecor:plastic_base", { + description = "Unprocessed Plastic base", + wield_image = "homedecor_plastic_base.png", + inventory_image = "homedecor_plastic_base_inv.png", +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 6', + recipe = { "default:junglegrass", + "default:junglegrass", + "default:junglegrass" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 3', + recipe = { "default:dry_shrub", + "default:dry_shrub", + "default:dry_shrub" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 4', + recipe = { "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves" + } +}) + +minetest.register_craft({ + type = "cooking", + output = "homedecor:plastic_sheeting", + recipe = "homedecor:plastic_base", +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_base', + burntime = 30, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_sheeting', + burntime = 30, +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_green', + recipe = { + { 'unifieddyes:dark_green', '', '' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, + +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_green', + recipe = { + { 'default:leaves', '', 'default:leaves' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, + +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_black', + recipe = { + { 'group:dye,basecolor_black', 'group:dye,basecolor_black', 'group:dye,basecolor_black' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'} + } +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_black', + recipe = { + { 'default:coal_lump', 'default:coal_lump', 'default:coal_lump' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) +-- + +minetest.register_craft( { + output = 'homedecor:projection_screen 3', + recipe = { + { '', 'default:glass', '' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:projection_screen', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:ceiling_paint 10', + recipe = { + 'unifieddyes:white_paint', + 'default:stone', + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + output = 'homedecor:ceiling_tile 10', + recipe = { + { '', 'unifieddyes:white_paint', '' }, + { 'default:steel_ingot', 'default:stone', 'default:steel_ingot' }, + + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + + +-- ======================================================= +-- Items/recipes not requiring smelting of anything new + +minetest.register_craft( { + output = 'homedecor:glass_table_small_round 15', + recipe = { + { '', 'default:glass', '' }, + { 'default:glass', 'default:glass', 'default:glass' }, + { '', 'default:glass', '' }, + }, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:glass_table_small_square', + recipe = { 'homedecor:glass_table_small_round' }, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:glass_table_large', + recipe = { 'homedecor:glass_table_small_square' }, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:shingles_asphalt 6', + recipe = { + { 'default:dirt', 'group:dye,basecolor_black', 'default:dirt' }, + { 'default:sand', 'group:dye,basecolor_black', 'default:sand' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'}, + } +}) + +minetest.register_craft( { + output = 'homedecor:shingles_asphalt 6', + recipe = { + { 'default:dirt', 'default:coal_lump', 'default:dirt' }, + { 'default:sand', 'default:coal_lump', 'default:sand' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) +-- + +minetest.register_craft( { + output = 'homedecor:shingles_wood 12', + recipe = { + { 'default:stick', 'default:wood'}, + { 'default:wood', 'default:stick'}, + }, +}) + +minetest.register_craft( { + output = 'homedecor:shingles_wood 12', + recipe = { + { 'default:wood', 'default:stick'}, + { 'default:stick', 'default:wood'}, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shingles_wood', + burntime = 30, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:skylight 9', + recipe = { + { 'default:glass', 'default:glass' }, + { 'default:glass', 'default:glass' }, + }, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:wood_table_small_round 15', + recipe = { + { '', 'default:wood', '' }, + { 'default:wood', 'default:wood', 'default:wood' }, + { '', 'default:wood', '' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_small_round', + burntime = 30, +}) + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:wood_table_small_square', + recipe = { 'homedecor:wood_table_small_round' }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_small_square', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:wood_table_large', + recipe = { 'homedecor:wood_table_small_square' }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_large', + burntime = 30, +}) + +-- Various colors of shutters + +minetest.register_craft( { + output = 'homedecor:shutter_oak 2', + recipe = { + { 'default:stick', 'default:stick' }, + { 'default:stick', 'default:stick' }, + { 'default:stick', 'default:stick' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_oak', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_black 4', + recipe = { + 'group:dye,basecolor_black', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:black', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_black 4', + recipe = { + 'default:coal_lump', + 'default:coal_lump', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_black', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_dark_grey 4', + recipe = { + 'unifieddyes:darkgrey_paint', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:darkgrey_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_dark_grey', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_grey 4', + recipe = { + 'group:dye,basecolor_grey', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:grey_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_grey 4', + recipe = { + 'default:coal_lump', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, +}) +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_grey', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_white 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:white_paint', + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_white', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_mahogany 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_mahogany 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:coal_lump', + 'default:dirt', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_mahogany', + burntime = 30, +}) +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_red 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'group:dye,basecolor_red', + }, + replacements = { {'unifieddyes:red', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_red 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:apple', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_red', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_yellow 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'group:dye,basecolor_yellow', + }, + replacements = { {'unifieddyes:yellow', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_yellow 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:mese_crystal_fragment', + 'default:mese_crystal_fragment', + 'default:mese_crystal_fragment' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_yellow', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_forest_green 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:dark_green', + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_forest_green 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:leaves', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_forest_green', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_light_blue 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:light_blue', + }, + replacements = { {'unifieddyes:light_blue', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_light_blue', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_purple 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:violet', + }, + replacements = { {'unifieddyes:violet', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_purple', + burntime = 30, +}) + +-- + +minetest.register_craftitem("homedecor:drawer_small", { + description = "Small Wooden Drawer", + inventory_image = "homedecor_drawer_small.png", +}) + + +minetest.register_craft( { + output = 'homedecor:drawer_small', + recipe = { + { 'default:wood', 'default:steel_ingot', 'default:wood' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:drawer_small', + burntime = 30, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_one_drawer', + recipe = { + { 'homedecor:drawer_small' }, + { 'default:wood' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_oak_one_drawer', + burntime = 30, +}) + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_two_drawers', + recipe = { + { 'homedecor:drawer_small' }, + { 'homedecor:drawer_small' }, + { 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_two_drawers', + recipe = { + { 'homedecor:nightstand_oak_one_drawer' }, + { 'homedecor:drawer_small' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_oak_two_drawers', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_one_drawer', + recipe = { + 'homedecor:nightstand_oak_one_drawer', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_one_drawer', + recipe = { + 'homedecor:nightstand_oak_one_drawer', + 'default:dirt', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_mahogany_one_drawer', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_two_drawers', + recipe = { + 'homedecor:nightstand_oak_two_drawers', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_two_drawers', + recipe = { + 'homedecor:nightstand_oak_two_drawers', + 'default:dirt', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_mahogany_two_drawers', + burntime = 30, +}) + +minetest.register_craftitem("homedecor:brass_ingot", { + description = "Brass Ingot", + inventory_image = "homedecor_brass_ingot.png", +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:brass_ingot 2', + recipe = { + 'moreores:silver_ingot', + 'moreores:copper_ingot', + }, +}) + +-- Table legs + +minetest.register_craft( { + output = 'homedecor:table_legs_wrought_iron 3', + recipe = { + { '', 'default:iron_lump', '' }, + { '', 'default:iron_lump', '' }, + { 'default:iron_lump', 'default:iron_lump', 'default:iron_lump' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:table_legs_brass 3', + recipe = { + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' }, + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' } + }, +}) + +minetest.register_craftitem("homedecor:utility_table_legs", { + description = "Legs for Small Utility table", + inventory_image = "homedecor_utility_table_legs.png", +}) + +minetest.register_craft( { + output = 'homedecor:utility_table_legs', + recipe = { + { 'default:stick', 'default:stick', 'default:stick' }, + { 'default:stick', '', 'default:stick' }, + { 'default:stick', '', 'default:stick' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:utility_table_legs', + burntime = 30, +}) + +-- vertical poles/lampposts + +minetest.register_craft( { + output = 'homedecor:pole_brass 4', + recipe = { + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' } + }, +}) + +minetest.register_craft( { + output = 'homedecor:pole_wrought_iron 4', + recipe = { + { 'default:iron_lump', }, + { 'default:iron_lump', }, + { 'default:iron_lump', }, + }, +}) + +-- Home electronics + +if ( minetest.get_modpath("mesecons") ) == nil then + + minetest.register_craftitem(":mesecons_materials:silicon", { + description = "Silicon lump", + inventory_image = "homedecor_silicon.png", + }) + + minetest.register_craft( { + output = "mesecons_materials:silicon 4", + recipe = { + { "default:sand", "default:sand" }, + { "default:sand", "default:steel_ingot" }, + }, + }) + +end + +minetest.register_craft( { + output = "homedecor:ic 4", + recipe = { + { "mesecons_materials:silicon", "mesecons_materials:silicon" }, + { "mesecons_materials:silicon", "default:steel_ingot" }, + }, +}) + +minetest.register_craftitem("homedecor:ic", { + description = "Simple Integrated Circuit", + inventory_image = "homedecor_ic.png", +}) + +minetest.register_craft( { + output = 'homedecor:television', + recipe = { + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'moreblocks:glowglass', 'homedecor:plastic_sheeting' }, + { 'homedecor:ic', 'homedecor:ic', 'homedecor:ic' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:stereo', + recipe = { + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:ic', 'homedecor:plastic_sheeting' }, + { 'default:steel_ingot', 'homedecor:ic', 'default:steel_ingot' }, + }, +}) + +-- =========================================================== +-- Recipes that require materials from wool (cotton alternate) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_small 8', + recipe = { + 'wool:red', + 'wool:yellow', + 'wool:blue', + 'wool:black' + }, +}) + +-- cotton version: + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_small 8', + recipe = { + 'cotton:red', + 'cotton:yellow', + 'cotton:blue', + 'cotton:black' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:rug_small', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_large 2', + recipe = { + 'homedecor:rug_small', + 'homedecor:rug_small', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:rug_large', + burntime = 30, +}) + +-- ===================================== +-- Speakers require copper from moreores + +minetest.register_craft( { + output = 'homedecor:speaker', + recipe = { + { 'default:wood', 'wool:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { 'default:wood', 'wool:black', 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:speaker_small', + recipe = { + { 'default:wood', 'wool:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + }, +}) + +-- cotton version + +minetest.register_craft( { + output = 'homedecor:speaker', + recipe = { + { 'default:wood', 'cotton:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { 'default:wood', 'cotton:black', 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:speaker_small', + recipe = { + { 'default:wood', 'cotton:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + }, +}) + +-- Curtains + +local curtaincolors = { + "red", + "green", + "blue", + "white", + "pink", + "violet" +} + +for c in ipairs(curtaincolors) do + local color = curtaincolors[c] + minetest.register_craft( { + output = "homedecor:curtain_"..color.." 3", + recipe = { + { "wool:"..color, "", ""}, + { "wool:"..color, "", ""}, + { "wool:"..color, "", ""}, + }, + }) +end + + +-- Recycling recipes + +-- Some glass objects recycle via the glass fragments item/recipe in the Vessels mod. + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_large", + "homedecor:glass_table_large", + "homedecor:glass_table_large" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight", + } +}) + +-- Wooden tabletops can turn into sticks + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_large", + "homedecor:wood_table_large", + "homedecor:wood_table_large" + } +}) + +-- Kitchen stuff + +minetest.register_craft({ + output = "homedecor:oven", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "moreblocks:ironglass", "default:steel_ingot", }, + {"default:steel_ingot", "moreores:copper_ingot", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + output = "homedecor:refrigerator", + recipe = { + {"default:steel_ingot", "moreblocks:glowglass", "default:steel_ingot", }, + {"default:steel_ingot", "moreores:tin_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "default:clay", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet", + recipe = { + {"default:wood", "default:stick", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:kitchen_cabinet_half 2", + recipe = { "homedecor:kitchen_cabinet" } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_with_sink", + recipe = { + {"default:wood", "default:steel_ingot", "default:wood", }, + {"default:wood", "default:steel_ingot", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + } +}) + +-- Lighting + +-- yellow + +minetest.register_craft({ + output = "homedecor:glowlight_thick_yellow 6", + recipe = { + {"moreblocks:superglowglass", "moreblocks:superglowglass", "moreblocks:superglowglass", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_yellow_wall", + recipe = { + "homedecor:glowlight_thick_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_yellow", + recipe = { + "homedecor:glowlight_thick_yellow_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_thin_yellow 6", + recipe = { + {"homedecor:glowlight_thick_yellow", "homedecor:glowlight_thick_yellow", "homedecor:glowlight_thick_yellow", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_yellow_wall", + recipe = { + "homedecor:glowlight_thin_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_yellow", + recipe = { + "homedecor:glowlight_thin_yellow_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube_yellow 8", + recipe = { + {"default:stick" }, + {"moreblocks:superglowglass" }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_yellow_ceiling", + recipe = { + "homedecor:glowlight_small_cube_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_yellow", + recipe = { + "homedecor:glowlight_small_cube_yellow_ceiling", + } +}) + +-- white + +minetest.register_craft({ + output = "homedecor:glowlight_thick_white 6", + recipe = { + { "wool:white", "wool:white", "wool:white" }, + {"moreblocks:superglowglass", "moreblocks:superglowglass", "moreblocks:superglowglass", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white 2", + recipe = { + "wool:white", + "homedecor:glowlight_thick_yellow", + "homedecor:glowlight_thick_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white_wall", + recipe = { + "homedecor:glowlight_thick_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white", + recipe = { + "homedecor:glowlight_thick_white_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_thin_white 6", + recipe = { + {"homedecor:glowlight_thick_white", "homedecor:glowlight_thick_white", "homedecor:glowlight_thick_white", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_white_wall", + recipe = { + "homedecor:glowlight_thin_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_white", + recipe = { + "homedecor:glowlight_thin_white_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube_white 8", + recipe = { + {"wool:white" }, + {"moreblocks:superglowglass" }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_white_ceiling", + recipe = { + "homedecor:glowlight_small_cube_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_white", + recipe = { + "homedecor:glowlight_small_cube_white_ceiling", + } +}) + +-- Fences and gates + +minetest.register_craft( { + output = 'homedecor:fence_brass 6', + recipe = { + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:fence_wrought_iron 6', + recipe = { + { 'default:iron_lump','default:iron_lump','default:iron_lump' }, + { 'default:iron_lump','default:iron_lump','default:iron_lump' }, + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_picket 6", + recipe = { + { "default:stick", "default:stick", "default:stick" }, + { "default:stick", "", "default:stick" }, + { "default:stick", "default:stick", "default:stick" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_picket_white 6", + recipe = { + { "default:stick", "default:stick", "default:stick" }, + { "default:stick", "unifieddyes:white_paint", "default:stick" }, + { "default:stick", "default:stick", "default:stick" } + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + output = "homedecor:fence_privacy 6", + recipe = { + { "default:wood", "default:stick", "default:wood" }, + { "default:wood", "", "default:wood" }, + { "default:wood", "default:stick", "default:wood" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_barbed_wire 6", + recipe = { + { "default:stick", "default:iron_lump", "default:stick" }, + { "default:stick", "", "default:stick" }, + { "default:stick", "default:iron_lump", "default:stick" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_chainlink 9", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "default:steel_ingot", "default:iron_lump", "default:steel_ingot" }, + { "default:steel_ingot", "default:iron_lump", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_gate_white_closed", + recipe = { + "homedecor:fence_picket_white" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_white", + recipe = { + "homedecor:fence_picket_gate_white_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_gate_closed", + recipe = { + "homedecor:fence_picket" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket", + recipe = { + "homedecor:fence_picket_gate_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire_gate_closed", + recipe = { + "homedecor:fence_barbed_wire" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire", + recipe = { + "homedecor:fence_barbed_wire_gate_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink_gate_closed", + recipe = { + "homedecor:fence_chainlink" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink", + recipe = { + "homedecor:fence_chainlink_gate_closed" + }, +}) + +-- doors + +-- plain wood, non-windowed + +minetest.register_craft( { + output = "homedecor:door_wood_plain_bottom_left 2", + recipe = { + { "default:wood", "default:wood", "" }, + { "default:wood", "default:wood", "default:steel_ingot" }, + { "default:wood", "default:wood", "" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_plain_bottom_left", + recipe = { + "homedecor:door_wood_plain_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_plain_bottom_right", + recipe = { + "homedecor:door_wood_plain_bottom_left" + }, +}) + +-- fancy exterior + +minetest.register_craft( { + output = "homedecor:door_exterior_fancy_bottom_left 2", + recipe = { + { "default:wood", "default:glass" }, + { "default:wood", "default:wood" }, + { "default:wood", "default:wood" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_exterior_fancy_bottom_left", + recipe = { + "homedecor:door_exterior_fancy_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_exterior_fancy_bottom_right", + recipe = { + "homedecor:door_exterior_fancy_bottom_left" + }, +}) + + +-- wood and glass (grid style) + +-- bare + +minetest.register_craft( { + output = "homedecor:door_wood_glass_bottom_left 2", + recipe = { + { "default:glass", "default:wood" }, + { "default:wood", "default:glass" }, + { "default:glass", "default:wood" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_bottom_left", + recipe = { + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_bottom_right", + recipe = { + "homedecor:door_wood_glass_bottom_left" + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left 2", + recipe = { + "default:dirt", + "default:coal_lump", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right 2", + recipe = { + "default:dirt", + "default:coal_lump", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left 2", + recipe = { + "unifieddyes:dark_orange", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right 2", + recipe = { + "unifieddyes:dark_orange", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left", + recipe = { + "homedecor:door_wood_glass_mahogany_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right", + recipe = { + "homedecor:door_wood_glass_mahogany_bottom_left" + }, +}) + +-- white + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_left 2", + recipe = { + "unifieddyes:white_paint", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_right 2", + recipe = { + "unifieddyes:white_paint", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_left", + recipe = { + "homedecor:door_wood_glass_white_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_right", + recipe = { + "homedecor:door_wood_glass_white_bottom_left" + }, +}) + +-- Solid glass with metal handle + +minetest.register_craft( { + output = "homedecor:door_glass_bottom_left 2", + recipe = { + { "default:glass", "default:glass" }, + { "default:glass", "default:steel_ingot" }, + { "default:glass", "default:glass" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_glass_bottom_left", + recipe = { + "homedecor:door_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_glass_bottom_right", + recipe = { + "homedecor:door_glass_bottom_left" + }, +}) + +-- Closet doors + +-- oak + +minetest.register_craft( { + output = "homedecor:door_closet_oak_bottom_left 2", + recipe = { + { "", "default:stick", "default:stick" }, + { "default:steel_ingot", "default:stick", "default:stick" }, + { "", "default:stick", "default:stick" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_oak_bottom_left", + recipe = { + "homedecor:door_closet_oak_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_oak_bottom_right", + recipe = { + "homedecor:door_closet_oak_bottom_left" + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left 2", + recipe = { + "homedecor:door_closet_oak_bottom_left", + "homedecor:door_closet_oak_bottom_left", + "default:dirt", + "default:coal_lump", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left 2", + recipe = { + "homedecor:door_closet_oak_bottom_left", + "homedecor:door_closet_oak_bottom_left", + "unifieddyes:dark_orange" + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left", + recipe = { + "homedecor:door_closet_mahogany_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_right", + recipe = { + "homedecor:door_closet_mahogany_bottom_left" + }, +}) + diff --git a/mods/homedecor/depends.txt b/mods/homedecor/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/homedecor/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/homedecor/door_models.lua b/mods/homedecor/door_models.lua new file mode 100644 index 0000000..13d98bb --- /dev/null +++ b/mods/homedecor/door_models.lua @@ -0,0 +1,317 @@ +homedecor_door_models = { + { + "closet_mahogany", + "Mahogany Closet Door", + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +---------- + + { + "closet_oak", + "Oak Closet Door", + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + }, + +---------- + + { + "exterior_fancy", + "Fancy Wood/Glass Door", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "glass", + "Glass Office Door", + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +---------- + + { + "wood_glass", + "Glass and Wood, Oak-colored", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_glass_mahogany", + "Glass and Wood, Mahogany-colored", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_glass_white", + "Glass and Wood, White", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_plain", + "Plain Wooden Door", + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +} + diff --git a/mods/homedecor/door_nodes.lua b/mods/homedecor/door_nodes.lua new file mode 100644 index 0000000..68d3f4d --- /dev/null +++ b/mods/homedecor/door_nodes.lua @@ -0,0 +1,268 @@ +-- Node definitions for Homedecor doors + +local sides = {"left", "right"} +local rsides = {"right", "left"} + +-- cheater's method of detecting if default doors are right-click-to-open: +-- default.generate_ore() was exposed to the modding API one day prior to the +-- right-click thing. + +local use_rightclick = type(default.generate_ore) + +for i in ipairs(sides) do + local side = sides[i] + local rside = rsides[i] + + for j in ipairs(homedecor_door_models) do + local doorname = homedecor_door_models[j][1] + local doordesc = homedecor_door_models[j][2] + local nodeboxes_top = nil + local nodeboxes_bottom = nil + + if side == "left" then + nodeboxes_top = homedecor_door_models[j][3] + nodeboxes_bottomtom = homedecor_door_models[j][4] + else + nodeboxes_top = homedecor_door_models[j][5] + nodeboxes_bottomtom = homedecor_door_models[j][6] + end + + local tiles_top = { + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_lrt.png", + "homedecor_door_"..doorname.."_lrt.png", + "homedecor_door_"..doorname.."_"..rside.."_top.png", + "homedecor_door_"..doorname.."_"..side.."_top.png", + } + + local tiles_bottom = { + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_lrb.png", + "homedecor_door_"..doorname.."_lrb.png", + "homedecor_door_"..doorname.."_"..rside.."_bottom.png", + "homedecor_door_"..doorname.."_"..side.."_bottom.png", + } + + local selectboxes_top = { + type = "fixed", + fixed = { -0.5, -1.5, 6/16, 0.5, 0.5, 8/16} + } + + local selectboxes_bottom = { + type = "fixed", + fixed = { -0.5, -0.5, 6/16, 0.5, 1.5, 8/16} + } + + if use_rightclick == nil then -- register the version that uses on_punch + + minetest.register_node("homedecor:door_"..doorname.."_top_"..side, { + description = doordesc.." (Top Half, "..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_top, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_top, + node_box = { + type = "fixed", + fixed = nodeboxes_top + }, + drop = "homedecor:door_"..doorname.."_bottom_"..side, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_"..doorname.."_bottom_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) + end + end, + on_punch = function(pos, node, puncher) + homedecor_flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, puncher, doorname, side) + end + }) + + minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, { + description = doordesc.." ("..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_bottom, + inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_bottom, + node_box = { + type = "fixed", + fixed = nodeboxes_bottomtom + }, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_"..doorname.."_top_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) + end + end, + on_punch = function(pos, node, puncher) + homedecor_flip_door(pos, node, puncher, doorname, side) + end, + on_place = function(itemstack, placer, pointed_thing) + return homedecor_place_door(itemstack, placer, pointed_thing, doorname, side) + end, + }) + + else -- register the version that uses on_rightclick + + minetest.register_node("homedecor:door_"..doorname.."_top_"..side, { + description = doordesc.." (Top Half, "..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_top, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_top, + node_box = { + type = "fixed", + fixed = nodeboxes_top + }, + drop = "homedecor:door_"..doorname.."_bottom_"..side, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_"..doorname.."_bottom_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) + end + end, + on_rightclick = function(pos, node, clicker) + homedecor_flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, clicker, doorname, side) + end + }) + + minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, { + description = doordesc.." ("..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_bottom, + inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_bottom, + node_box = { + type = "fixed", + fixed = nodeboxes_bottomtom + }, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_"..doorname.."_top_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) + end + end, + on_place = function(itemstack, placer, pointed_thing) + -- for some obscure reason, this callback is used if the target node + -- is a homedecor door, probably because they have an on_rightclick + -- setting -- but only if you're weilding a door! + + local node=minetest.env:get_node(pointed_thing.under) + if string.find(node.name, "homedecor:door_") then + + local lr = nil + if string.find(node.name, "left") then + lr = "left" + else + lr = "right" + end + + local tb = nil + if string.find(node.name, "top") then + tb = "top" + else + tb = "bottom" + end + + local dname = string.gsub(string.gsub(string.gsub(node.name, "homedecor:door_", ""), "_"..lr, ""), "_"..tb, "") + + print(node.name) + print(dname) + print(lr) + + homedecor_flip_door(pointed_thing.under, node, placer, dname, lr) + return + else + return homedecor_place_door(itemstack, placer, pointed_thing, doorname, side) + end + end, + on_rightclick = function(pos, node, clicker) + homedecor_flip_door(pos, node, clicker, doorname, side) + end + }) + end + end +end + +function homedecor_node_is_owned(pos, placer) + local ownername = false + if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod + if HasOwner(pos, placer) then -- returns true if the node is owned + if not IsPlayerNodeOwner(pos, placer:get_player_name()) then + if type(getLastOwner) == "function" then -- ...is an old version + ownername = getLastOwner(pos) + elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version + ownername = GetNodeOwnerName(pos) + else + ownername = "someone" + end + end + end + + elseif type(isprotect)=="function" then -- glomie's protection mod + if not isprotect(5, pos, placer) then + ownername = "someone" + end + end + + if ownername ~= false then + minetest.chat_send_player( placer:get_player_name(), "Sorry, "..ownername.." owns that spot." ) + return true + else + return false + end +end + +function homedecor_place_door(itemstack, placer, pointed_thing, name, side) + local pos = pointed_thing.above + if homedecor_node_is_owned(pointed_thing.under, placer) == false then + + local nodename = minetest.env:get_node(pointed_thing.under).name + local field = minetest.registered_nodes[nodename].on_rightclick + + if field == nil then + fdir = minetest.dir_to_facedir(placer:get_look_dir()) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then + minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) + return + end + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..side, param2=fdir}) + minetest.env:add_node(pos, { name = "homedecor:door_"..name.."_bottom_"..side, param2=fdir}) + itemstack:take_item() + return itemstack + end + return minetest.item_place(itemstack, placer, pointed_thing) + end +end + +function homedecor_flip_door(pos, node, player, name, side) + local rside = nil + local nfdir = nil + if side == "left" then + rside = "right" + nfdir=node.param2 - 1 + if nfdir < 0 then nfdir = 3 end + else + rside = "left" + nfdir=node.param2 + 1 + if nfdir > 3 then nfdir = 0 end + end + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir}) + minetest.env:add_node(pos, { name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir}) +end + diff --git a/mods/homedecor/fences.lua b/mods/homedecor/fences.lua new file mode 100644 index 0000000..faa2ca2 --- /dev/null +++ b/mods/homedecor/fences.lua @@ -0,0 +1,498 @@ +-- This file adds fences of various types + +minetest.register_node("homedecor:fence_brass", { + description = "Brass Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_brass.png"}, + inventory_image = "homedecor_fence_brass.png", + wield_image = "homedecor_pole_brass.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:fence_wrought_iron", { + description = "Wrought Iron Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_wrought_iron.png"}, + inventory_image = "homedecor_fence_wrought_iron.png", + wield_image = "homedecor_pole_wrought_iron.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:fence_picket", { + drawtype = "nodebox", + description = "Unpainted Picket Fence", + tiles = { + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket_backside.png", + "homedecor_fence_picket.png" + }, +-- inventory_image = "homedecor_fence_picket.png", +-- wield_image = "homedecor_fence_picket.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_white", { + drawtype = "nodebox", + description = "White Picket Fence", + tiles = { + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white_backside.png", + "homedecor_fence_picket_white.png" + }, +-- inventory_image = "homedecor_fence_picket_white.png", +-- wield_image = "homedecor_fence_picket_white.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_privacy", { + drawtype = "nodebox", + description = "Wooden Privacy Fence", + tiles = { + "homedecor_fence_privacy_tb.png", + "homedecor_fence_privacy_tb.png", + "homedecor_fence_privacy_sides.png", + "homedecor_fence_privacy_sides.png", + "homedecor_fence_privacy_backside.png", + "homedecor_fence_privacy_front.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 5/16, 0.5, 0.5, 8/16 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part + { -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part + { 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part + { -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- connecting rung + } + }, +}) + +minetest.register_node("homedecor:fence_barbed_wire", { + drawtype = "nodebox", + description = "Barbed Wire Fence", + tiles = {"homedecor_fence_barbed_wire.png"}, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire + } + }, +}) + +minetest.register_node("homedecor:fence_chainlink", { + drawtype = "nodebox", + description = "Chainlink Fence", + tiles = { + "homedecor_fence_chainlink_tb.png", + "homedecor_fence_chainlink_tb.png", + "homedecor_fence_chainlink_sides.png", + "homedecor_fence_chainlink_sides.png", + "homedecor_fence_chainlink_fb.png", + "homedecor_fence_chainlink_fb.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post + { 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } -- the chainlink itself + } + }, +}) + + +-- ===== +-- Gates + +minetest.register_node("homedecor:fence_picket_gate_closed", { + drawtype = "nodebox", + description = "Unpainted Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate_backside.png", + "homedecor_fence_picket_gate.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_gate_open", { + drawtype = "nodebox", + description = "Unpainted Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate_backside.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { 0.495, -0.5, -0.5, 0.495, 0.5, 0.5 } + }, + drop = "homedecor:fence_picket_gate_closed" +}) + +minetest.register_node("homedecor:fence_picket_gate_white_closed", { + drawtype = "nodebox", + description = "White Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white_backside.png", + "homedecor_fence_picket_gate_white.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_gate_white_open", { + drawtype = "nodebox", + description = "White Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white_backside.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { 0.495, -0.5, -0.5, 0.495, 0.5, 0.5 } + }, + drop = "homedecor:fence_picket_gate_closed" +}) + +minetest.register_node("homedecor:fence_barbed_wire_gate_closed", { + drawtype = "nodebox", + description = "Barbed Wire Fence Gate", + tiles = { + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_backside.png", + "homedecor_fence_barbed_wire_gate_front.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire + } + }, +}) + +minetest.register_node("homedecor:fence_barbed_wire_gate_open", { + drawtype = "nodebox", + description = "Barbed Wire Fence Gate", + tiles = { + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_front.png", + "homedecor_fence_barbed_wire_gate_backside.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.375, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece + { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece + { 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 } -- the wire + } + }, + drop = "homedecor:fence_barbed_wire_gate_closed" +}) + +minetest.register_node("homedecor:fence_chainlink_gate_closed", { + drawtype = "nodebox", + description = "Chainlink Fence Gate", + tiles = { + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_backside.png", + "homedecor_fence_chainlink_gate_front.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself + { -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 } -- the lump representing the lock + } + }, +}) + +minetest.register_node("homedecor:fence_chainlink_gate_open", { + drawtype = "nodebox", + description = "Chainlink Fence Gate (open)", + tiles = { + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_front.png", + "homedecor_fence_chainlink_gate_backside.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_sides.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.375, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece + { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece + { 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself + { 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 } -- the lump representing the lock + } + }, + drop = "homedecor:fence_chainlink_gate_closed" +}) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_white_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_white_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_white_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_white_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_barbed_wire_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_barbed_wire_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_barbed_wire_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_barbed_wire_gate_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_chainlink_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_chainlink_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_chainlink_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_chainlink_gate_closed", param2 = fdir }) + end +end) + + diff --git a/mods/homedecor/init.lua b/mods/homedecor/init.lua new file mode 100644 index 0000000..cd92d19 --- /dev/null +++ b/mods/homedecor/init.lua @@ -0,0 +1,806 @@ +-- Home Decor mod by VanessaE +-- 2012-09-30 +-- +-- Mostly my own code, with bits and pieces lifted from Minetest's default +-- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster +-- for helping me figure out the inventories used in the nightstands/dressers. +-- +-- The code for ovens, nightstands, refrigerators are basically modified +-- copies of the code for chests and furnaces. +-- +-- License: LGPL +-- + +local DEBUG = 0 + +-- Local Functions + +local dbg = function(s) + if DEBUG == 1 then + print('[HomeDecor] ' .. s) + end +end + +-- Nodes + +minetest.register_node('homedecor:shingles_wood', { + description = "Wood Shingles", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_wood.png' }, + wield_image = 'homedecor_shingles_wood.png', + inventory_image = 'homedecor_shingles_wood.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:skylight', { + description = "Glass Skylight", + drawtype = 'raillike', + tiles = { 'default_glass.png' }, + wield_image = 'default_glass.png', + inventory_image = 'default_glass.png', + paramtype = 'light', + sunlight_propagates = true, + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:shingles_asphalt', { + description = "Asphalt Shingles", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_asphalt.png' }, + wield_image = 'homedecor_shingles_asphalt.png', + inventory_image = 'homedecor_shingles_asphalt.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:shingles_terracotta', { + description = "Terracotta Roofing", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_terracotta.png' }, + wield_image = 'homedecor_shingles_terracotta.png', + inventory_image = 'homedecor_shingles_terracotta.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = 'homedecor:roof_tile_terracotta 4', + +}) + +minetest.register_node('homedecor:projection_screen', { + description = "Projection Screen Material", + drawtype = 'signlike', + tiles = { 'homedecor_projection_screen.png' }, + wield_image = 'homedecor_projection_screen_inv.png', + inventory_image = 'homedecor_projection_screen_inv.png', + sunlight_propagates = false, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:ceiling_paint', { + description = "Textured Ceiling Paint", + drawtype = 'signlike', + tiles = { 'homedecor_ceiling_paint.png' }, + inventory_image = 'homedecor_ceiling_paint_roller.png', + wield_image = 'homedecor_ceiling_paint_roller.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:ceiling_tile', { + description = "Drop-Ceiling Tile", + drawtype = 'signlike', + tiles = { 'homedecor_ceiling_tile.png' }, + wield_image = 'homedecor_ceiling_tile.png', + inventory_image = 'homedecor_ceiling_tile.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:rug_small', { + description = "Small Throw Rug", + drawtype = 'signlike', + tiles = { 'homedecor_rug_small.png' }, + wield_image = 'homedecor_rug_small.png', + inventory_image = 'homedecor_rug_small.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:rug_large', { + description = "Large Area Rug", + drawtype = 'signlike', + tiles = { 'homedecor_rug_large.png' }, + wield_image = 'homedecor_rug_large.png', + inventory_image = 'homedecor_rug_large.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + }) + +minetest.register_node('homedecor:glass_table_large', { + description = "Large Glass Table Piece", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_large.png' }, + wield_image = 'homedecor_glass_table_large.png', + inventory_image = 'homedecor_glass_table_large.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:glass_table_small_round', { + description = "Glass Table (Small, Round)", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_small_round.png' }, + wield_image = 'homedecor_glass_table_small_round.png', + inventory_image = 'homedecor_glass_table_small_round.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:glass_table_small_square', { + description = "Glass Table (Small, Square)", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_small_square.png' }, + wield_image = 'homedecor_glass_table_small_square.png', + inventory_image = 'homedecor_glass_table_small_square.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node("homedecor:table_legs_brass", { + description = "Brass Table Legs", + drawtype = "plantlike", + tiles = {"homedecor_table_legs_brass.png"}, + inventory_image = "homedecor_table_legs_brass.png", + wield_image = "homedecor_table_legs_brass.png", + visual_scale = 1.04, + paramtype = "light", + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_leaves_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:table_legs_wrought_iron", { + description = "Brass Table Legs", + drawtype = "plantlike", + tiles = {"homedecor_table_legs_wrought_iron.png"}, + inventory_image = "homedecor_table_legs_wrought_iron.png", + wield_image = "homedecor_table_legs_wrought_iron.png", + visual_scale = 1.04, + paramtype = "light", + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_leaves_defaults(), + walkable = true, +}) + +minetest.register_node('homedecor:stereo', { + description = "Stereo Receiver", + tiles = { 'homedecor_stereo_top.png', + 'homedecor_stereo_bottom.png', + 'homedecor_stereo_right.png', + 'homedecor_stereo_left.png', + 'homedecor_stereo_back.png', + 'homedecor_stereo_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:utility_table_top', { + description = "Utility Table", + tiles = { 'homedecor_utility_table_top.png' }, + inventory_image = 'homedecor_utility_table_top.png', + wield_image = 'homedecor_utility_table_top.png', + drawtype = "signlike", + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + +}) + +minetest.register_node('homedecor:utility_table_legs', { + description = "Legs for Utility Table", + tiles = { 'homedecor_utility_table_legs.png' }, + inventory_image = 'homedecor_utility_table_legs_inv.png', + wield_image = 'homedecor_utility_table_legs.png', + visual_scale = 1.04, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drawtype = "plantlike", +}) + +minetest.register_node('homedecor:flower_pot_terracotta', { + description = "Terracotta Flower Pot", + tiles = { 'homedecor_flower_pot_terracotta_top.png', + 'homedecor_flower_pot_terracotta_bottom.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:flower_pot_black', { + description = "Black Plastic Flower Pot", + tiles = { 'homedecor_flower_pot_black_top.png', + 'homedecor_flower_pot_black_bottom.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:flower_pot_green', { + description = "Green Plastic Flower Pot", + tiles = { 'homedecor_flower_pot_green_top.png', + 'homedecor_flower_pot_green_bottom.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:wood_table_large', { + description = "Wooden Tabletop piece", + tiles = { 'homedecor_wood_table_large.png' }, + inventory_image = 'homedecor_wood_table_large.png', + wield_image = 'homedecor_wood_table_large.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:wood_table_small_round', { + description = "Wooden Tabletop (Small, Round)", + tiles = { 'homedecor_wood_table_small_round.png' }, + inventory_image = 'homedecor_wood_table_small_round.png', + wield_image = 'homedecor_wood_table_small_round.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:wood_table_small_square', { + description = "Wooden Tabletop (Small, Square)", + tiles = { 'homedecor_wood_table_small_square.png' }, + inventory_image = 'homedecor_wood_table_small_square.png', + wield_image = 'homedecor_wood_table_small_square.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:shutter_black', { + description = "Wooden Shutter (Black)", + tiles = { 'homedecor_window_shutter_black.png' }, + inventory_image = 'homedecor_window_shutter_black.png', + wield_image = 'homedecor_window_shutter_black.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_mahogany', { + description = "Wooden Shutter (Unpainted Mahogany)", + tiles = { 'homedecor_window_shutter_mahogany.png' }, + inventory_image = 'homedecor_window_shutter_mahogany.png', + wield_image = 'homedecor_window_shutter_mahogany.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_oak', { + description = "Wooden Shutter (Unpainted Oak)", + tiles = { 'homedecor_window_shutter_oak.png' }, + inventory_image = 'homedecor_window_shutter_oak.png', + wield_image = 'homedecor_window_shutter_oak.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_dark_grey', { + description = "Wooden Shutter (Dark Grey)", + tiles = { 'homedecor_window_shutter_dark_grey.png' }, + inventory_image = 'homedecor_window_shutter_dark_grey.png', + wield_image = 'homedecor_window_shutter_dark_grey.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_forest_green', { + description = "Wooden Shutter (Forest Green)", + tiles = { 'homedecor_window_shutter_forest_green.png' }, + inventory_image = 'homedecor_window_shutter_forest_green.png', + wield_image = 'homedecor_window_shutter_forest_green.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_grey', { + description = "Wooden Shutter (Grey)", + tiles = { 'homedecor_window_shutter_grey.png' }, + inventory_image = 'homedecor_window_shutter_grey.png', + wield_image = 'homedecor_window_shutter_grey.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_light_blue', { + description = "Wooden Shutter (Light Blue)", + tiles = { 'homedecor_window_shutter_light_blue.png' }, + inventory_image = 'homedecor_window_shutter_light_blue.png', + wield_image = 'homedecor_window_shutter_light_blue.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_purple', { + description = "Wooden Shutter (Purple)", + tiles = { 'homedecor_window_shutter_purple.png' }, + inventory_image = 'homedecor_window_shutter_purple.png', + wield_image = 'homedecor_window_shutter_purple.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_red', { + description = "Wooden Shutter (Red)", + tiles = { 'homedecor_window_shutter_red.png' }, + inventory_image = 'homedecor_window_shutter_red.png', + wield_image = 'homedecor_window_shutter_red.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_white', { + description = "Wooden Shutter (White)", + tiles = { 'homedecor_window_shutter_white.png' }, + inventory_image = 'homedecor_window_shutter_white.png', + wield_image = 'homedecor_window_shutter_white.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_yellow', { + description = "Wooden Shutter (Yellow)", + tiles = { 'homedecor_window_shutter_yellow.png' }, + inventory_image = 'homedecor_window_shutter_yellow.png', + wield_image = 'homedecor_window_shutter_yellow.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + + +minetest.register_node('homedecor:utilitytable2', { + description = "Utility table mk2", + tiles = { 'homedecor_utility_table_top.png', + 'homedecor_blanktile.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- cylinder-shaped objects courtesy Jeija + +local cylbox = {} +local detail = 50 +local sehne +local size = 0.2 + +for i = 1, detail-1 do + sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2)) + cylbox[i]={((i/detail)-0.5)*size, -0.5, -sehne*size, ((i/detail)+(1/detail)-0.5)*size, 0.5, sehne*size} +end + +minetest.register_node("homedecor:pole_brass", { + description = "Brass Pole", + drawtype = "nodebox", + tiles = {"homedecor_tile_brass2.png"}, + inventory_image = "homedecor_pole_brass2.png", + wield_image = "homedecor_pole_brass2.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-size/2, -0.5, -size/2, size/2, 0.5, size/2}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + node_box = { + type = "fixed", + fixed = cylbox, + } +}) + +minetest.register_node("homedecor:pole_wrought_iron", { + description = "Wrought Iron Pole", + drawtype = "nodebox", + tiles = {"homedecor_tile_wrought_iron2.png"}, + inventory_image = "homedecor_pole_wrought_iron.png", + wield_image = "homedecor_pole_wrought_iron.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} + }, + node_box = { + type = "fixed", + fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node('homedecor:speaker', { + description = "Large Stereo Speaker", + tiles = { 'homedecor_speaker_top.png', + 'homedecor_speaker_bottom.png', + 'homedecor_speaker_right.png', + 'homedecor_speaker_left.png', + 'homedecor_speaker_back.png', + 'homedecor_speaker_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:speaker_small', { + description = "Small Surround Speaker", + drawtype = "nodebox", + tiles = { + 'homedecor_speaker_top.png', + 'homedecor_speaker_bottom.png', + 'homedecor_speaker_right.png', + 'homedecor_speaker_left.png', + 'homedecor_speaker_back.png', + 'homedecor_speaker_front.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } + }, + node_box = { + type = "fixed", + fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } + }, + + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- + +local curtaincolors = { + "red", + "green", + "blue", + "white", + "pink", + "violet" +} + +for c in ipairs(curtaincolors) do + local color = curtaincolors[c] + +minetest.register_node("homedecor:curtain_"..color, { + description = "Curtains ("..color..")", + tiles = { "homedecor_curtain_"..color..".png" }, + inventory_image = "homedecor_curtain_"..color..".png", + wield_image = "homedecor_curtain_"..color..".png", + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +end + +dofile(minetest.get_modpath("homedecor").."/door_models.lua") +dofile(minetest.get_modpath("homedecor").."/door_nodes.lua") + +dofile(minetest.get_modpath("homedecor").."/lighting.lua") +dofile(minetest.get_modpath("homedecor").."/fences.lua") +dofile(minetest.get_modpath("homedecor").."/kitchen_cabinet.lua") +dofile(minetest.get_modpath("homedecor").."/refrigerator.lua") +dofile(minetest.get_modpath("homedecor").."/oven.lua") +dofile(minetest.get_modpath("homedecor").."/nightstands.lua") +dofile(minetest.get_modpath("homedecor").."/television.lua") + +dofile(minetest.get_modpath("homedecor").."/crafts.lua") + +print("[HomeDecor] Loaded!") diff --git a/mods/homedecor/kitchen_cabinet.lua b/mods/homedecor/kitchen_cabinet.lua new file mode 100644 index 0000000..06fe314 --- /dev/null +++ b/mods/homedecor/kitchen_cabinet.lua @@ -0,0 +1,142 @@ +-- This file supplies Kitchen cabinets and kitchen sink + +minetest.register_node('homedecor:kitchen_cabinet', { + description = "Kitchen Cabinet", + tiles = { 'homedecor_kitchen_cabinet_top.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,8]".. + "list[current_name;main;0,0;8,3;]".. + "list[current_player;main;0,4;8,4;]") + meta:set_string("infotext", "Kitchen cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 24) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:kitchen_cabinet_half', { + drawtype="nodebox", + description = 'Half-height Kitchen Cabinet (on ceiling)', + tiles = { 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front_half.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;1,0;6,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Kitchen cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 12) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos)) + end, +}) + + + +minetest.register_node('homedecor:kitchen_cabinet_with_sink', { + description = "Kitchen Cabinet with sink", + tiles = { 'homedecor_kitchen_cabinet_sinktop.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Under-sink cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in under-sink cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to under-sink cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from under-sink cabinet at "..minetest.pos_to_string(pos)) + end, +}) + diff --git a/mods/homedecor/lighting.lua b/mods/homedecor/lighting.lua new file mode 100644 index 0000000..79f7c42 --- /dev/null +++ b/mods/homedecor/lighting.lua @@ -0,0 +1,342 @@ + +-- This file supplies glowlights + +-- Yellow + +minetest.register_node('homedecor:glowlight_thick_yellow', { + description = "Yellow Glowlight (thick)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thick_yellow_wall', { + description = "Yellow Glowlight (thick, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_wall_sides.png', + 'homedecor_glowlight_thick_yellow_wall_sides.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_yellow', { + description = "Yellow Glowlight (thin)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_yellow_wall', { + description = "Yellow Glowlight (thin, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_wall_sides.png', + 'homedecor_glowlight_thin_yellow_wall_sides.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_yellow', { + description = "Yellow Glowlight (small cube)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', { + description = "Yellow Glowlight (small cube, on ceiling)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +-- White + +minetest.register_node('homedecor:glowlight_thick_white', { + description = "White Glowlight (thick)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thick_white_wall', { + description = "White Glowlight (thick, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_wall_sides.png', + 'homedecor_glowlight_thick_white_wall_sides.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_white', { + description = "White Glowlight (thin)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_white_wall', { + description = "White Glowlight (thin, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_wall_sides.png', + 'homedecor_glowlight_thin_white_wall_sides.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_white', { + description = "White Glowlight (small cube)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_white_ceiling', { + description = "White Glowlight (small cube, on ceiling)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/mods/homedecor/listnodes.sh b/mods/homedecor/listnodes.sh new file mode 100755 index 0000000..2332080 --- /dev/null +++ b/mods/homedecor/listnodes.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Node listing as of "`date` > nodes.txt + +for i in *.lua; do + echo -e "\nIn $i:\n" >> nodes.txt + cat $i | grep "minetest.register_node(" | \ + sed "s/minetest.register_node(.homedecor:/homedecor:/; s/., {//" | \ + sort >> nodes.txt +done + +less nodes.txt +rm -f nodes.txt diff --git a/mods/homedecor/nightstands.lua b/mods/homedecor/nightstands.lua new file mode 100644 index 0000000..0bedae6 --- /dev/null +++ b/mods/homedecor/nightstands.lua @@ -0,0 +1,235 @@ +-- This file supplies nightstands + +minetest.register_node('homedecor:nightstand_oak_one_drawer', { + drawtype = "nodebox", + description = "Oak Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_oak_top.png', + 'homedecor_nightstand_oak_bottom.png', + 'homedecor_nightstand_oak_right.png', + 'homedecor_nightstand_oak_left.png', + 'homedecor_nightstand_oak_back.png', + 'homedecor_nightstand_oak_1_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face + { -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left + { 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right + { -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back + { -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,6]".. + "list[current_name;main;0,0;8,1;]".. + "list[current_player;main;0,2;8,4;]") + meta:set_string("infotext", "One-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 8) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_oak_two_drawers', { + drawtype = "nodebox", + description = "Oak Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_oak_top.png', + 'homedecor_nightstand_oak_bottom.png', + 'homedecor_nightstand_oak_right.png', + 'homedecor_nightstand_oak_left.png', + 'homedecor_nightstand_oak_back.png', + 'homedecor_nightstand_oak_2_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -30/64, 8/16, 8/16, 8/16 }, -- main body + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64 }, -- top drawer face + { -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face + + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Two-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_mahogany_one_drawer', { + drawtype = "nodebox", + description = "Mahogany Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_mahogany_top.png', + 'homedecor_nightstand_mahogany_bottom.png', + 'homedecor_nightstand_mahogany_right.png', + 'homedecor_nightstand_mahogany_left.png', + 'homedecor_nightstand_mahogany_back.png', + 'homedecor_nightstand_mahogany_1_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face + { -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left + { 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right + { -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back + { -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,6]".. + "list[current_name;main;0,0;8,1;]".. + "list[current_player;main;0,2;8,4;]") + meta:set_string("infotext", "One-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 8) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_mahogany_two_drawers', { + drawtype = "nodebox", + description = "Mahogany Nightstand with Two Drawers", + tiles = { 'homedecor_nightstand_mahogany_top.png', + 'homedecor_nightstand_mahogany_bottom.png', + 'homedecor_nightstand_mahogany_right.png', + 'homedecor_nightstand_mahogany_left.png', + 'homedecor_nightstand_mahogany_back.png', + 'homedecor_nightstand_mahogany_2_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -30/64, 8/16, 8/16, 8/16 }, -- main body + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64 }, -- top drawer face + { -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face + + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Two-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/mods/homedecor/oven.lua b/mods/homedecor/oven.lua new file mode 100644 index 0000000..85ab9cd --- /dev/null +++ b/mods/homedecor/oven.lua @@ -0,0 +1,188 @@ +-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures. + +default.oven_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("homedecor:oven", { + description = "Oven", + tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png", + "homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.oven_inactive_formspec) + meta:set_string("infotext", "Oven") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("homedecor:oven_active", { + description = "Oven", + tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png", + "homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "homedecor:oven", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.oven_inactive_formspec) + meta:set_string("infotext", "Oven"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"homedecor:oven","homedecor:oven_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Oven active: "..percent.."%") + hacky_swap_node(pos,"homedecor:oven_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Oven out of fuel") + hacky_swap_node(pos,"homedecor:oven") + meta:set_string("formspec", default.oven_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Oven is empty") + hacky_swap_node(pos,"homedecor:oven") + meta:set_string("formspec", default.oven_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) diff --git a/mods/homedecor/refrigerator.lua b/mods/homedecor/refrigerator.lua new file mode 100644 index 0000000..7a32b41 --- /dev/null +++ b/mods/homedecor/refrigerator.lua @@ -0,0 +1,69 @@ +-- This file supplies refrigerators + +minetest.register_node('homedecor:refrigerator', { + drawtype = "nodebox", + description = "Refrigerator", + tiles = { + 'homedecor_refrigerator_top.png', + 'homedecor_refrigerator_bottom.png', + 'homedecor_refrigerator_right.png', + 'homedecor_refrigerator_left.png', + 'homedecor_refrigerator_back.png', + 'homedecor_refrigerator_front.png' + }, + inventory_image = "homedecor_refrigerator_inv.png", + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } + }, + + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[10,10]".. + "list[current_name;main;0,0;10,5;]".. + "list[current_player;main;1,6;8,4;]") + meta:set_string("infotext", "Refrigerator") + local inv = meta:get_inventory() + inv:set_size("main",50) + end, + + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.above + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then + minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a refrigerator!' ) + return + end + return minetest.item_place(itemstack, placer, pointed_thing) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in refrigerator at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to refrigerator at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from refrigerator at "..minetest.pos_to_string(pos)) + end, +}) + diff --git a/mods/homedecor/television.lua b/mods/homedecor/television.lua new file mode 100644 index 0000000..783bd7b --- /dev/null +++ b/mods/homedecor/television.lua @@ -0,0 +1,27 @@ +-- This file provides a semi-animated television. + +minetest.register_node('homedecor:television', { + description = "Small CRT Television", + tiles = { 'homedecor_television_top.png', + 'homedecor_television_bottom.png', + 'homedecor_television_right.png', + 'homedecor_television_left.png', + 'homedecor_television_back.png', + { name="homedecor_television_front_animated.png", + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=80.0 + } + } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + light_source = LIGHT_MAX - 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + diff --git a/mods/homedecor/textures/homedecor_blanktile.png b/mods/homedecor/textures/homedecor_blanktile.png new file mode 100644 index 0000000000000000000000000000000000000000..54da3c2c18f715d0091b12e1ac5735d7001c44f1 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUJ%CiA4g{4Su7kf)1dh{fsT1PRu~2_ijA91ILB0t}3;_N$73vJ9TCelF{r G5}E*olopo& literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_brass_ingot.png b/mods/homedecor/textures/homedecor_brass_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..91323ae0f5e5659e211d2cc86b16397837729a2f GIT binary patch literal 425 zcmV;a0apHrP)&r}IT z7i;EC!H+m<_=WNLNn7Sih-&-^p4Cogw%2|FH>$0iej+0T?9bWj0V|sJkC$nrR`*K z{h_yzI4aFaRd?QsrsEM@>@>)R?P5Dw47(L2VUtX^i+4My94t!!T{i*HEsx-G_ft81 zz9y(1(mhZRYCX_BP!IrDXC(;`KV74lHuty3@ar?y+25R&01tPk z0K`#9Th|yb@go5J;|t>3K%H_iFXJerR*OhCcK|Rnxh8)7aT`m0a%*K&^8a`R9l%zU T9&N#o00000NkvXXu0mjf8vd}w literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_ceiling_paint.png b/mods/homedecor/textures/homedecor_ceiling_paint.png new file mode 100644 index 0000000000000000000000000000000000000000..04b7cb6f068fd2ed098fb27565f2a0d8d82fdacd GIT binary patch literal 524 zcmV+n0`vWeP)%!n95Afj#CVvI>d03d`A zV?@Ml+n8BI?)yf>oby@>0LB<|PF00DCjiVjTWe-!W}nZe_fABmln?>{FmwF(5;NcT zJ;r#wUahsY*1qrW_q*2WAdc@l%$!s;grKUA$HS|~ad<@df|<3} zVvH#zSL|X+DZO_9NX)FNX13Ovb9$AT0pRg?gbP*6#bRwW{jA?=G~~>Z9j*iin8(?S&A$=N8@feV(W17-L*( zc?$p{5#^j!)vM=uuC+Wkx6bt);4CjQD&$eH0O| z>tg2j`)y|KeM*U$iO5BYNJK{qV?acT6Vlu$9 zqqXKFN%&8&wU(Kg(=_Ecj&Dl5dvF+raL$2z^zRR8AEY~15$^1;^ry1 z+%OC=M(=&oG}AQYdA=+Q5pCNB0N)0`;_ml*j8Q4o_kEHi@+?&Ax>{?EF&Ch&>lh;d zD5b`6Bq9JX#)wF*H6q3sLkJgO7zQFjL`1Br%350#g^2dvGqbhUd#|;=08P^f0|1=o zSyh!%D$BC((#x_~Yn4(LfSJ$pB%;3Wvn)%JgqfLHBt4(cG)=|pD+jH0mSwNk>+yIT z$02wLWZO1bS1E;v7lTCOocnw}N~suQS(fspjB2eVoC~n7tHdWNWptXR^E|~mB9ilx zR20SEwjReZ&vVcM9dyk0DIRNtL5CkLB%^X4e zWM9fxIjqE`#}ynrvtU_$u+`J?MecZECooeB${?X)R`xk zRK0YPB!R=QV3I&yB<^G-OrA5l%FF;WJ1KbZX0{Fp%m7K!t^$x5-cx&?KHqo3vliI) z#dAUfGxto^`qI_4qUugsMJF*?D$struJwEhg2&o%u2v^$5`98I-MSAURG;U4z2TJs zJ&5>P2hx1;V{!pKQ%{tai*&~Kza$Gt3ekOPkB<6IpLPznZarbB)LbXDp1VnM>ie>M znmK;O{$tdcBc%VGdE}hRO?q8j>%_R))5e*{8{PLt{RGpADE zN9cX}yvwTc?hHvNxEui*4gUK5%XU=s?f56UyZ%%}OwQi>{C6brC)ZlX2?fam{*LlD(e6ilNY2OOV@=s)}U21z@cOqFj-YJ8i$uYdHJ%c&6v` z^JDmZ-_MWFaGvMcdxzql8x>O%8Pg*Oq73^wGxy#g=1eNjIs3CC0)w@d%OG^`C7GGS zsj9Aao56PXZI1=njtB@5krBb*csLZqWV2l+m@DsdA&~rz0YKlJD1rb&kxG(*pxLKk z0Eh@tH1pO4K@x^-k3EhIN$>Nny$F8wBha_C_wMR*PgU9e{;a1XLm>bR+V1K(Q(d|D w_BfGDc6YH1!+4)JGvDWxwSKJb&P+7^0`IFT3Wc}48UO$Q07*qoM6N<$g7k^pl>h($ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_curtain_pink.png b/mods/homedecor/textures/homedecor_curtain_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4782760ac39e5c9ef21327b54b434a31a32bb3 GIT binary patch literal 626 zcmV-&0*(ENP)~{T0?kR-T4U8M#Cj$I z-1j|~lxh)T8TssH-R#Tl8HqnWK5o}*E44flGWi&n&6HAyNkrWSbu%JTmb&cf;}&9H zFkm{zrR1mWDfMDz&zI|23nS54%UTPWR<+N!cSpQzGP{(L2>;EGuwAbE-h01Dgf=KR zANS3(Up7Sq5fSl`6A>XZGt4$d>z;)s006bz+!l{Bv5H=|=@=Q}9>{6Q=N!w4D9h?L zW}C2x7ur!b7iw>9T50X9MOD4`1i)+Jf_y(%g^|vb$p!y;+~+W4wj)P%MAT~|KvgxQ zJ#Okf+Oj^d8~Lvn7ea2C<^X_vKRj;(Fqd;NA>!L{AVMx@jJtaGKdr=>Px# M07*qoM6N<$g4jVC%>V!Z literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_curtain_red.png b/mods/homedecor/textures/homedecor_curtain_red.png new file mode 100644 index 0000000000000000000000000000000000000000..a9462d022118b5d0208fcb10b90f5bb1e81b897c GIT binary patch literal 431 zcmV;g0Z{&lP)|`$kcAusa{@JS{@VLSRgl_51z3s{VF5`B^nHAHA#ATe_7+Ar-?t@6 zB(`lUDZuv0hXj-)sb9FBY3StN-ps5dpZiYoANeFbT`TQrC?yaz}p9AAW6>{v(u;bzP3aXOQWZ$uvL>7d|j7q#8vg+SI>-+JK}~0tRwXUD_SiPI)q-1UyP-jnn6{RYd>2jKxgqYN%vv{3 zChVrffZIR;;q(CISVOTbIjJ==@@}_51=)vdX3f%gWL@u9IY4$AJRUDI3sButqNc?y zxzbT-5=oM7J*Ac_)B7s{oMfl-z_MzO=b(u!1?F*Exfpb1mEoVpJ~D5E!Mhd z(vgkFpae*n0BFl;pFWuVc^6a9>n?&hamE%B3o1p6>TKK<_bly85}Sb4q9e E0Na9lMgRZ+ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a1dd62c234e6f50a7ab1ad286220592b1cfaea72 GIT binary patch literal 1606 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a38d5c4634b1b6c88fd3048e925a65762b0c71 GIT binary patch literal 437 zcmV;m0ZRUfP)B*1ppU<}sx9jEC&)w@R{>+{fAlSOEZ42+4fy<4918oVR7<4l|p& zW`CiWmf9rD_nqk+?urFBGkV}{%$zee5`eW35fMSjWmu@jsclY0)e6SHae$yxV`8)CE58cJW3Hvr>NF;e0qLB*1ppU<}sx9jEC&)w@R{>+{fAlSOEZ42+4fy<4918oVR7<4l|p& zW`CiWmf9rD_nqk+?urFBGkV}{%$zee5`eW35fMSjWmu@jsclY0)e6SHae$yxV`8)CE58cJW3Hvr>NF;e0qLhvKFkYjIQgtoXBaYQ&2qbAAI;=p|WOC zVO`8;0Iq-GT5Ij-=;-G^{Z&xF;SM-zGk3HGQUV}|Sr!0L5K&l=&?o)H^SQbN2*f&- z`s43^D<}Q<@yYjo@XH1OaG)6+@P=jppbS<3P-*U9hC4U_fzpe9+1lmJh6xB)5D%pi z;yd5{#ao}>Gb2$_#Z;m-SLR|4$CKmkdwZ!h0APVP-|Bz!{&FbOmDkSSdBCc|@7=n6 z^LKv|q04VvEv1CjtXe(ldM!CMcLiIk5QQ~}&Uberf{2J^t3P*ldFkB#q9fL<-E6nZ zDW#-}3;TP`eZ3m`%EAs6@N*Z=9IwY&m(;yY zreH9zTrU%o3QwgX=`67k!!Slm(lH#yQ>#;}i@qBIREMqpGy8LQ_rO@1Dr+f437YwI zHPvRdtY`hAn=M8!Wg2U(x$DENm5t^(0I&-2uv!yht4|W$Vm7Ph<~r*I+(E#BJ0ITh z0D#5(l)<%_C~4M{`Z0n5n4bufy!X2NzGDEmBuP5uWn1^sS zkJj90!UPX6NtXrTlSQYp)z=oM7SbhUXsHcag(xDdgebSkJ0>eJPEC~^fMeFtP-7;v zF5%U{$igr4^BHy+qY(fFFpgtHkkD7Y_ST$H9Aot|jX7zxpfFXfHJX)GZ5Q_Tj6#BT z5=QV=|K6W(pIFq@T7|W>hNRvQ7Onc@R!eQwqtqr-&5YdjC!47>54Ui8e7f!hDqM8Y z+IA0zd6e+6G;I!U{^Yxs%VqUY;c+U=oKs$p(`K{r0BM4?YTh;*-`$ya`QYFfjF)*~ zDh*|`(bL1jbC+HlO0^QI+1-^$1s1lMyp&>Q5s?DVdJsS{hftEV)h{wVJUEV8NkyS- z7DfW#%>K@keK-EkzSpk7BZ9$GwUnsVEj@U_e{la`x09s>GwWhLOCkVT;J5GG6neVv zB>=$8yrMNwA^_qs>jeNah{z(g`fHaLS$g6DtUQ(K@F->$V#I+25fL?@flRCt1?AwL zIEe@mJ1EHNOZ_lLN;Fdns|sQw(gXmz`|{kr^Z(d`=RCt&{nqe%@Iu%L_yGfKTF6~qu7SSQIQJya&az|Z`m$(2jHH@@`7 z)yo%;H|=Q;BI0b9-@ZP-xRXD>^Mf+GUhsdo z`R=XzCr3v|U_9+XnS3>r2M4Ejt<+)`F;x?$%*Z(prA{rv4c-nj1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z1`Z4`FS|MhsQ>^3TS-JgR9M5cm&=b-MHGj>Q&soT-P1fKC?dlnvmmJGFbFP~i3uUb z7@`Y|F#+O(_=s^OiT{R)J6(!KHpCcq#t=<#B|3ltBOx&nMZkd>hOwvn-dk12MGuCR z)25qR)uM9h%dgJkSHd!D??YCfpL~+sI>ab3fLK9{61Sj4{0V z*(v$2_-;7>U%_9Co^OAc!WcuIrTDU>3=vhuB@QPBmpH^&k~E?9cMA=H7j|!7E_`nQ zrH_nm+DHr@D}owJtyZJxw22BynxUb>IY(4553XhU!Zb4rMgIV$hs91w@D<0-{4Vsc zUY~eG5%~0*bNvJ44XEcSciIUDc5GBJ77@W&LkNK?1kxnMWjUgOswgOn4vQtA^bdfC zstQO{KA*bMlLGJT8Phe*lc<%{O(HMwT zNsN*A_ldHe0`EODu8mraq?z@vK&OD4EzivC94~HLuZkif zXb5Ckf-#1&@;K*6l8hKVGq>ltaeIL)GXr>n7{MALM$eZQulJ=_1s^1AVyGCs-gg6Fvfs@s50Mz8?y`j0~Bp|Y{NQkbpjuJ zHPw>>@9r7XMheYFZ2(mOe01UrNA{0%mOic0`0Q9-!Npc;oi(jx(O+u^}G8n+~z$`P&cuEfcZ*+ZqPp$Bj?XgV_ib<6-knS z7^<>6^<0v6djvw!Zn1xINB;nI1F!BI=Z{w8r=QO=vS~Ad&@Q@{*0Kz}XX=OuS(m@`f4Fuy|ir5H=f?6?NSHp2UZOa^YZFpMLo_sG$=s>rH?ck z4K#-C`A`x<0D+-;I#@q&?DVfamEpmixh|H_sr+F5z@c5EYK)_*3cUBEi6h2HQB;Vv zs49Z6qPc=K&6L%406B24ANb_-Z#^mS_T&nUF(N%!qW|Rw-rBuI#aOHnoO1*filP8t z;zOh;3yd+;YdQDD4}8({IL`FG_<>iR8r3ArP_g);Ls^w1)?%&2FZ~nlR>OVq14qB_ ztqKl|jcB{096fnQn;&z=%B1GYy(JlK z%FJ4K`(@8Omsnlhot^td3yE7Xjtr(@82T=4^>4lL)d!yZap-5Q*Y2)EE_FRk>rKr?R|^RQ31oyh zn>oyoX9duyFatn_x;hD|x)5#mVjo!_{ph(JT#6(1_o7(zhvyw2eppx6e-v|an zh5=CcZXZkm03A%X`+HM<=iXscu1!M<9Eh2bq2q9R+~igo2X^eaQCO-MTcz(I(o zlTqBa`p=zPUOe|MuXH z>V%8{LkPl7uI^?ye_?=IU>>t}Nz`08sd;N=gD}AyOwuKRTUPIaZ1uJITAhfR8n@PJ ztwQAPS{%+TTgRlu=dtBUOE#+*giJ9IwSsBXY4%|JI1gaS_|dn%^4W_Q1Auv+-JOJ9 z{L%|MjAEFpl{}{ysyexb5Nh?N<)pSVdwWVQPRocHywzX*>zhaF^<)f@L#Yihn8DRs zwS!hmZK^)E#<}%^n7X4)&g#(SrU&b>7X;xF7OidfFsONPn@bDLz|9_>>-hM%nu|!z znVGvNCv&E8GzWzUZB?ypHnv*sbZLM85RAupVJZz}vkB|__doRP*=ep?JfvjJB2kmh zyp6?6DXQx3onez_6k9!g+JUSN;S|GGzesd@|IlltAi;yEx{?6c-CL5;RI|&R(lQa3 zni|aA89Y>tk!tl2nF(Fjbt!K3|G2ro>f~6RnZt6Yk0Jn?;}5_6v(UTy?f{^wR?!+L zKI*~H3jk&ik-Bg7m(MMd^u!Z5a4ywgUR2dZi5(FlB0+%$QqfA}l$?9wC?Z5`ASbPl z_0#Mz(h$hCKI%b;0I)hOsw9CzKrY;x1?Hj#!^3B0dwa1pJdBz(+wK|K>dw$J;XgeP zp>xk)YPmFPT@Y2zoAKcw2e7sZ3D5=!JFBI;6A`g&^_x3~Mj_9Wb9~f;7-I-Hb9(Q; z_I9f0+ zPA#g_X4Cq_%>l(?pt1NO(0X2*T79jQ4yW!!m`BJ+-`gTVV(QzW38tzyF=D zU3mV&kH7oP-8`S(TQ%otGY(zM&B`0>nKP9EdO_-U#)E^bZrV)SwQ9W}isaR* z819ywOKocJ_xtPlorB|}O&;eOnxQCO|I5{vzxtAyNxwMG_usyLTSOLp9H&fHn?XW^ zwbG1g?N+Nr7t5{t0IGTrp62|1e``J8x_5l@V4P0Ie*=Lgtp7ramX!bi002ovPDHLk FV1h&t5h4Hp literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..afc38eede8d7c404b58e377fe2764848bfcc79a8 GIT binary patch literal 573 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 KMNUMnLSTYhMOi%n literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_left_top.png b/mods/homedecor/textures/homedecor_door_closet_oak_left_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3e2a9a00f18fe35f52f88437abbc898da5d93ac1 GIT binary patch literal 1636 zcmV-q2AlbbP)b000I9Nkl+diDx(N zN>yR-G(Re}nOWbZ-y4OE@b>Ur{%Y6N>kNlj=@owB~O3t#%>^(S; zD&|R5p@N(RKq~AQ045a^BPMCaj`n(G{qVibt=q@%{^g&ZK}6(&?jF_dQ0GRDoDZl$ zTU8$%d4Zxp0EpVUi>(4Mmrz^V>+c`SKW;y)m2wf!frDemn5B($Zkxw?A{2#xH-bikFVgWRb6a<>R%^mkbB*k)S@PWVo?P&NPjRpR?)TsPyjb-8de!;X6aW!9!sd7rgJVxQH}auN zBt}roxuvcr2rA7b&!sFE-K>N>?)689!-exhm!hir+9U=Sm|}9_0J$(XH;-F_?e(Aj*wNLim&WZVB0dHO01OyzT)&|P0Ncfe=}xJQ zJ%tb+{wo6xfan8u6kI>IzqMHb?DgkX>FmOn$;BAGDgZcxncew&W=}O60LNG?SWHAH zMpugZ;Gk%tDw7MSlL6T4pTD+Ff%+~;Gv7pmXA#qiD=!T&4S~m93yDRI9f_J&Rf8j( zo*^+zt61>7*GsdLZ0v*g@ZbK%tD#G8|LSdlNj46yP7*vxwrP@-NDWY=o^rMnXqru{ zz`?T<`2ZiWjF`XxJb-zgRl%M<_v&XCk#eP6WS++^#Znc}7<|cETG`I+!r|Fw>dCDJ z8Y}ktKmGQd%~neuy?4IW3ieh_nn|?>Q_i_I!JOM}tTDKh(&l)ci<*jRd$8F?j~LwK zm(p~vheFIsY4g;46OhX3b8R-8+RS@5PKB9c2;1Gf-EP(3oQE}Ovfb>u#Ttm?{RaT{ z`X*qaxuE3HKYDQQ@ZyDWYBie=(a1a_Fp0@-v|4j*W@cTo-EM;F`ry!j+615w!d|~v z@O$?jN~v(p!?{*eKmgWf*Um7Nte8_8y5Q#AHEm|*;1KA=@N@7P(_buq@h{`#%k ztB#M0F|%JR79j)xt>Mid|2i<8?)NGNg@}ky&Bl=cI6_JczteS`fBQi>kLtrw3f|NCbK@qNF7o7`C9w4Jy?Sp(CB_{NVRNCVn_yho}LzYGy zC`5|0)2hz7CJH@W~4nr+=8Z{}h-#fHghGFoGCp}>1E7x9Zbrz{Hcu||SyO2U{ z5**iB$+4-BTaGb$ zQCp?{|JZ}mpVQOr!NEE$jxNUo@%|m(TFW^z6MOpIAMakdwEV=?gM-VfT4)?w*Evyx zU|6|v)FHX;P8|V^;2A(jjMl(--}ha3@rz#|VnCks0KoZY`meqA<(FSLjO()iWZZE~ zBm!&Z6BQ|Ke7LJe7mpwS0|~AH0jN-U;_r?)x_rqrf9spydF7LzdfWpj`oQPUt;Sim zySuGomuv8p0(Jec+ntQ_=}onorBCF&U!OTUmsU&8IiLFFdic=g^A|3jv+eZLH+~U= z8>jN52gLN=t$R1cLf~o2&bj3xo@_IrikYKmsFKCBcFXm0h$Y{Fd)$Ll|Iz23geUla5+nWmj0000-bpP76U63o6Q&92i p!_$oiHy+%0aO1&^2mb{R{sCbNS)3M6p{@V`002ovPDHLkV1n-;zYYKZ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_lrt.png b/mods/homedecor/textures/homedecor_door_closet_oak_lrt.png new file mode 100644 index 0000000000000000000000000000000000000000..fabd29270612c00973c14eec2f60238ca8ec9506 GIT binary patch literal 447 zcmV;w0YLtVP)-bpP76U63o6Q&92i p!_$oiHy+%0aO1&^2mb{R{sCbNS)3M6p{@V`002ovPDHLkV1n-;zYYKZ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png b/mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3450923db90b04829be3e7d50eb450f9934a78d2 GIT binary patch literal 1638 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..37c5677b829367e71b05749a7109bffb7f8ad110 GIT binary patch literal 1379 zcmV-p1)TbcP)oc!Kt)l;%&HhjrU&r+uvH>x0bLap8eSS4fS{@h!}z*syN_@ z*k}l=3S)(4jn)iAD9vaFzxv}}<^Sc^Z2&|d*>p@$oI>xRA;b>mGY~O451ki^3C%7p z8@tDIPkz8Y`{al0#>*#n|M3jh9dC`U}VM zqr1N}r;aXqV(`Qe3EuJfPhXMO?!RfzJbgv3e(EC@bSuHzOVHF4eE|Lk;-#z42_>Oc z@hWI5?|2+Qol>3O9l+(j0QlkUpG*v#ylSzF%r6}=UmOx*;Mc!<%bt1qiu~q{ zw+tY3bHZZ)*j|FgWrkb;=nod$`ti>UGeXzloWprf@QPym_V<6V5aaYS6GH5E2jD`W zb5o*PGOacG!%K9tIX-rXD&7UCiP{=%7yy{fI#RVgFffZO#|u>%gzn;3qU4e(W2HDH z`iYIrYBhnaLN~v>JAk9ZLynI8BVos`M?^^}fq7!oW3gB;=0Y0N)B`?XncV?^@OCo`Fb-=%>{uMV3$um+vF|xQ zJ4032Y=#Scg~zhO?M2bu_D$`k!5fwe~pcUt#Q0yV0*35<8N zCZu75st~#v>XbYVq+vtJ8Skf*O_W;4-HoVN#D}T#ht-PjeD#Z>PD$g4S)Jr?*8DKg|5d; zXlA$&X?U7AP@$H_xLLFL^Xtr`XT2GASAj6CR_Etu__D%>h^k=HFzKlV;sUK1sbt0> zW6tBNu<(0u!c?KOOvi@zeE1X7{0}{*0p|nWIcjUvX4H~cF3#}F`O!Dm8u=yc`%`ghqwTZl%`Zu z$}mg-X|$YoXCULipf)2HBf3P+J$`lxLQl$>oEs@Mh9R*@3BefF1LHo1ky3Fk5>yD@ zaS#-%4=Jaom`iYtyDK7&JS^+!?ls@=U6F3550joPf3ZI zHq2tfrA)Jb;nTxC7!d)l%EQe-*o+i093xef%l)*1pPu~(r$R23obt36nmwALyG=tg zYBQ`h5>QGemrARZlrz=}SR+-aG^+Dd16)LO4<+#Z0z{b4BF(_8!wgb0)O&CcXC9RT lRTzq3K{;Oz#DncV@LvsHiB;QH6nOvu002ovPDHLkV1n4Tjv)X5 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d30b4fb6c3d22cfee52246af23bb9614c3c1c7c5 GIT binary patch literal 736 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

Mv;k0000!z zF(G*&c@Qz?9mE6;VdlXp2ns+pMFhC|+RJwRjaTi#qq8mQ|L^4PslB;>*{?C9`7?ms-UsZ{cm$x~s>h1x2&Zd{X-yQg;h=CNFT{j%+NhgRoNw~_S^ za{?aGsFn06hHlu^k;A$WOmKwh#mJ3m2L1ULvN*x2N~* z_RVAY>drj_c=pmRd$WWOF`*^^bX~{Kzx{4gZKSTFp}5)zDbWuj-+ce0sX72ugxQ5X zyjM@xB>=`@zyMLjyU0`FYZ!H zVI0=T7T`R9;5QT4c$`XQ@pM6m5kjJgf*EDXwALtjM7Awp;8gIn7F-P53>u|mrdlZm zAJzxRo^y1D}6%T|ntqOIod%HS##3PWkM^_heYD0PrDE zETVsmOP-WXG+%stL%#m*2fKCrwzOJVoiA8EeL|TspMLPJoZLCJFF$!-07L`9DSrd} W7BD9MZK$vS0000anMpdfpR zr>`sf9WEAj6?26LtM!0FcRXDjLp096ooMLC>?pvpJ3ak-&QBdnr4RRiaM~+BQQUJt zVeW?hy|?G887Q=PoZy(Tp!wChj2{K%)lrjQ$(&SDGA=!Jw>sm*?bDT?&bF;BTQ;X? z_4>O1KV;&f_DUR_@_9pONmTqZ?hh`fQ(CJ}vgrwac%0aB=o>r3Bo#(Z26JnMaF3uY zh6xXv9LiosHP_r{obM993e z@7}=xaQ@r0f99)6O_{s77phphuGuTTSz|`8+hmqj-h0*c%(7Y~6AsojyaW1^ N!PC{xWt~$(69C=Qf?fas literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_bottom_left.png b/mods/homedecor/textures/homedecor_door_glass_bottom_left.png new file mode 100644 index 0000000000000000000000000000000000000000..64ce23d639ea2020a22a94f85f09b669de314591 GIT binary patch literal 364 zcmV-y0h9iTP)TrL;US_@lixA@_l0}+8e z&-)_QRCGR{Wtt`!W5CY2FER{6%JY0Sq$mmjfWGf>JRXUNfU+!S#dTfJo_~gCStg6Z zU%1_F0z59?)WjeN2mq|L;N5PAt=RAPSgc^p(}rOHPt!C@Mo~mnRs9ShBCt|wQII4F zU9VSJ`UPfwcl5cg!E@N!wiRftU&hb<8fdMB%d*7jbP@oFCI<$g)frV*mhkU9S$R>zdOv70aIY9_YI6k8r!)R>@7% zyd5e-(f2){PA9Q;@N&7V_K64-417o4f-&aT#Jz~)7!=Ig!t3=~^&pBO5cBr-?)N(% zk4LeYgMj5m0O0w2^7(ugTTejW_Y44!$K&HT2cfR(_$%W7TWYOYT5G@hJRyyFo^w@I zpl{TdQFhKDj$??XX_%QoL{Lh>IR_yGhGBqG3gb8;NfLPP;k^eD!FvxWC9c;iegHL6 VpMob+HjMxP002ovPDHLkV1n~onAZRR literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_left_bottom.png b/mods/homedecor/textures/homedecor_door_glass_left_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..8bdf3ca386c78d71dfceb95b0105ba984741b52a GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i^gtC+Df}tHXgpKRjI=Lo7}&o#fruV!-19RGXgA%}~g`?$kWdaz_V_{lyB7 zP3gwHFJ8)j*%K-ft~Kp+fS2LEB^q4Ia&Lc-Ke6rY?(Ti>{Y$4jx70t)^eeh!(TP>7 zUajn$QnY{mbIE=0nSC$Uh{&&eJ?p*6`j+=ImUS{ZXdXRMW80#@p~H}nHbLOgZcNheKyJ8J7E01H*v9)78&qol`;+0JM>W-~a#s literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_left_inv.png b/mods/homedecor/textures/homedecor_door_glass_left_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..0b338fc8c8179e77a201c7f5c0e74b87b7c13dc4 GIT binary patch literal 613 zcmV-r0-F7aP)aZuD3B0+y`jJ`>w!`V zDJ3YS5JEr*0n4($7(*C_5JG@42F^JcW4|$;=aHiK*UAXQag5b!h4FYypo!gXC(B}J zSwIv;AmshG_xt_J2e#Yo?=v9;jIr5l3jf97aCrIscs$DV)d;84sq#yF-#0Ho9LE5F z%jKd?M5P2u8UTQ9w@Zpr`YuzpZJQII^e@D9UGh$N0N^+d$*NvTa|yg{r6OUb>u#bS zBM~O0%FC8k397(#U6L)Iu?VXm=^!HlmSvR=p05(%oIl-ro=4W}wJg%fWHON-D?zRH z>Q{ro;He!Q$9cMMx7(P_X7XRWAg?@&#X_cysd5JD^|~_IwD((<^)`Ezy`YK@0H;r^?H>b zUr2P&>2%1)CLv?2a`qaH#`oG#r8JMn<9lvcv>he*$Q;PJVH*8@pPbKUnb!p>W~8j> z{XE z)7O>#4i^gtC*u(vJ2>70fANp$GHA9 z-kE%^@>k`(?fM3@1y1BG*rel{%`3>rU|_uGyMj^&$CRKC_vF8Mt+cggXjrvs!gI@q z?h?r@&nwxC9({jYzN>58=^uNr) za3Sh)==t)hmc$A^6W`A}It<D;KbPq$;-nF;3{|{dZ^gV;8tDnm{r-UW|&;Ez6 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_lrb.png b/mods/homedecor/textures/homedecor_door_glass_lrb.png new file mode 100644 index 0000000000000000000000000000000000000000..25b4db7238315dac6596470098fdd6eb665e69d3 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i^gtr!|wpuj@deG*1`D5RLO&CvD_qFyvr9s4!*P-|eT=Rt7a3TF-EFxBc9d z+28NI^V>V8I3V=OxoZA1ci2~Dr7=(V`H~r!RpvGI+ZBxvX{XE z)7O>#4i^gtr!|wpuj@deG*1`D5RLO&CvD_qFyvr9s4!*P-|eT=Rt7a3TF-EFxBc9d z+28NI^V>V8I3V=OxoZA1ci2~Dr7=(V`H~r!RpvGI+ZBxvX{XE z)7O>#4i^gtr?jQtEqS2O4^J1z5R21GCwcd^81T59_Ix0aBdAcA{%y?;?nnQv+2vbz zh;z7{KhW{6aDx8nKU+qe3tWW4^jF`q+C}TfsQSR;SR+_3Uk1ZsQf83#S z`qQS!X{m31+x@Mw;QnN@U*x{2ZdcP(foPt?1{+@QDhZWnd-&8=(9t0O?E5422hRxn zX1Tv$N>jx3uaCc+ml1oHG3%LCEko4na&Fha5B`M$EZc8#C^qbSU#VaBs&;+uthW5} z8u!r98oSl%itkEdkI#E9$lwxqBy(2Xwqvn-{xja*ws3~Iv%+K!PC{xWt~$(69B7hh{6B> literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_right_inv.png b/mods/homedecor/textures/homedecor_door_glass_right_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4c91e3710ce3ea7dd4675385bf03dab6b92fd3 GIT binary patch literal 640 zcmV-`0)PF9P)Y;u7fd#D2iYh29#0&fG`ZfIfqgTwryiP9fhdY9 zMK27)`UDKafaiHwEEc)pObW9|1?3XZG!2uktdAi|zKBvuQ zQ(psR@M^_j7#7k%ZUh)(uq=x>=MX|53_~!+aJ$_ggn;Y1Xti2UN{XE z)7O>#4i^gtr;x*>q}@QF51uZLAr`0S2A|&8Y`_!4ZBew4(@xi!*CaW|hy6?dqkN=g z%7a$_PafZr`uD7!_+)C)IZg(Rr3cO^C>a<}3EI88qoL!$-s7jr&nbSnw^)O#RX;Fv zs){F5(lgx^Tc;^slu!=m?BKX;!Wes<^F#T*q}=ziTdoyp?%{qu=Yq|7d(P{QK_ad@ zZh!wZEp;YSL!k^~_S!q5=Dx+xw&iNS=a_#aI_K^4h?BAs$t_c=s$Pg2vpQ}tzqCCe zZNiDar{bTpKG-RL*kFOq>ELOL5B3;Ndj50WSpy!yZ?*jveg2nyFPA7sXFttyJH3ga hH1>4;{jZtga+(KL-hHr1sT$~a22WQ%mvv4FO#p&pg{uGn literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_tb.png b/mods/homedecor/textures/homedecor_door_glass_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..10c713351d12316c1556d9827260a3c20d84788a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i^gtr^%%G&)tAR(Vi}jAsXl3UfRfez<`I@@zjI|_kQa?b=}k8V%VzAF~R75 z{P%6&)hwT%@nLwUck+ypvC^t8m4*%mgJU1Iirq8$uu1;U1MLUTWsG+-dn?_%`~6AB hj`QBH-mNP7&aSyqXYLu#!cL$y44$rjF6*2UngCtwLaG1& literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_glass_top_left.png b/mods/homedecor/textures/homedecor_door_glass_top_left.png new file mode 100644 index 0000000000000000000000000000000000000000..93f14c822e969881e80806cb05f3612e5413e217 GIT binary patch literal 364 zcmV-y0h9iTP)GQN>O16R@QXwuUWcSayd_TyDv2sb#COEF}y>5D`QKLRH+u&MNgh4@5*e5y!DQGY$ZvC{kV5 z9bzK#J&M=lD`We@e_v1KL06;`PCf&|&e!69t4Q-X)%iJ!8kj7-g*mplKSiETgI_oO2jsxL&WM zX-eC+09-B?thKalOHmX!fXQTH=o!o9QlrrbE9w7ov)Skw=)Kpw2P9FJCG7Wm0UVFV z7vOHU)2A-H_o65Y@nht9E?d`iZ(@v5cNsRzGWxV0W7KRmGXQm6LkOV*em;LPG=!iI z;Zx;zxe$WL^IUgB`g*b5Ze<690RYqKwD&R%hePc7eExNcR8@s_&V5aIHaJNVY|}IV zEEbDS@^Co3I6j}xJ2KNW#YtkdS}94A&aB7dv3WQ9$2gr%e}7@UUh8o^zm?>@*9}?j Vu!vJr@ihPd002ovPDHLkV1o6(ni&89 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..9fba113379f558ff2e013caff8586bd6776956e0 GIT binary patch literal 4022 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f97af9f22d255f146815bf4f1de5baddb4e22ad2 GIT binary patch literal 1884 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 RyPg05002ovPDHLkV1kD2Q9%Fz literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_lrt.png b/mods/homedecor/textures/homedecor_door_wood_glass_lrt.png new file mode 100644 index 0000000000000000000000000000000000000000..927060df96016271cac61e1b3a77f63e5565d347 GIT binary patch literal 735 zcmV<50wDc~P)pF2XskIMF-pp1O_H3o*b@j0007hNklP;W2;bDfE1DY8)s`P zK+PHL6FqAta%=9j3EFe1H{(VMC7m) zz>&S2FDWMgVB==zuBelmN-My&?}%uS0e~c50ARg54gJsxKtzVQZh9=md;JB&Szp&(|P~x=_9js#DspPc7ReuX%i80miD;Ry#fKq z-tLMN)rbfolArIu1VUS-Ssxg**YmB)PV8tsz2q&I{Tn;itkFcDpFbMxoWG@E95u)B z`aX*^Q^0^#Yt0IoK)CB~*V7lIu9*TAwxe@is}N8*pP!2C+R_7n3NOd6AV5IYx~{W6 zr(?4%Vw+2t`jMCkl$bf?g0)?eg+Q}GPC3w?k6MfMcYw_vyQyqScIt*Ue0}CWLJot`U$>fx8>hGnhj&52}>7t~qK=Ox$Ztssgpy z-xQJ9^-{!j14)TXI1+l0Q#+G$TK;wDz!24%=J62oF}JHsGDA20SZcEDzXLy3Stv-_ RyPg05002ovPDHLkV1kD2Q9%Fz literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..395709397309ad46f57c3ac274ea3d9b79397076 GIT binary patch literal 3903 zcmV-F55Vw=P)pF2XskIMF-pp1qT`ek17)t000i&NklAmIb-g9#fIeRAi!^)at?KQ?4bByu- z&oKo@93TJX*ThLVqYIGsM(9Ly!|Bsx1{xPoM&WJCV6=iTDKr(fEy;%~j8}$CcUwB& z&@&0s*&h9(M_JW$b;GU=6jD%IkMkg8Was<^2ICRaogI`>yyvU`DUR~~@~8$dX^znf zV+_U^oDWC=t&d142@#Amq&jC@WCYvM`iN2rX9HSEv;>nF2EzemYw6_~L4ZM^q`-)X zkP)Q>ct`Y+X*oqmb=22KAN2v>+nOLlU{-e+E9ezNzWIX-^an#smV$xK zt)ZS)Jnc%(tOz>m*qJqqipaBj6-AyRD$iuc;+!MzkEpgMbl#yvq-rc%=e7tz@@&-{ z*#JlO04d}}PcRSyWjVzpDLU<;bwZGu5CTN7A!4*5A}A6=WgQ^|ibSELAVz@@f)K$u zN9P>2YY9S9mL*bXyt5=(LS45sRdw+m4zyJ4m(7cBpdiR-s{HJe4fN9+_X&hDKu9)-S`|evP{|67h z=gj%Zj7eG1OA?xT36?-a;H@XkQ}AiOf;Xuzn*3C@u%g9k)!=?})(uB8~PT%p7Z$*uPjHpV0Ri6mEMp`o5Xa^cCe zL>WV8-N_puNqR)#DT)H??V;r|4SRLTUh7Fyb7;9DFHlm@bsbW0@&;&{2HUkvXC=gN zXgQCdNK*GMK8ysIUxckq59hD=l18vsmS`pE znfYrx{P0IM7sZV){>7Ki19Y=(>T*h!YK~(Z*#K2F!&*xS0c$OfzyI;451Mz&um0lc zC%^RM{=Gy=25HK)^~5;;z>ht4|C!Hz^0NoZ-}W1~oc_|Ef9~nL7|`$a@ZO`B!2{1X4;KeE)-I7e(-!ZoTR3B?Z@dDW$a}TH-ES0e9VV*FyPQfAh|>Ke({XWHJM| zrkL|%Gk|rLwr&B3ckRB*E>hyId+s_5uvOXlItH{nTm}G8(tw%^c<)c%0Kqwg5VSU; zggKNF07gWvTN%;Wz|ih4UCXUt{}i()e<7C z$(FM5v?5@XKxlRH9^h<4o-2@`ltM?xnbjdf9azu6*Hik^(RCBFN>IYHT~_Sw&X78x z^MTwbRug!|nLb(sR#pb2TCtKF3h5ch$a)G}jpxGd4%T^mh{WJe-UHHnfNx5YBtZy4 zni|Tg<|&^u7!9arHAV>f{Q-8;@V#eh2K^EJuEy**tdBS!up!dcj_u0v!`+%`+0r%* zF?zbPB7}fz8@v zvEGx2CGdcx-$N*YL?UA3iAVqNz(VHDZ+L}x@BNSNS9*KX5(FfYeMo%Mn_eyMyYGDq zkR6Ov=?=8ghAN|N9`+UH4D+Q}XhEjsdslAVV z>;ntspZM^@XU?vVN!2{o*o$??i5j4n_whuWo!0|b!}FKwgT8@GOQew0F8&A~u;~AU zR1oK6s~|2xAru0^1=2J{C&{4;p;2l`O-kniJ{(>V+tnBuF=>im3F?5hE|FR?Eo-{w z@Dx=Po>^PrqsLqWu~_B4xtf}E`&q# z0ZK+h^eCf{Y6*g%x1Od8G+l>D%z>$p=B}Xj(@(vk(FgJo3QV zMRR}Y9lx@FZ?B020wzRK^PH{T`P+9dl)vM*?ml~NQqwv=cmHLG0YWR%L@~(CHR1Cc zRE)4A>tjx3icEG0sTi*G+1uNrQwhCZ#58$CLYgX6SvB6Tc9Zy-o z`L2&i4Z7@*x<263`t7z#bVjd8kjqd9w6;YcNb?+f4dmv9ojnpMNtIxy zK0Lj>TQ&$GXzGsR7)LfhmShYDIXcO(UCXDx^e+o@)91eO+`U)5^b9M7qVj=p_M9VL zP5#WNN3I2lmPok-8zcR}7~8f?Cp&19aQCe@ibYD?dGmAk)^f!#O(+s|#opjS@|Vi$ zJ8!;G3^Icj;6ucAOTY(ArrV$;!@&@t&At+g_<*}_y-@&j5<~=Q>q+#F&UrqTxO5#t zAO??&b2{$C4KN<9B2d(Ic?C^1|-!v?1c!^}2}u&9+aa+6cHH6s=24~9go_}Bk?mO*BCYNx?^&rgmM2AN`a zdzTObxfXo?+z$OBW9Qrt8IQ+op5JD3GH;Ul)PH>cWSga9jAVI_s+Ofy$I|6_WH97Ii>(?`Z3rQtlp>0hZ=Ea2@*ZwlB7)+X)}i+H$Wo1r@ZHHKJt6Ti zk{d-E6jK+e>9bqI)j8D!1hi}Z;*0s(xId{76Tle6xA7{)iol5yjRfF z6`c!6rEx%%hNx5Owj~NhS$n3fClP_}Vo9sDq;;Mc1zS~3Wdr4GicB(mh|H=P^=wMj zb;NLSAK@5!1dqi7(j>)o4TJF-vuehl{_}SPeCMii?|H|Y<4vEnS}#MRWRie@rmj#* z9ZCs+mu#Gx6P;2pyx8=(s0O$k3>BiLuO&hVj-f^97+Ph^is{ZC{lSWuNkD@?G1Y zjhuIvE<>|)MB$x92|;k(q4|J*o{*6E5h1}tDbiOC4TUDIaeq;%xQAc&0f!)Ie56kZ9uYbmlN zXpoR9VLIKxdyiUhj_;u5V8oozP*Sj4zi=A797=a}MO8WSJg01ypjTL@33;AhJT!T* zBA4U&OQTmL)U8EGvF`zk;>P7?khIkFbB%Lue%|P$4d84?j1g-sQp!W~0jG-g@r#fQibFYF+ag6n&hjefxoE^Jd6#k0FJuocb*2ALpHlJncUOq^u0 zSMiA>!r>!hfwrj`^?J0mCB}#pky9%Jt{)hb@I(n(K{gyAyv0@}l~iQ(*sUGbd2EQR z3=76t!s#?YNx|8kq;`RgK~4xMyR!*f+gogGY*1T|kcwkCI(!VRvdZA>9HZy`0aaBo znN9egtv;=5>1BO_n_==1y}Tn6hFR;#nubWE^^rlU*xs$_63zc^JBFF&{Enk23Z{Eo zAS6xMP}Yw6!Y-RTEo(#Q+!7c-C0#l!?83;{XgiW)K#fI&TIex N002ovPDHLkV1fbFUcCSS literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3f9490e84e33dc006189cf55355e0a3db3717c72 GIT binary patch literal 1830 zcmV+>2if?EP)pF2XskIMF-pp1qT`n_V%l>000KXNklGu_jVx?NTGK``F&c)gG2%S!ir=T@CM=X{_1`iF1ie!F9r6IZTYWsuBtb`?>f zs>is}VFlDGLS{E4G$pQ1Mo?PL&OC)xh7`$BPyr*t{f7?`ldznSMx& zOH11C~Tgq-N2&~=^!^fBT68Hf^7rtfxGQyO-wNS^`+vm<_c_iqA!=SBF(E8e3EheaD?Uck;8yckkZ4IQ!nsmpE(;ZA{E6dlB;@{!0fVzW=Qmg;i7) z9ZzNqUB`O0z`BCt<70VNl6T&D=i==^e)p=9Llo|RC zU9C^SD$~gnvF;+tW73m2K0X!zHGm}i5Gm|8V=nV=-MV%0oKhmEh-Prkp|gW42nO%B z|=Mhg9{L7`nZi$*3S| zX!}4@8uo`$8p9AWD5!CQZ`VK~vwxyZ7wE!(3Y@%P3NHVS!dc?*Ri!nBMBlcAt|z7N z%p~u>|Nhr{;%M4XSS0}0D))_xo-F@kejfwLfU`o%py~?h$pK;wBJ#{Jx_$fh*Sg#H z9Y%$5X-QcxE_xAPRf*v|q#qKR!+=QMpB zIaAdm+U^ZJ#FCV47> z>$OrD=u^PA3&aRzT@qp<=S)>73fP!BhIU739VsP@F=Q$E`2Lov9ud}CBpJTw0_Nj~aHqr4I=;mH=dRWLx69jx2_)kF2{$A&LIWm1?chg-FiAN$Y8c#CEeri;9>s zn|6cWtZDn6oFYyIzFbrG^D|EffywNMO}pXufB974(--c6U;XSy`8)F?YHLUte))$# z?Ip**c)QA)6NOXSO+r%$q@3`6&Hsay4;U48G0}Em??u!GrBCOs$y!BkUYmlz&bJt2 z_DTZq?fEt4O^H)sTH5DI@ntb;#51;vh+qw9-}S5)XN)H^Qht7t%YNXss|BQ&a305wNiO?=jqizMDyukap6drL^ZRaxbxO_|&i8;2 z!+;SXg??{8Fs=*gvSzW_LQGGMc^a&>SOIGktDrAW9c5L6DrMd5?FSy~K~<0FV&1=d z1)LF#E!p)6ee?Q+!d0XcNGa_<1=~RF971MR+x_nsLo`AR9Zh9WH3jSSf*2!4&0Z4# z;N;v;7!{WO`D1ul%6s3^wt>2?+3q50%YwSDan2Fq(-U3R^T!x91-=^)m5T~It8Z@K zzJ0;BY8ls-5CVl$Gz>jCXNF-wRrmG-*PDt-&fCu6$MF{;L-u));_jOw0B9Gfms?RI1`UCc~M!|Bq~7nXmV z2Bwwe!6MK!4ePTL5M{UBvGoD}aLK(z$I%q}09K3vQ8dANy~etNx|uM9fwF4w-4;T? zHOkHhw&Zg&8WP(fl5=M1Gu9ROJ|il$LqbGo{SLqDh%w^C;Hny99kXdg&Ixkjf2)Mv U+==yN4*&oF07*qoM6N<$f_^=55&!@I literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a32cddcd24ea247534cc2e886eb8a04e2aff64 GIT binary patch literal 3847 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 JPDHLkV1mxYK&Su! literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d3ade57447bde2744be7d10ef19a8faeb35eaf GIT binary patch literal 1995 zcmV;+2Q>JJP)pF2XskIMF-pp1qT^96%48J000MSNkl z?s*st7?7eU$s&pr31wkTyo?vDKr#xlA|xaS){})jVw{a}4B4?nL?|pQ7D#NeVizIg zZIn%3N)#X@9x(Ij?&^Bny7y+$%79^-%#mtQbg>u_-ijTw9T^tTJ9*VS3oo`G&$KOlL<7%7SWM)71@!E>J3= zcAnmYsK~)*_ZW^xOb-swR-C2b4hTBT6Yk1gk8m$r+a!!F9AgqP3=X z0izX0flVyKl_6E@DDsRTU=g$utVBdbv=;C^(MP7$6j2)U;obxl0<*fqI-w|6_~R${ z7z|giSq=iB^Mu(hXV%u4x0ZT3=RbYL*;S!)JqNRfQ5pICXik}@$lNnIaP)moJ{U3I zpV0XpEs=TS*!y&k5EP%!8_jG-a>so>+s;WYX!S{|NOQ`FXW^EG^I2`)%kCX{c<|W zBFCmVAp)XM#u@<9#A1?cDakwUymMbpODh~z6-FxxyEw`(zx?vjy19M(b_D2V`_$Ex zEM2Ut&I~NhIYJ0H=eTj>#)%}CE?ts$-+lMkmuST>O_{cy7#ELsc6Q{AH{LiAfBEud zdF!pWVqOjz6b0UUj3`uL6RfqwASk7{e*OB=3V!Z0QTl?kw?I&)13eStt{vTz={n z)*~B8@I1CY#x+w+I-nfnbkltv8kg9OGqg?Q&!6n!Lgc869L#E-cx(;rTD)tS)pH1N zG;awJ)>TW@cv_|T>pwmsDGJp0))Vqvg95EJCia|NTVcfnHZt(_l!5B$x(P-nXz}b< za}Ez@D3j3nKyEc_34H(T03(6b)gh_Ttmc+dd4?*ok-}c%xp#Pg>peb1V(^$WAL5&e zBuNkv($rGTYd-cl!_km>R%1mN42HN#!-sckhJz7t|NZylg$ozH5&yF%9*s6@ao&@N zpprp>XhETn7?-Nq`Sa)HrI%hh_8m z13Z!5^^3gxpML&7eHd8Cj6#W`?&H_yfn_=%N<&->yFy$DQRo9{nqrdV)Iu~$EvZfE z`hXAd)I#LC8ml5UO%XJztt*sKOskr%X--WP#WQQ?_~@}pPK_Jn1xZ%W)pJmwk~Aaw zNSUW}UH7&AebPNZ;}$I(QFI}kdLGa!BGE5?O0+?F=V`h?({ipLg^TeD6*@4`c!{Mzl#G29!w*S)xc1b05i9Yv9>upOr5UC28~+AjCkb_3=FL z`s=SRod@20^Uau-C0Yamgb+}{^)ziyHFFRGJ3Bi|6ME^=rDNYw6A1)th@|!l$O|vL zuoVCN^UuqtlbSn!-$iM&r~xsWG|>!mi}$B*tLN6Th5W_{L7f`6RwU@e@`sP_5`Dxd zrSLw|c+bjU%+`}Xia{C9Juv3+)f~YQ`$$n1B>8~8o-r;BS(bs01VCHOuU>p6*3Pl{ z=oqbpyStw<%!INW@uz?7@?e=_UBzDQ`Dpimfm!^yvkF7t1| d@R1M#{{>Hq-7_r8sx|-s002ovPDHLkV1liyzmNa` literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6c8f04363b0efdd1cbf9823bad1a9754338d70 GIT binary patch literal 698 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 FV1jqhY_0$R literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..23fcb81dc335d5c32ce617c5540e28345c27d015 GIT binary patch literal 3791 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 FV1l@yE?xit literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4c74aff7748bed18634b0a30396e8b8ace9453e1 GIT binary patch literal 1925 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 LNkvXXu0mjfLT#ZD literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..7121d0bd72414628836779b78125b87bf9cadcf2 GIT binary patch literal 3923 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_right_top.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9c4309bba29802c7968a609a995197c5de9d2e GIT binary patch literal 1988 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..3aa316e49f324669c8130931f7fb5173d2649692 GIT binary patch literal 2125 zcmV-T2(tHyP)pF2XskIMF-pp1qUGpwDmYN000N6#f5ys%VQAPIIV}!0}5WMc#+Y5Gy6JrC0}3KoC0;9dfyknc-T{h1bKwgEz*I zbB>f!B&DR$XhcbpkaLcN5ahilrBry0XOkqMs;bC)Pf3!HF@}^{@ky4U#E_~MU zc%&@Ls3;1OQqt}1t+-_V@=^mNNkURel2VcoB23gdM?^&4dlEvBl#-NEwZ#xo7$<}v ztu<9uMM;u``?&B7KGPWU>Y4Xk>e3I`?RG>&WUVDBC26f`v)Pc=x@MH)@knW!lC_qq zsv=_yWm!hfIWoqO)|$$)q$Ej*h=_X?UJD_}7!%%?WqGjyF7|-%K~jc^bC1A|;Rg#u zi15F`TZky!!*6SCcqT~_vet&bUDX3{S!*fJbDGU&cX^&K-+E@d-Tt0VrwbyY`}=!8 zo6W*v$K$bhd1iHUbJIG0zu*6@wf=ANO2y#;-g_ba*8(*^D!6soFf zK67$>Q50m130@F|0jjF1?S>FSv@Jrs_;{Y@l%{DdRJx4MvW&FWwa~e$0i1IodpC`6 zYFwJ8q_uuC0e>NNz}=os!lIo@j>7)eL|*HpcWa0BXCG z^6X-GH~?(%ig8r~!0q7)Cl>Kf(*uC?5X+m*=674(zapyeGgZB(^4U$PX z1N`yhhu2!ubUGy=L?Aq1d)8V4ltuFN-qU8Y@x~bX@Zm$?4e%`F35@sN2fh)72OuK@ z)#Z6kNs@#e=4Go1V6Yga6iuhoT3!L8#A{;=6-5z}?hqkxu?IlZz-~a;fMKxvFw)_0 zAY^hF1449K1-#~!##%cF1{e$oDWz(O5Ib``9s@;&QD7)62%&>ezED;2l|(1t!N494Z0mF1P^}ha3S9Lzp4# zqM*Z=kaLdGG!2sj?d8Yc+*@EE&J1zj2@im3bUYqk38?V6C_I2`^*pO%QQmth%d&P4 zuFMU{&j@%k1=j-5Kj6I|bYP#B80K$07X$ymSxmes021ZS?gPQc&pvjlOTvq9|KfXRcn3gst2@r%vFINJ!gnq%w%;v$YYO>kKQ>)d7hIohPKREGL$qnh#*pyWet>g?`gN&h20ZE zP+68C=2^JZ01XV{oTH*BYAtj{QPAOVpfpVbRgQ)Wq-h#!c9=6tuAeEy0C<31M8 zbpn2(9F-=>yEndk`O;}-_xJaHGMNOop3mo<#(n?(-SgaYbq@e7?VFS^d59ccF$4!t zQE&mS&YW_~W@(#DCLz(W1J<+U6XGf-R99z%Wm$$^;jTbvJRaAiv93TU&-0pK8ifbo zi%wk^!INV1OyS)4X46#^H~^FB3Td%$PNYsz;bziB{6}E`EQbH?q6Z)WzK7lMFJnc) z1>Un0P?9(s>;u1}`NjzE&`Ppn1I08TXaL#$2Ghl>2 zfBtwO1nu{GD$CO2bhs#rVBn{xr&@Pe6l}1ns^F5C5a=*(XGznvh8S_!34)`w4qgE_ z_udCu4ZxM>Id80tgA8Fp&;`n}r2T$hJM}@sbW;gNQ#Fi%Q)MoGz|asv_WONk!;eA_ zfDxbzz^&PFSx9=||2+0l5_v;3Cq4jL@DAR1aq0ChT_+yjK$>nb00000NkvXXu0mjf DJ^t5g literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..fc55b839c6face51085a582c463f597e40d8f0f6 GIT binary patch literal 1090 zcmV-I1ikx-P)pF2XskIMF-pp1qUGsBuXWv000BwNkl-Fio zAp|r{W8u>)R@8G34-bejp28?{am}UutJMm--Of_!MFcr#%<~NIJ)Cpyw?pc=7$Zak zA%wHMUfR!R=bVc%!nsqnN-6L}v545jUq�WCi#AW<>qW*95e0+x85pKR@)_Ao4>9 z#+*xrUNW3U=bYh(VL;oqH-oT_0Q0$Ykn;a)j5ieDVgPFZk$r8{>8NW3fKwsLIbRIp zZ->;?l7PI%fEojp=fr_WjFAjjbci9?`?J(7VGt{%ol&p9m4-azCwQ;zCk+`1x8LtI z=WL+j*lxEF5tLF8La-l^&v7^$OmIpm=(-LfV&&a?kG}5_V*~+zJRZ^a{mE&1Gfk7> zpzAs`O=G#PF;a(|?`YI|y|%P4t(;ky1LNlB(ixIGFX$Ii!@V_S29G zNETKaHjblJR{$8t5q;mIX&RGi0PtU5U*@fdm}Xz%JG~)|=nZ+TswUI?INwp$RrM_0 z()T@fyB%VTnCBVK&(Diw_2c71H=B)p7|@vKCG;hm3`aRNdPqdIbb?Pmog7(JWCxk3^P#13LB~%q51bFiC8kMf3!}z?EhNTot(`2~w-usg!S306gm|#cD8o!i= z&N;*wzva9xM7Q(u+P3{xEbmRQ7pF2XskIMF-pp1qUGy%_)G8000N>Nkl1Gb-}hYl-Y+;Fk3>XdjG?A!D2gK5@Ani%5lJb7F;1rw#c@p5+VE_WB;=e630p*EKok!hIO6X&QpZ)pdQh0q*vI@I~_NtD2^1c?5P0FWiIsd+$jp6`sR|=dHEm zy(eQ#xUZBVV@$X=sR!UP#!!}Jv|6nwP19cAEQ-P}77IZ{^!)tnA0Hn>nBe~Lc=UOm zi!joOX}nXI2;aPQfD^pY|=z>yJaU~WNYm>$$N}4XsxBDX>KwA>bsQk>SA~}VE4WE zqu_wM4S-1i5Di%bJOD@!;|_!s z+sn*I=tCz&W>NLRwB!?mcBT-0s7>uA$kC(!QGmE2}6ttf<_ZW zklgrgUIRji|62h~-~TnK0Z^xrUWmlI$(etQU&=FO5>(P1P*ETWqOdW`aJ5zFOL7-P;F!8zwqcE`F#@c?Tr zRaHgads;4+VhGLU<&(R!)>>RJwm6+m^z!mDFAso9bIX-wSpZMBlr&(6?RGm4GQ_dF zl#-sFo;(pzp67wxdGA|Nc2@-!LeOrv^VV8guh%4mpwsCTNYmkP2nM#+(&2ERu|h$Q zv3PKOw7t>1Kyy@U9b6s=j(3oyloUk~rD^&uKXCE`qkt98!UHfF=Uh-~&<)1Kxn_uo z$8r1)34#t|vCszaUB;NuFdYjFjUtJ4xji=wsBB%=t?n@RKAyv(7%^%Ymp=!?jnNz# zMG!$#B#vYH`0?YQ!2JFDw@;FUy!UYbLF2xD{pyn>84U}JQU(#nw?N^tEQ5>R(&fd; zki}v#pE8Jq_t#bZ5J#6orFQJeK>$GZ-v* z`I|*|7)N6G#D?erd=cGP9>OJfLY>qA(EYo0`I;WUkH_`xWFME{A}W{CCN;q6bfP3l z=vJW;V23Nkw^W`!&zUR<0_ELe0Nxe8)Fr z;Rwy&*l)>ON-5fIw;qkvrfKMSJbIM6vMeczB08N;q_w81s^)V-1X!M{!f1LR)~&TI z$lP^d^adA;MPPXdD_-_sP-u#?@BpH>HWx2t-g`P8k74(O5LDN7!2VoI#4dMFm{(O5 z&?V8^Db%toDURbnm1p4r`~5!bHoC-}m~Jf&$76Z?GaeCWG8WI<=6GhT&hRK6P?jZa zHk)wzmo5*_z)?BHXh_@HfM#oG(Hs4a#!w4WS6KkN+#YXHvo>rVNpZ%01kj|Wp`cNFsT6^9v=Q_ zCpgHtwXFtko5e3i_&L6z6`%`}uBpP^GRS{mISV=rqH``Q_vHjA!oc`L%OH5dzbHxn zI}o}>4}dDnfzXf&lBQ{^YcvZwjKv#c=*N#A^z-LW|M>Vwyn_Qbcg}g9Gk_mnUS7Nq zf{LP`x~@I?f%t8JwU&0fUF($SEZCs6_T7&kvMdX&aky<9$1TK&ju3B_YOO<`5sg+5 zEgY22vW$Do^akK9G3WwyT~kpMp;&jeYQ4~Rr zpM@R(BS06xqL~5|k{-$zI=$Fk-WlfaoC3o;5L#ng{{i6q4h#yGpjZF^002ovPDHLk FV1hq$?*0G( literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8afa0732d7f4e8b4f261a9c062755931957f8f11 GIT binary patch literal 1125 zcmV-r1e*JaP)pF2XskIMF-pp1qUGm#GlN&000C8NklDUswiokI?nMqE^W8luboT8j{ZUbzo5V;BZhRfTaJ!OUP|%=zZ$iZOzS5Mu-Y{m;xW z#vrAnV*o%zdKE>15CV)bIyRpJ04XIn=gwnqZ*K_zy!T*c6h(oQ5{jY#GixwJgt9CV zLV))k#u!vpg%~58b0~@er_%}6S^&W5bV7_#$7Kz9v1S!N#(chY&P_5R5z8fGlKzwu zj4?V-Oy-9WkWzy8UdN3w@ZQ6F4=WDddo)dh^?HrEt_c_Ha5$vZYDEC>{{EgGA0PFY zWPHEhr?zb``tSGqbT}MP6a@hMmjQ`<97oi3O)1|>W~UXmYjy(6;TOf7`Y+ zjw76Nngs@c5Q3iF4`>z_p`W)kO@p#5^+@J(mi()#Qk)rMzyg#@LEws&Wr?CF6!A-e z&W)KTCCz=`>)=ArSXxNHB_O=VWRoF;^E&(e9w7uc=l&Fc)HgHhVoR1EhwMJ3boQ4_ z2_fCHh-5&RPW<}5U&M|0#~3Ha&2?RCJ;xaDT0{ac#%P@bK-YB?Lb&R0j6qQp%CwyC zfQZm_-PH<^7sw)WtQljj`VYf^aU7MD_;5H(Sn5_88DmHo^9nZT7IriMdCwe3_biet z-MuFKAwE_xAOi9F`kIQOK-YC3A{87_JMXi0|+3<9yem6W;qtrFria2P`$215t1>41;RB1eNbxOq!6n6z58tH#m92Vsk

Cby|MhxJP18*JOTN@j-O~@`GCb#jYaEi3 z5P)+-BH+q*bBl=N{Qp8im)^xvr-JhTV>e>`6}SMOh|VC)YyOh-UOJ9E*js(XTtz3p z!sU4>&M|Na6B2kne2pa|~Pv>R0N!t|RaLVh}OLBxSD|k=>8uh?Ek# zuA_ToHZR{Cyw+N}(nr$qc*MuY$20@drToR3rcv_xOD`$hvD@v=Vw7_?Gef==+qPA8 zODRoS>3J7SMELytOd$kpHX9HTj>n^lR^Ru!!4LxazK0xzmF`qptRG&Ve4JWqHRZx! r`4_Z&)Yf(V3m>`oNKm4RDJA>^c9T?`v<0lt00000NkvXXu0mjfqId{L literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png new file mode 100644 index 0000000000000000000000000000000000000000..2fcd80b827cbf624a5cb40dbc5736ca3564c9489 GIT binary patch literal 443 zcmV;s0Yv_ZP)pF2XskIMF-pp1qUG#t}pCK00046NklqM^!vASnMo4D9AqXn2kE%G7NfOx1`R+& z2!m#3y?1K90EnRi_!r~sB4O58M08>WP3ys~3U>#aPRn4|&v6_eV69c#rX;bvB^_;> zo;ldXE$XrN#}1y{1NJufUTussbAJb6d#ja*>+Eb(PO5eva1$?+_pea>bK(5wLYRY9cHA~{ lfc-TMIvx?)rSI-6yC3~M6bbdZKobA}002ovPDHLkV1lyby@LP% literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png new file mode 100644 index 0000000000000000000000000000000000000000..2fcd80b827cbf624a5cb40dbc5736ca3564c9489 GIT binary patch literal 443 zcmV;s0Yv_ZP)pF2XskIMF-pp1qUG#t}pCK00046NklqM^!vASnMo4D9AqXn2kE%G7NfOx1`R+& z2!m#3y?1K90EnRi_!r~sB4O58M08>WP3ys~3U>#aPRn4|&v6_eV69c#rX;bvB^_;> zo;ldXE$XrN#}1y{1NJufUTussbAJb6d#ja*>+Eb(PO5eva1$?+_pea>bK(5wLYRY9cHA~{ lfc-TMIvx?)rSI-6yC3~M6bbdZKobA}002ovPDHLkV1lyby@LP% literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..045215c74bef4416e83e53fa389b688db47e1f0c GIT binary patch literal 1103 zcmV-V1hD&wP)pF2XskIMF-pp1qUGvR3OnR000B-Nkl4!3bQeLoZYX?4n`W9w*6SR}=H=yu-{0Rcjw2o(9smH|d*qza zbsb`iU}mgVD*ym9!x#f&406u!-Xo=i5CVt@LSNYcT~$T?p%bj`4}R=;05|I^_BKtyPo1^{N{q?8m=M0C~AHNz>T zi(39Bi(nLOZQH^LtbTC*N3qr_OvUjUVP-|nG)*AEu>96ElcZ0gmxyW|5S}r{%nnEd zwap}KxvXg=5-yx3N#kESxlHA<2Wp%*#=v_&XTTVP(utbGrGbhjt9E|7-D(doGtA*| zU?NgN8OITA+oEk->~=eiu5DW#LZwX8gb)Jyz6Ud7zu&_-hZy4pvO);3)*{A;aUAjS z@iCK;aIy>Iv8^;kjXY_rq<#S>vgn*`L zw7ZQlIGs*vxNJ0OT!}Eos9f^-`KehupU)s79FIqx1CklBOLADrh#>@o5cB|fmhmbF zmOM~)_A*oQ?KDjqdDApFolbDF7>GPQJykK%>+36bU8kkk?RHgq&(F`iUa!H-==&Z- zMBk{mhKQs*e_=ssMp zm$jCuC*N3WXQR&Ph9%oij1j{yDCr4;oLn%cY0^HBnJqIt#;7-CY1pP|F3=+mp3i3; zxqAH~Lf`iaU7>s;f-6@nV~j={Lb$jwOPyt#EpJrT+6x^Cq8!!Udkn*XVHir{!hhnv Vi~`OnVi^Dc002ovPDHLkV1ltr___c9 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..b64ecefadf0148d7e69bfa0436ad704f22aa6488 GIT binary patch literal 2095 zcmV+~2+;S5P)pF2XskIMF-pp1qUG*PWlB`000NhNkl$F>P_VkD1w(!iCpGAr%#{MCHJ3Tf{QogoC_P^|KW?01m63jn+Fiq^OEbm_XnSoBngyK z$g=F>d%yS-w%aYd_tpEC#p|wVu zrs%rvz*yE=7-OK6Lf`kn(8idH4REms7-P`)J<>D{?rN-yF8 z-@bi=bMDnp`r{rz*LBX(HBW9H0Gg(Ob1sC)vG*KX&rqA{y4V2B^o;qK%>%&Q-5nN- z#lcC&7%$Ir6h$$a5iT|WH}AcFH7On2SXEWfT1RDaxqi7^LMa8Ub;vDOH2`Zg>;5^p zgEjq}%X^QaC;$Mv-R}AZkX|6&*^krt_>2E}|9fhA*L4_%0sH-a9tL2&X9%21W;6iH z==iN~8Bd1ID_`;FLx8nhYaNxzr8^T3yp=G=hT(S-TwOg0j?h|k8RUBYI>vazFa#Vh z1t7ZE06e{M4v47)<6p%XuWj3aIcAXqSOv~SW>r;%YH%W7{-+F175|e!VU|C}^Yinw zch2GF<_1+&1=jYOfoQy6zkYdR3|6aE@T@G$(6%kIEQ7Tc)>;h10IfB;u0vUt^9TV+ zf|4Y`?d>h{JP(QSE$<*6NYfN`U55;xWf`1v;Wf#S_daL`bzRTH0~iLp*|u%b_dU9< z3!53ksXaNnRn1 zx8LuBGQ^5wj5+wet9pPeW!`%{JUpnFa<*QteNhz9T0<#?#bTjiu)yQvqnBYbiz*bQ_v!{e) zj2<9M-)qco{F<`5{EVx60B=Op_LG#BAV!L!Z_wuOS^}k6gn&G#JkO)cpoGw;^Z>EO zXIU0t_H5|zKV*g*QZdP_ZQEc3X@FDft+m+gb}+`wCkg)i`SWagT2)o(2%WPwNfH!A zfh@}=p~RCwVc_o`;c~ge^YgP;N}()EtX8W)YTlBsy!Uu{dGXFU+~40LNs^!yGTW0w z7-R7J_wNHG>FNfMs*rOIi^bxAsl9fik~C?pQP*|I39R+x8f=;xW5Vg50$+c`0J5RU zd|<6b-}eW-d@4Xpd_;6?tFf`dpSf{Ke+hk?rintIelJXw}SdH_ovH^mLo zC^ROGXN)=6C>0?JqOJ z$HelupUBEHMPK0JG@7PqFv5FP!$a0a6hj&Gz|Ixr6J^8Im9_I7Xwd zDvHW77^4R;gUcDh$V%|8$&&xg0J6amo5`gsk8?omd;t3iv%mpzFfvvam#2Qte86(K z49(VAKw+L9G5VJ;Uwly%D9aLecXv|rKkC}#5bO2Yuh(lBV?1RqIau8^4Z5!Ll*78N z3+3?YTtI6b`gKHV3=K+G#}XxDSt3Ht3$W2*tqmPy4o5XjGYJov%m5sZDT?BN9qx9! zurcZKq|H2Gi6u6h%|T9(jnuYngA_Ie51336lQV+k^}JE4IFjCS!x9I`%sy6o_};GT zLiH$$Vv;$*Y>Fx%PyX}g&rzxQ$B!SLNX|Kj+uPfyb&rpao;^hlT3yux*ccf<333Vu zZMWN3pB^~{pyYE2vnYeS2u)*Z`ThNUkjdVn&Eu=C>tM9SVlkf_z^ok$gc!?mv?j)Q zd7h)HsxUS)3j+`ipYyzc>9 z>?&tj7O1myZK^-kTC{C@&^?|)7Mny6an7Od`%t1tRQQCKwH9Sr1^{D>L7wLa)q^M7 zG))jgq|m}A$0Y!oLKK~BK%yv$1Feo(ny18gC6Hm;oSq}s(1?;MYpu~V4VtD28=t}e Ze*woc`3Ozqe2oAA002ovPDHLkV1nid^T7ZB literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png new file mode 100644 index 0000000000000000000000000000000000000000..522708816704d050cdd980f7d81c73a1ddc402a4 GIT binary patch literal 1093 zcmV-L1iJf)P)pF2XskIMF-pp1qUGjU6!2z000BzNkl zDFwzDd2-G$#(;>RlmbhP5ylw#7D9kh3Pc30HBw4A9*-!cAf*HVFvdUwKuQTjgi?wq ztd;X(Hs;*_yk99L4-0<>Adaz4yW8ym0Nd^M#0aGny!S{c$!|8cX&S^B;hclk8sj)3 zr3B|3j4>F;Q9K8LoHIfQ&{`wLh@7+N(lJJG3fR&ZqioDMgNXj|nj^tcQA$B;Eo*r_ zdu)tB2;syq0I<$E$(Pm|Pft%!^Z5RTnfSlAw>Rp#4o%Zw7zV7@YsG8&zQ4Ht_4O4w zXE8#@7-6kNN(njVMTY~xFbv2!PhtG4Y`*5){_S=vDF6V?h~_XYIUE4)@9)vJ?MXP7 z81KDD(=>uLT_cpsV=m_uw`~jWJ*>63CiVWl@1eDZwRUn`DaD~*q)fnLt)$=Cza(d7-71z#LGYx5Rj+c<((lZ{~b1J^XMuh!MAxVRg>b3#1$>j$Tp;bG~0%hRlXJ z=LrK`1^+wzoV0B#l~XsdYsTN*-H8K41Y3m<#u#ii8!Dxs@B5QO=2gPN?fL8Li(-se zuh%E~hG7tJwSq0B2#8Wj@ZO{AIymQGtv%`Smr#8;9AJzQV&d5#=PYGv zjFEMv6j*DghjYn`i3sC3B7}f(9EEh8bN}!Fd(TR_t8!oAgT`@0&KWUAu){<&MYe9Q z%!s8F`OV?v2EwT4_j(Yi4PmhD_j}1VN1A7YobwccIt|ay&uU3Iy}!Rx(=UDv54 zT=4SpLJV9P$?ExTDG?3BATvZ=1=sf1W1F>hA|hrpYwcnpdU$w1+qNfT+!EtgtJMjO zFE0MMVxAvnBiLdJKLKGqJlXA1L@o_a;9_2 z$j+>4jQNd#)*9d6->gtA0TbVT&RpsKyFbQ=5aTA0IaXklXQmAXy?>Yk2R4 z#4KZAx7(rbdu%ovQc7X9T4B9jOJix8=3+UPQtn4PDorkjy0y`Kqmyf^$whBO-Y3Yf#H2HiQ7@9L8}(DFuH3eNbd-j{ONW00000 LNkvXXu0mjfY2ot8 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..41526b48cbdfb8154cae9a2e90baaecad8826185 GIT binary patch literal 396 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_left_top.png b/mods/homedecor/textures/homedecor_door_wood_plain_left_top.png new file mode 100644 index 0000000000000000000000000000000000000000..234a0cee725e2b5214a8d43b0d021d50f439206a GIT binary patch literal 2167 zcmV--2#EKIP)S}Ik9)7 ztvVmZafFhBB>*{H)|3jnV7x~%U}$iYBSJ;C4zz1mM61@2^5gL!W&pN!n&(r;&de#7 z-~s?>Zv+6n_amn1{7N?P5Qs=S9^0m^PRk^-z_7sTjih^+)jT`M66GL`*4-Q&2X`JROe* z8`>Y&5JE~Rm%C|LDul^7KcYc3W*Ucm&u^bUKehwe6VdYWs-#Vn0HEgj_UY}|A8(g8 zsR9b~`R#~loJT-VGTY<0TrPXOGcy1K6*k>_4~BE8mrrk{NlsCux7vE|Y@KBb9a^t6 z2Y31UkGVvtl8X3gFu{kwggwRx#DpCX6tMU1oD1I7T925Rc^t=SUOs-jLzi`4Ypu)r za(}-LqfcpzDHAdwVmS(1cf>Re({}wpX_8WJ-LkRHcj(%i9R{+2nA|Y43uIVZeLn6v zMMz(hwE`4hu|z{X+Bsr=J~i= zYwjPhsycF#ilUP7)9uH52ppgLG>1xTvbuB@m@g*fuxEL0~j~@kf4+0obx!Yggi~t^Y#N<`}qC+*beWF zu|5oQ$#TsV6xh0W>{8@@yH;tfHBz_T9+nk)pQjTj5ou9CDXBF1a(Q_?Z;p^8=;}BGHPH~*aJ?7W9bB=rP%zjKq;xL0HB~(-b4q234=-OL~ zr}OFd@quiX^EsC0eCR;KIH9rgd}>nDu^}}~F?iQ%`_osb?PND$Vt2Fkmi4ydZwpMCR zv3Keq1gy}G{eTYJW9uEH^&^#1MOyDlmJC6crn+7(9r^KiXsb2ty%n+{r4sz<_rL$w z*Ds%IeJX0)pFJJH2kQ)?>Cm+s%jSGqPOqO^S2mJ%v{^EWdhA=R`se!qKvn;YAu0QL zJ*ATV`cHrL!vr8~-F`fQ$OXqPEbD>>jh|AHTH5+@+P9~lrsFuQwQiWFb&6>x1R_eQ z{PNq6|M~fkQl;(@L5YaA`v^G>z7?Y(M)$O{~M`Y(Zk#%0t1F?v7 tg(AgT`+VG`$abXOyQ;>R!!#=4{{wegp7i9iN>%^>002ovPDHLkV1hBOFnIs~ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_lrb.png b/mods/homedecor/textures/homedecor_door_wood_plain_lrb.png new file mode 100644 index 0000000000000000000000000000000000000000..13ea21380eadcaacf7ac757795ef803c4025ca93 GIT binary patch literal 724 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 gy7Wh>%@5b%7 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..aa9eb570749db8c2c1b73fb5bdaecad4f4fca048 GIT binary patch literal 4963 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_tb.png b/mods/homedecor/textures/homedecor_door_wood_plain_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..536b315e2aea568d0caff35d2c2cb19a14a66b10 GIT binary patch literal 697 zcmV;q0!ICbP)emQVM~a zrV$bCTCRe5QO1HIDXElVd|Pu=nm8xzS}94C(PTK@P-&?Q0;qN2l~>kUSE=;v`704M zZljEQef>3$!ym`K-S3v$xqIlxF)ECN0I1fy`phDd(~t|#@nlIMNL=Q}!=ZV2T*et$ z(kiBL=N~WDTV^J0+G)6+#<$A#@b2B=_!LVj=S!T&>-o*QhO9rG&t;7ithK7^x>BoD zz1xIRB9ZsT&e!_w)636Yf24j*JC6#1n${STa|R3JG>}8%gKKxHtn)awT?oN}a{Ioc zAK$(^Yu49-h=?d6iqvJeDN;}Yu2%p!r8QT!WEq6C;*x8v#yU`df{0uNKorQo%#4UB f<|;)iqY3{5<4JhEM}o*d00000NkvXXu0mjf+UihD literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_drawer_large.png b/mods/homedecor/textures/homedecor_drawer_large.png new file mode 100644 index 0000000000000000000000000000000000000000..d45cf17472257c3609e722a5c04e8c57daf9c5ab GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUh%y78g}UuB@s4Nn)x5R21SC+_7tSRit=ek$K36ICH0w%he9j#!s`Fq1oy z_R@NW!K}4OMiWgGUj_&%hIsm#uIT@jaq5WV`LmYK=T$#^uV^cD*G>1wtp&GNuugv2 z^s}gYnO45*(k3^<`HTu*y=2=&ke7yhw literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_drawer_small.png b/mods/homedecor/textures/homedecor_drawer_small.png new file mode 100644 index 0000000000000000000000000000000000000000..4b550333579a6b2046a02bfa5de4ce8d45045689 GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUh%n%<3Cf!z!YjEbHvjv*GO&raUxbvQtzZT}R3N!)_7yC(9Lg#@0^aj9Xx zfAFmC`A5PjpA?S-I?8O`+9%nPl;x$Bxxz{2QcSgJpdH z=>4-TW(E!0FDpy=GFaH|zgXuYz*ZN@y!UY2)tW_9S6pT}=E%fYuqyk`x(AEb_$gO# z_P7bRret3ZQek@Gb-2>LT*ALnFYd{*sA;!FdoIhgGC0hzx|qAP7$_XW7wgVnbmJ|T z*|jriOt+0T=r-T1Ir#3IRfCGiTh0&w7R# z_!U1@-4ZI?y0W-Zd~ynFx;i^U&*eFP8!vPGo6>yCC-K#dX^Na#k7phFk}4FQx<&P) e|G&fQU-1SzcXov`erW)PAA_f>pUXO@geCymft#BE literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire.png b/mods/homedecor/textures/homedecor_fence_barbed_wire.png new file mode 100644 index 0000000000000000000000000000000000000000..ae649533503305bb8852e73e1c4423b09620af4b GIT binary patch literal 522 zcmV+l0`>igP)2Lseb4Ff zBqoDyrN`C3U9yb2aB<7$Hz#^@e8`9Izl983^jc~JjBAA?RkD)q_v8#XPfpGVf&eZD42MI# zzrQD+&*S?(jYdPRudlUKDzRR#Su7TGIvp7d20EL~i2vRqm+zlz(0Ipsy{1qo&}y{= z;O6E=i^U?UO0`-QfG`ZzT1&IplrLw`^yT?a<@p!Dugr03F$6(CrBac8zpp_Mu-R;=*Xt67q2_WqYPFi&-QDSYK4-OBvHbIkqvJ#5 z)9VvG@Ep#63^SeK>)X1zzK==b2>p)+jx|^W2Tgg1;>?1>10O5OKOfVt`>fq$9{>OV M07*qoM6N<$g4u8C#Q*>R literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png new file mode 100644 index 0000000000000000000000000000000000000000..4d573ddbc03b8b254150ecf92b130a871913432e GIT binary patch literal 562 zcmV-20?qx2P)1v7?zuO) z$qk}6BAC#nL;e7V;%Ksz?1_V`Wb9mU7M(gcX6Y1=LOQyXTC(IoaO&2zpx}_EVs4WA z^K+1Pzt8@>eDBMrPL2+RWJlrEc;4{&_4^J0l*VxsX%>?t1wp+=R%BFMA9Ml94!kNR zPg3$ibNuC-q6D8uU2&2W<9IGLC0t%!O0U;br>Cc~x3@j^VKw^-(8Bhq7G$;p4=XdZZ8UUP~B0L6hug)cw*MH0nMiyZ;yDNs8mS zP-xq@L A8UO$Q literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png new file mode 100644 index 0000000000000000000000000000000000000000..df12cedca73a0d0c3922403e1f02373ebff669af GIT binary patch literal 397 zcmV;80doF{P)P!7WeiKAr2nk%r$0XPh&K}Z1&N|emY9=ACHuKg#~Zw@cdxOuqCoV)E86x**CsKVI--fL#GI2&WKi>7AI0)`F6XlI@M*FjF$S?Ivl8 rKB`h7j);bFiZQ@}6zlb^Kv~=$>fMsesf*|p00000NkvXXu0mjfv!AA7 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png new file mode 100644 index 0000000000000000000000000000000000000000..00a03750c0c52c10e5a9960b66a5c935068db087 GIT binary patch literal 529 zcmV+s0`C2ZP)WJBu1o7{>AcIWu0y zOOq`EDQtxJ5v(PRpTJ%S5>i<27YHd9EK=IrC@U;j1O^2g57@=dRzhGCjfA+XbLR4< z$ji;!r7@QkZnP7jad^O~GnAdUqj0pQK+SN!^WMw5WO;Knv2 zPBhnFzA7^0=EFOQ6OHTSbCi?-uvjc)zu!}-RPa2HR;#5ZlZn)7HBP4!yWNg%x2xv! zxqQ33p`--&s#@mz{ZB@tkpw|Nr_)gYv)N3HF(M)~n@t7a`@R@s#9B-0)aUmtQCe|5 zTx4n?bs9jsnwLbo8jaFOEZOywbKkZ)TPc@toLuGtsnbysaejPYwOYw=IDDSwX0ws)b}InJ7#WYpGM!EZV7XjM>U1IJ z;Z;1e*7SNkb$fd&>-AcW$0LnKL;1chQ54bXbX2`w#~333sZ)b~TMmamd>WZdhm<;v zy-+QC+1K#o)S%y%*oHXy99PvcKkk1&ABy8B!YIJngi5(YltdJA9_atC9ovw97An@$ TQT8N700000NkvXXu0mjfu@&fS literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_brass.png b/mods/homedecor/textures/homedecor_fence_brass.png new file mode 100644 index 0000000000000000000000000000000000000000..02c2559a7575f81bcb3b7b84d6b9aa1e14532113 GIT binary patch literal 399 zcmV;A0dW3_P)YU6vn@#_arfEWB)Io% zhXX&p?*|81u8Ei{p9dH6=4wwa-h{}d=MLqde^R=Uzf1D{j=&qCx3LQrT*@T+fT|Mk zEQBmLlGp=JLo@=Yz6L@~s4Br^d=FW0066>&6$uD5C(e0eWO6MxCx2R|?DjAqGm6axSN002ovPDHLkV1l;8n?nEq literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_fb.png b/mods/homedecor/textures/homedecor_fence_chainlink_fb.png new file mode 100644 index 0000000000000000000000000000000000000000..d140c0cea2377b50efac7a2b3a46d4a3375a5736 GIT binary patch literal 500 zcmVlK|&M_eu!c%CQ9vP8e%7q{CDp67}C{f=(8 zE6(RLdcEEYx7%&ta5xYEgkeZ{tLb!V;n{3v;V6noDMbi^fVeq|A_9Q zEEWsvJ&t2Sp63=bH*qbOOAD{p>laSblu#4}jYcC&ffd;{J7MhmJ^?^c6a=LdeN*~$ z@~+J9!{Lyy+wEwzT3HI51v_JMCgs47$0H%jGK)C~f`4ygv)K^RG<{lmvuULaAW0JI zWXE}))9aF(e`Ua9aV1GYS(Xue-+yJm_Q&I~l?B`8EZC`1if}reEauN2$>V&>V87o# zGvFp>W~I-q@K}?{gaAAj!2jTLW^VfBBn(3u3%P*z*eEx+Mxthb_z;Ioc z9mn~QDEmrTVdY4XwA*cVU6-lX>v1ZTLO!1-#k^cDxl}4qRJl^AP}JG!bi(y|g~((w z&@}B+%xpH}QmI7Be!t)6N~J<7yJ?zSE|=+cyCI!U1FO}FH=7OrPy2(x;DZ~D2De%* z7KuaxM1;j+!PRP&9LHe*a2$tgwHm4HmSu6hUME#_GMNMs0o(1CUDy3mQg;7p-?nXT zHk<4?4ns=Ghr@vtv&ydGD6-LL#L*aw#o~Q)yWNh};%^7)@%+9(HOJ$TvE6QYzu)tC zJpQ`pXzNjD%Bf{p?=R5lbXXPlm$D-N?L%=*VTLf00000NkvXXu0mjf;Cc^# literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png b/mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png new file mode 100644 index 0000000000000000000000000000000000000000..89871796e928b7ccd054a233a1e251e4384e5977 GIT binary patch literal 591 zcmV-V00005*NklU-p-E{e$-$xSyap8@t6QGnN0WzV%s(WU^<NlF1~_=Q9e0f=~?O z@tDP8QFOaqDjWHHUMSFBuSZ?ikxHe2X0yp!t@cK@EbG78Sg+SyE|=7V5J)5vZ<&=! zMW_~R+h)037E($AfRvJ@Qc29`a|$6|cOa!?y((Yz};^5 zvf#Qd|Kxcv82nR-l#=asn_{(E(J%~ z=kwthV<`myRP{VhM09D+xz>8UUf=I`N-2a8V;p0!s>T@a_d5UpfUCzCV+;TYA@~6i zpU-DXi4aj$y#o;efSHXk{8v@ogNUs)5uuclh#;bf_`##h%*=eAoOADeUDpr-@B4ne zUJ=owYpvb{0LB=e<_RJaLZC6m_xp7SIp=j<9e}Dbv!~Ts=XrJ~G4njnF-9}1wI0Wj zbM^#ByetbM)>?_k%-GCCL{-g>oQX(P+00b+cDpgNs=7NOx;p>> z05c!QQA+8(uj`74lu{xh062~V0AdD!FviSrApqo@w{4@=8Z-aj2w@^Jv);Rz#pzn> zG)-Jearcm)=UGHlHI{J?0EkFRNmWIJhGE$EJ+{B!FCwaHEQ8hg5fLI1B97yDx(~59 zYG!97GjsQp67T!|o0vr;93x`RSwxQG2%s?l0J-}x3}zO{PbVT$N{Nfqa6iX>oYmE|4c|;VEGgTDg?ol~0|H@X?h#QpRjUZyYm-A5(A}-4k zzT>wOe*_4Vz4!3UrIgR-bHCq-h?(7e-}iAG14hI(vt?NxkB5kGz<$5qDW!-t3GzORnNj3`G4)h)Ce= zjjb|ZSqMQy?#Ffy>h)EtJ#v(!Ty<=|-|wxp+wCSIB9fWzE+Wi48Y0Tf$K&yQK4qFF zcW35^AfoZw-Iry-Z|)uu%$%9x?$b1hh?(`?-F;nGRh_2kI1XkuGYGZT=6N<~WM)Jx z%aWPaSu% zlu`y()V~tQpsL^Rx3y+wHW)(>0H8Ob*IJilskIsrMZ|zzO4+vU^Z5W}M8J3N{nwJ2 zVF^S8roaVZY$G#~!QG|zKF{-iDTg0q5D^T#TrSpohkUJ-nXz~r7(N=tuvWpKaWfGy zO%oc(pH8RD#GKZe;e@ak*o_E0;*eTvfPTGRkK_0Qb7WUpd8sWR00000NkvXXu0mjf D4>QW< literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_tb.png b/mods/homedecor/textures/homedecor_fence_chainlink_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..4708eb8e340fa211ce002bea9bf8169fb2d57aa7 GIT binary patch literal 420 zcmV;V0bBlwP)0003)NklF|ORmEp4D<&>(yI5r zRX6RT=cp+5Bz*S#~94~`Ft*yOKXjpRh5WptvTn`+Vy%RqSjjP zJv|-|W_EWo+xLBpAtDiBX6w4vTHU?1W@gOH%p@YrOhhRq6xgv+N<@@%p7#kaU5UudfQyLpH2+_!3RTOpsH*nf-8~{8j)=w>=*P?v;qJ^VB6I$C zl~QJ{suKZvM+FexL}U_R<^x0oi=h6{S4uf6HZ#;_R!YHy!$5d^W`ZO7VTh_8E$~)K z!5QMr46NYH5gFRe#s~!cdhZAnkx!#km43*aT>|N|+%I?%z=Rp!Is3z_`~4mf_;V?x zh}gDmUDt?MmZjE8MDBjO-QMrFh@{u+g)3FXe}>9!+aPJ*cW}!&yZaw^7^2+fswU(B O0000P);Me)KS5el*)i|mmXAdw9lCxQGH z-+QLJtBOURd*&RR%WUS1TF*>%bydCZfrIPu>v!UVU)~8Wxt=`uaXh;Jqf6HxzkVk^ z_{HVxPv82a?Bou6afa0dc5IiqAYCk0JV@{SMZ zlzH@>C!?9$*A+L7Eb^RxaK!>cpwl34`uV zGehZYPOhN%*d0L_gYOL-%ndWg-C3&P7JEMb`orh)>36>$S59Xnz?w158EcK-{`E@% z`1J9sArXYduC2!X?I&Ldz&~$)FRoqL?D;aM!9V@aSbzMjNUCEq0oH_w;O!@0hyrYT zU>&AOaSz&J`#uHOwubeFiZB&HilVG@pc?cZ%##uU%eEi$wd1{xjw%8Ll!G}C)~Rh_ zX^yIprbMvLfh>uX=kXxBEc8`X2ES!#ju4bN9nFEF8Dxl5P6`q9ZfgMU&Woink2Nrk zCs`Oo!y-^o5`pG50};kqGp3|Cg7;A`7guv5ykfiImSE2-z-BY^%~x))Z9^!`>`15Q zJb@IhUdyBs3T)SS#6Kpnl&nv)`MymPiAlg6wK61Du?mGHDDww~j3`I^iOK7&VcK z;%;aX=4svGA>T3D*69a=lqDe|Xo85LxSM&i2GA@B1dm`U1?b17p%ik;MBklpK$+G` zzu?V{QZgd_*vw2Bkwn+c#u?ye(bp}{J^T`?DZU=HXD3*a!Oc>ujDm>?)kO`(3`VZ9QlDmJ8zT<}P9^tM*<@B=TfZkUahC`pbS^IQtcVzdK4 zu&)8z@omQ=Z1M;ozjN<9F(sk7Q>NhuhMpH5-n|vqZ(LpdfF{BN!>FzC@b0ZhxiBTD zJ3mlF>AsLs;dej188=?JzU!oE<-1XP=i%L3p-Ll_jE3+1z+TTU3Ppt0hb>zcBMdBJ z=LZ_oJn#L$;D?|!>j!>f=zpz#dlXy3&1}fy&6G6 z7=0`*)MmW-r?LL**3D=gwmUxUrsP|H{!9S={^;AW`T?Pt(Yx{HN6&{NBAl~kY*O0! zfxr&_#`Z7-quUUaM3BotoB7};9TU)d?6rTieL%EvN5~?3Kk#3P1Bhj126F2F0000< KMNUMnLSTZe(oTH< literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_picket_backside.png b/mods/homedecor/textures/homedecor_fence_picket_backside.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc839945459359f29dce7d0890cadda6d4fd391 GIT binary patch literal 1575 zcmV+?2H5$DP)F^^4C9uymH?k3fLHIt+mg2|DbMjKpAH07gPW*dlO_AVGkIgainI zg^&pN07f9p?#_GNRYmZ|GjDEh;S2a>t(xC-b#+($|FHP(-MO8wzxYgY#rK03Zs+&D z`qY*2dv|WMZmKl|>T zOQ-nu7oJQqK;U<;f8$bo<^@6c=@ootkOF`B$=$q^fCxkY8pH##_YqnI#f;PSE zKnM<4g<31aYJbm1#|0JTV(g&G#pHP3zq8F|11W^e{4f;if?ppMfGrO#1oxSjH@@}x zELO21xOW1jn$UWu4r>Mzs=^pBXmUP*=lq!d_3w9C7o(Qp0lZU6WmS!;a1pT9ig$zeDF)eI1jf?~wEkec!8I+aMyJG@sf|$@JXIK^bG$9J6 zw&fwRQL1hK3v6(7J9V`h0`Th}zL0PI{B20Md8_c~M?b*z>nA+%>?;EBqi;T)|9r=} zc1_3*pLy()ynD9ci7∓Qx%EJbY7m^dpaORILG&aL22;+Plev%2e4?UwCS;>8;@hV*S5V<>Y(&I9f#}J4T_^*bUayD_3}vqv zRh95W1vXRg$c={>R;&F6eJ-ulj&8B`Tz0*WM>!(M+SWw7k~pXDUw-EYiU=UYR?j2%ZRDA=A4nKfIB&kwbGEa?W*MVs0^% literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_picket_gate.png b/mods/homedecor/textures/homedecor_fence_picket_gate.png new file mode 100644 index 0000000000000000000000000000000000000000..90ec2ad90a1ea615aba9a9a11c0f44f4e8642cf5 GIT binary patch literal 1759 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 N002ovPDHLkV1fr}Q`7(e literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_picket_white_backside.png b/mods/homedecor/textures/homedecor_fence_picket_white_backside.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0cf7d724a58bd41e832470514781892ea1ca8e GIT binary patch literal 1050 zcmV+#1m*jQP)g2b5PcroQAne5 z=!vT8|Nl|#g+oy*Ap}hfa_sRQcE`0t=x*;j7X;(6-@N$*C}bSRG>&7!4LKYR-|9a< zKhyjB`%V4vc)YSF{6LH`e?8MQ&5!IefZcAFm>B@@_V#w=Mfuyy%gdF1x7#HmLen(Z zZntTPoe%<;8N1ys>nlh^gkc!qoV!A*lmgLjymxnZSNa$uy!QYAYwb-2oO4L&3!f77 zUDtt`Glj?F5s#0LS$}_jj}SrzdORNS^z@{Jo%MPR00<$#7=zR4gw1A??fbrma}M$u zLcnITQFJSQN~sDxGs75@wLd@eSJ-( za+;=_Nwg#}Mrf@w^+c3^o1cj>BE|@%6s)y~F~ZF0k`Ra?Gs9X7W=2Y>x|o?kM7Ufo z`9i6d7$X4Sa=D;wTTIiGSs2F=)>;q|D8`6snyS(hZ%Q_Z2ui7Zae1Mf(OM&=bkkm> z>pEC#p|ytj`1pX<8q+jkzu&_clj+i0<8(URr23~Jo1bN7RCVsX|F#d5vfuCV{QO+? z5ot8eIW$dE^?}kpgaGGU-3Pq)Ire33mt|N==}C+cLVn?;%H#9-jLYQ$V+=wFR})VjC>6}{}NF|u2Y0!0D21U2JRVgW@tY>Bn!%($i>7-rP zWpLv-E{1dd4hcfZ;Bw-XgQ;m648s5-Lff`gt5!-OgaGe-&X4)XF57&W;8fBjBY7S- zNxX8J%|%9e*L4_%p`u+nraWBQ)4#4%ecywb7Y9*FDccbd`o6EclpJZACg(_1hB3x! zrY{LIBZPqUdJSf-VmzOmODxHG39Z^)>Ljp+wC?z zJUmp(%QQ`k8`a$2lx0#b8fC0gN|_z!+|{75*5Y(JRXJ1UR*Vsc!y(@(IRgN{0DU@5 Uq2$v&+5i9m07*qoM6N<$f@vw|Gynhq literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_privacy_backside.png b/mods/homedecor/textures/homedecor_fence_privacy_backside.png new file mode 100644 index 0000000000000000000000000000000000000000..12b9574af5da87c06b091aa88975506488590508 GIT binary patch literal 614 zcmV-s0-61ZP)Duy`!O?T zHwh#fOPdseogjjZSc;wEeOP)Uc3zAKR(4uhi-IQ6#K>m%oSFB-BK^a!dFaEt*R7T> zpS}vy7W2K6yN8EIiwzsg`RUo&kNN1hd_Ud1eDUP()%Et@B{PAQ0i>rHR{Q(YBmlrg zwRuu0!hmNsMO*K4Q4s?J50k8`io?!6spd?{pfd|>>W>JNP zStLjZ8N##{xQ$^+Z{NHUu%}nm8ycz;eCmMMX*jvG?8Fmr|OD092>RBN3*5E-nQCwxAT%>){?K z%7Iws05(JbAcd<|x2{hg-9Ns4>*M>+6tczq;Ni)^!C`H3d2w}qdiML*e0*p6_Veob zv&W+^o84gZu!wN<9v)#901)WIO4V?9W+o`T)JEAkGc(f$ZaQVA%(;7O(-^%p2@3?Y z=x*+j;98WyRHzmP;5O!AM3iAj9*ak!RvJAQOXAAAdFkc=m~Sp;r^J;TlXKiTI@rK1DuXaE2J07*qoM6N<$g8f+z AI{*Lx literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_privacy_front.png b/mods/homedecor/textures/homedecor_fence_privacy_front.png new file mode 100644 index 0000000000000000000000000000000000000000..08040950111e1588d802ac689545531c883a671d GIT binary patch literal 580 zcmV-K0=xZ*P)ha*V^TC=3M4`>6hZFalgBfum8 zbyb1yTXRzrfdVXZUhCYR_8}!|Bmszt3Qf@5bgkN-_Irn!u3}t>S?AA377QXHYRIIB zjBNmLC|0sW05mgT0T2*cHkznal$m6)cW>^xf*ET!mK;byf z^Ga3KYvnx8q_k$LFlgKEVpdg|buG@TqA*5JrtVuamEL{MO!9WKxssK`bS38TsH`f0 z=%xbGpT``I6?7L9Nv4^^JQ5^ny{Tv=GIGvX^I3(n^&w0WNminDpDR!R5K&n*XH_Dq zB1?-n&gsojsHiqN=^rq58p}o0+ z!TLR<3alG|6^DRL4dMV)0boWR=j9P;p3hUdNfAgS+59#WV1bcE07kkCvVH-hvRh-e S3ySgp0000{XE z)7O>#4yT-`so=3m+rI&YzIwVihG?8`4cZ;b;>hzkKfP}^!zl)#js@-9FPl1)G8!f< z>NxrG;l10j{kegRJxM=3Hyx4Bf4=lGsA6B8dqe-S)Wj)iH3bvoC^-|^fj&6 zP+j52ci_gI(1;orm2Wd@S7yYTe-{zE=l*Nk-}C*8?nMUz4dmLMX6%0@q{C%fZOLN8 z%~K}6o0u%>q_fsoZKby6s!a+EYiHj!+9=Wt3%!ku`^>tLzv|3zJm-rulK5;ky mX`PU`8Y5oTGcz{TF-|_)Bd)jX+(lpjFnGH9xvX{XE z)7O>#4yT-`sldjm?Fm4k%bqTdAsXl39^4qnYRJQS;JZrX^WV<0DK052Dm>1zEFw;v zB~E_aTMjqYPIFP*aQgam_fW>IMH3lvi=~ZMZ8ANr6RNcEnB`-c`(^djzJXnN$M*iV zJRZ@pX6;JNyS{5ppMES|b7Et{r8lRpUYT7yclFP*odxHf?#*`#mud8U^=5a-Ta|x* z1#7D7xP%<$rt&Td2o_LlXgGQzC^0mZq2aFWoi(9(vpgoLJ<2mK>e=~z?{4wzbEb7} zB1KF0*4H?_Si6>^Nh{>F1J_d1&L+-qmWGZshxCn{GM3HqpC1GC9)qW=pUXO@geCw1 C<98$g literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_fence_wrought_iron.png b/mods/homedecor/textures/homedecor_fence_wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..e3865df5970cfb18ca9f9120f70bdd666f46f1aa GIT binary patch literal 418 zcmV;T0bTxyP)YU7{!0d&HuE0 z2?rm+$;p>-a1i?d7IAVD#24@d1Sbav2L}bgL2zr8YLHTcZLLY}P40CNq_MQSp6&2` z{5a>ppO-aj_IEZ-um8dzO*y-`s@;wc_RMRN(0lB0a(e!Ab7r4pDak8M6gTL!w~Q*L z_?|%KCBr14tR%J@)DqMHUJ&8?KE5Lur$a_rfo*}X1&u%=goRf55`eHVO402nTwdSS zDjas&X7Dy9E293kyzsl9E8IDNsw$+`^~k>~WRr|A zYO=c0WMh5Jr0F|x91^=Ow*18LJaQ=)1F&J5WneVjr)Oj#@uwleGPD{IQPd*xy(It~ z982@i>vMB=UmNjgciW_s991qEaq=;uDiwia&uyTc0HrF7HvBVv0d*UOj70TgYybcN M07*qoM6N<$g1Ex1LjV8( literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_black_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..2e5344f3ab6d404d87e2d1df48b9547e485bd674 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUJ%9AC}z&CEcd!=5gVAsXjPgS>@W4LBZOzjxsG{mYG?#0n>bn{qFAc3QBp zMuvT_qVde1k=uR0RH-e>GD~A?U%%U(<=mMyt5$LGR;{@*vvS_^sMYJYT4rT>_1-|=}Ru+1*2ecR{|_xWYef@j{L+hz7|nx^|qzvDz{ zriWnJe_w~nsSjo?SoQSc(uR%|ul|}i^czla>)oZ}dQ9SKPHnGcdcBmvy=`0brp-)C mOS7H%)@YmH`GVcEI_maDZEw+hdQ%JN9R^QVKbLh*2~7ZkG;}Ed literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_sides.png b/mods/homedecor/textures/homedecor_flower_pot_black_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..86c591a53fe02aa0ca86cb81cf0bff09adac5fc0 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUJ%jP9Fl3qAvd&Um^whG?9x4RY)|V!#p2Ed7-6?|%t2rZA#e!KTQzsITb;x0#$do9yl7$&fVo;|O!S5YbF+{<^Xw3JqA zJ?->xd9&AZ-PRwCGb6tn95dK#*w!(Ho#A`!bHBUYSd`mQ){$y3{W} wsi6F1`0~=+ty=3}{r)udXuV#1n)4^t9i3OTH^+T?2J{z$r>mdKI;Vst05_j}EC2ui literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_top.png b/mods/homedecor/textures/homedecor_flower_pot_black_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a112cb110a5fef4c2c8a641295d5d1d512baca41 GIT binary patch literal 607 zcmV-l0-*hgP)7@ndW! zp^no=ZfM$u$D#_46+8aF1Y1;)SQJ{JB&D%Q?D1>t85Twrt>CQA)qP7J;a?)6-WX#Z zr~VGc1OH??ZaS3}MKlVU*0|ic*(8Z9?mPK?^>Th}ySPnvSy8K2?_`yiwJ+$^^CQ8< z?Jj??VL3nkktV&Dl?sHtm>qCNUvJW^sD0s_9Zo)7ue8?GUqVcmO*fy8Hi-oA;w1cV zxeAAZ5wrmSMu6stEEs^3=~x@MHs2&N%_;!b>wPp5wd%A%90dR@&Q9Zqh!}vTQ?gQw zuv|>Sp^%jdJbSyZT$>Bm`nKK!a2%^tHTCjb%e6WFqhERTY!*((!N<=lZHNKz96lWf zkLm)?W`sBj4hEv_bSCRYbwtF8=roSLeE;dW7JxLXdZSwHd-iH8v!c-kS^ ztSakPxYo=0crWXtaIn71OQjfqL>A{qhfS;ZvS~Y=mkj_Sw4Kh2=JM)pFB`!{T9jJr zKQA)IUZ2h0znOB*K3w`f2j;gk~yjs7znB`?BEazsE t_Otu(^oVN4SkE>Q8Dn}#wbu8v{st$N2hhUO`C0$~002ovPDHLkV1naW7ZU&g literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_green_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_green_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d7778c684687cfed3f3aa6c4be5c040afbbb8a GIT binary patch literal 476 zcmV<20VDp2P)Zq#^rL$8#-@qt!E~&eLb&9UWSF)WJ+wUrG>)st9Vc2w4Qrk|4>X z*H&?w$HQ^yozCW&VXS$X z4#!1Bk`PoJBqSmXi1y*Q9FB|In=(w5?&XUlhaLr~f}vt!i0QwWLSJ271K~fah(LPT Ss1URO0000e4O|FzN471ZT9f<|v zI2?i#aQ_7o8}uG9ZPJECzn^&`>LP8N#CG}Z``7TPwX}zsnLYH;nzdSMai8A(ImYNd z{(2w7M+g7{LIMC2XJpdGA`) pOjT>OQi{yEe9Q=Uk4-gv{sZnB literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_green_top.png b/mods/homedecor/textures/homedecor_flower_pot_green_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4c502e0cf94f21b8a78b6f4ed3ce7ca20cefdf GIT binary patch literal 699 zcmV;s0!00ZP)dGn7ct zk|y^yZ&; zreb3(8?~$ARutXHd|J76RRg##%6t$vZ4kvYPXSoNcmI8|6ft1e)z;N56Q0f|qkin_ zHcg^sS$887ckN|S0_b$?vfQXxCgRJRWg17K`18ZvL1|UiqkasaZv3uk^I`J%WN@+g z%*0GYNyi-Qza~v0CQS1*JBodf$~F5o5D^1UM26GJ~{pvviYTM(kP8=F?*zs#sH$R^}ajk$BB(WN04S8$ hdu^fOy%&LK_yV`RM9H+y`E&pP002ovPDHLkV1he?LoWaT literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ba0f82023a3d260449497313b406bf427d8ac1 GIT binary patch literal 480 zcmV<60U!Q}P)bp z1xpo@*f?rQE17VFBfPHlwq~CMZO)zhzGx|;B1lh|aKLT&v+vhqWfBy!qYrLxn;*CB zixnc#Axj*SKl^b#)|#xz5I~Hi>n+dlblC{DI?+mA7uRF0l_PT|oM2%k(&vpA*Z1~< zUSz`CI+CnpCHrJ%LWC?+z`U>ZP@2erkbRP9V8YC-$-c5rCNm-E^O%7^pJ^wo{6DlZ zNr1qblmZYY@%f<57$gBA7Lxu;0T&Cf)PTje>Z``2tclx%0G4em?z$`qx?sV5>uvML zj+wF?pOhrE{k7|%Y(-K_s-)55wmq|dq?8GsjF83Gt{-2zM9B?prC{J9o-W&q{l4b5 zX5x!=*Y!{?t3?TmRwyZe(d2vip=&0beUmB|X{oJ(KC#rfWa~hI6S+W=MWKQMCw~Fy W6C3>p8e=H{0000O1~A$j-ikD@3H@F@QM^SecqoVTSsOWBsPEoCcZ$+@ZTXREF4 zSNpnJZS8VT0t6BSKmq_j00Jb;VzdB&_VMq_B};tdvRZzW{4iV1ET`x?nxElk^TXqG z_vrTPxwal9+q&3hwk^xL*waeM$$PJ@)#m%vs<-3xE8NzSEl_gaEN{i0OWsP^7ArY> zL)Rgam7Bm`;>3v-qe28rsC?mG-&X-a`_YJ=Ah zN=L-4NDT+~7&PnACvZfhmt8_5!SpL=6mu_>05XZ#JwO4}6rG!#(dHx72m$HkewZXF z5Yo4$&+G&UB?3qMqzHl3o7B{-9uiXZ{?^xv`8W7)2sk4Wg(ISRA0URGo9K&}cJ~?q zz>Xe9exBFo)gESR$&1-q%$PzteEd8g`#gL950oqQRT#WQF8}}l07*qoM6N<$f}>2t A00000 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png b/mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png new file mode 100644 index 0000000000000000000000000000000000000000..730919bb9ad6de6cf3471d28aab3a6c8eb46ee68 GIT binary patch literal 700 zcmV;t0z>_YP)Aihc3pJSZNEf6ML%7ut`R~-Edmr0OoKy-9gjW#?>(mrZ~Cr( zi|3_ZznudBKtx0^M9fSe0u-u%h>A*3Kovj)0u)3rOeN?=UENgmrfMdm%zK%-?5WE} zYP@Jr5kaJYAu@(vw%x1s-MXkm0idim02K1~L7bHOB(WsqHADkK;?>2MJ!w@m9(A?R8={Me&;eDPIYi$tpM zK?w9Du{%xDhvrjR|9Nrq?0i-?Vdm0b<_~kC&Py-iMI!(T^&u!UWB$<%InQ}|On?Ha i8dSR=J_N5SBL4wrJ4;R>Th;jh0000{XE z)7O>#4jUH(i_z1(?^}RE8J;eVAr_~XPCh7lz<|R^J9x*+^5v!6)#rn~v(CwP%;?zt ze6yuAv$1!Lqo5&MLX)ymXsAXr*SaI=9BMm+=F8kTw5#xd*p0ga+dHQ)YUlB)74B}` u@7h#bc}2`B;}y%9H^J&jX{+D=VfuR1^L=XI?PWka89ZJ6T-G@yGywp6;zHs8 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glass_table_small_round.png b/mods/homedecor/textures/homedecor_glass_table_small_round.png new file mode 100644 index 0000000000000000000000000000000000000000..29b2d734c3898999d7c21f09cdde30e6f1b9bed6 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUH(r|#VoEj&P>Mo$;V5R21OgD;96QQ%+}FXH%Ku;a}^0UwwBx5}?e9jW0` zROAnhGuS+VC7CBy?2JxX%B|^wcWWb=1(cL@v&+7}*!%ig(6T9(OalGQYlRB0tlGV~ zG%B>yGDozi?R$xfR~6RIfc{$9Z_p=l){G2|r7C UwguIM0Ug8O>FVdQ&MBb@0BI9VJpcdz literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glass_table_small_square.png b/mods/homedecor/textures/homedecor_glass_table_small_square.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4b32fb44cb5ca160388335ed5db8b24e965311 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jUH(mykpAuTMas5>FS$5R21uCm$4KP~>2CmfFPedxORA4IEmZ;=UJ(DDM+C zn0=5Tp~rAy#nv$I*^CRm+f@qhtlrTu@y6YB&7(^gtv{aIqnD_1Z)Ujc)i=v6Ld@sZ zc^uW*zF?Dw;f`$!j!cNEFg(qpv?0X7HR0|4RcB1MU3{XE z)7O>#4i}@CiOP{>2d@ByIy_w*Lp096o#f4T*nz|Ocump7JO5oQy$+N#2KlaDlKbr| zm&&{YVk=e^x*O%a;{T&Gdv@;aJF%gmr9FY6Gk3oKy=&d`2KlUp6qlM?3s$8)dzZ$h zV9dB@?;&mlrL#JxnG}>fx=xf|W?(pT^k>^DrJHWQRVJzEH=gO~cz!q6%2>bg+>*<4 clINz&DfdJPr-?dU1iFdA)78&qol`;+0Bdnp9{>OV literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png b/mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9b6a5bd78e95c890de73465d61acccf526f6e4 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i^(6i-djf#N9xleoq(25RLP1CmiHuHsoMQG@Kgq-!xW{&5VD_Wc`VYpUkhk zd8tnXjUM`=^ATY5bqxh-Xj7aM=x1dnZu&ZGV z3=6jQF;!?D{H1tPJGQ?(k2iGc%;Iyalq3ab{>)r*Z&Hf>-SAUq)*3v2Gw=19*d1vl j=CAoq^#5tiuV6^Ln)<2WeBfQ6(-=Hm{an^LB{Ts5MqgD| literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png b/mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..6066f68528345df273a69a1dbe584d282132e4a8 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i}@CiFDC{H!p!geV#6kAsXlJPIBZr?7-prx9^;5(SPozTCcWuH(qKnn&4_) zs>oqi)Ab^+Qb>#c@%M&WvFDZNERRbh^9U+>8Y%TX{=s*~^6uTcp`k9jtc}ZsL$01V zbLK8%h-kxYN&N$pA{$nvshu><-EPuQF5ECTsC@F8RUHvtD&<}?SFU34SSKSGx|R9b hwC$VYTK+$n9_J?*ZszgO>=@8x44$rjF6*2Ung9n*Rf_-s literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..945e38ae2ee58ddb92e32264a8e20fe4fccfe5da GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i_U2v)XDowJe}epQnpsh{pN1=g)F6CNi`>JZ|1Lb;^||>4taypWVUsQ*xF- zazyXcq=(&m%gbNwnd`SYQ)<7!pA+#v+P+nvnK|jAa>4SH!;dB#q#kQwY}97WOi4U3 zV~(Jvy44*er+z!h;$1mA16=&JbFl1MqH_L6;X}8h6IC_Y&s`B*nBv{u)zW49yJN$` jvvXxRO;uN4KgO&)OW}dY)2^vNmoa#{`njxgN@xNABj#9) literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4e64104640065306e3bb2e645f8163f104b2e7 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i^(6i_rbHilsoIS)MMAAsXl3UOc_-V1k6(!*-83NeVMAxWu&m-p?-nV8djt zMKeBRXSZBiQ2lF-HfKk@C0n)m$PnVAL)e7&5`bR9jNp&@9P>N9_vU7SqQK;WbsXEa?6|1-_yGUz wt_05q9+P{F4PP$`)c*gl{MEmc=0CXkeK`y!FF1MF5$H+=Pgg&ebxsLQ0MC43asU7T literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..3a54dd937c2101822afee536457bc57b262bcd79 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i_U2v(lR4M?iUoNuDl_AsXlJUb5sm6u{8(P+wndrHg>#4v|-X^&d+fnY&<7 z;mV}ciHF$5%>2xcoIKQ}VxAHP zNv9_C7+dypTv+OUa!!+Oc-h2@oQ)2SZojt43(H-Z6EUgq$st>&kerh%Jy%8+cQ8m> m+1#95v^?pm)?fDcDn`R#t@ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..e6578342894b57d9b0192d9fb6df048cd01823e8 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i~eSirMumS#Cg~EuJopAsXkW26^+fI&d`ei5EQndw#j$J%)RWmL2pzGnrLV zjrG>dU%S?QQ$2KMTIx?>+w;X=Zrz=FcFn3O{?cc78g_HPdUq&w*{6#J#|p|B-n{v2 zBNditJ2RuX7l5TVa Xm-5|~d`jU6$h!=lu6{1-oD!M<_hoS; literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..9e67c0c618247d0781ebe1657deb0c12554b2dfa GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i~eSijLN{$u>ZtWu7jMAsXjvCtc)aQRHxu+@vb;dwss|8-^YHdNPaT;@^Bo zb7W2CiE5t7$Y5Y>9DFsVw&O+ZeFxj9Y=&oZR%t0IJ#u(Ice8YZ^d9FYXY6~vd)gGL zerZnW1oTJl?qB-{DiuN*$Z*S6+el1h#C5$WmE|Gk-DEkkDfj4e@ruf71fn8DN4&t;uc GLK6VxtzOvx literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..424a3195310a9b82ce8f73363e7d8f2aa3f2489d GIT binary patch literal 336 zcmV-W0k8gvP)2VkdSYZ|u0Y2-#{epm0$3QC7`U*@969mAkpr21I9{2VxYAc6 znVu7`0UR1&VP*`Vqfe!L$HQGbpPJBX=v1jGGv2qaMD7%4YCE2p_~I>G^&xeOF-43E zA64Nuyw(`qeeNZIfw3z5M6>HOa*U!h0c!MXW@BJsh~E95-5k@HtJf`NIX>KuLdnfy i)w}ue{#D?K4gUkgOKF=+Cf(rx0000{XE z)7O>#4i~eSif-)2#jAiqpFLe1Lp09kUh>X6Y{27s@p1hdzFSAjZUu^6%w5*3))yNs z%MsF}(4@feWVeXs9<8ODkFRqe|M^1FkTlFPCPgYr3SXNfukB7&^-$8h7dZ4?vzx)U82Nrq46V0xazSCkBHT7Mx zc@dY+>Uf5)jH^#inYi}T`7{OD8A@J-_is9Xu26IhnR4T2GIv6Km16t08=bvVzc$!1 zM=zOv;GIrkp8x%*SGqcXHX0eTe`eAMo6Wqh=<%^rbtduevJ#&i6X^Y0^z>8|Pq^%x j*w*^C4`q@G`UmXI7o=FrMf}_j^ge^9tDnm{r-UW|sJnw@ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png b/mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..8389ebdb2de6c1ee6e9e7412ddcf2dbbb9041772 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i~eSD*JrFXj`CAt*47)h{pN1lN`BN6?vRzKjMA$*FR!!<1>Axa}N$YcvCON zsJhWfzUn;#!;G0V!k#-rJhok9*zr3o`l97>8zrujhHbki*N9ySd^k%$P<#8|EZ#`- z9rAupz6Jh2)ajKL=WTf-)^PI~k@|P*4hgGo49V6#)w!qq-xq{XE z)7O>#4i~eSif-)2#jAiqot`d^AsXj7kGcWKY=@AuRftYXMYC{Z&A+L9g`>T+v==RAY;3-6`t zzOYKjo^hb_$@PMH!4H1M#OmMvHhp25+?tPmv1iYGpKA2EKzou^-{XE z)7O>#4i~eSDi6ourmaAsb)GJcAsXl3UNZDM>>%LwFyB1edf~%W3WY2xyF5Z-CU@P4 zJMNqqw#h~C(&zBtGqWW#{e8Gsn{K!sUscYpWBV9XcWI zFa6=FJ%xJvH5^_0F+;>87o*TR%=zI%IqD-5L82(?#Mu-=@y?-e13c zQ;w_R$72(P-MubrzAstj)3ZmUO0F`)Xa8l*S$@XC;%y=y{jS^W&8+y#wsn=ebQ!-{ Q642!gp00i_>zopr03s7{XE z)7O>#4i~eSir$eOpFoke_JDW-R=e&+U`si=D=-YHV!FvX)xgT29!$A;j@Kf3nKwGY;$iUE-GgDXw7R Wc&O;geSV+^7(8A5T-G@yGywp%4`THI literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_white_tb.png b/mods/homedecor/textures/homedecor_glowlight_white_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..5da4494085bef3bde4e6ccbe9308ec64466dc08e GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4i}@CiJI1m1wVj7J3L(+Lp09kPI44GqQK$IyDRs7{Ykwl#u=_whN*3=OZV0A zYOH(R#lgUEOhQW}G&EEz%;nB^S-~SRX(?%;hVsWZYRoF`DqOIN!603&f&D`U!}jO; z4M)$%FIy?^uupn1+n(Qs$C_A|7W-Y>^6qSo_c;cI$GJI;{d1HouXH`nC|~09eNDXW zi-5B(zkfd3_j1{^kloMB%_htgy!hbP0l+XkKZgFk0 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_glowlight_yellow_tb.png b/mods/homedecor/textures/homedecor_glowlight_yellow_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..41bbfb866e31e4ddf1e268ee9f7d7c092db3c507 GIT binary patch literal 371 zcmV-(0gV2MP)SVWuQd>JySAYeCCn35bL|t)5nDy zAKdv&=0@S*n;xmVgt&q6e`ZSHiBvMug}6T7$c>4gj8sq=bD%9q*IQaTN|H^66W?0| zaB^NUI;b>Mc3zhOCC%P5%au7CWM^h!rLyrVxi8|JDY?5#mmU}FDC{hkMuaD00+pEu z3k&-j7&4vX5^W^CB=ck|Y&h<}T=u@(bbEJuxud{C7Z$-j%>wb3i2Q9=CP&Hp zUDcJ~YkQ*g_}v~e-k=A$-j}VomY1qOKlJ%@S3dVSKmQ25`5umdKI;Vst0A6%*RsaA1 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a7dcb7ff89a06d7156caf60baeb7e0df52f5276f GIT binary patch literal 393 zcmV;40e1e0P)pF2XskIMF-pp0Sq$;sE!?00003fNkl9k9JWHQ|obBeGch9}&Jhpt80{~F( zYXIzoVGtz5-m#cJ^8l>Y+nXzI>Y4!Jbk}8bE(j31F_HDt-9n|xmnt?vOpa}}8fvNP z@Nx%$vb=~>`fualIeomnI8^2)h*@*=0HhxP7-Iy$os1jBUg*Z}lCSAI2~qK~1|W?Z z2Iqnt+w!MptwzgJDelj_EH5bktokiKkisaDD}_-)q_O4wysnQKAMfjpyatKy%CSy$ z!;~YN`?~%v&PQ4CMMRozj2mhE_~=2dV)-$QOq4!jB@P00000NkvXXu0mjf)kUl> literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_front.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_front.png new file mode 100644 index 0000000000000000000000000000000000000000..70e4e2d8a0d77ba561a7092266821b8a2b4beb42 GIT binary patch literal 513 zcmV+c0{;DpP)pF2XskIMF-pp0Sq$$rd5?>0004?Nklfgc5PiGe?Z!4W ztr{UmL4`z!MuCgfOT~>pz+d2Z@Pklq+z=e$#>XK@NC;3-gizHqgvPbAb{5;S931*Z zTIMu6@4cCQv&)`5-YE*xTnl1t%EAbtz>uW#qO3O7eFoI%Bu)S!r6U0Beg7H9T4%ZM zxjH`r=QBMAFiT?QNLv;Ahq15ZcsjdxcT)gx8}iY^`@>Pv34^^K6GyJRe*2k-cDA=9 zXYW28M7^*R2D{JS1K{{yM7=Q2(mE%yoXDPq8N&i*{Djx{QSRgQyn*7<(5JUEPpF2XskIMF-pp0Sq$?ujAQI0003SNklVmp>j%VgS)3qV2gcFO@EhW=wz}U9C-79ko3IY^qC{0*rHq0eF6Wmr|*`@S3hFVo;i?HGnLY#NoCw zlezQ+UnJSpWuMixbsPNlW&j|XrJR!SEPjgSwZ-Ylad6ObU49<=(JUQ3jsZ{rn^x>Z zlXyRH2*DmoDe(ly@0hjrJ5hP@b75aU3;pF2XskIMF-pp0Sq$)p*T@}0003@NkljO-{m45dJ!~kEX@c zk_d^C5KVxU(w*FZl_zlNCA^F)kKn=scmRpU1znI}%Ay!s8t4nQ>BB{9Q;R6yYJT2) z-^{#`ZmxP}wc>gK004@j#__6AGh8oFn2I&xc%?A4R;`SuAEr?y0Gh@I{dU7-gMNE0 z#7Xne>eL7Qc1;(OgoeqQ^?j>TKRwa_5Wb=51_~ICCTZklye!5E|KZ~7n1{jE0+K0B zYr2uYv$`$YnOohKNW_nVyNB1JYjs;}rYH=*f< zNJQ@5-anUTD5Au|!{GYzJX5fp`8JVXS`vwPe0tlOmWhW!y3^rkk}0HGJJHKTB-7@s zDH#Bfh|MTD*(w<6K|Bf9E`My?`;*nJwZd8rm~&`6&^({z?fKoJX!7F{XY2 XVV;H$B+5e)00000NkvXXu0mjf2y?v# literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png new file mode 100644 index 0000000000000000000000000000000000000000..7e89ddbb952df992f0fe843b8cf37e1ffc60c110 GIT binary patch literal 347 zcmV-h0i^zkP)pF2XskIMF-pp0Sq$_HtLA=0002`NkliNlwE+5bVviY&iJ= zk-`JuQF&87!Be=(le-H5oZk0c*KG=3?O|8HNJLC^(=;n=BFZ@ffFR=B z{qG%BRaF2erO@<;D|dp%!)Xi5M8002ovPDHLkV1kKYkAnaJ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_top.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d689dfbd578039815144fe43f8bd10fcb3e991 GIT binary patch literal 446 zcmV;v0YUzWP)pF2XskIMF-pp0Sq!YmrNYH00049Nkl{e52mBqIV5VP@`5vb$An zW|3V$nII{EwU(U707;Uv2LM1-DMLKZJ$6xDaZG$^S; zRo(af-6E26PW>p4zdHwrFpu*_#PdGgrkJn$$SsQ%?DekPvWt%5qM7CO(2T`Gz|6dA oy(?BZ0NV4s$>yTF%{j^X1GpYWjL2Yxf&c&j07*qoM6N<$f^k#JMF0Q* literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdfe7a08b851a770417b975db123bc91a282b94 GIT binary patch literal 591 zcmV-V0tZ0*V6s?;VTVPxjvYU7_ie7Sx8Q-sve z{m9E_PoC~~r8V!>T~X~sETvN!T<-q-?5Mt&mYS1wO6V@-Xuf3YN9{c4!n#H;Y&*Rf z+!G%+{hPPBqIeu!5~>9)EK5o=Z3p#MG)=i9d}fa6t5_#p^6*BXo~7uszU$< z?Z@sUBWn`v(We$N@=}V;<0Q#?m{BUTrmXB-*a(+1K@!J_8TedlC5JD{gHBfsj zq5+hem*e7_UB4;gxz6FJG4#?j30&|1rRxMqC(Nzu#an5&`y2L%8ek&-z1h}gW+@Hu d&TFY|{trE19FpT^`j!9y002ovPDHLkV1isL7M1`2 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png new file mode 100644 index 0000000000000000000000000000000000000000..89dfde025a18e16bea4e9fcb40a7edb86adffce3 GIT binary patch literal 535 zcmV+y0_gpTP)nTU!_oEKw})TTvh=&wRS)MwE=oie;O^%`CqKU5zj^V>jEeET!RxET<$jk{ zrD72Vb0i8*k*OBC`FbZ{e%Y?Y+YlMXJEvoi)wOCkil>Zivx?A1zNkeU(sb3Q&p-RB z-yL=-&8^farM_*qKbxAH8n|fD!{P9I30$$XeSdvEm|L31oR+4qqQr3=`@U!QCw(b) zfA>fgJ-;}Uv%bl7Yi`5->A`c(90#sLE9CC0Dj6=X_Cqasog^uSCY<=dVBT^${b9*j z(sb;2f8xVD9_9ErKdbb_hvm3Rx2sNnh!xR?x7W-7KpX%BA^-r?T{jIOI4J;$QgV?X Z{{goaOI45_LPP)n002ovPDHLkV1kj4=x6`{ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_back.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_back.png new file mode 100644 index 0000000000000000000000000000000000000000..e77a4c7602e680c76cc609bbb05d7a8606f88c78 GIT binary patch literal 3121 zcmV-149@e3P)j1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z2_6J73qp88&j0`chet&= z&-nMB`-}m-e|`5_09ET+1po@oOr2*WIQXAzqau-%QUC*PGkf1RO?>(d29c3~#%G?9 z6~OO8jlwCR8V>@Kd5|FNo|#YxK=ky0C1Cgct0WXO?ru9G0tm5tfVpqrer}HgBoR#C zB&d3NW&+q7Ox9c0AzOzkLy@*I_q}J0`$>Z*JdUI?5XbT6k?pp7`nBsw7!)(Jb_Zr4 zOWq4cB^s~gHp6Nk5)K_lXpYkBr7>B#*0QazLQ1XinAKkUIcqC(H-Q-Nm@K(}oils7 z4Vac&Zd5M@wlhU=b9cz`Ug$E00000 LNkvXXu0mjf-sIQ; literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a49357e98a67d05fe92897cb7011d2655dbd3d56 GIT binary patch literal 3183 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_right.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_right.png new file mode 100644 index 0000000000000000000000000000000000000000..25ce91d75e02d77519982c1edbb08ad8db4ea65f GIT binary patch literal 3198 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_top.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_top.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9753e4d3cf2f6c7dc31f5cc1fe5cf7d12582c3 GIT binary patch literal 3195 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png new file mode 100644 index 0000000000000000000000000000000000000000..97e01617959b6a4f11ae18826bb6c31b03af880f GIT binary patch literal 632 zcmV-;0*C#HP)p?a=fQ#1JJ*nkF&RSnA8S zpI4{DYBLVp#V?y@(Bq|!EM zrCl^*@hQz%8X3n@#;V|Xp7qOK0qrlO$B&-OwQDZ4Wg0qFFvNjlSOA8JMg*>0-ro#O zYFWGa-qUBVflw9v7mt6%5l}sJkNbCTX}?$oJgN`Xh>00+xWfa2AR;IsqD+-UyLr!( z716{-L?l@>sVIcOfEFSMB_W0gj?y!TKweusQtxe-gl^Q z1q+&%t0*iILyW+oi2)aKQJw8TZEN=q_JBRG08sw(W_8%sBnj96Xp&k?Rel4s|0`iT SMAsMq0000dG7E*wOghBzLfNY%2de$+jKM4uQdyOyEeeZhg2azses=4z z>&NA4T&~6spMOcrh)6_eP$pq#ZRzZgQ;c8~=52Fv`S)hs?;X`qZ)_0v+9qWnE4~0veqIF0 zldX^n3PB`92AsL7X&VOM=D@x=e~SXm$vjG+oY}D_8nO zhLy*<)ew>l+MX^R)RhTWJSFj!*Cb#dI&diVMq000R97~xLLkcLE-022VPr6`G+{sX%u VQa(LI$h-gm002ovPDHLkV1i}{0Wtsp literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_back.png b/mods/homedecor/textures/homedecor_nightstand_oak_back.png new file mode 100644 index 0000000000000000000000000000000000000000..271bda6ffa297119726b9993c10804688388d752 GIT binary patch literal 3155 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_bottom.png b/mods/homedecor/textures/homedecor_nightstand_oak_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..2f759fe384d346c86ceb1eaa43e884a86a7283fc GIT binary patch literal 3215 zcmV;A3~=*_P)j1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z2_6J739NP_;{X5w8J?qSfBp0P_Jit%HH*evs~wy58>?tLM(>ih#XzeFTyLh*b^w_P<{%MK zB7*EIEY30QL^uFwdhc$grBrDC(rR)lTk>gwd zq~Iue4o{1XOI?A45&+;1JuXkrAKwE2Kq59r#HuPY((hd>Mh9Bm z6yrRZ+#_edx7N0H%#m}R;ij#*_wYW4>+8!k;{0WqF(cB<0JQyq`M1s6R;!enx4;#(#1|L@n$KN{D2Ac(=6+Bd`LJ0I+Si-yn)b5XK5* z1{}m}-89bC|9`R=pbVb?&^ux*76C5+TEx1k%0HdRNO^ROoLm3^002ovPDHLkV1f`6 B{-*!{ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_left.png b/mods/homedecor/textures/homedecor_nightstand_oak_left.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ec083444a768134251d9a4df40c8d7ac4158a3 GIT binary patch literal 3234 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_oven_front_active.png b/mods/homedecor/textures/homedecor_oven_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..aaab206d88f422277dc591d6ae7ddec1a66b97f2 GIT binary patch literal 489 zcmV$bZld6iycDogk&1Q4GUU$1)KHIic)%|`iBA3ghX&Q4p z9%r-J;c!?kmtEJDW!ZII2qDIpw>sxU1i)&wYTK4Y#2B+)ubH_h3L+Abtm(ZcB4&;; zzFsc?ALgyK)9DnSK~-anl;z$*N=Zb>T8sYyIp_Mme~0S5S5*>``F#G)hsWbVM4X48 z-@g3Q1QbM21qc90p#W$ynY3;D5%BL{Uo#g*bYue52#u@&8NtYEr0cq27+6)A`N#J^ zpIREL>UO)C^Z86fM3hqU-iydE41M2QYpbdvB2~TL@80_u<6^NebzM8>s;W{|BFdp! zYeNWq-#h1qVQ|jnrFC61fTAd}F#sWieDAt$97h0US*Db-6aXforfG6XGCNnmTAMQs fAppp2PbvKcAjtiB+sbbh00000NkvXXu0mjfR1(rT literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_oven_side.png b/mods/homedecor/textures/homedecor_oven_side.png new file mode 100644 index 0000000000000000000000000000000000000000..30dd91091288a1266ffd2c773ff23bb8c63fdada GIT binary patch literal 507 zcmVA?SdwH0004+NklA3?(V5IEdlD z$^B24Z2&vA)hKZm1cKSAzDj(*-y*`y&bcv0?;QYo@61d@s;a7pXt&;b7LnKMrK;z7 z{{8(O$3aBvx*7@*#TWrVRgdF9L{io3x;~%Jx~}(qZ`(#hDJ5oRW)TsQT5D@9rKGAP zB19BI$T`OtRW*drTAOnMK#Y-@0l>CK%Rdb!ETsehkH-TMuj>MU5CS3sK&_QT#9W$P zA~K{>O0Cr(5pm!5-uoDXopZ*RQbNQzr-;ND?c6z6YbBy>+YFJJxwZCuK3i+{f{2`R z=Xs7XmSr){-n;jH&dFnpbzQ&TF97_$9mm1UDJAc{y%v$y8WAx70Kl>=%$#%f-uK?k zx7nL>#u!a=DTSPKB4YZMWpU1#jo*TZL?nbzN)Zv7b6V2Zb=6vbVfWsxK}7udu^352 zOj3;Te=zU8#gB*7j)Y310003bNklF$4LImNT!V90(0z0Zg-(isRzYJhXh;Y4^+9bPzBBwT=WzL~VHo?Q6s2i8k1e4P!e)#C2!h~pxd1qy&-lp_a?WijC4jE$=CLpgUxg)9O1YF$ z0C5~M#vI3KnkJ6p`TP+=2=PtGIF4^b2=RRBV_er=688^-OE^u_^QDzq^E|heQtPz> zuxCpvwfeqq4Z|>ZvMieo9*@UY=MC0%{aaX*x~?r_Oj(vvO2*iByH!d}(^ORzrIZi? jV6)i(D2jp*(skVfEG9py;*#mA00000NkvXXu0mjf^+BFB literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_plastic_base.png b/mods/homedecor/textures/homedecor_plastic_base.png new file mode 100644 index 0000000000000000000000000000000000000000..4d0e3f258ba900b829a2e272b0cb98b6795db32c GIT binary patch literal 419 zcmV;U0bKrxP)7_wb%)I2`!b zAJ%L(v%}%gzTM;T*gpFc&&()_tm8OTDiy4?9FIqKyB*zbmo!ajG#cVtKpe;Re!r7t z8A>Ud%_dSxlu{UDIGs+kTCMk-^D#V~PVM9IpkA-z`#!Z=4JjpBYh2f5zu&XjYzV{9 zJ_Q^O2aGYqaZI^frdq9{wdQ<2lOzd32s)h(uIuszFrUxuU@)LmD$#DY34(y4D7ap) zIF7^ZcEj^L@;pZf!DKSYJ^`eZgkgwM3Z)c9Q4mEDNs_SLZt*;i%jLpqwL)u+l=9_E ziHpU;0<70-q?Gh}J@Pzfxm@D=KE@b=ARtXs`u)E6@is=Ik^S|-y#f;1ggIVAO5Okf N002ovPDHLkV1kqFwqO7N literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_plastic_base_inv.png b/mods/homedecor/textures/homedecor_plastic_base_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..3a02005da55493489dd1f75684be3164d37f3b64 GIT binary patch literal 561 zcmV-10?z%3P)l{Scp zF)b<`id5)Y$ROzt=uc|5mbQzCtMp%V>FD6-)JeoHDg;GK8XBQ#J~U}Rhs*U|uHNx( z_n97eIS*%e;eY;p&d<-))zy_6kH_k}yY@GzR;%IrK91vHnkGRIAf@E>^_5nu^~vS_ z1YOr-Cz4hX-b}8P#g_b3p%D z?(grJ&*vmb!tL!XrfG6;aDZ*w#Bq%8`)Ha*yGG)?31@bH&GKA%Sj!R6&8g+hTsp+J^pTwh<~`#w)k zPZ);5YPI6#<_6og5khcsa-y{1aHyKiCKneM93LM8Fr7{jLeOY5kWw<4OemE~BuT>F z-X38X^7#1p!v>(=?<>o)C>DzZL4e~ptk-L#ln5cPEQ`frfn`~krpfd3GijQ#TrR(V zq~Fu)^;9mGLn%e4)6oWlf!f;IVzb%MZnw1$(J#vV4Lc)R00000NkvXXu0mjfqk#tx literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_plastic_sheeting.png b/mods/homedecor/textures/homedecor_plastic_sheeting.png new file mode 100644 index 0000000000000000000000000000000000000000..810ea2aa36bf372822035dda39af75f15334b429 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jVU-U|r9h1MVUd?{ q+etLVF0xGenpFO#UB5i|A21isa!OBlrELzhkipZ{&t;ucLK6VmwLl*L literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_pole_brass.png b/mods/homedecor/textures/homedecor_pole_brass.png new file mode 100644 index 0000000000000000000000000000000000000000..9658c1ad8dcc1cd7bbca0c73ee525c88e3636a3e GIT binary patch literal 349 zcmV-j0iyniP)TO-{ow5QgD5iCxG2 zQIsGK#+LhVA}+xK4uDhv0`XG`5?Q9TT_+6-ws>J?JKsE-nSw;U++WYN>hPiG_U?v@ z%d6tAoJaw+?%2IQ65PPkcAJV(rW!E@f*Xkb3wIdufytZS;r&2xCJ7`@@UiE(|6~k? z=xqK5&Kg26c-u3LCLb8x2j2FWZ%d3J9|+E{cb0i_NU8n-ctbooib_+7CjW`2@jy{& zns$R;P5D46mNe}|U3V)v!=yKA`o68HrFG^-AUgQk@}A4z)Z-$T=TS vx?wEVD7`@{n-4rZzwx>Y6tZPJ_DSFeib`{XE z)7O>#4x6}uvZa{LhHRkFeNPw15R21WFUR{eI|v;A_GO1hy1pJ* znD^p1w~~;C>UCz{+lgzHFLKGQ{(8W`PbF$%x~A953C2!^_3eg|T6_$fe4V!H8dNrR z3F|-L4WHV!>DER=aix{a4Yi&@?>sjfI~{wi{Gwebv+RY5yUV9E|I_lm(LSxe_Mc4w PdX>S`)z4*}Q$iB}d%S=m literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_pole_wrought_iron.png b/mods/homedecor/textures/homedecor_pole_wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..23bd25da30904115be584f45667badacfb38bc6a GIT binary patch literal 353 zcmV-n0iOPeP)Nq`X%00031NklVO-{ow5QgE`iIdQV z{sd8pZm7fwS#t(1#FkADfO-T#qH5FHabhP;%moONJKGsO`ernOk$Qc3_D7{@d%?$U z$J_f>{52Pi0e25;Dxxn_l9iI6EWpP|lW zc!HB@sI(%EJc*Ry39@O{XE z)7O>#4jUJPq#DBw|EoZuLQfaR5RLOwCwU7UP~dPDZu=d7R{3Hp-`r2qubpCTCa4sx zWo=mUe%~3L`%lGr9hl57GnB~BH(GtM*VB+^&64xnhhHrGu5ERB;hD@yR+n!I&9yz5 zYIGsh&ginG{M$e8K21D#Tu*-QD_OhywzVcDLZ@rw=G_gObo<_}EkMf|JYD@<);T3K F0RUBwN}K=y literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_projection_screen_inv.png b/mods/homedecor/textures/homedecor_projection_screen_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba41d287bbe472a912fd4dbdffd464efd4db7a6 GIT binary patch literal 391 zcmV;20eJq2P)pLPT5Vh7J|7xhc@yp#s}ww>wVDKw*N19KUM9|JQ3|2yXMxh)n8 zJJ#b46=$=VdGG18+xXP;_Wn-yvg>{Yo}M1f*F6{QHmOhXCmvt-s45`@dcB@I2xQrV zi8#(%EmH4E({u-i64rtKRsS0z0ORq!b0Q=nh$J`>BoRae0IdvF<*dwZ!NmUI~MJq*3 zF;z^BEX(Z2E#!G_olXaFLit$|i%1a*LReFlk>POYj;;}4wOU!T*`$n-*AR$BD6svMlR% zySv@4sw&H}nx?_ZIXA`-La+kB;c%$ynrp2AU^1BqAw18MQU*bQ6UG=RrR%zBn)<#^ z2+>+YmSz2Zf3;cx0HyS+7^O1Cj4@hk^iY;1$IpB|ms0w^k8*K6AtXr>$8nM*3B#~$ z+rNbEc8e=1rIb>wH7-IdLeA&&=kwu=v9@iaC_e47{pWLY*G4%h3o zQc5XBDFpz|IYNG8_xpX*G#o9)aeTkugCM|VU+ef4LIgoz+jd>o@Or&^z20WCY1o=v}P0ZjA6ah;;K9T9_00000NkvXXu0mjf>M87( literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_refrigerator_bottom.png b/mods/homedecor/textures/homedecor_refrigerator_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..e4762d3416595233ed3ca3c717a31ee27fd9cc12 GIT binary patch literal 445 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_refrigerator_right.png b/mods/homedecor/textures/homedecor_refrigerator_right.png new file mode 100644 index 0000000000000000000000000000000000000000..0ef4169b20e76e325fbd1fe6b50ace3d682a95e2 GIT binary patch literal 458 zcmV;*0X6=KP)Vm#emS0oNFe1YEY_w)Jud_J$&tNiyJ$Dz!8o@Zv_%FHs;-9^ORBjWLR z^xoHXB_em{%xtaAIn4|TW)_iJD>Lu=KE~L#?KqC>x-wHEqLhLTB7!(G=bR#vnW{R* zP*oy|h`U&8O;z1}&Z(-cH8||OXQqg3+eSpp%n>o?JkOJeLR!kixvWyO{wI)X@D*gEbOFgi9%{HCQL2 zTI>Cy%*Zjb>$;$h2>#(mN5FOWF-EP`-SOnDwHw-x-Lfq1jzO_3I1&+hjxmVnMvjfB zwIXo$)>^GqRWSzW-$RQC76fGR1MzRM5sxwc0AwFNC(eu31^@s607*qoM6N<$g5(|2 AF#rGn literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_refrigerator_top.png b/mods/homedecor/textures/homedecor_refrigerator_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc732c5b6954d2fe8357d1ea5c344b6cc51231a GIT binary patch literal 494 zcmV~oL_~;KYc;dTkaGrrQVJ1W*Ciq;B_aXj->Mo}5wW#)9EX_& zGOW5gnOUv1wHB~26AdoQA|eqf%B1iU5o@izcV?b*mQt8GI#AV|Ga{B!+?`^hF-E`; z(cNP;cXxM0G_#aa@7>I3&KXT#*QKfeFvf^rL=;V&=NYm9KtT{5M8wQu#9;k-R@MJo zI?wa_{l>;b6e6*4i2M#Q+~T^f%d#Ni?*!ca^ZE4N-|u%yDeT4XwrvR!_kI6eQ~*?! kh+1m^5VhX-O+;giKPlT)5q@YP@&Et;07*qoM6N<$f-(Zo0RR91 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_roof_tile_terracotta.png b/mods/homedecor/textures/homedecor_roof_tile_terracotta.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ad782faca31260e3492d9b16bb55f597ffc678 GIT binary patch literal 350 zcmV-k0iphhP)Kz(3522$}@-yUDXRHxacVarLG!6GM$-@D?=^DBo^Ot{^9%iAMe3` z>E`s%w{)yd(hw~#>8Oz4OYHcXBWj0@kUVz8TV;3b;Y+X^-ibCm5h_}5tN~Qq# zVMH7TOae(V9uZ5QwsRUlWh}O?nn7QP_hs0|L0PN85D%c#metx&C_NbB0nFwLF$5w# z(LlaAn`fzurB5;*F$pAb7~qFdGk<+wqKxJ0{zbIrpbhf2{NU{NNpuG3CrF_*7kAIU w=U`jAo+xAg)`vVx-Sx?V+pAQ43bmI$0rdcngke4ErT_o{07*qoM6N<$f|zQL>;M1& literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_rug_large.png b/mods/homedecor/textures/homedecor_rug_large.png new file mode 100644 index 0000000000000000000000000000000000000000..9b12b6c0390d73695ffdf462cb7e3e70908f9322 GIT binary patch literal 789 zcmV+w1M2*VP)7E$9uqGAL>2!UY7B{&M4qAL(mrNRY3U9e!o0jP@9l3FBw#N%-$9*5eA9edv6 z|1m6BaE0%KPo8}HMeFlFfA2kP*OSKV-A@nxIP*V#^ugI+iuT&!+w%1E!|>|7d)%2# zL*B6A^XJc;OqWZw%F=fpI)sq|l1RYY-nwJXze|-7_HJQO{|9j_z14J9Ux4SjB?Eik408Ij5fzimn zMo{^KUUIh_y&hIE8k|q4;Qr-o7wbuHj`Di{a=Jw5Wq9RnR-{B|I1PXXspg3we@}d1 zqQsTkG^y5GQ(7e1Q3+-@bA&Bsw-6W6dq=0DFgKZ$HQoKPD;>I~cwHg3=ae9)xWcOH zo_s_~m;@{Q%~xOJwb7slb%!24#=NE7_6f~x3>$G=9zSZCrfM}^Q9xSNszvlKIER*p Tx85(-00000NkvXXu0mjfZyas4 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_rug_small.png b/mods/homedecor/textures/homedecor_rug_small.png new file mode 100644 index 0000000000000000000000000000000000000000..7d53edb921176c7e8ed384e0a921a9ed544999cf GIT binary patch literal 946 zcmV;j15NyiP)=jJ2;380Y9i8E`T^`BS4KjMyRBWLvx8s*R|fNo>THbFhsAy-n6 ztNVQP;U_FD&P(z)-~J@DqRwv*zsK8h&`ex2@Tjy(Pibj(YPAvr{|ql%39hco)Y6+M z6H9#l#RJmmbs=pZZ;1TX0q5CkToEt2;zTLw1VaNf!+~Mc=y@j?wgWiF+YGxhlD*1! zDM0=#gPdJCqhL&O+0v=jeVl9`620SLH`_zebY3NTG+Tm`;uijjjcloir)J|)Iz|q3 zkT(BZ7aQp!xMh5eHrGQp(>FV`^IZlmfkzF~@HR121BYbd9&<9L7|3drXN6Vdz3d^;NCas+u_|^q))=`L z>GcIt&yGW~QE8sAaLdkB&5FaYP_-)z%Ppdkff$>_92#UV>&VH20>knY=ZEJEt69{> z0gBqApQ$m(DU`}7#zH+Z7kfw!jie~ha_Xe&4NPkTIp37HQY*COGD>KMGfm;h*u{Rc z&(*Y-?l8z-sS|=VE3z_;$6}|Jui;mkm>wPZt|^EHZ{u-F#F}obMxEuzeM)UFz6+TK zFcY~?KRm>3YSgctEW}(W9xHm=f-GVU1|AJh{|1Tr4zWoWX*2?1ld^clm?3C{Ov1XC zE4u|})Qjqzz~%BW-Weg+%Ck87VXD1TX1#CFI~y=*7Etq6rpT*KmuO^~bYlVHO&AFW0l7`Z4e_9byxFJw zOlKg}e=|Kl`a^vD=_8ikeV_BfCc)TkjJ+b3c!W;pf*Zkk3Y7%$>9?sLB{9b#UpQrD zbw!f?@BH|)FU60k-wEh$g7XT;MHOGqiZ<#Iiq25g%GibibJQn3H_zj*9!dcJ06T@O Uk$4H$B>(^b07*qoM6N<$g4V6G`~Uy| literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_shingles_asphalt.png b/mods/homedecor/textures/homedecor_shingles_asphalt.png new file mode 100644 index 0000000000000000000000000000000000000000..057546ce64b9ff2eed10ce93c84f33c555be8874 GIT binary patch literal 671 zcmV;Q0$}}#P)(sp_4Ne+tJSI~3Tv&kcE8_~?RM+EPm<*C@6TFW*R|IAa5xY`7-K=#T4z~S z6vfZa4|dKu=aMAZY&HPU_kC4W%d!wcj4=Q}2=U%e(?key&P8z?E2V~Epp=$n>73)7 zJLdpknkFFxV+;U<5by8r7~?3!g!nj)jWO2REXx4k{QUg)_m?rIlwyoYDZTf&uIng@ zf{%0F_x;Jqi7_T9#u%j(#u#H<*EIm3-EP;m?KqAA&@|2K>uZ{(FE1}z>rfFwXti1` z%OZrB=NaXBKF>2kNJy^#1;yTwh;PO2=`$yu9qX zt}M&#c3V{yLP%>p3`3shTI=KSxL&Wju8TP5jIk(+thL|Y-)-BbX__Pn=Nteir2ycZ zJ3T#>QgY65k|d#Q004k-9G!DQh~SQ*C>RchLs^ypfR$3?I8M_P03pQ3$H#wODW#OE z>zXkZ_QB4%v$L}-%i6YWnx?8MN@*O&0WON7X_}xo=jyt~N-1mYJkOkSV@z3=aU4(6 z)HF>T$69M4#4rqf-)}Y>?|oDh#q;wsLg?}FG0$^C$nkhwmIY&+Wto&xN*Tuf{QRVp zq9jQurPDOs+}tRo!ujdx>EhyIp67>$2aK`zK8)zS{|8pDV`XLw_iLbk?7;+OuK!QjR0@cq4 z+#pH-MM%KuZgI$6|5kQvqtIBy;OjX>V#r-ygR+4~OtKM2DA zQdiw>mb!4eS?a>=W~mEzSy6XYdk;bk0id#?f`gjt?mqHELf^9cD!QNG--}%w8?8}S g_FlGO*K}w91*XOU?b8E%E&u=k07*qoM6N<$g2*+W#Q*>R literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_shingles_wood.png b/mods/homedecor/textures/homedecor_shingles_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..b982747a960bbe19b176fbd0d2eb17ba92a7b4f1 GIT binary patch literal 567 zcmV-70?7S|P)6b0b5*52pl zrqdMZfONGlzV;X#mb3Lq1Q9_&)T$)+oc+@eepC4P(~qy$%f7pcdRy_Bd90PQUq4@W zbKA_NVRY1eh6s04gE9=`<$QjB9*?QH)$Qb$efZ`kuE>b?Mo=1}3&YJ#ZUQCAr8X9k znE)aS6etl6YM51Hb2rgVm1s4h z$psNKl5}^H!;NGcDI*DhB+<+^QQfVfN`T7htnTj3C4!x1Hr&jNvM2y>6CI+_P0_Uv zuc{J$`+J^GHl9aS-H*AM2)qCL=6~Gdm%sk>A);@euD9#Q?7qkIhui7Hz8#fo_Nn-C z8Seh`@9+No_2aM4&yP#%Q<7k2S#8Ru#W zFtLsQ4|-Jr*j+2T5~!#u7G;Q8XdJ5p0sx>A8g2lhF$SZeD?1xq@6Q9k<5)4HGb77H zu!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YPV z+ua371Hn({-St3Q&rUPlPLl|O?tv$@Zz~t=d;uvCa z`sieTkI97+$L;r*zu*6J*O{Z!q`ZY(bvF1#25MYd>0HHWRdQ0HnMs}1t;&GMx#P_x zO|Aa9R%}i)rmt}3_^Zg>z4UM{U+LPnwcqpJ-Cf@-Ao|zx*WTLshufe3uBl8|ty(9~ z!yoJH<*7GcQS*D@GE>j|l0WMio~9SSKPcjE)&KG8#;1Rre2&HYUX+$iFZpt8KjX`* zI%{>$ihQOt zA=OaL|J%Hz>ez@c-?tZTSUk75_U~*#tG?}zxBscwq>*!5ZKl`6)7B3zuUN&mL0Q7( zs_&!IoMG3DHoe&SWv=b{A2&`sV`FgL-m&oYls#OtRxOrhJ9&l6i7Tj6^-avQ)_(a5 zrOi2E(_>@rCS@9)d$RVnMv&K|k1Rju=yLaU=gnYQrK>fSt4m2UKj*6Zy+b{iv=Z;VR$dw%tCfdcnZ|%BZt&jlLD_5>u+OeNA_Iit&NXx_H2Bz=qYR)|Q zdYZ>ge}P)~bp{QQSQB66gr9*e3Y)Z@Vx9MH@ae8mYrc5r%-q$?_OGOS;_lcat*|ssr%f}<>*Jm5dHYJ++O>7t|G%)l^zc>Xqw=Gz zm0Xkxq!^4042^UROmq#*LJUo;3=FM|KwK*WgA1w!ohTY|^HVa@DsgLASaHG>sDZ)L L)z4*}Q$iB}TUuQ+ literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_speaker_back.png b/mods/homedecor/textures/homedecor_speaker_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ffb02c79eac919f4ef5d07680b5f99998a2b48 GIT binary patch literal 3258 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_stereo_back.png b/mods/homedecor/textures/homedecor_stereo_back.png new file mode 100644 index 0000000000000000000000000000000000000000..1fbd885b928f4a446d465c975ed81091e28e539e GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jVt8i52JODZW6V$(}BbAr_~Tr%a#z|GWcZLSjNf!i8y%6}&%Rb+?z8kuc}O z6fHI&Xj^gEyfDk6=Ak6l*#id}3?BUY`kDs>+CSXL$W~}|S}d_(<;s%>fFPlL8Rs*l zlG}-odYrWdHZr{XE z)7O>#4jVr|n+em-b{?S6I!_nJ5R21mCp!u5v4Mpr z$KPQ0fo*dy#V}2tKf%VK^1Xk~47LV|$Nnc>S{COPojYM!?;};pZsxn))$8TzmcZ?I z9rYEICa0$vd^R%c4alBb!@>{@*J{XE z)7O>#4jVt8iFrBGiw{7dJ)SO(Ar_~PPBP>>WWeJZAGkN={ae zR(R%N%UnENC)Q?)=CTkir!7KpbvehU{hg%LVzB9uSHr4Rbz1L!&xk?ttH5?HLqMpvoP2rSZ{~)Vce(@)?MQ1ilK;nV=sYXC&8$`Yd|@&h zgHlsRP3VeM-=c0ita&|aiqN^8+ciU`CQ67sW;0y6C6DR-UelTXj{LmW&AaUAs;-V1 ebzS*PA32NblG5`3MlJ;UgTd3)&t;ucLK6VbbZdbC literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_stereo_left.png b/mods/homedecor/textures/homedecor_stereo_left.png new file mode 100644 index 0000000000000000000000000000000000000000..5c820d953db3c1f8701feb4f9f70bc5de526bb0c GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE617kvBLPCOo zpkU&UzrW3ywY9a`dinQMer{{*Y;SW$<+Mb6Mw<&;$T8<}?=o literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_stereo_right.png b/mods/homedecor/textures/homedecor_stereo_right.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0a307b7ba51eaa7b42fe519454562526b49051 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE{XE z)7O>#4jVr|6VuB4>l1-Oj-D=#Ar_~TO$-cvoOfVMNK8mb2nY#L@&5ex_jkz|6D)6J zI2HNuh%j~WCV7JVQBWHkyF?hQAxvX{XE z)7O>#4jVVKj+A+g#tjArMjlTW#}JFt$q5Zj{{s#!(jda#LHRZ!vg~Q>;5Mjl)Y>@Eqgoe!~D5Z=N`PVbn-;O z>A~ge&ipxl`uMp6K=9$`Wq-EsA71wGENM!<&HYdQc3gvb%nS()mgXA`ztd;`PflLU zEEXg5{$73Jk3TQfnL)t%wfLnNhRq*OUzg{J-}mppYc8>vZTl;KcPd(B+9~V!3cO`X zxt+)`Ut8k+{M>*4-`TE`_n*7-*o4T9lB!RA-+%aN=ZxmcmB+oKmIv)lvlGeRGGK3l&FY21O^p@r>mdKI;Vst E04HXi{Qv*} literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_table_legs_wrought_iron.png b/mods/homedecor/textures/homedecor_table_legs_wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..8b571c08edefcd838c7680ee3076104e338cacf1 GIT binary patch literal 519 zcmV+i0{H!jP)y+=_&@085?maM;?PMXdpi;IiH*%Sp!FxH$j z`Eoflm)E7nYigQj`rvuL9}n;Qz_vWk6VLO6|LD&-_2aReJ1=c)EF*;0nobAuE2|3N z#^o8owE605#uG7utuFcdk5mtkTbLHd?2=nv>j4+%PDw4;BDFV0wb|m%gQq?3>{Lc3 z(rNN5kCo~d_0sG~QP?<^Vl?iMy|t#;t){0=$kmHycHB#7Co^g(f<~R80S69F;zXmv z1FGdRVT<7aH?N%&OasGk$Y(F~-GkZB*zhaR)@)YF>=_%~U4n{XE z)7O>#4jaFKvgD5U?=J&|CV09yhFF}wJK2!yumO+j{AM=(o3#w@5l>I@$ zWBCqWX|A$%Cp!+#gVXKgPcEHOCYZ>U*4Dw{-ZP0&j6u*bl+o@}sDJ41L#^^3|1;`6 z-&6g5`H8h#mp26pzkhL1=gC){>f#4$raOCSKGhBk^?x_trXqa9y4Oz|a&I$q7$&97 kkj(osH+$_~KE)3V%*7!O>~u3;0Nuvm>FVdQ&MBb@02F0bIsgCw literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_television_bottom.png b/mods/homedecor/textures/homedecor_television_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e58d1dab6c8d96a5b28e5855dff2603f7beda4 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jaFKvKn9Kp?5$bS5Ftm5R22vBErJI&pR+CBqk&zJb3zopr09NNQ6#xJL literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_television_front.png b/mods/homedecor/textures/homedecor_television_front.png new file mode 100644 index 0000000000000000000000000000000000000000..023f336d088d9b82dcf9afae9d379fa8cff1968a GIT binary patch literal 484 zcmVUAV5lI45n%(YV-4u`qxI=)hy%?96f z9sB*B_#n2zfmom>C5{7KtJvhzP1mB^C2LzYM}6&IEyA z#yCz?m0!Bcs=MHvBgVKkcx2&1kYdES0#W%Ct17i9WmPdv6Bg`!gf+#)oP|sGCw`?B z#q+#{wZRiVl2XE#o~ja5pIV@IY93-dJZ{YA^c)s zfoYuZzC`quxTvDF;#@&W=@s<5!Gjb>T(UtH4Fnj#>iKH aXMmp$()`^~(DuLp0000J-lZU#F_bl`B^U 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 M>FVdQ&MBb@0QyleumAu6 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_television_right.png b/mods/homedecor/textures/homedecor_television_right.png new file mode 100644 index 0000000000000000000000000000000000000000..149fc2f140d2379ff1c58fa7888fd4e9a48fcc02 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEbC@UV-;4k3 zWhWV!#TTsmDtFpDEKN>|r9mY}`DJ#_Y~RU(JqaxDeF8(*HgU%tTd5C%_I KKbLh*2~7a(BQI|N literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_television_top.png b/mods/homedecor/textures/homedecor_television_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b34a5f5a1c15b41dc6403b48ce854fdcdd7d493e GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jaFKvgpRh#Xo>TS)MMAAr`0aPPXPcV8G)X-_*MDN|*1HEY xI_l3n*esm#d&;W~2WF>l+G}A^cYVbPp0_7G1h?4LSpaQi@O1TaS?83{1OV@gNO}MO literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_terracotta_base.png b/mods/homedecor/textures/homedecor_terracotta_base.png new file mode 100644 index 0000000000000000000000000000000000000000..edae79e555ff1fe57c7b2e94228d4a651874149a GIT binary patch literal 379 zcmV->0fhdEP)6m zF{%BdIEWxsbaHTUa1cQUadQ;i)lo!n5^umua1<}VcJvAqS0|VHg9<{W{w&bgU6+fkC9xbA z%eINbcjAF?ygWNpM1MWbHy7pp;hCt{qbqmBuFu<3i+0!{XX)QFSedNIM9HJ*+878R z))j6z;N61LBp>VNs) Z@d=+lRpT}K!l(cM002ovPDHLkV1g_*rEdTL literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_tile_brass.png b/mods/homedecor/textures/homedecor_tile_brass.png new file mode 100644 index 0000000000000000000000000000000000000000..f84b2db597d8756b75cc07e04d81ce0bb1e05e8e GIT binary patch literal 514 zcmV+d0{#7oP)`H7XHn^j zvjbuJhO+~!JG0Cq&h-#2WFIN+>f)XUJ-@lzaei;b%#BKaRbVruyf^~1O&SX-Pn+~ZVE+wK@B(FLYhLjwB zxf14A+a*={2>?Upupg8m|IKM_w(`VXOcangLcpk*by2^PdjH?#5H_QJBME~ zA4I9Q^LJT&!YWmTi$H>Cj(W1^kMwKU>~;>D!*4_ZtQDn48B_<9mSw}l;g_&E?d-OM z&smp@J5e$h=uV{^q#U3fWJAR1H@Des@;bTA;TMW$axxcS2kjJk5banRVx&LZm#AaZ zliL(_$uuSc8pamdiuNknLAJ!2{)oDSjZsft$Mh@ZlL(A8q=mLG6@~7ImGbF6ho7t- zy&l7sj7Ji)G_PT34{cet%3LxYZgbR=*JIS5VN=FEi5Y8=z33q2fYL+ukVd^8BOYP1 z*U{@K>XdOKB9RrO!|J1y4^j@$9gBzXh>kX;B6#gOq`_XK9EiY}S08 z{_##q=EAZQ?NJ8N0ot-OfBUH0==J=@TeQQwed?(3`s9sw>HgDa)bPu{-mLrg``Dxz zcOr%~qAf}f?L}Ia4Rl9Pif8y7K6*WRJ*F@E<=aA7i>#z1G@vH(AO!Q1(%i0LQ`qG7 d6uyMte*rrYYKskofHD98002ovPDHLkV1gM3_H+OM literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_tile_wrought_iron.png b/mods/homedecor/textures/homedecor_tile_wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a054dbfbb8719bea422c0bbdf38893fdecd56c GIT binary patch literal 806 zcmV+>1KIqEP)pOb`-ME)fz3&cOfR$erKI0gxa=0+X3u+}>Sw+2%d*>n}fVNo zSyyOVpa}3>`6damQG#BhV{aN_M-PND8D8 zm>?sR68-x8jFJm=?daNym$GB^Bh4@|ImhM~lo5ns%<%My$2SMkd{5uCbnArPCo$`? zU>|o}J}>0EJ-#29l!9%+b&le=hs_~2Nb);kt%xGQq7!sk->|Xe>5tFYL~{A>%CfDL zO%2MhPb^WRi8IR~&9H$a+F7hUP@TV^H=(FoPnKDpp8lntJSNbXAmpydFo7ltL*jUc z&J#=+u*s0Rywdv>{oC(>38IXzN!_<&9x*=<~}n9zl`CBsQW*Gu$S)-=*vh z2YlC%=Xcai#dt0Wgy64pg;auR5s2@<`>=(^kmVUhN$&6N$Ra~(6P%wo9PVkSfz9t<807*qoM6N<$f@$V=$^ZZW literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_tile_wrought_iron2.png b/mods/homedecor/textures/homedecor_tile_wrought_iron2.png new file mode 100644 index 0000000000000000000000000000000000000000..3761fb8ce93fc14e8dbdc83ac383ccfaf21866a6 GIT binary patch literal 553 zcmV+^0@nSBP)FrjVQ`-oplY?wZ(qMu!>5Xda@}Rl*@NA4IJ^6Bx_kE|xsSs{%HKb~ z7iET|>RjvP;e7tSybtdqhDZ1Ch_$vs4O*IMg_xGLcjOa%Ufm-im_d3(Fz4J*F=#ct zsupNj`(S2wcF*yF6y52}IhV*?O$}nI7odCZ$fw7fJIHi*4@NNglyWr#pcSZw>pG8| zi~01y?(~R0!kNP(pIM|p1keh#3IodXOb@wqpVc5xS;r1$@d)>HW#_ABcJJHkGzIQ1kdw?N;8;2AyEBfQcWxLzOH7028EX>4Tx0C?J+Q)g6D=@vcr-tj1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{> z2n?1;Gf_2w45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec% zEdXFAf9BHwfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{ zS7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){& zBsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25 z&Nhy=4qq+mzXtyzVq)X|<DpKGaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)P zCDQ+7;@>R$13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm z3sv(~%T$l4UQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdil zy+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTy zOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N* z;e?U7(LAHoMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1 zgY$@siA#dZE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~ zbI`-cL*P;6(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$ z-ZI`wBrnsy*W_HW0Wrec-#cqqYFCLW#$!oKa ztOZ#u3bsO~=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`sa zEge|qy{u|EvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0E zRSM;Wee2xU?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY z_?G)^U9C=SaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJz zM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{ zoHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR z&Rp`ibn>#>OB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA z@fQEq)t)&$-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8j ze`>&Yp!3n(NB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZN zt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%j zPvm?ce<=TG`LXp=(5L&88IzO$1Ou4!{O>iCf&c&j32;bRa{vG?BLDy{BLR4&KXw2B z00(qQO+^RX1_~BA4IxWS^#A|>t4TybR5;7+k}-;fKoCUBRgAoYUcmcDM#e@4f-*2* zAWS4Q45$om58&60Hv2EE?kZ#zFvgOn0gRjDWn4a4wgl6?{ZuIrMS zsVqz7d9DzGnx@HKBLk$Ac*1*6*LA!en;9`iLI|XkSl1Qj9OrrBy(h-VIF5Idd7jz# z{g%MY*tQLTX_|1(@n;8;pP00000NkvXX Hu0mjfbhdJO literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_utility_table_legs.png b/mods/homedecor/textures/homedecor_utility_table_legs.png new file mode 100644 index 0000000000000000000000000000000000000000..74d4cfa558a0b05f6f62dbcbfe68368ceadd713a GIT binary patch literal 3030 zcmV;{3n}!8P)j1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z1_}f!1ySAeO8@`?EJ;K`R5;6>k}*mIK@de>Rd>&huClJMtciL6!PLy$8+Z*5WMJqC zOaw7@F)=hTkX>+A9aM0pyQkY52s1DLkN=C3%Zsx-n~vEUZ*qILz!iqN_RRNZ?9F$X zjD*4}tIwAAbw$1YAtg9HJ;t{Ub~B?w&KJO}_40K7dt^B*VqFgxeaE(Xf+7JV_+0iZ?;OTeOBu}wUF;Z&7FGxSfrwCAMSV<=huz?-P3UjTG_k)R>jotF Y14Yk+U9m0pyZ`_I07*qoM6N<$f*KB}egFUf literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_utility_table_legs_inv.png b/mods/homedecor/textures/homedecor_utility_table_legs_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d2f5ba41f5043d76482b9d501b9cdb7905f548 GIT binary patch literal 541 zcmV+&0^q3Iiu8q6pCh zz2i91h&gU|@7L~FD7Oefw#aMe&4-zJ^I$K|z3XRXasIUAy?~0MZnC{e*WLH4wOcr7T~zLzZ8zDS*XG zWl^H2HyUhgR%p%EW|e|o)n^^AsAo(wv$c!zjbu zhb!t&3p!!F@q_1;s`}say;!R&fP!tw?1^IlXaFlwq)D24Z?<ITxq&q8 f;#g)+J~F=n%8Q*EhAEul00000NkvXXu0mjfN^b9o literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_utility_table_top.png b/mods/homedecor/textures/homedecor_utility_table_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d8a74a0754b42178873286208eaf524df2a0111f GIT binary patch literal 3325 zcmVj1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z1_}fq1~NNJdjJ3eQ%OWYR5;5$l1pwRMG%I+h|H|&Za3J5F}6k;xB=n>v!CN|AZ~)h z1vmi`EXGI{#zVKqkE+Vdh+t6-u@32fee%eJwJT=B^TEhND|Wi zjISS``IsuVt%JhNcW?Ok+n?yBY#;$i0q_7x!qXDu?G7CVL=qSPBozRHpp=4IZ{)K* zx*14Wn3qa#&fJ_ny@DtbvWfuaLCS(^20)V}ymbf%U|R|R-GOjI42q&9GgTw0U_H>? zfTm1tG%yEIN-6|GQla)v^gwa~2cIgAq6rW|NJIoG6uee2$9iK-L2r(`Q`;+4$DSwL zIzxh-6eF;{AR_3zR3ZXz9Zi|z(<^j%d$FOUksy$5LP}ykD&}!=G}G#WrXqN)c&k_l zyWI{Ql%hf2@74(22{#T?P^%LWNGZ5Gy3GXqg4s{}7o6X2E_`!VTKG zfAnCkGqpK_5Mh`H8pz6loJh3JP?V=7NW1a05Qqr)38o(WcRFMxx`8>vc0+A_Rq?>* zj^wnKTq~-|P!ug72%D^E?M_%D+^Ew`NkYjh?`G2p*Nmi<(3Dpv(T&fGlcyfs-W@3U zGoOwNJtm$XJ2oD8if_1_A8>c>|Eb*GJz`U^xN-m25gh&n0&{ET^q@R900000NkvXX Hu0mjfXgV_O literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_white_paint.png b/mods/homedecor/textures/homedecor_white_paint.png new file mode 100644 index 0000000000000000000000000000000000000000..668ccc720d1d156f4c453b379da15cee2e057e8c GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4$}ele^Fu3V@O6yYrJ zh%9Dc;1&j9Muu5)B!GhKC7!;n?048X1X)>jI#q*=x#sEO7-Dhy=%kIjEe1TU_Aj!8Hr)UOOt z*-t9_mSrZa6|I+X*I3HHaC=*2!xx*0>t5^qmuhp=GCGzJ8=ha4xkB<-ZD?V-}}6O%G-CEeGIt&U8C#JXQ!KsSJ%w@-2Yzwigf(n WRq4!2XZ!;CkipZ{&t;ucLK6TMK7M}y literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_window_shutter_black.png b/mods/homedecor/textures/homedecor_window_shutter_black.png new file mode 100644 index 0000000000000000000000000000000000000000..81583aa40402068938343397116e28c5c4d7ffb7 GIT binary patch literal 3125 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 P00000NkvXXu0mjfvGvu1 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_window_shutter_dark_grey.png b/mods/homedecor/textures/homedecor_window_shutter_dark_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..7c67cc792fc65be69cee4dc04aaa0203aed9c55c GIT binary patch literal 3284 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_window_shutter_grey.png b/mods/homedecor/textures/homedecor_window_shutter_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..0c4435bba2e9e3beedf56cf01478fc45875a9099 GIT binary patch literal 3285 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 P00000NkvXXu0mjfgseqz literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_window_shutter_mahogany.png b/mods/homedecor/textures/homedecor_window_shutter_mahogany.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc130a14448e62f7e9305058cf6597c76a7f594 GIT binary patch literal 3327 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 VJEZLcF7yBZ002ovPDHLkV1g-XO@9CY literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_window_shutter_red.png b/mods/homedecor/textures/homedecor_window_shutter_red.png new file mode 100644 index 0000000000000000000000000000000000000000..948d50004e1e416e406672187b027278d6e93cc1 GIT binary patch literal 3248 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_wood_table_large.png b/mods/homedecor/textures/homedecor_wood_table_large.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5205f2ef5410d808af017dfa6f834b08fbaef7 GIT binary patch literal 3277 zcmV;;3^MbHP)j1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{>2n?1;Gf_2w z45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec%EdXFAf9BHw zfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{S7t~6u(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<DpKG zaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)PCDQ+7;@>R$ z13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm3sv(~%T$l4 zUQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdily+ylO`+*KY z$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTyOmC;&dA;ZQ z9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N*;e?U7(LAHo zMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1gY$@siA#dZ zE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~bI`-cL*P;6 z(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$-ZI`wBr znsy*W_HW0Wrec-#cqqYFCLW#$!oKatOZ#u3bsO~ z=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`saEge|qy{u|E zvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0ERSM;Wee2xU z?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY_?G)^U9C=S zaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k z9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC z$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR&Rp`ibn>#> zOB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA@fQEq)t)&$ z-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8je`>&Yp!3n( zNB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZNt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%jPvm?ce<=TG z`LXp=(5L&88IzO$1Ou4!{5mfCvj6}932;bRa{vG?A^-p`A_1!6-I4$R00(qQO+^RX z1_}frG~@Rwx&QzIBS}O-R5;5;lTD5!MGS>M+Yymf*`t94>J1lQHA^nQi8v3(VaJMt zfTpEUb!A5QXBOEA?<~uH_IuCr$M3(@{`p6K`250OfBsDy@b%xt>(4iSdVQt!!PYu& zZ*M%ledX;RC$jkR>o1&hq1*n#Xb@GXK<`GBU~L0!0Bkqo{^zE3o zH_kJND(-h{;1F52^ z{y%I%)wP+5c1|zWDz@!I{~1t9WgsFP%L!iqjIKx*6lL^=Qch*yF*(=eaqE{Gmp>7T zt_E^FmMR~$;CY;=dr}!ZX0UxYki59)?amDFN~r6N0jvsZ0+D5SHV000000 LNkvXXu0mjfER!gF literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_wood_table_small_round.png b/mods/homedecor/textures/homedecor_wood_table_small_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b681a00f9b313d85debd435f317e568acfb78b67 GIT binary patch literal 3359 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 literal 0 HcmV?d00001 diff --git a/mods/homedecor/textures/homedecor_wood_table_small_square.png b/mods/homedecor/textures/homedecor_wood_table_small_square.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c0ae08a9d2577816a5bf565a61470018806822 GIT binary patch literal 3351 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 + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), + }) + minetest.register_node('hydro:seedlings_'..plant.name, { + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_seedlings.png' }, + inventory_image = 'hydro_seedlings.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:sproutlings_' .. plant.name, { + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_sproutlings.png' }, + inventory_image = 'hydro_sproutlings.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:'..plant.name..'1', { + description = 'Tomato Plant (Young)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'1.png' }, + inventory_image = 'hydro_'..plant.name..'1.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + + local after_dig_node = nil + if plant.growtype == 'permaculture' then + plant.growtype = 'growshort' + after_dig_node = function(pos,node) + minetest.env:add_node(pos,{type='node',name='hydro:'..plant.name..'1'}) + end + + end + minetest.register_node('hydro:'..plant.name..'2', { + description = 'Tomato Plant (Youngish)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'2.png' }, + inventory_image = 'hydro_'..plant.name..'2.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:'..plant.name..'3', { + description = 'Tomato Plant (Fruitings)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'3.png' }, + inventory_image = 'hydro_'..plant.name..'3.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + + + local harvest = 'hydro:'..plant.name + if plant.give_on_harvest then harvest = plant.give_on_harvest end + + minetest.register_node('hydro:'..plant.name..'4', { + description = 'Tomato Plant (Ripe)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'4.png' }, + inventory_image = 'hydro_'..plant.name..'4.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + after_dig_node = after_dig_node, + drop = { + items = { + { items = {'hydro:seeds_'..plant.name..' 4'}, + rarity = 4, + }, + { + items = {harvest..' 2'}, + } + } + }, + + }) + if plant.give_on_harvest == nil then + minetest.register_node("hydro:"..plant.name, { + description = plant.name, + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"hydro_"..plant.name..".png"}, + inventory_image = "hydro_"..plant.name..".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + on_use = minetest.item_eat(4), + sounds = default.node_sound_defaults(), + }) + end + table.insert(get_wildplants, 'hydro:wild_'..plant.name) + table.insert(get_plantbynumber, plant.name) + get_plantname["hydro:"..plant.name.."4"] = plant.name + get_plantname["hydro:"..plant.name.."3"] = plant.name + get_plantname["hydro:"..plant.name.."2"] = plant.name + get_plantname["hydro:"..plant.name.."1"] = plant.name + get_plantname['hydro:sproutlings_'..plant.name] = plant.name + get_plantname['hydro:seedlings_'..plant.name] = plant.name + get_plantname['hydro:seeds_'..plant.name] = plant.name +end + +-- GROW (TALL) FUNCTION +growtall = function (plantname, nodename, grnode) + if nodename == 'hydro:'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."4"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."4"}) + elseif nodename == 'hydro:'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."3"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."3"}) + elseif nodename == 'hydro:'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."2"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."2"}) + elseif nodename =='hydro:sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."1"}) + elseif nodename == 'hydro:seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:sproutlings_"..plantname}) + elseif nodename == 'hydro:seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:seedlings_"..plantname}) + end + +end + +growshort = function (plantname, nodename, grnode) + if nodename == 'hydro:'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."4"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."4"}) + elseif nodename == 'hydro:'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."3"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."3"}) + elseif nodename == 'hydro:'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."2"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."2"}) + elseif nodename =='hydro:sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."1"}) + elseif nodename == 'hydro:seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:sproutlings_"..plantname}) + elseif nodename == 'hydro:seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:seedlings_"..plantname}) + end + +end + +-- WILD PLANTS/SEEDS GENERATING +minetest.register_abm({ + nodenames = { "default:dirt_with_grass" }, + interval = 600, + chance = 80, + action = function(pos, node, active_object_count, active_object_count_wider) + local air = { x=pos.x, y=pos.y+1,z=pos.z } + local is_air = minetest.env:get_node_or_nil(air) + if is_air ~= nil and is_air.name == 'air' then + local count = table.getn(get_plantbynumber) + local random_plant = math.random(1,count) + local nodename = "hydro:wild_"..get_plantbynumber[random_plant] + if nodename ~= "hydro:wild_rubberplant" then minetest.env:add_node({x=pos.x,y=pos.y+1,z=pos.z},{type="node",name=nodename}) end + end + end +}) +minetest.register_abm({ + nodenames = get_wildplants, + interval = 600, + chance = 2, + action = function(pos, node, active_object_count, active_object_count_wider) + minetest.env:remove_node({x=pos.x,y=pos.y,z=pos.z}) + end +}) + + +-- GROWING +minetest.register_abm({ + nodenames = { "hydro:growlamp" }, + interval = HYDRO_GROW_INTERVAL, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + local grnode1 = {water = {x=pos.x,y=pos.y-5,z=pos.z}, mix = {x=pos.x,y=pos.y-4,z=pos.z},grow1 = {x=pos.x,y=pos.y-3,z=pos.z}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z}} + local grnode2 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x-1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z}} + local grnode3 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x+1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z}} + local grnode4 = {water = {x=pos.x,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z-1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z-1}} + local grnode5 = {water = {x=pos.x,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z+1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z+1}} + local grnode6 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z-1}} + local grnode7 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z+1}} + local grnode8 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z-1}} + local grnode9 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z+1}} + + + local water1 = minetest.env:get_node(grnode1.water) + if water1.name == 'default:water_source' or water1.name == 'default:water_flowing' then water1 = true end + local ismix1 = minetest.env:get_node(grnode1.mix) + local water2 = minetest.env:get_node(grnode2.water) + if water2.name == 'default:water_source' or water2.name == 'default:water_flowing' then water2 = true end + local ismix2 = minetest.env:get_node(grnode2.mix) + local water3 = minetest.env:get_node(grnode3.water) + if water3.name == 'default:water_source' or water3.name == 'default:water_flowing' then water3 = true end + local ismix3 = minetest.env:get_node(grnode3.mix) + local water4 = minetest.env:get_node(grnode4.water) + if water4.name == 'default:water_source' or water4.name == 'default:water_flowing' then water4 = true end + local ismix4 = minetest.env:get_node(grnode4.mix) + local water5 = minetest.env:get_node(grnode5.water) + if water5.name == 'default:water_source' or water5.name == 'default:water_flowing' then water5 = true end + local ismix5 = minetest.env:get_node(grnode5.mix) + local water6 = minetest.env:get_node(grnode6.water) + if water6.name == 'default:water_source' or water6.name == 'default:water_flowing' then water6 = true end + local ismix6 = minetest.env:get_node(grnode6.mix) + local water7 = minetest.env:get_node(grnode7.water) + if water7.name == 'default:water_source' or water7.name == 'default:water_flowing' then water7 = true end + local ismix7 = minetest.env:get_node(grnode7.mix) + local water8 = minetest.env:get_node(grnode8.water) + if water8.name == 'default:water_source' or water8.name == 'default:water_flowing' then water8 = true end + local ismix8 = minetest.env:get_node(grnode8.mix) + local water9 = minetest.env:get_node(grnode9.water) + if water9.name == 'default:water_source' or water9.name == 'default:water_flowing' then water9 = true end + local ismix9 = minetest.env:get_node(grnode9.mix) + + + if water1 == true and ismix1.name == 'hydro:promix' then + local grow1 = minetest.env:get_node(grnode1.grow1) + local curplant = get_plantname[grow1.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow1.name,grnode1) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow1.name,grnode1) end -- *** GENERIC GROW FUNCTION + end + if water2 == true and ismix2.name == 'hydro:promix' then + local grow2 = minetest.env:get_node(grnode2.grow1) + local curplant = get_plantname[grow2.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow2.name,grnode2) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow2.name,grnode2) end -- *** GENERIC GROW FUNCTION + end + if water3 == true and ismix3.name == 'hydro:promix' then + local grow3 = minetest.env:get_node(grnode3.grow1) + local curplant = get_plantname[grow3.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow3.name,grnode3) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow3.name,grnode3) end -- *** GENERIC GROW FUNCTION + + end + if water4 == true and ismix4.name == 'hydro:promix' then + local grow4 = minetest.env:get_node(grnode4.grow1) + local curplant = get_plantname[grow4.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow4.name,grnode4) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow4.name,grnode4) end -- *** GENERIC GROW FUNCTION + + end + if water5 == true and ismix5.name == 'hydro:promix' then + local grow5 = minetest.env:get_node(grnode5.grow1) + local curplant = get_plantname[grow5.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow5.name,grnode5) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow5.name,grnode5) end -- *** GENERIC GROW FUNCTION + + end + if water6 == true and ismix6.name == 'hydro:promix' then + local grow6 = minetest.env:get_node(grnode6.grow1) + local curplant = get_plantname[grow6.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow6.name,grnode6) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow6.name,grnode6) end -- *** GENERIC GROW FUNCTION + + end + if water7 == true and ismix7.name == 'hydro:promix' then + local grow7 = minetest.env:get_node(grnode7.grow1) + local curplant = get_plantname[grow7.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow7.name,grnode7) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow7.name,grnode7) end -- *** GENERIC GROW FUNCTION + + end + if water8 == true and ismix8.name == 'hydro:promix' then + local grow8 = minetest.env:get_node(grnode8.grow1) + local curplant = get_plantname[grow8.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow8.name,grnode8) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow8.name,grnode8) end -- *** GENERIC GROW FUNCTION + + end + if water9 == true and ismix9.name == 'hydro:promix' then + local grow9 = minetest.env:get_node(grnode9.grow1) + local curplant = get_plantname[grow9.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow9.name,grnode9) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow9.name,grnode9) end -- *** GENERIC GROW FUNCTION + + end + + end +}) + +minetest.register_craft({ output = 'hydro:growlamp 1', recipe = { + {'glass', 'torch','glass'}, + {'glass', 'torch','glass'}, + {'glass', 'torch','glass'}, +}}) +minetest.register_craft({ output = 'hydro:promix 6', recipe = { + {'', 'default:clay_lump',''}, + {'default:dirt', 'default:dirt', 'default:dirt'}, + {'default:dirt', 'default:dirt', 'default:dirt'}, +}}) +minetest.register_craft({ output = 'hydro:wine 1', recipe = { + {'default:glass', 'hydro:grapes','default:glass'}, + {'default:glass', 'hydro:grapes','default:glass'}, + {'default:glass', 'hydro:grapes','default:glass'}, + }}) +minetest.register_craft({ output = 'node "hydro:coffeecup" 1', recipe = { + {'','',''}, + {'default:clay_lump','hydro:roastedcoffee','default:clay_lump'}, + {'','default:clay_lump',''}, + }}) +minetest.register_craft({ type = "cooking", output = "hydro:roastedcoffee", recipe = "hydro:coffee", }) + diff --git a/mods/hydro/textures/hydro_coffee.png b/mods/hydro/textures/hydro_coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..fffd1d50c1d70905b967fd1af84b8d594ad6a19d GIT binary patch literal 1166 zcmY*YT}YEr7=FI(Ytt>==1`=dMC`(Xx)Ce!ru1O<&{P!Md>re4hXb2{(&c0NAOIOjd@&-0w~z0cYGlm4zM z$2JFmDqpvDid#3$3L9T{F0o78*e)OI(!l69Ha+o}M=Ec2_x1x$FHHsU(Rv=VM|{US z?ddIc*Z#e4V|!Ksb-PbHbmo9ZajOg5HH{N-8)};K!P4><{Qfg52zmypu~Gt46ej!+54PqV zp+P-&+X;290-rU(h6qU&NCk#G0MSe6}6ce z0+b2L0Ng5k#nHbHaW{})*vkbWUZ=hkPAhueCb70ZqbYparX;>0Ny8_ zi+FqBoY==g1!Y%!2oo3*aX~=fAE78H!B00p{B*qu1~u>v{R)8zBS}PB-XIDWPw6ug zxXu#rGHFR-QcKnvyfWY~zXJ{c2NDr8Pak-q?I@*Xdixq=IJXa z)}>H<_X+>7fgED|yxm5Qxl_oWokHX2;AROWiBy3IUtY|J?=|P>cJemTQr;LOQEOwJ g@TtIDM0?87A?A2TEVsjwKhi=VU#DMtakww~A7mN|g8%>k literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_coffee1.png b/mods/hydro/textures/hydro_coffee1.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c5be71c66cf748b4ec40188549c728b6687530 GIT binary patch literal 1179 zcmZuwO=uHA6n-<=CN(iJv8`w=NHvHBDT1Z-AfjbU8d{@NFCK)}Lp58etD4_>^L`h!}mA|+JqK@WwPrY2gAn~d+x_H8z?FYN5T`DWhty`S7Un@WU( z?LhztCkM?Dd`IbN_T##*sK)Rm#zzwUF!Q!!6&?Sjp@a#Fe$&q$-N&76*9I?)1B6=W z5nxU3#?3$`d3qqQ+$5uiI_KXXz6)UNO`509AB%~ovGx~F)a;DqH`?MmRc*)lIyVtf z=9Q2l49{Tvno0f~y>%R7xn7%neh=S>s6S=&gcEl*UHvqQH?r&~0SuuUvgwIAn0xS3UxX=uIMu}G z15)()Wtqr?R=_M>C!|>44v<@0P^5^0uu+O+(GDp{kzrJ|uLBUv!2?G{aruZ=z%1s~ zpbo;9DfrT2NzPAgh^O~{Yh`W`KdiifeCsQqLr-r1sAFNQvueO=%XX+W{}xN{{#~jk zZAfP2Biv%z_hPOBI+(Kj@I~rQR!NQ5Fc%H58pd=N$f03be^&vLxu-{lvEM~L#2ERQ z0)WK`fL5@@u(+2SF`5Gk$RTt9ZeyWb7Mm$B4ql9Aq_IOf1$S5wr(x+smOzsaTDqjL zE*6|YLaZ$g&>HC$*-vj&B#-R-;go_p^7o!>d{cHwL>W4$uMgTlb z^a(KMTJW%LG<>eN?%O`icdG01itZWh+iHWZ=>U9!Jq2fVVl?fyAASh9xYMAU5w?|?H~$ZbkPsl&Cl}ZujQ)f zzt;+oMyB^>t}D#`+a9T}x>B*HR3OZUrY~;`5-2uCIj{-PhiquX#}bfuvL)WgnCup& zXm7#v91b8x-F6 zDNja`4*qkw9e6dnZ9RTDpOkHZKaK|v2MYwsZ`Iln(;;FyfhtX4T{r7xXxOD#u&?uY zv&E|7vE86c_&_5N`#HCmQsH#SZ?%yOV(>#l?f}K9NAU`Zh^8DXtM4Fv@IBp8Lv?|6 zB$mvl0vs#qaJWPBV!yMcD`g+qA56qC*|W=_hFGk}dwrw>3dRssZQMM|FN#KKWnZS1SnA*)ba+2q_;*?c8eQwQWL8tDohSY6=iQVM(3#=i8nYJ^rL lB2JhD!(w6D?4y-@)N1>ff9_doI^CL~vv6<3SO`S#{|94%EtCKN literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_coffee3.png b/mods/hydro/textures/hydro_coffee3.png new file mode 100644 index 0000000000000000000000000000000000000000..033beacc20925f6cd41b262449cc7ddc1bbe2aeb GIT binary patch literal 1179 zcmZuvF-%io5Wd$w+S1b6YA^&yNC=w=lR;v1kUY{h)Pm@M2?J`nq(Qq>+|rp?^r!zVa!cNM`(Gycb^T<iFPpN&17BMMx>Yf%1m z7hihQ@w=nmoiuEs2 z$1#lGI4)6VvbQKw7^;dbGO-X+|#PfhMfBFikH)s(54?f%9YKl;st6VA(jWHXXrOa2lZRCwFDy1L?y7>3pZUUp- zwF-(Ent`**Q3p}sa6^HSM&XZuz?N9kJQa6cq6+$eD){e2nj81buR+9zCSFgOF4*U? zalsCPL=fc7C+#XW>(hboCG#E{>c6Ue=aR(`R0OrEA|nP%iIrSiqKYtp?hF*4u(6Xw zk!1k`t`>AAix1!uFVcX5reTaHCsiuG@1XCyzx92yZ*$d0H|~|m+vcWs*`kiQFvcG) zEJWk{-LKh;gdLGRkO|q5LRpWIw+*!UPW#0t{c%pn29WNe2hKe}veVaULK;N6+o}pc pFa@v^HX>~XPyhl3(3=Bb!`D3COsUWPY3<`@O^H8FRj8}{Gnn6=|QlEqBlWL zi-MrwO{gaYJ&1>@2!-N7q|}0VP-B`Jg*NRv&NtyrhV6uzH#6Ux?|u8;%k2~8fsWMX z6cKflivCGuJ2Ab4TDR5Zuri5rM+bb8_&t2}N|f%x6cpayq%M=ArDOfc z*>zrad+PI*vpAgA8=`O4&kJdOICfxPCdD*&Y?oN$mn?w_gPUfioXGVVgHoYc#;nrWODy0YSEo;uf zYia4udzIi3azdmDK21d?N>=$n4JO77ibU~2Lt9|vI0Qv=?;1LoCa|L{CW$Hw(-Mk6 zFiwsH2`tX+>$?ANY%1U=a})c79mT(xGLM0Q{8=CzD0+TpNf-jKD?scVo04#fM*&vt zeos3*m&&1xY(-iI79+85gWMgsZG2`2E-`XrV>$=80Bbo+(3hoE9pyvlnC}LON`Nl$ z$N9GejET(#%~D&8sQx-lJ(p{lT|x94q;Od|kVtTjcB}aK91C29={{r^=&$nv}&?FIc2AI#frrT~_daNB8 zLm9abY?USos$fScj(DaUfk7RsVXGhWqUuit)dx7o9dHH)A{*P&*Y&bz<4QN)l={p5 J)5AmK{{iGrF&+Q_ literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_coffeecup.png b/mods/hydro/textures/hydro_coffeecup.png new file mode 100644 index 0000000000000000000000000000000000000000..23c8a1805c3f64d2dd1939b830d97d1df5cd54e8 GIT binary patch literal 4236 zcmeHJO-L0{6h8OP-+TVfONplv87&ONEX9OylPD^rNE8$V8Acm7kQ@6cV}+r&TB;C{YA^(fiq{gKj(bsJLle+d*fq6wN=ek z08l$JJa7(etI&{&&*_<&44Uwb;Y-s1)eS-kJa`nvLG9Ma=%BWuX!_yE(Bj!60DAk# zz?t(G!=zRJmcSJisW4Dspu#|ffeHf^2L5vfNV)lQ&c#|{J82+9y0!(gv$tXL+GM7=sjcX5S5W|hb`<-=$2V`s$3|IKXAd}z3-OIO z$dUpwl|jY8LbOl_WL1IsNFBJ`;a%OGAw|_XN+nnn0B#o9amzB=y1P$8U!M-9>43{z zAXM^ufua>6D+*|u3Zbxus>1GW8q(=ZP%eK>zDEfFx$-jR0HauP&Oq0z{XnV~#*9@2 zk&7V==M)$+!AX8 zo(rkWMo9!>S3x0IVD44I3<@ zD8at(q6|dzsLx?ConDY6rPm_{Fbv8Z4zkQpl|KLgf)Y(=K^pIb1CgeH>4LT>fMA!Z zgkNQ|nO;h=egI~>ASn(=*dzNH5bvT)wrxOmHv=8V8(H9^kSz-UW8_&Pk-CD(9kXo) z76zAP8zf2IcM7mEF^Y$!GK>t~3)0u6rO!ukXt_{uF<$bRh(&lK(&uvz`?t5ZpVrjW z9Mn_|Z$cF)YQTW7;=5#;yI|SIq8`z&kB?nmz;XY)2tWCxbeG^RbmGOT2r+ uJAQ_YxlEE^8Bf5SpUEGupFDn9vi`!adgwykiMg16<&F%F4ZP@|xcdt?>}#U{ literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_grapes.png b/mods/hydro/textures/hydro_grapes.png new file mode 100644 index 0000000000000000000000000000000000000000..1475cff05130229ccc9d4054e10ac13e3fead002 GIT binary patch literal 1179 zcmZ8gUr3Wt6#sp5ZEjO@%0etynL+kY4~hMu9+J=IC|6i7k^^h7hqS-05DTF_Sou)XzJ{C&RutYcE`Qv-1Fym&ON_xH;?)}x%Of^ zfLw32UQ05cceaI2_l!76LTj$|RHFaoh97jXoI2#uA^6wxr0)({Z0D=%ngK^4Zw+1D zMP#&wyfszU_!?9Gu5H~XmhJ-P^-~4NdB39OsE(=_x1uKSs+OgI==#38P z;~3*IsY^rqJ~*c;)D@H@C`k~YNNxOG=-81iHV|Bd5kvxn2Ar6gjp57JR}$cGOP*L* zBvljgKGKo%(;mE<_FZzo{5c!J2oDI50Pjbap%T{4(hP5ev;;lxLh=pj;= zE!c;wEEzjK#uezw$IjW!_i^soT>LbB`wxz2LeQ1+*3Bbu8f?=?Ol7vc{ z#Do!4=^7_44FE#PMiHjvN|y@qY)8OK)rL z%4rmrn{c1#%mA>$A4@X1jOm9CY#wjosmlQM_IHh^wbw&dOvV$^t`12f@t&cP9Xvd) z&bv3#o9=|Z38EA9Bw1_~0Pzmy-PPHGPo|ViQb63vMBuu{J_W|#jNZimI>S58etD4_>^L`h!}mA|+JqK@WwPrY2gAn~d+x_H8z?FYN5T`DWhty`S7Un@WU( z?LhztCkM?Dd`IbN_T##*sK)Rm#zzwUF!Q!!6&?Sjp@a#Fe$&q$-N&76*9I?)1B6=W z5nxU3#?3$`d3qqQ+$5uiI_KXXz6)UNO`509AB%~ovGx~F)a;DqH`?MmRc*)lIyVtf z=9Q2l49{Tvno0f~y>%R7xn7%neh=S>s6S=&gcEl*UHvqQH?r&~0SuuUvgwIAn0xS3UxX=uIMu}G z15)()Wtqr?R=_M>C!|>44v<@0P^5^0uu+O+(GDp{kzrJ|uLBUv!2?G{aruZ=z%1s~ zpbo;9DfrT2NzPAgh^O~{Yh`W`KdiifeCsQqLr-r1sAFNQvueO=%XX+W{}xN{{#~jk zZAfP2Biv%z_hPOBI+(Kj@I~rQR!NQ5Fc%H58pd=N$f03be^&vLxu-{lvEM~L#2ERQ z0)WK`fL5@@u(+2SF`5Gk$RTt9ZeyWb7Mm$B4ql9Aq_IOf1$S5wr(x+smOzsaTDqjL zE*6|YLaZ$g&>HC$*-vj&B#-R-;go_p^7o!>d{cHwL>W4$uMgTlb z^a(KMTJW%LG<>eN?%O`icdG01itZWh+iHWZ=>U9!Jq2fVVl?fyAASh9xYMAU5w?|?H~$ZbkPsl&Cl}ZujQ)f zzt;+oMyB^>t}D#`+a9T}x>B*HR3OZUrY~;`5-2uCIj{-PhiquX#}bfuvL)WgnCup& zXm7#v91b8x-F6 zDNja`4*qkw9e6dnZ9RTDpOkHZKaK|v2MYwsZ`Iln(;;FyfhtX4T{r7xXxOD#u&?uY zv&E|7vE86c_&_5N`#HCmQsH#SZ?%yOV(>#l?f}K9NAU`Zh^8DXtM4Fv@IBp8Lv?|6 zB$mvl0vs#qaJWPBV!yMcD`g+qA56qC*|W=_hFGk}dwrw>3dRssZQMM|FN#KKWnZS1SnA*)ba+2q_;*?c8eQwQWL8tDohSY6=iQVM(3#=i8nYJ^rL lB2JhD!(w6D?4y-@)N1>ff9_doI^CL~vv6<3SO`S#{|94%EtCKN literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_grapes3.png b/mods/hydro/textures/hydro_grapes3.png new file mode 100644 index 0000000000000000000000000000000000000000..033beacc20925f6cd41b262449cc7ddc1bbe2aeb GIT binary patch literal 1179 zcmZuvF-%io5Wd$w+S1b6YA^&yNC=w=lR;v1kUY{h)Pm@M2?J`nq(Qq>+|rp?^r!zVa!cNM`(Gycb^T<iFPpN&17BMMx>Yf%1m z7hihQ@w=nmoiuEs2 z$1#lGI4)6VvbQKw7^;dbGO-X+|#PfhMfBFikH)s(54?f%9YKl;st6VA(jWHXXrOa2lZRCwFDy1L?y7>3pZUUp- zwF-(Ent`**Q3p}sa6^HSM&XZuz?N9kJQa6cq6+$eD){e2nj81buR+9zCSFgOF4*U? zalsCPL=fc7C+#XW>(hboCG#E{>c6Ue=aR(`R0OrEA|nP%iIrSiqKYtp?hF*4u(6Xw zk!1k`t`>AAix1!uFVcX5reTaHCsiuG@1XCyzx92yZ*$d0H|~|m+vcWs*`kiQFvcG) zEJWk{-LKh;gdLGRkO|q5LRpWIw+*!UPW#0t{c%pn29WNe2hKe}veVaULK;N6+o}pc pFa@v^HX>~XPyhl3(3=Bb!`D3COsUWPY3<`@@D)B1QCIU28&PD%Ojhtc69e1;Gd^;=zO3vmPWU z2t9ZZ1i_Qw$wTQyp_lehs!}`@;(rfmYMjnD_H8!NPMFNR`QH1!H}l@U?@n|Ed=Gp? z6o^Hw9=TRx8eaMT=t{hni+Auvr$qw4)t$8kc~U+S?HeWXS7B&f;7y1W!Pk#DN2TJ_BxHk$u|(6_la&dz0wa%ykkR)~StX_j+$tBLOG=;Z3uFX> zA({~&!3vvwb^Qire!u~$kx;$Bz2iw!SZ{p}2{1fjqpg=PnG=lz2`DuAHW8N>{yvs jhX5Ot2vxwo*a0@M;__~V_2$yKx*%d=9SLjW*}%+So>U+f literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_growlamp.png b/mods/hydro/textures/hydro_growlamp.png new file mode 100644 index 0000000000000000000000000000000000000000..86c2a177d8967b00a937c7b67ccf3a63ab8a6a4c GIT binary patch literal 1179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<77-BPV7%w|@hx{rdAi zLv0Wbk_-;!s(=6C0K|@)_K^XE(E$s(0EpkW^(%@n$R$tYAxama$S^Qq^`NsS7dYT9 z0Z9Sa`2&MsK5DdV?6ciL-LSP!h0FWq5 zBS;gB4H5^%0LX>N0ILDW3Sc&a3`(*5j4TCaW5fc;kC>5#(1)G|FkArgBeJt$T464M z@nJNE0U!x%ib00{{P~lCU@U+P04auH7$0OPdJKT%@PdoLBn(Q%CTSQ!g;yVnBq7aq Ws^NhL?#xR7Y4UXSb6Mw<&;$Su6?zr` literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_habanero.png b/mods/hydro/textures/hydro_habanero.png new file mode 100644 index 0000000000000000000000000000000000000000..47fabaa8d174abd993e7589748ff99c6a97ac742 GIT binary patch literal 1179 zcmZ`&ODKd<6h2pfGajk&DxqwoY!MP=G#Zl(iG_voC|OBSYF4sPwrn&}Qx=j^l%*^N zAz3LK3kxabu~3xPxZnNfyNwynbpLbDIp6o)bN>I%VsAK@pIeqIBKe`tK%e$LtZa{d zR=y-gv{Tc4!FJicsJPdGXS6FAkOY3Q{f%Xv$(iaLoEFI|!cr1lE!9cyOsKoVd+n5D zdFxIh{na8)c_`rTZz@ne=lMe;Tnk5WP^R^)pruSBUQMp~GpjnYGH>15;}#FfNI!BZ`^#;gEG;K>A_11{FOt`6;pMnKO*{4Wn8PbZn4 zK-)pO2+0Kg=dA$0>wm!XJYGD^3Jk^H?Of^L)EJ$?*s&|)=FGg<{?$H-do?ZQ4v4sy z%XW~|FfR2)fk-kg)aA{IJQbf=_@4r-lBh3_insaA$!wjNUn4L{B4QAmSxEZAhX%cK zM@Y^ivNfdt*D1ymk-{b8$^2S(=ier01pq{Gcl_P_xe&u{zK%@Jjoc@3h@!DMU(IcN O6Z=p{II!J5JpTjP9->bG literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_habanero1.png b/mods/hydro/textures/hydro_habanero1.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a099854bff2a9f77dd5bbd5b32e10465d5033e GIT binary patch literal 1179 zcmZ`&O=uHA6#iz}ByO9OO-+|j6|s?C1o04x2QQYCG!}ytQAEV*AqVjww0IEo;6YHl z^%i<4v>;vzdJqx3hzC&#QdA_A>Ol%AR%7#1O+&`_COexS;)LDVdEcA&_kFp4CY=oR z4fg>Er6v>8wA=jb@zeWYNnW8%%uXlAv69C^jftmgd*(7mmy< z*^)8xq4=$3=+BvZCouS9tgg>`zxm9O)hfjlP0Q0vZL2+q$>zByVOUmP778^wc`?mrmmHzO8~JD#OQiMkp8_a8r!M{5vIA(fO~6! h_y_Ai2kqV&W2)QNom?gAT>SlxZK;WLVr6{h?mx{r7?uD4 literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_habanero2.png b/mods/hydro/textures/hydro_habanero2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7f1619a0d6dd472a45144f0d281029043d2363 GIT binary patch literal 1179 zcmYjQUr1A76hGhHb#vE0T{qLE!u*qhn}oqo1A9?CM16={HI`Y4n$17+PR+ZqukRe&&2#y_^WF2E@BI6n^PtV&oTU^f z0FdQt@wN-D;z~D*-Kp_T!B}s5b0dt+6#WuE=8LV(Uf}pWpBQ~2B-YCIhqNO zZ&f1s13E1407It|-sHMxAs+wASAKuuq$#$K^Y39TcM?{Y;t+`lPn8-w5EFiaX|OeC zWx;-7O%NHFpSBoYQ0TBKd}BNtkMQFSXD`ZbvQ$J;nh8WiyduCj%E&;jC+N)M}w>kI>*Kg6V; zuNhm6YE)<{BIb)!;6Zztpck#N&FKuDEwZpHX;crqvneV#JW^76D^eJ=%9RZuM;s}Tv&NbVSl$F3aNVhOHUFL yOYU$Q4f1r!fUBl7&nOUHivPW7-8*xfK$IazVs~o;4O0tu@a${yd&e3(2LA$hG+E04 literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_habanero3.png b/mods/hydro/textures/hydro_habanero3.png new file mode 100644 index 0000000000000000000000000000000000000000..81c5e0b396e1c1c137b8d6432f12b746a8698c27 GIT binary patch literal 1179 zcmZ8gT}V_>5dO~H>+ZT)Z5nD86s0|+P>88XP?=`i&n6N=VP#?VNB<$3QYa`^P*g7^ zK}CrVg_6=s5S0&685Nj5sGybUTB~lfy1KjWY33|z)?DsAb7tnuH}jpjmvZenvn_EJ z0JCkIv+`)Q@@qEIckyqzpB8a8FDDa?9~KSK#&}?BP8K9T_ntT0Bun_I&AZM5v!eJF zsJjzOM$%<&%dGE(7{PTh@l1>GOnDAN2_eQDUz%f;Q%k3lW|bRqkoK zqt=RqeFiz|@}jFjBC*Q7e6ZHq9b4)`bFmjXpZiFK$|N~AMYt;T{LIq40s zE`CKo#)MnCVk*6Gcpw;5C17uf=bA!co#k`i8$5}xLBZf9NG%}hmz80iyB5yQFj2PK zCJmZJPIw*AIQXRd>NE=PW5X>nX-PVcSS#?gMT!@aT%<%f>L^7Y4Dx#e^eQkO={9d*V9 zJR6ciXZqt~BPH7@MkV2o_CH~4yuPVxkXL4Zrk@50$49S7o=o<$XnZ9h!qRs6FhV7> z`113yqv!lTgmMcs2ZAS)s#Qs}^=Ykw3G+Fe1!b$ydH4| zPN!GsdH{trYlDNtq)i#7F!nK#ZlQ}%G!P1NqKITdqobzCXO>iz9+#r|2i^w+65a)G z;dQeMZ<~HAwz-8qhf@#=2t__E3gCQu8H!$3gxb^Tk5!fO-#9HP#X9)qTbMSI!i;mN eEbQZXVH>Y3tqB`X+`ZVeh;>`GJ*zRZu<8#y2xZ>@ literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_habanero4.png b/mods/hydro/textures/hydro_habanero4.png new file mode 100644 index 0000000000000000000000000000000000000000..8053f3df74828edb31b81ee9d441bb0fd4812927 GIT binary patch literal 1179 zcmY*YZAg<*6n^e}opa5aPWrX+%3MKj#L_t(Y27OQ_WMyvZ+!Uv4+pD*Gu59RedG9^67#T zqAUgGVlf-(*J;JLVU`~k6RR!G&xP&7+HtYao;Z+i2B+`di-$LaCGu>+(OO`YiGGIe zo&;fxIBz+a7cs2Ftxn&1?9rZj3H;fF%ee>*yWX?f1Sy=aq4j5Ax#+R|a}^DmOl zW(?r*k@}(dW+)JRwrgV>YIX zG)ol(vt$V5MVX)s9e+GB0|kwVD>kZqq+)xK3g_emTrL+_MC1|%c~t_y0EcHTAj@2y zfr5g;q}%RHD}{&#p;EDXRMa5E@hgDQaUZl10a~ueVA3lH;t?bCT~?!7=F_sr4L-?K zh%Q2uC=e1YAb5pa0aT=ql&z)+tqP zoSIi98-hMBv5-_(M{%JU{P}G@QJKN*hvRv}YZJ0J#qq*!Z6fss)v?^aIU$CVUF?yE z(4Zl}xX&vo3D(xRZ^%wgLVvlR7&_y=%BeHSPoh~)34!PmC6fe7N>Di5umVuJg6IQA zow@&8=I}J6U&Qz2|R@S@%uP+tYiq4#$SJ~t@o%F?-7VzwdjxU;B;Ypbqb!=b}VqRi_uN%j^ zC$kc5y26OVDf?e!fosrx8zyPw%oFo|2Ii;m;e9( literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_peas.png b/mods/hydro/textures/hydro_peas.png new file mode 100644 index 0000000000000000000000000000000000000000..be738acbead15d067ccb2b90a80b1e0ee52468ba GIT binary patch literal 1179 zcmZuw%`Zbi5Z_06luGL(p(OkPP9oJ%2U4jQQBp20QeQpNgbNpm1Cclg7by}qHwSld z@DZeO>d~PmA`wmK#b?cLn^~*RG`q7i^PAtBncc1rheIx>*C~W>S^dEXX*X6`DecX# zxd~Fnd?eH>j&7SC$tay12n9tBzk`#*ZSs`I`^V;msHnj*L}IU=oaTZx*k|53>I|QA zWP0X82uGt8>>2fY47VfmL5RGB6Znu_hIUYrT^Mi7?)T*EVIj7rPL1elK!y&M&i{i5 zkQj)7*}JnI@6E zv=n#!X%TICp4$MI!US0Y%XXM#V{H?FDs1|kQt2!4Tzdnz6iJXwd_IuXz$Az)EXD;$ z$oG3yh`O1J_99$H)c9FS#$gro$UUPbkj4=yQ+02AfXs14Z;gQ$uupBdL4bNnUX ztHQN0Skoq-8ON=t3NT%i#sE$z)Qn?)z7Dc5U2nVML;RZ-JMbptEDCW9uuYfdpkkCP z-wA0OP6x>r0K)$O8iIGhZzJy!3I|&OF_mIzc#!N9$FzzRlvgoP*29Ka56ri X<6!S*_5-Q$xn-QKzHsoUH@flz*j&Hm literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_peas1.png b/mods/hydro/textures/hydro_peas1.png new file mode 100644 index 0000000000000000000000000000000000000000..b428df4c174be717f9eec94bfb4ae1d79488365a GIT binary patch literal 1179 zcmZ`&J!n%=6#nk>CGoXMd8z3mRHbO3i%=Xwad5Guq_G&Jh#(?XhYacGIyeX};vgzPii(6%9i)(AH8yFgX~^}Qn|EJ+h&Q}<-#y>C=kNP+|7KW_-5K2uXrf9eM+3%SQtj$-l*ykLSr^-JG~E1N0u? zMRRTdqy3*<{t_Xl;kTd%ZKPvRb(#}p#m5_pO>X?2biR4crDJo#`2A#n;VGHOvo2* zMck@T={U>xjlT%^Yht?>h#dPQ56AOuv)~qak*{!l)ma7LELL$ul-7=eE6`ao%eD%l zFLUrOt7YTKwQVtfzN{+q8vgk04Sq)6f}I|m-fYXFu_MyN`)sYQQvdHYdeo8ejA`hs z+D}u=_EyZRfE~#RUxi|_&ee1*1?XxtrdZ$ui-l?AGNW-LM0}UDlg9W=EdW`KxTJRx zi+8ybV;yin9iolK+^e#1ThKVurYL5t8$+svPO)5e)kZC`+B_i*#DL8Y!(!K7l}@BV zhBpH}+0P4k(gE7k){4;(jlsAE=d1g7L9FHf(X;xXu#dI iK>UMspo4bqj4{=%>rQSb>RkN&j%}&&bYf*}`tCmh^%rvh literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_peas2.png b/mods/hydro/textures/hydro_peas2.png new file mode 100644 index 0000000000000000000000000000000000000000..edef1805342ab4c70d00745c0b7041ddf82b7b93 GIT binary patch literal 1179 zcmYjQUr3Wt6hHU-J~#cGHaC-{!px=MR^h`iBYQ|@x}s$gkr1d6f-jO-Q5Hf%VJ|@i zQQ|`{;Y$eGYrgdmranYkja6o#W%JM6)ZE5y=N#Ra=i}aUzjMw#|9m{xfyvkXDduaUFX4UIoyK{JsfEI zv`hjfCn%^wntabRBobfc;-62FEphue`wo`#$6;w90pT!4s)&j`F@VEuDjexBiH*hvydcX2k9uTqg#T~+=&7U4~yB! z*-#I2+A<6N3eHGNafa-`xxYe`I6Wd7ssu_i9c8aS!WR#gR2vRHe~2kRM}(Mpl&`bU-5HDU9Ym?bB7pt)A8Qc%j*>o#7yh=)WqY>vjyiW`y`7%Lf(>0i%NGX&N zl&!N7Wk3*rSCT+=yRVcpH+n!;)VSr1q$DGx6d^#gw2_3jk7o$J1eJGB3vlge&Ltdh z*ccid78xE=-Ukrz$H|+n;06F;P&WbFiL&t zu-*aZg$)B@LTD}eMbc!ZZP`H@#>MrBz%p3(swYIfpg|(o1nG7m1gE;}?8KOPy5+)B zP#|dzvNAQuF5MJk*A+P4>1L literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_peas3.png b/mods/hydro/textures/hydro_peas3.png new file mode 100644 index 0000000000000000000000000000000000000000..b4f9085bed4fb5306d04acbbebb32452dea7c014 GIT binary patch literal 1179 zcmY*YZAg<*6h8Oe+g7&O+CEtgh(6S!h-5Y`oF9Y`1gY3cA}b9u6@N&D8uURw z%+-(j<)1Jx>R%KTVj>lk1v1E@{D{p>HWjzm-R^VceXBF>d+$B>obx>AV_jt)w=F3n ziHK~)MXn05+p$)f#dl+bSBs4`R=5kO|NZ)DaWU5%bGwM+_vmHcJ)v23vFJo2(P}3a zBj3X`p|o5sE-AG5)zoCihWr=PSBTVg#jeB0^Vc%F8j3SvBE{n~lenm(?bdi!N7T?y zb=qmmDHDalF+SGEDZ3+@GTCVlrZtCYz#AhK-oLuLiNZ3Dc8EIV!4b%nyZNM_7GnvH z%dC}100f9M666>_6=@|tO$)dA>B%l>2;JxLA-b-5C^#ACfk2ENq+elcqC`8YO)Rg@ z!g99Tq^%5aA$p4o6!=N%U)rraCo`Yw>}~Yp8E3D0Lq z?G%*|wt9C1eQij#RZfpFbx7qN4vC#z-Zf0KN-xN(pk%qx}O?CtGf%Gz(n&4;b z@^WW1om$>Fxmc9DDV3M{%r?vh3Lx(C?dT;ZZBBD==%Ld^GFVt#Zi~+C?vb$w3{d^@ zCyHzt?@&`plX)I|o++k(Q0G~`>nvXV;uEk<$CV!cC{OfZ7T0D4={8c0L$Uf%k6 zAC34l(%%er)&_>jRMiBpx^dud5rrR{`;bj&73Sby6uf~Q-UKTpdG{Qfn2oTRl;Pz7 zg9Bmq?rB6;8!3!W1#}d8UYlSopRQ8v>oz?-MRWv2<-buL@Y&;4r8uDCpbEho b<^?+Jkdd>QH9g*QZ*eXz^tk#9syhAv`5i*k literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_peas4.png b/mods/hydro/textures/hydro_peas4.png new file mode 100644 index 0000000000000000000000000000000000000000..618b14920ef9d349e92d970d4cc04bd7cdf0281d GIT binary patch literal 1179 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 Y{JV|y#csb@d0tE{-r5-(YPo#pFNUaQl>h($ literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_roses1.png b/mods/hydro/textures/hydro_roses1.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f6d1b54240113cfae6539d506f385b8eb27dd7 GIT binary patch literal 1179 zcmZ`&O=uHA6n?X861PocQ`05XifEu0L3&t<2QMutX)K0PL=X|Hha98_p~Ztx5f6f1 zds})av`~5p)Po1Xi+B)~AVo_FrFxJ;iq)8;siq<0dy{>eAL4}F*?Hfa_xF8yHkC?* zdIov`Ae5YlPvdUVbHb1Bvn6>4H!(Mz7=ui9FpmfS-N{58B>k3OuPvg*xIb}Y4xslG zJp!DiC>jIv$*bdm9o-7qk;lc^41j(*86UlNDJ)F=*D-oDSIY70{jomTv^2gJURg4| zVoJi$2je%F#-B4!FGJstks6$O_DuCwmd09>#0!(5xw3Z*fh1J=Dn;Rg8GeKW) zE236~N=I3~@BM{5Qiqg(7Pz9VNy=tl; ze3^o8ZE2XcCTWxp*8W9Os}ADvoVrT*V*-;O<&L h{(*GBK|6QCi0an$D0>*SZvOs2w&Zv!o*A2Y@(;im7?S`1 literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_roses2.png b/mods/hydro/textures/hydro_roses2.png new file mode 100644 index 0000000000000000000000000000000000000000..002bd02ddbdd0a44e3bb2e44a9a6411bc00fa086 GIT binary patch literal 1179 zcmYjQO-xfk5T1Q~{FN5^gG~h@f2j$r@l**WaF7(C8mkg7CM1F}BwmOHHHgMT6AdO_ z)Wief;Kgt;9Pla!6Ay*}F-D3uMbQ{5*ixWHp>6uyZ|ZwGFT1mEc6a8R`DX8*3H4ab zwPqr+273d2Qrj@fOXb{<)&`{#BYizxG`(2ACVxsVp6m&bhVSX@)MII>xYB!mgs9Sq zA!uUKEsbT@f~UI6VyesPcMa#QVIs9I7&vyW-7aiuDktO-me52g$scv;jwR;}XAJv~ zaT|Fqn6%VpmZDP{`NEl+__!_U9^Iswp)9GmJ#epsD8YX6L=j#%5^bzY`(xT(w!rHx z3z0q1mZZ@+r$&@SPz5_Rz9q`#R%hFzy_p5Jcqh^kh@f;-*GE!?=RA-2`(;qcU z+?jA!pjcFNu)0uYM1c{}4>h)9Nnc-R;#td0p(9dCOaw&V7EKy#j6jdla&%7sCZYh5 ze(7{jxkUW$QP@_ClprRYl}9mk{=`=P=vI?N`G4H7Kfx1zyKuqE6)fdJ$bNjR}FFQx;FYC7hmCK zX)2g#zhALRzSB5#*8G4xb^El`a#p(2=vID)fVA$@4GzF5WOn~G3#<>1N7Kmrvh6k< z=vNGib%xNHd|OWJK&NqiXG?5I$dKn_G1S6nB5v^m`D^|ZOF+&c!PZ%}OokS+1GK#|8mXh7(G@Cd`u^v$r zRFRYlpd-&*F$Ls{fyyI=|GQ0R0rmKso+4i?$HQwh#6P4GMq9JXC=fQ~fAO^z*BV|R ZY|xOmM>^MDJ(=IaI@lcwOm_{0{{U$LVSNAq literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_roses3.png b/mods/hydro/textures/hydro_roses3.png new file mode 100644 index 0000000000000000000000000000000000000000..6f5944cea409fe1ad9faa2a074af0ad1bb70db3e GIT binary patch literal 1179 zcmZ`&Ur3Wt6hC)<+uU?EH?3`zMun7R$kgbe9$XV$JHM45$sWLX^2518_q@}vt1OuP8xYQv&CFmb0Cwb1)oTm3zXh1L<15*LY>#9A-_FH zmZN(q?nNU}V(_}b=MPgyAB8>b!7Nv&+N-nsVX!F-oZv@S7u1T6sX{A93~#I65L#jg zc>&faU0I31hZhu%Hs%vw)~J@TvjcW14yQ7n>KT}_jD4D|13oy@TiTO)(G24hu(DCJUESY(S47Q)b(G2ADN1e96@h@NO1%=dAK zgK-X0DXfMlPu^*DTPz0!+h+OMA)|v#^v=K$qn`gVlIFDK!1(lgxGq>hqZDA?DZ;Ef z1TwkEF^Sl$-7=W(RKt`cLN7d%6CzRwE{ibyc`M{Dr31^nFx-_cjy2g67-Zm8;8bkD z+G0z-Wu{|>-_FVw!73PRHtrL*oDFqgTfI%0Siti<1@v}*#yx*W0G&*KiR@joov^Z_ z$avm3LCqB%Wnuvo3lj9d870zwEC9f{;4PSwYyT;-;npv)5Z1*)7M6dKMMi>6tgD0L zlb69*sY%vFvdFm9|47IVod(N8_cf$|B2^$yuDamx10#1tZHR$2*i@9sNp?$(WGylk zdkgh94)R-Z_}b&3IVV|eSx8=etep7B;_^-s8Kg zWQo^^Ud2rUcb2@;(9!P;iO}|M-w0{V2FesmvUh4|iEUSDDEjLyl45)5u^g)_EINyG MOPSR?V5)Eb4UbJ~VgLXD literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_roses4.png b/mods/hydro/textures/hydro_roses4.png new file mode 100644 index 0000000000000000000000000000000000000000..d480a3b5a302b89a843e0859e9471dcea4d10b42 GIT binary patch literal 1179 zcmZuwT}YE*6h7aaTTO;bS?#YMYFByF3bNbDWUgq%SQk+jCDdgoc2hx+&_!25-IN7( z6N3;z0&gP9iy#Xc2Hw;RBEO}%A8jJ~X}-PB`SyO!wQszC&w0;z&w0+X2j`Pva zi?+3I9A=l7>Gkxq=_rHg`}>E0zk5=) zGPN}~5i&wau(5&bbV#z1fqZp#W`>S*bihvTsVU1D{N(0K)){s?CjJbAw!(+V5CzLw znJ(S)i}I2|Uo-ruf_Y^Q+}SKgZJm6t9nCM&pA&&7tav?r*C*DEExz35+J29LMw2&e zwo$b!dd;j=p6$xk$j`!X2~1l+%|>aY1~N$mpz17)H_?I1va-K|M(;0ZN=PJ0j{NvW zAQ1wC4@%_PQ70TA76kbC{r3*08;J}8Ll9=A_-ljSJ}oj(pQe1xkBh3s)~f3aa~G5| zBXX+aAP>A=WHRst;5$+UaPsh8p*R?s2mq3Q-2X+U1jZSdx6HXDc^Dm>*Pwr;52}i6 t&ADWWOc7b@%X?%{52{X}#UE~D`e0Ysi`)4x)RNo;mgr8##=5Qy{sYgy348zm literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_seedlings.png b/mods/hydro/textures/hydro_seedlings.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7cb6222b2884c4bad09f504b73e0449db5f932 GIT binary patch literal 1179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<7BOB$o+a8sZx|R@q&;06Lo5Ut z1z6tyW&|n$1HV~pEI`H|D3=&YcvIT1x5x$%qX}J&FcZ26iF|fS4R}VW0SrUWfdA-$ z4EF*sPEq6-89)gTKLF{08vs(u_>TpIK?#`mKLf--kQfXIy)k2WcIMxIkQmHDxB&@m zHVlIAjQ;;;`tyF0+pW(teIGJ_GyugIVg;9i*kI@DC|EFp#9#n!{FMhMz+zG&5Ho-N z{K)_klQLmq*m`>+Sni$3DVRPu4R^trS${x^!AV;|K>@4)BnATQiK{^vp6tPbPy+4( z5Fg}Z2spw3GXx|iDJcmS26+U{qD~1o_o&uopbKsxp=g~ zTjM37ideJWB6lBFnOlBqe^{60Cc0XpjWqsh*H@{yubhtRWZ^e5b$>`ATdy`>>>?@; zUuCG5tjAkt*TS*8WHfTjD7KJ#K68 zMxUkhx1Z-Iw>?7vuSV$y2E)Kcw_F#qGtUK_etBGGXModVMRQx{FGf-+~jOprmO@3km;GKI6HMHD1&U}qfM8g z$m}j5I%m4`iqv6J_ln5I0a95UEjYf z6ou^AcW&*0_I>OCcq!&kKy@dcJQb)kqCn85)x1gITlqf787fS5i5;LY{*?%~tS0Ot zqocqM6b1!d!W<|pw0?@)$P~aWT*Oz=`T4sbN^4MThkFhMR3GVLKvcwHOcfSbZ%;Rm zGwgVj@n=3|%Ap~`fDB9yaAw)D4Gcr0>}a^8jqrZF{Gg!sr2dM0GN6oZ1^8j&)KLq TBX?ii?!j5CDXxzyu&J>jXl@BlJt(#_A98|J0Yi z&6`s$WR~gjVe*YHp`DeCM?QYloAVQ92KKUBWun12mP3`ZaVEq2xz%*|$sLW(^gVxH zWQp8~oVT>O5Oapzk6%`_kgtS@mn(PK*G?nIqXVq-p$B@za#i{vUJcwKz+OCBq}co1 zr_I4OQlAGEM-UAF2CxM5_;O3{i95r?3AWe!CRGn=4wGSHu>Uw+eO-9GB0vCWumqYx zkgiExjNpQFO*!DXB%hZ^NSlUqfn-8sYWk^?Ys!HQx@4-Y(bIjU0Rw7Nps@gK43k~A zMgu^Bbg}qFEk#P;Adc9DgO9!#G|M=0r+e9<369Trq{%O<4R<&rGYtU33Npm$e+eh0 zU<%9`AK|o#=s49|b@H5zbHK4r4O8&hZlPw*8bGIDb=dAWpB*W~iqifPQBQY=!3pfM zaM=Hyf-SH+jx#sae9rhb0BxexK!|h-5b+(^{W}HN6$lb^x`UGoY=K57+MT@~oAx#y NLFCeT?{c|#_yeAL4}F*?Hfa_xF8yHkC?* zdIov`Ae5YlPvdUVbHb1Bvn6>4H!(Mz7=ui9FpmfS-N{58B>k3OuPvg*xIb}Y4xslG zJp!DiC>jIv$*bdm9o-7qk;lc^41j(*86UlNDJ)F=*D-oDSIY70{jomTv^2gJURg4| zVoJi$2je%F#-B4!FGJstks6$O_DuCwmd09>#0!(5xw3Z*fh1J=Dn;Rg8GeKW) zE236~N=I3~@BM{5Qiqg(7Pz9VNy=tl; ze3^o8ZE2XcCTWxp*8W9Os}ADvoVrT*V*-;O<&L h{(*GBK|6QCi0an$D0>*SZvOs2w&Zv!o*A2Y@(;im7?S`1 literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_tomato2.png b/mods/hydro/textures/hydro_tomato2.png new file mode 100644 index 0000000000000000000000000000000000000000..002bd02ddbdd0a44e3bb2e44a9a6411bc00fa086 GIT binary patch literal 1179 zcmYjQO-xfk5T1Q~{FN5^gG~h@f2j$r@l**WaF7(C8mkg7CM1F}BwmOHHHgMT6AdO_ z)Wief;Kgt;9Pla!6Ay*}F-D3uMbQ{5*ixWHp>6uyZ|ZwGFT1mEc6a8R`DX8*3H4ab zwPqr+273d2Qrj@fOXb{<)&`{#BYizxG`(2ACVxsVp6m&bhVSX@)MII>xYB!mgs9Sq zA!uUKEsbT@f~UI6VyesPcMa#QVIs9I7&vyW-7aiuDktO-me52g$scv;jwR;}XAJv~ zaT|Fqn6%VpmZDP{`NEl+__!_U9^Iswp)9GmJ#epsD8YX6L=j#%5^bzY`(xT(w!rHx z3z0q1mZZ@+r$&@SPz5_Rz9q`#R%hFzy_p5Jcqh^kh@f;-*GE!?=RA-2`(;qcU z+?jA!pjcFNu)0uYM1c{}4>h)9Nnc-R;#td0p(9dCOaw&V7EKy#j6jdla&%7sCZYh5 ze(7{jxkUW$QP@_ClprRYl}9mk{=`=P=vI?N`G4H7Kfx1zyKuqE6)fdJ$bNjR}FFQx;FYC7hmCK zX)2g#zhALRzSB5#*8G4xb^El`a#p(2=vID)fVA$@4GzF5WOn~G3#<>1N7Kmrvh6k< z=vNGib%xNHd|OWJK&NqiXG?5I$dKn_G1S6nB5v^m`D^|ZOF+&c!PZ%}OokS+1GK#|8mXh7(G@Cd`u^v$r zRFRYlpd-&*F$Ls{fyyI=|GQ0R0rmKso+4i?$HQwh#6P4GMq9JXC=fQ~fAO^z*BV|R ZY|xOmM>^MDJ(=IaI@lcwOm_{0{{U$LVSNAq literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_tomato3.png b/mods/hydro/textures/hydro_tomato3.png new file mode 100644 index 0000000000000000000000000000000000000000..90ebe67682e28eaaf7c95c28b257b35cccad2328 GIT binary patch literal 1179 zcmZ8gTS$~a6#i!S-&MEO*4+>cvtL!wcoA?Ydr8MR(oloY8-?&d>a3=FFLM&V1*ahP>RYNK3p0 zKx9s~vw*aXN4S~(n`dPSDN$aKm4UV|8^>v3K7S<33CZ7!H?2>}5^*j2bUCoj!9$?A zC68axEjd5B439-;GUKXkIOIJ?j<~ryCv59fSK9v(&}<} zbU#(WRbLaZ96AfmZchX*+Nv?~+A0Rdycne-Sqvs4S0n>{kt(PPus1ItEny~1Oak4n zSF%KeYaEEM=%vGrxD)790mv7+FWwVq%4#xUVNo)O;4)XUz&q8)WeNT8|Gr$I3NSY8 z$Fgx5F^*;O(Xcj)yF&xx(UDY#d`mz6^2ff# za!XLd@aRlbRnKivlR6_D7EQI7QDj0twaSNvVh1UCg!HaB$dqKFD%6Ifhq=6rk^oj4?V6m9g>Hy(~BVq0m6%I zv354dT_r{k55&v6F4XnJN#U39&H3@_q{O=$mE!D=`!XsDutz5g6`;5-ozE-jZRwX> zHZya6J|L0~3aPia>r^;`&Pii@iXk}qDG1Ul7;v9;?(-Ff#@vGWuW3Pal?DX^TKcwH zzn+0!tV+hOF(fHv8hE5`jrsd1XqVQ|E95=q3)@(;HUE-LGyE|i&yq+)g<1ZkAr7A9DMp^#WNQG(hK z@+vO^p})(hiwIlNRVw~~+C@(1Hl07=_O;Xdp3S8_AK!P*dB6AndC#Nj%2JCd*95>) zUgoZ$HIv`;RQm2)kqxwnrkc`X41V7`PlwcN6{T)Se)>NQbdkh(tE{dG$Z+s0;OTRc zFzrtH#geosE!&E`@rt25K-*L9E~-6i6Pa2lDo914(vu20Xd|uWXny-@Qts=_gzIVw zLQ4@jF(6UUzM3`HnHg}lEa6RK1R7gQ{?LJ-yErPrzF4T%k@ZpJMTAmWHUqZB!T?&l z4iW@7sB*xXSK4w^6i^h#kC`ES^XMqP;lScz1RtM=gv)7{;gxYIvpCr}lmkB1Mq+VG z+H-XKexSJw4Lj+Y8<2!wE|i9L1Qfu_H1Z zRiPR>&H>Lx@hay561p5vs0qBW z1(P%D3hWihftw;TS zv3q)2I82(N_;q|vls%WiY4EEYTyAwrZdyWyrxzwx_^=83Co66{BoET1yStKf^MBkFM<&T*11wqsxNOysVHqecY*($^8HmV*B ylOcm^wo}*n{E03P*T*dI81tV0<(@L=ETff8&^>glxnrZIh4gatpa__8X&)4twJLh@cm0`c9vb?^Wh$?+vH6XkVR#qzh zoo{?vI2Hx9LvH2K0;oQbfKA7zpUe@+BtOygqwC$R=Y6N(zw$ z5y#VJJ}&%bI6%?mxQK{GIxN)GXeRW47p1QQ#g=AOOTw3@yqA}-g-DPfd~k72$=o~7 zq;d?eJ7FLEmx&&7 z1F0~PODy!j{Yu9CFx()4xD^Ebm-$IRn?-(}d^S&RtHQ7(ED`e}hu4(F9~LQNcte60 o0E~q}Odgp}Dh~FfWVQ0n<*VkmCU#xHTjwDXpWCk{`ll8@0d=y|VE_OC literal 0 HcmV?d00001 diff --git a/mods/hydro/textures/hydro_wine.png b/mods/hydro/textures/hydro_wine.png new file mode 100644 index 0000000000000000000000000000000000000000..d0944ea03ca2010af6c7e92b7725c458462bc075 GIT binary patch literal 4267 zcmcguT}TvB6h3!m_Q&0}wNx~5Yazl130i#VB`{mjEtC*J#eOUbDIyFbLn_T)5+W*# z$a;`S>_s1f9twgIgbZq-9zu#TEusfA$;$nidpq~8&FP0dc%GS&gGub<{j$8bBvVfPh2&YBi2!0-#eD zCDrAk=!Jj8Y*@qN?IWHw!#+hwJ`?>(Av;>I82LM1( zJTP?sz~zrj`8)xt3<;@mtL+S`W8+i#pV<5u5W;srJ_oSjLuEFnKHD(={M9JD@g*{2 zf{7FX0oCX`#eg0Jikm1|a2G2l8qoC zJ|8#}w9^_{JG%K6^b)XZ$oF z$YmfUy}M3dHG19OdB_A*W)ry#q|m){?nvf{lG>DzlAiy`TrL9(pgjF8wLusOzlMiT zUxF_`2YOHJgH;~+qoHI566QSpgAYcbeQyms>FWgkeeB|GOF5Awki_UY+60=KEd5p| zqGbXemov#`36k6#i2h=MdzYqx*ye!YAv9%K3J$6wRfxEcTn6+wuXk9GL^&46kR^0p zxXKX_$35(}sJt1Vxqfk0GMJ^R<{9 literal 0 HcmV?d00001 diff --git a/mods/inventory_plus/init.lua b/mods/inventory_plus/init.lua new file mode 100644 index 0000000..ecbb1a2 --- /dev/null +++ b/mods/inventory_plus/init.lua @@ -0,0 +1,162 @@ +--[[ + +Inventory Plus for Minetest + +Copyright (c) 2012 cornernote, Brett O'Donnell +Source Code: https://github.com/cornernote/minetest-particles +License: GPLv3 + +]]-- + + +-- expose api +inventory_plus = {} + +-- define buttons +inventory_plus.buttons = {} + +-- default inventory page +inventory_plus.default = minetest.setting_get("inventory_default") or "craft" + +-- register_button +inventory_plus.register_button = function(player,name,label) + local player_name = player:get_player_name() + if inventory_plus.buttons[player_name] == nil then + inventory_plus.buttons[player_name] = {} + end + inventory_plus.buttons[player_name][name] = label +end + +-- set_inventory_formspec +inventory_plus.set_inventory_formspec = function(player,formspec) + if minetest.setting_getbool("creative_mode") then + -- if creative mode is on then wait a bit + minetest.after(0.01,function() + player:set_inventory_formspec(formspec) + end) + else + player:set_inventory_formspec(formspec) + end +end + +-- get_formspec +inventory_plus.get_formspec = function(player,page) + local formspec = "size[8,7.5]" + + -- player inventory + formspec = formspec .. "list[current_player;main;0,3.5;8,4;]" + + -- craft page + if page=="craft" then + formspec = formspec + .."button[0,0;2,0.5;main;Back]" + .."list[current_player;craftpreview;7,1;1,1;]" + if minetest.setting_getbool("inventory_craft_small") then + formspec = formspec.."list[current_player;craft;3,0;2,2;]" + player:get_inventory():set_width("craft", 2) + player:get_inventory():set_size("craft", 2*2) + else + formspec = formspec.."list[current_player;craft;3,0;3,3;]" + player:get_inventory():set_width("craft", 3) + player:get_inventory():set_size("craft", 3*3) + end + end + + -- creative page + if page=="creative" then + return player:get_inventory_formspec() + .."button[5,0;2,0.5;main;Back]" + .."label[6,1.5;Trash:]" + .."list[detached:trash;main;6,2;1,1;]" + .."label[5,1.5;Refill:]" + .."list[detached:refill;main;5,2;1,1;]" + end + + -- main page + if page=="main" then + -- buttons + local x,y=0,0 + for k,v in pairs(inventory_plus.buttons[player:get_player_name()]) do + formspec = formspec .. "button["..x..","..y..";2,0.5;"..k..";"..v.."]" + x=x+2 + if x == 8 then + x=0 + y=y+1 + end + end + end + + return formspec +end + +-- trash slot +inventory_plus.trash = minetest.create_detached_inventory("trash", { + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname, index, stack, player) + inv:set_stack(listname, index, nil) + end, +}) +inventory_plus.trash:set_size("main", 1) + +-- refill slot +inventory_plus.refill = minetest.create_detached_inventory("refill", { + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname, index, stack, player) + inv:set_stack(listname, index, ItemStack(stack:get_name().." "..stack:get_stack_max())) + end, +}) +inventory_plus.refill:set_size("main", 1) + +-- register_on_joinplayer +minetest.register_on_joinplayer(function(player) + if minetest.setting_getbool("inventory_craft_small") then + player:get_inventory():set_width("craft", 2) + player:get_inventory():set_size("craft", 2*2) + else + player:get_inventory():set_width("craft", 3) + player:get_inventory():set_size("craft", 3*3) + end + inventory_plus.register_button(player,"craft","Craft") + if minetest.setting_getbool("creative_mode") then + inventory_plus.register_button(player,"creative_prev","Creative") + end + minetest.after(1,function() + inventory_plus.set_inventory_formspec(player,inventory_plus.get_formspec(player, inventory_plus.default)) + end) +end) + +-- register_on_player_receive_fields +minetest.register_on_player_receive_fields(function(player, formname, fields) + -- main + if fields.main then + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"main")) + return + end + -- craft + if fields.craft then + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"craft")) + return + end + -- creative + if fields.creative_prev or fields.creative_next then + minetest.after(0.01,function() + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"creative")) + end) + return + end +end) + +-- log that we started +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) \ No newline at end of file diff --git a/mods/irc/API.txt b/mods/irc/API.txt new file mode 100644 index 0000000..76c09e6 --- /dev/null +++ b/mods/irc/API.txt @@ -0,0 +1,115 @@ + +IRC Mod API +----------- +This file documents the API exported by the IRC mod. + + +BASICS +------ +In order to allow your mod to interface with this mod, you must add `irc' + (without the quotes) to your mod's `depends.txt' file. + + +REFERENCE +--------- + +mt_irc.say ( [name ,] message ) + Sends to either the channel (if is nil or not specified), + or to the given user (if is specified). + Example: + mt_irc.say("Hello, Channel!") + mt_irc.say("john1234", "How are you?") + +mt_irc.register_bot_command ( name, cmddef ) + Registers a new bot command named . + When an user sends a private message to the bot starting with `!name', the + command's function is called. + Here's the command definition (): + cmddef = { + params = " ...", -- A short help text for !help + description = "My command", -- What does the command? (one-liner) + func = function ( from, param ) + -- This function gets called when the command is invoked. + -- is the name of the user that invoked the command. + -- is the rest of the input (after removing !command) + end, + }; + Example: + mt_irc.register_bot_command("hello", { + params = nil, -- No params + description = "Greet user", + func = function ( from, param ) + mt_irc.say(from, "Hello!") + end, + }); + +mt_irc.connected_players [ name ] + This table holds the players who are currently on the channel (may be less + than the players in the game). It is modified by the /part and /join chat + commands. + Example: + if (mt_irc.connected_players["joe"]) then + -- Joe is talking on IRC + end + +mt_irc.register_callback ( name, func ) + Registers a function to be called when an event happens. is the name + of the event, and is the function to be called. See CALLBACKS below + for more information + Example: + mt_irc.register_callback("channel_msg", function ( from, msg ) + if (from == "joe") then + mt_irc.say("joe", "You are not allowed to do that!") + return true + end + end) + +This mod also supplies some utility functions: + +string.expandvars ( string, vars ) + Expands all occurrences of the pattern "$(varname)" with the value of + `varname' in the table. Variable names not found on the table + are left verbatim in the string. + Example: + local tpl = "$(foo) $(bar) $(baz)" + local s = tpl:expandvars({ foo=1, bar="Hello" }) + -- `s' now contains "1 Hello $(baz)" + +In addition, all the configuration options decribed in `README.txt' are + available to other mods, though they should be considered "read only". Do + not modify these settings at runtime or you will most likely crash the + server! + + +CALLBACKS +--------- +The `mt_irc.register_callback' function can register functions to be called + when some events happen. These are the events supported: + +channel_msg ( from, message ) + Called right before the bot sends a message to the channel. + is the name of the user sending the message. is the + unmodified message sent by the user. + Returning any value other than nil or false will prevent the message from + being sent. + Example: + mt_irc.register_callback("channel_msg", function ( from, msg ) + if (from == "joe") then + mt_irc.say("joe", "You are not allowed to do that!") + return true + end + end) + +private_msg ( from, to, message ) + Called right before the bot sends a private message to an user. + is the name of the user sending the message. is the recipient + of the message. is the unmodified message sent by the user. + Returning any value other than nil or false will prevent the message from + being sent. + Example: + mt_irc.register_callback("private_msg", function ( from, to, msg ) + if (to == "admin") then + mt_irc.say(from, "You are not allowed to do that!") + return true + end + end) diff --git a/mods/irc/CHANGES.txt b/mods/irc/CHANGES.txt new file mode 100644 index 0000000..57c8c78 --- /dev/null +++ b/mods/irc/CHANGES.txt @@ -0,0 +1,37 @@ + +Version 0.1.2: + - Fixed the Quit: Excess Flood bug. + - Removed the `packmod' scripts in favor of a dedicated CMake target. + - Fixed packaging of mod under MinGW32. + - Export some basic API so other mods may use the connection to send + messages, etc. + - Added /irc_disconnect and /irc_reconnect chat commands. + - Added some basic documentation about the API exported by this mod. + More coming soon. + - Added automatic reconnection in case the bot is kicked from the + channel. + - Fixed delay while the bot waits for the Message Of The Day (or topic) + - Fixed bug where players were able to send messages to the channel + even if they had no `shout' priv. + +Version 0.1.1: + - Moved all user configuration to `config.lua'. + - Added formatted messages for sent and received messages and options + to change them. + - Added options to change port, password. + - Added support for sending/receiving private messages. + - Removed need for separate packmod.{sh|bat} scripts. Now everything + is (almost) nicely handled by CMake. + - Now all sources (including Lua itself) are added to a single + luasocket lib. This will hopefully fix some cases where the linker + b0rk3d with undefined references under Linux. + - Added option to enable/disable connecting when starting the game, and + the /irc_connect chat command to connect manually to the server (as + suggested by OldCoder). The /irc_connect chat command requires the + `irc_admin' privilege. + - Added option to enable/disable joining the channel when a player joins, + and the /join and /part chat commands to join and part the channel + manually if desired (as suggested by OldCoder). + +Version 0.1.0: + - At least it's working :) diff --git a/mods/irc/LICENSE-LuaIRC.txt b/mods/irc/LICENSE-LuaIRC.txt new file mode 100644 index 0000000..fe30b8a --- /dev/null +++ b/mods/irc/LICENSE-LuaIRC.txt @@ -0,0 +1,7 @@ +Copyright (c) 2007 Jesse Luehrs + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/mods/irc/LICENSE-luasocket.txt b/mods/irc/LICENSE-luasocket.txt new file mode 100644 index 0000000..90d88e7 --- /dev/null +++ b/mods/irc/LICENSE-luasocket.txt @@ -0,0 +1,20 @@ +LuaSocket 2.0 license +Copyright © 2004-2005 Diego Nehab + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/mods/irc/LICENSE.txt b/mods/irc/LICENSE.txt new file mode 100644 index 0000000..6ef5b70 --- /dev/null +++ b/mods/irc/LICENSE.txt @@ -0,0 +1,15 @@ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/mods/irc/README.txt b/mods/irc/README.txt new file mode 100644 index 0000000..4013c83 --- /dev/null +++ b/mods/irc/README.txt @@ -0,0 +1,216 @@ +IRC Mod for Minetest +(C) 2012 Diego MartĂ­nez + +INTRODUCTION +------------ +This mod is just a glue between luasocket, LuaIRC, and Minetest. It + provides a two-way communication between the in-game chat, and an + arbitrary IRC channel. + +The forum topic is at http://minetest.net/forum/viewtopic.php?id=3905 + + +COMPILING +--------- +Make sure you have CMake (http://cmake.org/), and of course, a C compiler, + on your system before proceeding. +For Windows, try MinGW32 (http://mingw.org/). +For Unix-based systems, you should not have any problems with the C compiler + since there's one (almost) always available. Puppy Linux users of course + need a separate `devx.sfs' (from the same place where you got the Puppy + ISO), since vanilla Puppy does not come with `gcc'. See your Puppy docs for + more info about how to install additional SFS files. + +Quick one line build for linux. + +git clone https://github.com/kaeza/minetest-irc.git && cd minetest-irc && mkdir build && cd build && cmake .. && make && make pack_mod && cp -R irc +Please change the "cp -R irc" to fit your install of minetest. + +To compile and "pack" the mod: + + - Open a command prompt/terminal and CD to the minetest-irc directory. + - Create a directory named "Build", and CD into it: + mkdir Build + cd Build + - Run CMake to generate the build system (see your CMake docs for more + information about command line options, in particular the `-G' option). + cmake .. + - Use the build tool for the generated build system to compile the + native library. For example, if using Microsoft Visual Studio, open + the generated workspace and build from there. If using make, just run + "make" from within the Build directory. + - Again use the build tool to invoke the `pack_mod' target. For example, + if using `make', run "make pack_mod" from within the build directory. + This will create an `irc' directory inside the build directory. + This `irc' directory will be ready to be deployed to your Minetest mods + directory. + + +INSTALLING +---------- +Just put the created `irc' directory in any of the directories where + Minetest looks for mods. For more information, see: + http://wiki.minetest.com/wiki/Installing_mods + + +SETTINGS +-------- +All settings are changed in the `config.lua' file. If any of these settings + are either nil or false, the default value is used. + + mt_irc.server (string, default "irc.freenode.net") + This is the IRC server the mod connects to. + + mt_irc.channel (string, default "##mt-irc-mod") + The IRC channel to join. + + mt_irc.dtime (number, default 0.2) + This is the time in seconds between updates in the connection. + In order not to block the game, the mod must periodically "poll" + the connection to both send messages to, and receive messages + from the channel. A high value means slower connection to IRC, + but possibly better response from the game. A low value means + the mod "polls" the connection more often, but can make the + game hang. It allows fractional values. + + mt_irc.timeout (number, default 60.0) + Underlying socket timeout in seconds. This is the time before + the system drops an idle connection. + + mt_irc.server_nick (string, default "minetest-"..) + Nickname used as "proxy" for the in-game chat. + "" is the server IP address packed as a 32 bit integer. + (Currently, it's just a random 32 bit number). + + mt_irc.password (string, default "") + Password to use when connecting to the server. + + mt_irc.message_format_out (string, default "<$(name)> $(message)") + This specifies how to send the messages from in-game to IRC. + The strings can contain "macros" (or variable substitutions), which + are specified as "$(macro_name)". + Currently, these macros are supported: + $(name) The name of the player sending the message. + $(message) The actual message text. + Any unrecognized macro will be left in the message verbatim. + For example, if a user named "mtuser" is saying "Hello!", then: + "<$(name)> $(message)" + ...will yield... + " Hello!" + ...and... + "$(name): $(message) $(xyz)" + ...will yield... + "mtuser: Hello! $(xyz)" + + mt_irc.message_format_in (string, + default "<$(name)@IRC> $(message)") + This specifies how the messages gotten from the IRC channel are + displayed in-game. + The strings can contain "macros" (or variable substitutions), which + are specified as "$(macro_name)". + Currently, these macros are supported: + $(name) The nickname of the user sending the message. + $(message) The actual message text. + $(server) The IRC server. + $(port) The IRC server port. + $(channel) The IRC channel. + In the default configuration, this will yield: + Hello! + + mt_irc.debug (boolean, default false) + Whether to output debug information. + + mt_irc.auto_connect (boolean, default false) + If true, the bot is connected by default. If false, a player with + `irc_admin' privilege has to use the /irc_connect command to + connect to the server. + + mt_irc.auto_join (boolean, default false) + If true, players join the channel automatically upon entering the + game. If false, each user must manually use the /join command to + join the channel. In any case, the players may use the /part + command to opt-out of being in the channel. + +USAGE +----- +Once the game is connected to the IRC channel, chatting using the 'T' or + F10 hotkeys will send the messages to the channel, and will be visible + by anyone. Also, when someone sends a message to the channel, that text + will be visible in-game. + +This mod also adds a few chat commands: + + /msg + Sends a private message to the IRC user whose nickname is `nick'. + + /join + Join the IRC channel. + + /part + Part the IRC channel. + + /irc_connect + Connect the bot manually to the IRC network. + + /irc_disconnect + Disconnect the bot manually to the IRC network (this does not + shutdown the game). + + /irc_reconnect + A combination of /irc_disconnect and /irc_connect. + +You can also send private messages from IRC to in-game players, though + it's a bit tricky. + +To do it, you must send a private message to the bot (set with + the `mt_irc.server_nick' option above), in the following format: + >playername message +For example, if there's a player named `mtuser', you can send him/her + a private message with: + /msg server_nick >mtuser Hello! + +To avoid possible misunderstandings (since all in-game players use the + same IRC user to converse with you), the "proxy" user will reject any + private messages that are not in that format, and will send back a + nice reminder as a private message. + +The bot also supports some basic commands, which are invoked by sending + a private message to it. Use `!help' to get a list of commands, and + `!help ' to get help about a specific command. + + +THANKS +------ +I'd like to thank the users who supported this mod both on the Minetest + Forums and on the #minetest channel. In no particular order: + + Shaun/kizeren, RAPHAEL, DARGON, Calinou, Exio, vortexlabs/mrtux, + marveidemanis, marktraceur, jmf/john_minetest, sdzen/Muadtralk, + VanessaE, PilzAdam, sfan5, celeron55, KikaRz, OldCoder, RealBadAngel, + and all the people who commented in the forum topic. Thanks to you all! + + +LICENSE +------- + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +The files `http.lua', `ltn12.lua', `mime.lua', `smtp.lua', `socket.lua', + and `url.lua' are part of the luasocket project + (http://luasocket.luaforge.org/). See `LICENSE-luasocket.txt' for + licensing information. + +The `irc.lua' file and the entire contents of the `irc' directory are part + of the LuaIRC project (http://luairc.luaforge.org/). See + `LICENSE-LuaIRC.txt' for licensing information. diff --git a/mods/irc/TODO.txt b/mods/irc/TODO.txt new file mode 100644 index 0000000..1634d8f --- /dev/null +++ b/mods/irc/TODO.txt @@ -0,0 +1,20 @@ + +TODO List +--------- + + - Check for availability of nickname on join, and select a different one + until one is available. + - Implement more callbacks for `mt_irc.register_callback'. + +Not TODO List +------------- +* These things either WON'T BE SUPPORTED, or have VERY LOW priority. + + - Support for sending CTCP queries (LuaIRC seems to handle incoming + queries internally by default). + +Known Bugs +---------- + + - Apparently, some users have to install `luasocket' separately, since + the provided one won't compile/work (reported by leo_rockway). diff --git a/mods/irc/botcmds.lua b/mods/irc/botcmds.lua new file mode 100644 index 0000000..2a6b4e7 --- /dev/null +++ b/mods/irc/botcmds.lua @@ -0,0 +1,92 @@ + +mt_irc.bot_commands = { }; + +mt_irc.bot_help = function ( from, cmdname ) + local cmd = mt_irc.bot_commands[cmdname]; + if (not cmd) then + irc.say(from, "Unknown command `"..cmdname.."'"); + return; + end + local usage = "Usage: !"..cmdname; + if (cmd.params) then usage = usage.." "..cmd.params; end + irc.say(from, usage); + if (cmd.description) then irc.say(from, " "..cmd.description); end +end + +mt_irc.register_bot_command = function ( name, def ) + if ((not def.func) or (type(def.func) ~= "function")) then + error("Wrong bot command definition", 2); + end + mt_irc.bot_commands[name] = def; +end + +mt_irc.register_bot_command("help", { + params = "[]"; + description = "Get help about a command"; + func = function ( from, args ) + if (args ~= "") then + mt_irc.bot_help(from, args); + else + local cmdlist = "Available commands:"; + for name,cmd in pairs(mt_irc.bot_commands) do + cmdlist = cmdlist.." "..name; + end + irc.say(from, cmdlist); + irc.say(from, "Use `!help ' to get help about a specific command."); + end + end; +}); + +mt_irc.register_bot_command("who", { + params = nil; + description = "Tell who is playing"; + func = function ( from, args ) + local s = ""; + for k, v in pairs(mt_irc.connected_players) do + if (v) then + s = s.." "..k; + end + end + irc.say(from, "Players On Channel:"..s); + end; +}); + +mt_irc.register_bot_command("whereis", { + params = ""; + description = "Tell the location of "; + + func = function ( from, args ) + if (args == "") then + mt_irc.bot_help(from, "whereis"); + return; + end + local list = minetest.env:get_objects_inside_radius({x=0,y=0,z=0}, 100000); + for _, obj in ipairs(list) do + if (obj:is_player() and (obj:get_player_name() == args)) then + local fmt = "Player %s is at (%.2f,%.2f,%.2f)"; + local pos = obj:getpos(); + irc.say(from, fmt:format(args, pos.x, pos.y, pos.z)); + return; + end + end + irc.say(from, "There's No player named `"..args.."'"); + end; +}); + +local starttime = os.time(); + +mt_irc.register_bot_command("uptime", { + params = ""; + description = "Tell how much time the server has been up"; + privs = { shout=true; }; + func = function ( name, param ) + local t = os.time(); + local diff = os.difftime(t, starttime); + local fmt = "Server has been running for %d:%02d:%02d"; + irc.say(name, fmt:format( + math.floor(diff / 60 / 60), + math.mod(math.floor(diff / 60), 60), + math.mod(math.floor(diff), 60) + )); + end; +}); diff --git a/mods/irc/callback.lua b/mods/irc/callback.lua new file mode 100644 index 0000000..7f9deba --- /dev/null +++ b/mods/irc/callback.lua @@ -0,0 +1,213 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local irc = require("irc"); + +mt_irc.callbacks = { }; + +mt_irc._callback = function ( name, ... ) + local list = mt_irc.callbacks[name]; + if (not list) then return; end + for n = 1, #list do + local r = list[n](...); + if (r) then return r; end + end +end + +mt_irc.register_callback = function ( name, func ) + local list = mt_irc.callbacks[name]; + if (not list) then + list = { }; + mt_irc.callbacks[name] = list; + end + list[#list + 1] = func; +end + +minetest.register_on_joinplayer(function ( player ) + + mt_irc.say(mt_irc.channel, "*** "..player:get_player_name().." joined the game"); + mt_irc.connected_players[player:get_player_name()] = mt_irc.auto_join; + +end); + +irc.register_callback("connect", function ( ) + mt_irc.got_motd = true; + irc.join(mt_irc.channel); +end); + +irc.register_callback("channel_msg", function ( channel, from, message ) + if (not mt_irc.connect_ok) then return; end + local t = { + name=(from or ""); + message=(message or ""); + server=mt_irc.server; + port=mt_irc.port; + channel=mt_irc.channel; + }; + local text = mt_irc.message_format_in:gsub("%$%(([^)]+)%)", t) + if (mt_irc._callback("channel_msg", from, message, text)) then return; end + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +local function bot_command ( from, message ) + + local pos = message:find(" ", 1, true); + local cmd, args; + if (pos) then + cmd = message:sub(1, pos - 1); + args = message:sub(pos + 1); + else + cmd = message; + args = ""; + end + + if (not mt_irc.bot_commands[cmd]) then + mt_irc.say(from, "Unknown command `"..cmd.."'. Try `!help'."); + return; + end + + mt_irc.bot_commands[cmd].func(from, args); + +end + +irc.register_callback("private_msg", function ( from, message ) + if (not mt_irc.connect_ok) then return; end + local player_to; + local msg; + if (message:sub(1, 1) == ">") then + local pos = message:find(" ", 1, true); + if (not pos) then return; end + player_to = message:sub(2, pos - 1); + msg = message:sub(pos + 1); + elseif (message:sub(1, 1) == "!") then + bot_command(from, message:sub(2)); + return; + else + irc.say(from, 'Message not sent! Please use "!help" to see possible commands.'); + irc.say(from, ' Or use the ">playername Message" syntax to send a private message.'); + return; + end + if (not mt_irc.connected_players[player_to]) then + irc.say(from, "User `"..player_to.."' is not connected to IRC."); + return; + end + local t = { + name=(from or ""); + message=(msg or ""); + server=mt_irc.server; + port=mt_irc.port; + channel=mt_irc.channel; + }; + local text = mt_irc.message_format_in:expandvars(t); + if (mt_irc._callback("private_msg", from, player_to, message, text)) then return; end + minetest.chat_send_player(player_to, "PRIVATE: "..text); +end); + +irc.register_callback("kick", function ( chaninfo, to, from ) + minetest.chat_send_all("IRC: Bot was kicked by "..from..". Reconnecting bot in 5 seconds..."); + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + irc.quit("Kicked"); + minetest.after(5, mt_irc.connect); +end); + +irc.register_callback("nick_change", function ( from, old_nick ) + if (not mt_irc.connect_ok) then return; end + local text = "["..old_nick.." changed his nick to "..from.."]"; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("join", function ( servinfo, from ) + local text = "*** "..from.." joined "..mt_irc.channel; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("part", function ( servinfo, from, part_msg ) + local text = "*** "..from.." left "..mt_irc.channel.." ("..part_msg..")"; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("channel_act", function ( servinfo, from, message) + if (not mt_irc.connect_ok) then return; end + local text = "*** "..from.." "..message; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +minetest.register_on_leaveplayer(function ( player ) + local name = player:get_player_name(); + mt_irc.connected_players[name] = false; + if (not mt_irc.connect_ok) then return; end + irc.say(mt_irc.channel, "*** "..name.." left the game"); +end); + +minetest.register_on_chat_message(function ( name, message ) + if (not mt_irc.connect_ok) then return; end + if (message:sub(1, 1) == "/") then return; end + if (not mt_irc.connected_players[name]) then return; end + if (not minetest.check_player_privs(name, {shout=true})) then + return; + end + if (not mt_irc.buffered_messages) then + mt_irc.buffered_messages = { }; + end + mt_irc.buffered_messages[#mt_irc.buffered_messages + 1] = { + name = name; + message = message; + }; +end); + +minetest.register_on_shutdown(function ( ) + irc.quit("Game shutting down."); + for n = 1, 5 do + irc.poll(); + end +end); + +irc.handlers.on_error = function (...) --( from, respond_to ) + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, "IRC: Bot had a network error. Reconnecting in 5 seconds..."); end + end + for _, v in ipairs({...}) do + minetest.chat_send_all(dump(v)); + end + irc.quit("Network error"); + for n = 1, 5 do + irc.poll(); + end + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + minetest.after(5, mt_irc.connect); +end + +irc.handlers.on_err_nicknameinuse = function ( from, respond_to ) + irc.quit("Nick in use"); + for n = 1, 5 do + irc.poll(); + end + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + local n = (tonumber(mt_irc.server_nick:sub(-1)) or 0) + 1; + if (n == 10) then n = 1; end + mt_irc.server_nick = mt_irc.server_nick:sub(1, -2)..n; + mt_irc.connect(); +end diff --git a/mods/irc/chatcmds.lua b/mods/irc/chatcmds.lua new file mode 100644 index 0000000..f8041b0 --- /dev/null +++ b/mods/irc/chatcmds.lua @@ -0,0 +1,125 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local irc = require("irc"); + +minetest.register_chatcommand("msg", { + params = " "; + description = "Send a private message to an IRC user"; + privs = { shout=true; }; + func = function ( name, param ) + if (not mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are not connected use /irc_connect."); + return; + end + local pos = param:find(" ", 1, true); + if (not pos) then return; end + local name = param:sub(1, pos - 1); + local msg = param:sub(pos + 1); + local t = { + name=name; + message=msg; + }; + local text = mt_irc.message_format_out:expandvars(t); + irc.send("PRIVMSG", name, text); + end; +}); + +minetest.register_chatcommand("irc_connect", { + params = ""; + description = "Connect to the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are already connected."); + return; + end + mt_irc.connect(); + minetest.chat_send_player(name, "IRC: You are now connected."); + irc.say(mt_irc.channel, name.." joined the channel."); + end; +}); + +minetest.register_chatcommand("irc_disconnect", { + params = ""; + description = "Disconnect from the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (not mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are not connected."); + return; + end + irc.quit("Manual BOT Disconnection"); + minetest.chat_send_player(name, "IRC: You are now disconnected."); + mt_irc.connect_ok = false; + end; +}); + +minetest.register_chatcommand("irc_reconnect", { + params = ""; + description = "Reconnect to the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (mt_irc.connect_ok) then + irc.quit("Reconnecting BOT..."); + minetest.chat_send_player(name, "IRC: Reconnecting bot..."); + mt_irc.got_motd = true; + mt_irc.connect_ok = false; + end + mt_irc.connect(); + end; +}); + +minetest.register_chatcommand("join", { + params = ""; + description = "Join the IRC channel"; + privs = { shout=true; }; + func = function ( name, param ) + mt_irc.join(name); + end; +}); + +minetest.register_chatcommand("part", { + params = ""; + description = "Part the IRC channel"; + privs = { shout=true; }; + func = function ( name, param ) + mt_irc.part(name); + end; +}); + +minetest.register_chatcommand("me", { + params = ""; + description = "chat action (eg. /me orders a pizza)"; + privs = { shout=true }; + func = function(name, param) + minetest.chat_send_all("* "..name.." "..param); + irc.say(mt_irc.channel, "* "..name.." "..param); + end, +}) + +minetest.register_chatcommand("who", { + -- TODO: This duplicates code from !who + params = ""; + description = "Tell who is currently on the channel"; + privs = { shout=true; }; + func = function ( name, param ) + local s = ""; + for k, v in pairs(mt_irc.connected_players) do + if (v) then + s = s.." "..k; + end + end + minetest.chat_send_player(name, "Players On Channel:"..s); + end; +}); diff --git a/mods/irc/config.lua b/mods/irc/config.lua new file mode 100644 index 0000000..096ffc1 --- /dev/null +++ b/mods/irc/config.lua @@ -0,0 +1,61 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +-- ************************* +-- ** BASIC USER SETTINGS ** +-- ************************* + +-- Server to connect on joinplayer (string, default "irc.freenode.net") +mt_irc.server = nil; + +-- Port to connect on joinplayer (number, default 6667) +mt_irc.port = nil; + +-- Channel to connect on joinplayer (string, default "##mt-irc-mod") +mt_irc.channel = "##mtzegaton"; + +-- *********************** +-- ** ADVANCED SETTINGS ** +-- *********************** + +-- Time between chat updates in seconds (number, default 0.2). +mt_irc.dtime = nil; + +-- Underlying socket timeout in seconds (number, default 1.0). +mt_irc.timeout = nil; + +-- Nickname when using single conection (string, default "minetest-"..); +-- ( is the server IP address packed as a 32 bit integer). +mt_irc.server_nick = nil; + +-- Password to use when using single connection (string, default "") +mt_irc.password = nil; + +-- The format of messages sent to IRC server (string, default "<$(name)> $(message)") +-- See `README.txt' for the macros supported here. +mt_irc.message_format_out = "<$(name)> $(message)"; + +-- The format of messages sent to IRC server (string, default "<$(name)@IRC> $(message)") +-- See `README.txt' for the macros supported here. +mt_irc.message_format_in = "<$(name)@IRC> $(message)"; + +-- Enable debug output (boolean, default false) +mt_irc.debug = false; + +-- Whether to automatically join the channed when player joins +-- (boolean, default true) +mt_irc.auto_join = true; + +-- Whether to automatically connect to the server on mod load +-- (boolean, default true) +mt_irc.auto_connect = true; diff --git a/mods/irc/friends.lua b/mods/irc/friends.lua new file mode 100644 index 0000000..6592195 --- /dev/null +++ b/mods/irc/friends.lua @@ -0,0 +1,22 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +-- TODO + +--[[ +local MODPATH = mt_irc.modpath; + +local function load_friends_list ( ) + +end +]] diff --git a/mods/irc/ftp.lua b/mods/irc/ftp.lua new file mode 100644 index 0000000..1ddc77d --- /dev/null +++ b/mods/irc/ftp.lua @@ -0,0 +1,280 @@ +----------------------------------------------------------------------------- +-- FTP support for the Lua language +-- LuaSocket toolkit. +-- Author: Diego Nehab +-- RCS ID: $Id: ftp.lua,v 1.42 2005/11/22 08:33:29 diego Exp $ +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local table = require("table") +local string = require("string") +local math = require("math") +local socket = require("socket") +local url = require("socket.url") +local tp = require("socket.tp") +local ltn12 = require("ltn12") +module("socket.ftp") + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- timeout in seconds before the program gives up on a connection +TIMEOUT = 60 +-- default port for ftp service +PORT = 21 +-- this is the default anonymous password. used when no password is +-- provided in url. should be changed to your e-mail. +USER = "ftp" +PASSWORD = "anonymous@anonymous.org" + +----------------------------------------------------------------------------- +-- Low level FTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function open(server, port, create) + local tp = socket.try(tp.connect(server, port or PORT, create, TIMEOUT)) + local f = base.setmetatable({ tp = tp }, metat) + -- make sure everything gets closed in an exception + f.try = socket.newtry(function() f:close() end) + return f +end + +function metat.__index:portconnect() + self.try(self.server:settimeout(TIMEOUT)) + self.data = self.try(self.server:accept()) + self.try(self.data:settimeout(TIMEOUT)) +end + +function metat.__index:pasvconnect() + self.data = self.try(socket.tcp()) + self.try(self.data:settimeout(TIMEOUT)) + self.try(self.data:connect(self.pasvt.ip, self.pasvt.port)) +end + +function metat.__index:login(user, password) + self.try(self.tp:command("user", user or USER)) + local code, reply = self.try(self.tp:check{"2..", 331}) + if code == 331 then + self.try(self.tp:command("pass", password or PASSWORD)) + self.try(self.tp:check("2..")) + end + return 1 +end + +function metat.__index:pasv() + self.try(self.tp:command("pasv")) + local code, reply = self.try(self.tp:check("2..")) + local pattern = "(%d+)%D(%d+)%D(%d+)%D(%d+)%D(%d+)%D(%d+)" + local a, b, c, d, p1, p2 = socket.skip(2, string.find(reply, pattern)) + self.try(a and b and c and d and p1 and p2, reply) + self.pasvt = { + ip = string.format("%d.%d.%d.%d", a, b, c, d), + port = p1*256 + p2 + } + if self.server then + self.server:close() + self.server = nil + end + return self.pasvt.ip, self.pasvt.port +end + +function metat.__index:port(ip, port) + self.pasvt = nil + if not ip then + ip, port = self.try(self.tp:getcontrol():getsockname()) + self.server = self.try(socket.bind(ip, 0)) + ip, port = self.try(self.server:getsockname()) + self.try(server:settimeout(TIMEOUT)) + end + local pl = math.mod(port, 256) + local ph = (port - pl)/256 + local arg = string.gsub(string.format("%s,%d,%d", ip, ph, pl), "%.", ",") + self.try(self.tp:command("port", arg)) + self.try(self.tp:check("2..")) + return 1 +end + +function metat.__index:send(sendt) + self.try(self.pasvt or self.server, "need port or pasv first") + -- if there is a pasvt table, we already sent a PASV command + -- we just get the data connection into self.data + if self.pasvt then self:pasvconnect() end + -- get the transfer argument and command + local argument = sendt.argument or + url.unescape(string.gsub(sendt.path or "", "^[/\\]", "")) + if argument == "" then argument = nil end + local command = sendt.command or "stor" + -- send the transfer command and check the reply + self.try(self.tp:command(command, argument)) + local code, reply = self.try(self.tp:check{"2..", "1.."}) + -- if there is not a a pasvt table, then there is a server + -- and we already sent a PORT command + if not self.pasvt then self:portconnect() end + -- get the sink, source and step for the transfer + local step = sendt.step or ltn12.pump.step + local checkstep = function(src, snk) + -- check status in control connection while downloading + local readyt = socket.select(readt, nil, 0) + if readyt[tp] then self.try(self.tp:check("2..")) end + return step(src, snk) + end + local sink = socket.sink("close-when-done", self.data) + -- transfer all data and check error + self.try(ltn12.pump.all(sendt.source, sink, checkstep)) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + -- done with data connection + self.data:close() + -- find out how many bytes were sent + local sent = socket.skip(1, self.data:getstats()) + self.data = nil + return sent +end + +function metat.__index:receive(recvt) + self.try(self.pasvt or self.server, "need port or pasv first") + if self.pasvt then self:pasvconnect() end + local argument = recvt.argument or + url.unescape(string.gsub(recvt.path or "", "^[/\\]", "")) + if argument == "" then argument = nil end + local command = recvt.command or "retr" + self.try(self.tp:command(command, argument)) + local code = self.try(self.tp:check{"1..", "2.."}) + if not self.pasvt then self:portconnect() end + local source = socket.source("until-closed", self.data) + local step = recvt.step or ltn12.pump.step + self.try(ltn12.pump.all(source, recvt.sink, step)) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + self.data:close() + self.data = nil + return 1 +end + +function metat.__index:cwd(dir) + self.try(self.tp:command("cwd", dir)) + self.try(self.tp:check(250)) + return 1 +end + +function metat.__index:type(type) + self.try(self.tp:command("type", type)) + self.try(self.tp:check(200)) + return 1 +end + +function metat.__index:greet() + local code = self.try(self.tp:check{"1..", "2.."}) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + return 1 +end + +function metat.__index:quit() + self.try(self.tp:command("quit")) + self.try(self.tp:check("2..")) + return 1 +end + +function metat.__index:close() + if self.data then self.data:close() end + if self.server then self.server:close() end + return self.tp:close() +end + +----------------------------------------------------------------------------- +-- High level FTP API +----------------------------------------------------------------------------- +function override(t) + if t.url then + u = url.parse(t.url) + for i,v in base.pairs(t) do + u[i] = v + end + return u + else return t end +end + +local function tput(putt) + putt = override(putt) + socket.try(putt.host, "missing hostname") + local f = open(putt.host, putt.port, putt.create) + f:greet() + f:login(putt.user, putt.password) + if putt.type then f:type(putt.type) end + f:pasv() + local sent = f:send(putt) + f:quit() + f:close() + return sent +end + +local default = { + path = "/", + scheme = "ftp" +} + +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +local function sput(u, body) + local putt = parse(u) + putt.source = ltn12.source.string(body) + return tput(putt) +end + +put = socket.protect(function(putt, body) + if base.type(putt) == "string" then return sput(putt, body) + else return tput(putt) end +end) + +local function tget(gett) + gett = override(gett) + socket.try(gett.host, "missing hostname") + local f = open(gett.host, gett.port, gett.create) + f:greet() + f:login(gett.user, gett.password) + if gett.type then f:type(gett.type) end + f:pasv() + f:receive(gett) + f:quit() + return f:close() +end + +local function sget(u) + local gett = parse(u) + local t = {} + gett.sink = ltn12.sink.table(t) + tget(gett) + return table.concat(t) +end + +command = socket.protect(function(cmdt) + cmdt = override(cmdt) + socket.try(cmdt.host, "missing hostname") + socket.try(cmdt.command, "missing command") + local f = open(cmdt.host, cmdt.port, cmdt.create) + f:greet() + f:login(cmdt.user, cmdt.password) + f.try(f.tp:command(cmdt.command, cmdt.argument)) + if cmdt.check then f.try(f.tp:check(cmdt.check)) end + f:quit() + return f:close() +end) + +get = socket.protect(function(gett) + if base.type(gett) == "string" then return sget(gett) + else return tget(gett) end +end) + diff --git a/mods/irc/http.lua b/mods/irc/http.lua new file mode 100644 index 0000000..a448508 --- /dev/null +++ b/mods/irc/http.lua @@ -0,0 +1,326 @@ +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +-- RCS ID: $Id: http.lua,v 1.63 2005/11/22 08:33:29 diego Exp $ +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local base = _G +local table = require("table") +module("socket.http") + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +TIMEOUT = 60 +-- default port for document retrieval +PORT = 80 +-- user agent field sent in request +USERAGENT = socket._VERSION + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err, part = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function open(host, port, create) + -- create socket with user connect function, or with default + local c = socket.try(create or socket.tcp)() + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(TIMEOUT)) + h.try(c:connect(host, port or PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(headers) + local h = "\r\n" + for i, v in base.pairs(headers) do + h = i .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive()) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(headers, host) + -- default headers + local lower = { + ["user-agent"] = USERAGENT, + ["host"] = host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- override with user headers + for i,v in base.pairs(headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + local t = url.parse(reqt.url, default) + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + socket.try(nreqt.host, "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt.headers, nreqt.host) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldauthorize(reqt, code) + -- if there has been an authorization attempt, it must have failed + if reqt.headers and reqt.headers["authorization"] then return nil end + -- if last attempt didn't fail due to lack of authentication, + -- or we don't have authorization information, we can't retry + return code == 401 and reqt.user and reqt.password +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tauthorize, tredirect + +function tauthorize(reqt) + local auth = "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + reqt.headers["authorization"] = auth + return trequest(reqt) +end + +function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + connect = reqt.connect + } + -- pass location header back as a hint we redirected + headers.location = headers.location or location + return result, code, headers, status +end + +function trequest(reqt) + reqt = adjustrequest(reqt) + local h = open(reqt.host, reqt.port, reqt.create) + h:sendrequestline(reqt.method, reqt.uri) + h:sendheaders(reqt.headers) + if reqt.source then h:sendbody(reqt.headers, reqt.source, reqt.step) end + local code, headers, status + code, status = h:receivestatusline() + headers = h:receiveheaders() + if shouldredirect(reqt, code, headers) then + h:close() + return tredirect(reqt, headers.location) + elseif shouldauthorize(reqt, code) then + h:close() + return tauthorize(reqt) + elseif shouldreceivebody(reqt, code) then + h:receivebody(headers, reqt.sink, reqt.step) + end + h:close() + return 1, code, headers, status +end + +local function srequest(u, body) + local t = {} + local reqt = { + url = u, + sink = ltn12.sink.table(t) + } + if body then + reqt.source = ltn12.source.string(body) + reqt.headers = { ["content-length"] = string.len(body) } + reqt.method = "POST" + end + local code, headers, status = socket.skip(1, trequest(reqt)) + return table.concat(t), code, headers, status +end + +request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then return srequest(reqt, body) + else return trequest(reqt) end +end) diff --git a/mods/irc/init.lua b/mods/irc/init.lua new file mode 100644 index 0000000..825253d --- /dev/null +++ b/mods/irc/init.lua @@ -0,0 +1,162 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local MODPATH = minetest.get_modpath("irc"); + +mt_irc = { }; + +dofile(MODPATH.."/config.lua"); + +mt_irc.cur_time = 0; +mt_irc.buffered_messages = { }; +mt_irc.connected_players = { }; +mt_irc.modpath = MODPATH; + +package.path = MODPATH.."/?.lua;"..package.path; +package.cpath = MODPATH.."/lib?.so;"..MODPATH.."/?.dll;"..package.cpath; + +local irc = require 'irc'; + +irc.DEBUG = ((mt_irc.debug and true) or false); + +-- Set defaults if not specified. +if (not mt_irc.server_nick) then + local pr = PseudoRandom(os.time()); + -- Workaround for bad distribution in minetest PRNG implementation. + local fmt = "minetest-%02X%02X%02X%02X"; + mt_irc.server_nick = fmt:format( + pr:next(0, 255), + pr:next(0, 255), + pr:next(0, 255), + pr:next(0, 255) + ); +end +mt_irc.server = (mt_irc.server or "irc.freenode.net"); +mt_irc.port = (mt_irc.port or 6667); +mt_irc.channel = (mt_irc.channel or "##mt-irc-mod"); +mt_irc.dtime = (mt_irc.dtime or 0.2); +mt_irc.timeout = (mt_irc.timeout or 60.0); +mt_irc.message_format_out = (mt_irc.message_format_out or "<$(nick)> $(message)"); +mt_irc.message_format_in = (mt_irc.message_format_in or "<$(name)@IRC[$(channel)]> $(message)"); +if (mt_irc.connect_on_join == nil) then mt_irc.connect_on_join = false; end +if (mt_irc.connect_on_load == nil) then mt_irc.connect_on_load = false; end + +minetest.register_privilege("irc_admin", { + description = "Allow IRC administrative tasks to be performed."; + give_to_singleplayer = true; +}); + +mt_irc.part = function ( name ) + if (not mt_irc.connected_players[name]) then + minetest.chat_send_player(name, "IRC: You are not in the channel."); + return; + end + mt_irc.connected_players[name] = false; + minetest.chat_send_player(name, "IRC: You are now out of the channel."); + --irc.send(mt_irc.channel, name.." is no longer in the channel."); + irc.send(name.." is no longer in the channel."); +end + +mt_irc.join = function ( name ) + local function do_join ( name ) + if (mt_irc.connected_players[name]) then + minetest.chat_send_player(name, "IRC: You are already in the channel."); + return; + end + mt_irc.connected_players[name] = true; + mt_irc.join(mt_irc.channel); + minetest.chat_send_player(name, "IRC: You are now in the channel."); + end + if (not pcall(do_join, name)) then + mt_irc.connected_players[name] = false; + end +end + +mt_irc.connect = function ( ) + mt_irc.connect_ok = irc.connect({ + network = mt_irc.server; + port = mt_irc.port; + nick = mt_irc.server_nick; + pass = mt_irc.password; + timeout = mt_irc.timeout; + channel = mt_irc.channel; + }); + if (not mt_irc.connect_ok) then + local s = "DEBUG: irc.connect failed"; + minetest.debug(s); + minetest.chat_send_all(s); + return; + end + while (not mt_irc.got_motd) do + irc.poll(); + end + + minetest.register_globalstep(function ( dtime ) + if (not mt_irc.connect_ok) then return; end + if (not mt_irc.players_connected) then + for _,player in ipairs(minetest.get_connected_players()) do + mt_irc.connected_players[player:get_player_name()] = mt_irc.auto_join; + end + end + mt_irc.cur_time = mt_irc.cur_time + dtime; + if (mt_irc.cur_time >= mt_irc.dtime) then + if (mt_irc.buffered_messages) then + for _, msg in ipairs(mt_irc.buffered_messages) do + local t = { + name=(msg.name or ""); + message=(msg.message or ""); + }; + local text = mt_irc.message_format_out:expandvars(t); + irc.say(mt_irc.channel, text); + end + mt_irc.buffered_messages = nil; + end + irc.poll(); + mt_irc.cur_time = mt_irc.cur_time - mt_irc.dtime; + --local plys = minetest.get_connected_players(); + --if ((#plys <= 0) and (minetest.is_singleplayer())) then + -- minetest.after(1.0, function ( ) + -- irc.quit("Closing."); + -- end) + --end + end + end); +end + +mt_irc.say = function ( to, msg ) + if (not msg) then + msg = to; + to = mt_irc.channel; + end + to = to or mt_irc.channel; + msg = msg or ""; + irc.say(to, msg); +end + +mt_irc.irc = irc; + +-- Misc helpers + +-- Requested by Exio +string.expandvars = function ( s, vars ) + return s:gsub("%$%(([^)]+)%)", vars); +end + +dofile(MODPATH.."/callback.lua"); +dofile(MODPATH.."/chatcmds.lua"); +dofile(MODPATH.."/botcmds.lua"); +dofile(MODPATH.."/friends.lua"); + +if (mt_irc.auto_connect) then + mt_irc.connect() +end diff --git a/mods/irc/irc.lua b/mods/irc/irc.lua new file mode 100644 index 0000000..b05a7a1 --- /dev/null +++ b/mods/irc/irc.lua @@ -0,0 +1,1023 @@ +--- +-- Implementation of the main LuaIRC module + +-- initialization {{{ +local base = _G +local constants = require 'irc.constants' +local ctcp = require 'irc.ctcp' +local c = ctcp._ctcp_quote +local irc_debug = require 'irc.debug' +local message = require 'irc.message' +local misc = require 'irc.misc' +local socket = require 'socket' +local os = require 'os' +local string = require 'string' +local table = require 'table' +-- }}} + +--- +-- LuaIRC - IRC framework written in Lua +-- @release 0.3 +module 'irc' + +-- constants {{{ +_VERSION = 'LuaIRC 0.3' +-- }}} + +-- classes {{{ +local Channel = base.require 'irc.channel' +-- }}} + +-- local variables {{{ +local irc_sock = nil +local rsockets = {} +local wsockets = {} +local rcallbacks = {} +local wcallbacks = {} +local icallbacks = { + whois = {}, + serverversion = {}, + servertime = {}, + ctcp_ping = {}, + ctcp_time = {}, + ctcp_version = {}, +} +local requestinfo = {whois = {}} +handlers = {} +ctcp_handlers = {} +user_handlers = {} +serverinfo = {} +ip = nil +-- }}} + +-- defaults {{{ +TIMEOUT = 60 -- connection timeout +NETWORK = "localhost" -- default network +PORT = 6667 -- default port +NICK = "luabot" -- default nick +--USERNAME = "LuaIRC" -- default username +USERNAME = "minetest" -- default username +--REALNAME = "LuaIRC" -- default realname +REALNAME = "minetest" -- default realname +DEBUG = false -- whether we want extra debug information +OUTFILE = nil -- file to send debug output to - nil is stdout +-- }}} + +-- private functions {{{ +-- main_loop_iter {{{ +local function main_loop_iter() + if #rsockets == 0 and #wsockets == 0 then return false end + local rready, wready, err = socket.select(rsockets, wsockets) + if err then irc_debug._err(err); return false; end + + for _, sock in base.ipairs(rready) do + local cb = socket.protect(rcallbacks[sock]) + local ret, err = cb(sock) + if not ret then + irc_debug._warn("socket error: " .. err) + _unregister_socket(sock, 'r') + end + end + + for _, sock in base.ipairs(wready) do + local cb = socket.protect(wcallbacks[sock]) + local ret, err = cb(sock) + if not ret then + irc_debug._warn("socket error: " .. err) + _unregister_socket(sock, 'w') + end + end + + return true +end +-- }}} + +-- begin_main_loop {{{ +local function begin_main_loop() + --while main_loop_iter() do end +end +-- }}} + +poll = main_loop_iter; + +-- incoming_message {{{ +local function incoming_message(sock) + local rcvd = { sock:receive() }; + if ((rcvd[1] == nil) and (rcvd[2] == "timeout")) then return true; end + local raw_msg = socket.try(base.unpack(rcvd)) + irc_debug._message("RECV", raw_msg) + local msg = message._parse(raw_msg) + misc._try_call_warn("Unhandled server message: " .. msg.command, + handlers["on_" .. msg.command:lower()], + (misc._parse_user(msg.from)), base.unpack(msg.args)) + return true +end +-- }}} + +-- callback {{{ +local function callback(name, ...) + return misc._try_call(user_handlers[name], ...) +end +-- }}} +-- }}} + +-- internal message handlers {{{ +-- command handlers {{{ +-- on_nick {{{ +function handlers.on_nick(from, new_nick) + for chan in channels() do + chan:_change_nick(from, new_nick) + end + callback("nick_change", new_nick, from) +end +-- }}} + +-- on_join {{{ +function handlers.on_join(from, chan) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received join message for unknown channel: " .. chan) + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_add_user(from) + callback("join", serverinfo.channels[chan], from) + end +end +-- }}} + +-- on_part {{{ +function handlers.on_part(from, chan, part_msg) + -- don't assert on chan here, since we get part messages for ourselves + -- after we remove the channel from the channel list + if not serverinfo.channels[chan] then return end + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_remove_user(from) + callback("part", serverinfo.channels[chan], from, part_msg) + end +end +-- }}} + +-- on_mode {{{ +function handlers.on_mode(from, to, mode_string, ...) + local dir = mode_string:sub(1, 1) + mode_string = mode_string:sub(2) + local args = {...} + to = string.lower(to); + + if to:sub(1, 1) == "#" then + -- handle channel mode requests {{{ + base.assert(serverinfo.channels[to], + "Received mode change for unknown channel: " .. to) + local chan = serverinfo.channels[to] + local ind = 1 + for i = 1, mode_string:len() do + local mode = mode_string:sub(i, i) + local target = args[ind] + -- channel modes other than op/voice will be implemented as + -- information request commands + if mode == "o" then -- channel op {{{ + chan:_change_status(target, dir == "+", "o") + callback(({["+"] = "op", ["-"] = "deop"})[dir], + chan, from, target) + ind = ind + 1 + -- }}} + elseif mode == "v" then -- voice {{{ + chan:_change_status(target, dir == "+", "v") + callback(({["+"] = "voice", ["-"] = "devoice"})[dir], + chan, from, target) + ind = ind + 1 + -- }}} + end + end + -- }}} + elseif from == to then + -- handle user mode requests {{{ + -- TODO: make users more easily accessible so this is actually + -- reasonably possible + for i = 1, mode_string:len() do + local mode = mode_string:sub(i, i) + if mode == "i" then -- invisible {{{ + -- }}} + elseif mode == "s" then -- server messages {{{ + -- }}} + elseif mode == "w" then -- wallops messages {{{ + -- }}} + elseif mode == "o" then -- ircop {{{ + -- }}} + end + end + -- }}} + end +end +-- }}} + +-- on_topic {{{ +function handlers.on_topic(from, chan, new_topic) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic message for unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = new_topic + serverinfo.channels[chan]._topic.user = from + serverinfo.channels[chan]._topic.time = os.time() + if serverinfo.channels[chan].join_complete then + callback("topic_change", serverinfo.channels[chan]) + end +end +-- }}} + +-- on_invite {{{ +function handlers.on_invite(from, to, chan) + chan = string.lower(chan); + callback("invite", from, chan) +end +-- }}} + +-- on_kick {{{ +function handlers.on_kick(from, chan, to) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received kick message for unknown channel: " .. chan) + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_remove_user(to) + callback("kick", serverinfo.channels[chan], to, from) + end +end +-- }}} + +-- on_privmsg {{{ +function handlers.on_privmsg(from, to, msg) + local msgs = ctcp._ctcp_split(msg) + to = string.lower(to); + for _, v in base.ipairs(msgs) do + local msg = v.str + if v.ctcp then + -- ctcp message {{{ + local words = misc._split(msg) + local received_command = words[1] + local cb = "on_" .. received_command:lower() + table.remove(words, 1) + -- not using try_call here because the ctcp specification requires + -- an error response to nonexistant commands + if base.type(ctcp_handlers[cb]) == "function" then + ctcp_handlers[cb](from, to, table.concat(words, " ")) + else + notice(from, c("ERRMSG", received_command, ":Unknown query")) + end + -- }}} + else + -- normal message {{{ + if to:sub(1, 1) == "#" then + base.assert(serverinfo.channels[to], + "Received channel msg from unknown channel: " .. to) + callback("channel_msg", serverinfo.channels[to], from, msg) + else + callback("private_msg", from, msg) + end + -- }}} + end + end +end +-- }}} + +-- on_notice {{{ +function handlers.on_notice(from, to, msg) + local msgs = ctcp._ctcp_split(msg) + to = string.lower(to); + for _, v in base.ipairs(msgs) do + local msg = v.str + if v.ctcp then + -- ctcp message {{{ + local words = misc._split(msg) + local command = words[1]:lower() + table.remove(words, 1) + misc._try_call_warn("Unknown CTCP message: " .. command, + ctcp_handlers["on_rpl_"..command], from, to, + table.concat(words, ' ')) + -- }}} + else + -- normal message {{{ + if to:sub(1, 1) == "#" then + base.assert(serverinfo.channels[to], + "Received channel msg from unknown channel: " .. to) + callback("channel_notice", serverinfo.channels[to], from, msg) + else + callback("private_notice", from, msg) + end + -- }}} + end + end +end +-- }}} + +-- on_quit {{{ +function handlers.on_quit(from, quit_msg) + from = string.lower(from); + for name, chan in base.pairs(serverinfo.channels) do + chan:_remove_user(from) + end + callback("quit", from, quit_msg) +end +-- }}} + +-- on_ping {{{ +-- respond to server pings to make sure it knows we are alive +function handlers.on_ping(from, respond_to) + send("PONG", respond_to) +end +-- }}} +-- }}} + +-- server replies {{{ +-- on_rpl_topic {{{ +-- catch topic changes +function handlers.on_rpl_topic(from, chan, topic) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic information about unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = topic +end +-- }}} + +-- on_rpl_notopic {{{ +function handlers.on_rpl_notopic(from, chan) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic information about unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = "" +end +-- }}} + +-- on_rpl_topicdate {{{ +-- "topic was set by at

irc.NETWORK = irc.freenode.net
+-- Possible options are: +--
    +--
  • network: address of the irc network to connect to +-- (default: 'localhost')
  • +--
  • port: port to connect to +-- (default: '6667')
  • +--
  • pass: irc server password +-- (default: don't send)
  • +--
  • nick: nickname to connect as +-- (default: 'luabot')
  • +--
  • username: username to connect with +-- (default: 'LuaIRC')
  • +--
  • realname: realname to connect with +-- (default: 'LuaIRC')
  • +--
  • timeout: amount of time in seconds to wait before +-- dropping an idle connection +-- (default: '60')
  • +--
+function connect(args) + local network = args.network or NETWORK + local port = args.port or PORT + local nick = args.nick or NICK + local username = args.username or USERNAME + local realname = args.realname or REALNAME + local timeout = args.timeout or TIMEOUT + serverinfo.connecting = true + if OUTFILE then irc_debug.set_output(OUTFILE) end + if DEBUG then irc_debug.enable() end + --irc_sock = base.assert(socket.connect(network, port)) + irc_sock = socket.connect(network, port); + if (not irc_sock) then return false; end + irc_sock:settimeout(timeout) + _register_socket(irc_sock, 'r', incoming_message) + _register_socket(irc_sock, 'w', outgoing_message) + if args.pass then send("PASS", args.pass) end + send("NICK", nick) + send("USER", username, get_ip(), network, realname) + --begin_main_loop() + return true, irc_sock; +end +-- }}} + +-- quit {{{ +--- +-- Close the connection to the irc server. +-- @param message Quit message (optional, defaults to 'Leaving') +function quit(message) + message = message or "Leaving" + send("QUIT", message) + serverinfo.connected = false +end +-- }}} + +-- join {{{ +--- +-- Join a channel. +-- @param channel Channel to join +function join(channel) + if not channel then return end + serverinfo.channels[channel] = Channel.new(channel) + send("JOIN", channel) +end +-- }}} + +-- part {{{ +--- +-- Leave a channel. +-- @param channel Channel to leave +function part(channel) + if not channel then return end + serverinfo.channels[channel] = nil + send("PART", channel) +end +-- }}} + +-- say {{{ +--- +-- Send a message to a user or channel. +-- @param name User or channel to send the message to +-- @param message Message to send +function say(name, message) + if not name then return end + message = message or "" + send("PRIVMSG", name, message) +end +-- }}} + +-- notice {{{ +--- +-- Send a notice to a user or channel. +-- @param name User or channel to send the notice to +-- @param message Message to send +function notice(name, message) + if not name then return end + message = message or "" + send("NOTICE", name, message) +end +-- }}} + +-- act {{{ +--- +-- Perform a /me action. +-- @param name User or channel to send the action to +-- @param action Action to send +function act(name, action) + if not name then return end + action = action or "" + send("PRIVMSG", name, c("ACTION", action)) +end +-- }}} +-- }}} + +-- information requests {{{ +-- server_version {{{ +--- +-- Request the version of the IRC server you are currently connected to. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback will contain the fields: +--
    +--
  • server: the server which responded to the request
  • +--
  • version: the server version
  • +--
  • comments: other data provided by the server
  • +--
+function server_version(cb) + -- apparently the optional server parameter isn't supported for servers + -- which you are not directly connected to (freenode specific?) + local server = serverinfo.host + if not icallbacks.serverversion[server] then + icallbacks.serverversion[server] = {cb} + send("VERSION", server) + else + table.insert(icallbacks.serverversion[server], cb) + end +end +-- }}} + +-- whois {{{ +-- TODO: allow server parameter (to get user idle time) +--- +-- Request WHOIS information about a given user. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback may contain any or all of the +-- fields: +--
    +--
  • nick: the nick that was passed to this function +-- (this field will always be here)
  • +--
  • user: the IRC username of the user
  • +--
  • host: the user's hostname
  • +--
  • realname: the IRC realname of the user
  • +--
  • server: the IRC server the user is connected to
  • +--
  • serverinfo: arbitrary information about the above +-- server
  • +--
  • awaymsg: set to the user's away message if they are +-- away
  • +--
  • is_oper: true if the user is an IRCop
  • +--
  • idle_time: amount of time the user has been idle
  • +--
  • channels: array containing the channels the user has +-- joined
  • +--
+-- @param nick User to request WHOIS information about +function whois(cb, nick) + nick = nick:lower() + requestinfo.whois[nick] = {} + if not icallbacks.whois[nick] then + icallbacks.whois[nick] = {cb} + send("WHOIS", nick) + else + table.insert(icallbacks.whois[nick], cb) + end +end +-- }}} + +-- server_time {{{ +--- +-- Request the current time of the server you are connected to. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback will contain the fields: +--
    +--
  • server: the server which responded to the request
  • +--
  • time: the time reported by the server
  • +--
+function server_time(cb) + -- apparently the optional server parameter isn't supported for servers + -- which you are not directly connected to (freenode specific?) + local server = serverinfo.host + if not icallbacks.servertime[server] then + icallbacks.servertime[server] = {cb} + send("TIME", server) + else + table.insert(icallbacks.servertime[server], cb) + end +end +-- }}} +-- }}} + +-- ctcp commands {{{ +-- ctcp_ping {{{ +--- +-- Send a CTCP ping request. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback will contain the fields: +--
    +--
  • nick: the nick which responded to the request
  • +--
  • time: the roundtrip ping time, in seconds
  • +--
+-- @param nick User to ping +function ctcp_ping(cb, nick) + nick = nick:lower() + if not icallbacks.ctcp_ping[nick] then + icallbacks.ctcp_ping[nick] = {cb} + say(nick, c("PING", os.time())) + else + table.insert(icallbacks.ctcp_ping[nick], cb) + end +end +-- }}} + +-- ctcp_time {{{ +--- +-- Send a localtime request. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback will contain the fields: +--
    +--
  • nick: the nick which responded to the request
  • +--
  • time: the localtime reported by the remote client
  • +--
+-- @param nick User to request the localtime from +function ctcp_time(cb, nick) + nick = nick:lower() + if not icallbacks.ctcp_time[nick] then + icallbacks.ctcp_time[nick] = {cb} + say(nick, c("TIME")) + else + table.insert(icallbacks.ctcp_time[nick], cb) + end +end +-- }}} + +-- ctcp_version {{{ +--- +-- Send a client version request. +-- @param cb Callback to call when the information is available. The single +-- table parameter to this callback will contain the fields: +--
    +--
  • nick: the nick which responded to the request
  • +--
  • version: the version reported by the remote client
  • +--
+-- @param nick User to request the client version from +function ctcp_version(cb, nick) + nick = nick:lower() + if not icallbacks.ctcp_version[nick] then + icallbacks.ctcp_version[nick] = {cb} + say(nick, c("VERSION")) + else + table.insert(icallbacks.ctcp_version[nick], cb) + end +end +-- }}} +-- }}} + +-- callback functions {{{ +-- register_callback {{{ +--- +-- Register a user function to be called when a specific event occurs. +-- @param name Name of the event +-- @param fn Function to call when the event occurs, or nil to clear the +-- callback for this event +-- @return Value of the original callback for this event (or nil if no previous +-- callback had been set) +function register_callback(name, fn) + local old_handler = user_handlers[name] + user_handlers[name] = fn + return old_handler +end +-- }}} +-- }}} + +-- misc functions {{{ +-- send {{{ +-- TODO: CTCP quoting should be explicit, this table thing is quite ugly (if +-- convenient) +--- +-- Send a raw IRC command. +-- @param command String containing the raw IRC command +-- @param ... Arguments to the command. Each argument is either a string or +-- an array. Strings are sent literally, arrays are CTCP quoted +-- as a group. The last argument (if it exists) is preceded by +-- a : (so it may contain spaces). +function send(command, ...) + if not serverinfo.connected and not serverinfo.connecting then return end + local message = command + for i, v in base.ipairs({...}) do + if i == #{...} then + v = ":" .. v + end + message = message .. " " .. v + end + message = ctcp._low_quote(message) + -- we just truncate for now. -2 to account for the \r\n + message = message:sub(1, constants.IRC_MAX_MSG - 2) + irc_debug._message("SEND", message) + irc_sock:send(message .. "\r\n") +end +-- }}} + +-- get_ip {{{ +--- +-- Get the local IP address for the server connection. +-- @return A string representation of the local IP address that the IRC server +-- connection is communicating on +function get_ip() + return (ip or irc_sock:getsockname()) +end +-- }}} + +-- set_ip {{{ +--- +-- Set the local IP manually (to allow for NAT workarounds) +-- @param new_ip IP address to set +function set_ip(new_ip) + ip = new_ip +end +-- }}} + +-- channels {{{ +-- TODO: @see doesn't currently work for files/modules +--- +-- Iterate over currently joined channels. +-- channels() is an iterator function for use in for loops. +-- For example,
for chan in irc.channels() do print(chan:name) end
+-- @see irc.channel +function channels() + return function(state, arg) + return misc._value_iter(state, arg, + function(v) + return v.join_complete + end) + end, + serverinfo.channels, + nil +end +-- }}} +-- }}} +-- }}} diff --git a/mods/irc/irc/channel.lua b/mods/irc/irc/channel.lua new file mode 100644 index 0000000..82bca71 --- /dev/null +++ b/mods/irc/irc/channel.lua @@ -0,0 +1,475 @@ +--- +-- Implementation of the Channel class + +-- initialization {{{ +local base = _G +local irc = require 'irc' +local misc = require 'irc.misc' +local socket = require 'socket' +local table = require 'table' +-- }}} + +--- +-- This module implements a channel object representing a single channel we +-- have joined. +module 'irc.channel' + +-- object metatable {{{ +-- TODO: this
shouldn't be necessary - bug in luadoc +--- +-- An object of the Channel class represents a single joined channel. It has +-- several table fields, and can be used in string contexts (returning the +-- channel name).
+-- @class table +-- @name Channel +-- @field name Name of the channel (read only) +-- @field topic Channel topic, if set (read/write, writing to this sends a +-- topic change request to the server for this channel) +-- @field chanmode Channel mode (public/private/secret) (read only) +-- @field members Array of all members of this channel +local mt = { + -- __index() {{{ + __index = function(self, key) + if key == "name" then + return self._name + elseif key == "topic" then + return self._topic + elseif key == "chanmode" then + return self._chanmode + else + return _M[key] + end + end, + -- }}} + -- __newindex() {{{ + __newindex = function(self, key, value) + if key == "name" then + return + elseif key == "topic" then + irc.send("TOPIC", self._name, value) + elseif key == "chanmode" then + return + else + base.rawset(self, key, value) + end + end, + -- }}} + -- __concat() {{{ + __concat = function(first, second) + local first_str, second_str + + if base.type(first) == "table" then + first_str = first._name + else + first_str = first + end + if base.type(second) == "table" then + second_str = second._name + else + second_str = second + end + + return first_str .. second_str + end, + -- }}} + -- __tostring() {{{ + __tostring = function(self) + return self._name + end + -- }}} +} +-- }}} + +-- private methods {{{ +-- set_basic_mode {{{ +-- +-- Sets a no-arg mode on a channel. +-- @name chan:set_basic_mode +-- @param self Channel object +-- @param set True to set the mode, false to unset it +-- @param letter Letter of the mode +local function set_basic_mode(self, set, letter) + if set then + irc.send("MODE", self.name, "+" .. letter) + else + irc.send("MODE", self.name, "-" .. letter) + end +end +-- }}} +-- }}} + +-- internal methods {{{ +-- TODO: is there a better way to do this? also, storing op/voice as initial +-- substrings of the username is just ugly +-- _add_user {{{ +-- +-- Add a user to the channel's internal user list. +-- @param self Channel object +-- @param user Nick of the user to add +-- @param mode Mode (op/voice) of the user, in symbolic form (@/+) +function _add_user(self, user, mode) + mode = mode or '' + self._members[user] = mode .. user +end +-- }}} + +-- _remove_user {{{ +-- +-- Remove a user from the channel's internal user list. +-- @param self Channel object +-- @param user Nick of the user to remove +function _remove_user(self, user) + self._members[user] = nil +end +-- }}} + +-- _change_status {{{ +-- +-- Change the op/voice status of a user in the channel's internal user list. +-- @param self Channel object +-- @param user Nick of the user to affect +-- @param on True if the mode is being set, false if it's being unset +-- @param mode 'o' for op, 'v' for voice +function _change_status(self, user, on, mode) + if on then + if mode == 'o' then + self._members[user] = '@' .. user + elseif mode == 'v' then + self._members[user] = '+' .. user + end + else + if (mode == 'o' and self._members[user]:sub(1, 1) == '@') or + (mode == 'v' and self._members[user]:sub(1, 1) == '+') then + self._members[user] = user + end + end +end +-- }}} + +-- _change_nick {{{ +-- +-- Change the nick of a user in the channel's internal user list. +-- @param self Channel object +-- @param old_nick User's old nick +-- @param new_nick User's new nick +function _change_nick(self, old_nick, new_nick) + for member in self:each_member() do + local member_nick = member:gsub('@+', '') + if member_nick == old_nick then + local mode = self._members[old_nick]:sub(1, 1) + if mode ~= '@' and mode ~= '+' then mode = "" end + self._members[old_nick] = nil + self._members[new_nick] = mode .. new_nick + break + end + end +end +-- }}} +-- }}} + +-- constructor {{{ +--- +-- Creates a new Channel object. +-- @param chan Name of the new channel +-- @return The new channel instance +function new(chan) + return base.setmetatable({_name = chan, _topic = {}, _chanmode = "", + _members = {}}, mt) +end +-- }}} + +-- public methods {{{ +-- iterators {{{ +-- each_op {{{ +--- +-- Iterator over the ops in the channel +-- @param self Channel object +function each_op(self) + return function(state, arg) + return misc._value_iter(state, arg, + function(v) + return v:sub(1, 1) == "@" + end) + end, + self._members, + nil +end +-- }}} + +-- each_voice {{{ +--- +-- Iterator over the voiced users in the channel +-- @param self Channel object +function each_voice(self) + return function(state, arg) + return misc._value_iter(state, arg, + function(v) + return v:sub(1, 1) == "+" + end) + end, + self._members, + nil +end +-- }}} + +-- each_user {{{ +--- +-- Iterator over the normal users in the channel +-- @param self Channel object +function each_user(self) + return function(state, arg) + return misc._value_iter(state, arg, + function(v) + return v:sub(1, 1) ~= "@" and + v:sub(1, 1) ~= "+" + end) + end, + self._members, + nil +end +-- }}} + +-- each_member {{{ +--- +-- Iterator over all users in the channel +-- @param self Channel object +function each_member(self) + return misc._value_iter, self._members, nil +end +-- }}} +-- }}} + +-- return tables of users {{{ +-- ops {{{ +--- +-- Gets an array of all the ops in the channel. +-- @param self Channel object +-- @return Array of channel ops +function ops(self) + local ret = {} + for nick in self:each_op() do + table.insert(ret, nick) + end + return ret +end +-- }}} + +-- voices {{{ +--- +-- Gets an array of all the voiced users in the channel. +-- @param self Channel object +-- @return Array of channel voiced users +function voices(self) + local ret = {} + for nick in self:each_voice() do + table.insert(ret, nick) + end + return ret +end +-- }}} + +-- users {{{ +--- +-- Gets an array of all the normal users in the channel. +-- @param self Channel object +-- @return Array of channel normal users +function users(self) + local ret = {} + for nick in self:each_user() do + table.insert(ret, nick) + end + return ret +end +-- }}} + +-- members {{{ +--- +-- Gets an array of all the users in the channel. +-- @param self Channel object +-- @return Array of channel users +function members(self) + local ret = {} + -- not just returning self._members, since the return value shouldn't be + -- modifiable + for nick in self:each_member() do + table.insert(ret, nick) + end + return ret +end +-- }}} +-- }}} + +-- setting modes {{{ +-- ban {{{ +-- TODO: hmmm, this probably needs an appropriate mask, rather than a nick +--- +-- Ban a user from a channel. +-- @param self Channel object +-- @param name User to ban +function ban(self, name) + irc.send("MODE", self.name, "+b", name) +end +-- }}} + +-- unban {{{ +-- TODO: same here +--- +-- Remove a ban on a user. +-- @param self Channel object +-- @param name User to unban +function unban(self, name) + irc.send("MODE", self.name, "-b", name) +end +-- }}} + +-- voice {{{ +--- +-- Give a user voice on a channel. +-- @param self Channel object +-- @param name User to give voice to +function voice(self, name) + irc.send("MODE", self.name, "+v", name) +end +-- }}} + +-- devoice {{{ +--- +-- Remove voice from a user. +-- @param self Channel object +-- @param name User to remove voice from +function devoice(self, name) + irc.send("MODE", self.name, "-v", name) +end +-- }}} + +-- op {{{ +--- +-- Give a user ops on a channel. +-- @param self Channel object +-- @param name User to op +function op(self, name) + irc.send("MODE", self.name, "+o", name) +end +-- }}} + +-- deop {{{ +--- +-- Remove ops from a user. +-- @param self Channel object +-- @param name User to remove ops from +function deop(self, name) + irc.send("MODE", self.name, "-o", name) +end +-- }}} + +-- set_limit {{{ +--- +-- Set a channel limit. +-- @param self Channel object +-- @param new_limit New value for the channel limit (optional; limit is unset +-- if this argument isn't passed) +function set_limit(self, new_limit) + if new_limit then + irc.send("MODE", self.name, "+l", new_limit) + else + irc.send("MODE", self.name, "-l") + end +end +-- }}} + +-- set_key {{{ +--- +-- Set a channel password. +-- @param self Channel object +-- @param key New channel password (optional; password is unset if this +-- argument isn't passed) +function set_key(self, key) + if key then + irc.send("MODE", self.name, "+k", key) + else + irc.send("MODE", self.name, "-k") + end +end +-- }}} + +-- set_private {{{ +--- +-- Set the private state of a channel. +-- @param self Channel object +-- @param set True to set the channel as private, false to unset it +function set_private(self, set) + set_basic_mode(self, set, "p") +end +-- }}} + +-- set_secret {{{ +--- +-- Set the secret state of a channel. +-- @param self Channel object +-- @param set True to set the channel as secret, false to unset it +function set_secret(self, set) + set_basic_mode(self, set, "s") +end +-- }}} + +-- set_invite_only {{{ +--- +-- Set whether joining the channel requires an invite. +-- @param self Channel object +-- @param set True to set the channel invite only, false to unset it +function set_invite_only(self, set) + set_basic_mode(self, set, "i") +end +-- }}} + +-- set_topic_lock {{{ +--- +-- If true, the topic can only be changed by an op. +-- @param self Channel object +-- @param set True to lock the topic, false to unlock it +function set_topic_lock(self, set) + set_basic_mode(self, set, "t") +end +-- }}} + +-- set_no_outside_messages {{{ +--- +-- If true, users must be in the channel to send messages to it. +-- @param self Channel object +-- @param set True to require users to be in the channel to send messages to +-- it, false to remove this restriction +function set_no_outside_messages(self, set) + set_basic_mode(self, set, "n") +end +-- }}} + +-- set moderated {{{ +--- +-- Set whether voice is required to speak. +-- @param self Channel object +-- @param set True to set the channel as moderated, false to unset it +function set_moderated(self, set) + set_basic_mode(self, set, "m") +end +-- }}} +-- }}} + +-- accessors {{{ +-- contains {{{ +--- +-- Test if a user is in the channel. +-- @param self Channel object +-- @param nick Nick to search for +-- @return True if the nick is in the channel, false otherwise +function contains(self, nick) + for member in self:each_member() do + local member_nick = member:gsub('@+', '') + if member_nick == nick then + return true + end + end + return false +end +-- }}} +-- }}} +-- }}} diff --git a/mods/irc/irc/constants.lua b/mods/irc/irc/constants.lua new file mode 100644 index 0000000..b26cecb --- /dev/null +++ b/mods/irc/irc/constants.lua @@ -0,0 +1,191 @@ +--- +-- This module holds various constants used by the IRC protocol. +module "irc.constants" + +-- protocol constants {{{ +IRC_MAX_MSG = 512 +-- }}} + +-- server replies {{{ +replies = { +-- Command responses {{{ + [001] = "RPL_WELCOME", + [002] = "RPL_YOURHOST", + [003] = "RPL_CREATED", + [004] = "RPL_MYINFO", + [005] = "RPL_BOUNCE", + [302] = "RPL_USERHOST", + [303] = "RPL_ISON", + [301] = "RPL_AWAY", + [305] = "RPL_UNAWAY", + [306] = "RPL_NOWAWAY", + [311] = "RPL_WHOISUSER", + [312] = "RPL_WHOISSERVER", + [313] = "RPL_WHOISOPERATOR", + [317] = "RPL_WHOISIDLE", + [318] = "RPL_ENDOFWHOIS", + [319] = "RPL_WHOISCHANNELS", + [314] = "RPL_WHOWASUSER", + [369] = "RPL_ENDOFWHOWAS", + [321] = "RPL_LISTSTART", + [322] = "RPL_LIST", + [323] = "RPL_LISTEND", + [325] = "RPL_UNIQOPIS", + [324] = "RPL_CHANNELMODEIS", + [331] = "RPL_NOTOPIC", + [332] = "RPL_TOPIC", + [341] = "RPL_INVITING", + [342] = "RPL_SUMMONING", + [346] = "RPL_INVITELIST", + [347] = "RPL_ENDOFINVITELIST", + [348] = "RPL_EXCEPTLIST", + [349] = "RPL_ENDOFEXCEPTLIST", + [351] = "RPL_VERSION", + [352] = "RPL_WHOREPLY", + [315] = "RPL_ENDOFWHO", + [353] = "RPL_NAMREPLY", + [366] = "RPL_ENDOFNAMES", + [364] = "RPL_LINKS", + [365] = "RPL_ENDOFLINKS", + [367] = "RPL_BANLIST", + [368] = "RPL_ENDOFBANLIST", + [371] = "RPL_INFO", + [374] = "RPL_ENDOFINFO", + [375] = "RPL_MOTDSTART", + [372] = "RPL_MOTD", + [376] = "RPL_ENDOFMOTD", + [381] = "RPL_YOUREOPER", + [382] = "RPL_REHASHING", + [383] = "RPL_YOURESERVICE", + [391] = "RPL_TIME", + [392] = "RPL_USERSSTART", + [393] = "RPL_USERS", + [394] = "RPL_ENDOFUSERS", + [395] = "RPL_NOUSERS", + [200] = "RPL_TRACELINK", + [201] = "RPL_TRACECONNECTING", + [202] = "RPL_TRACEHANDSHAKE", + [203] = "RPL_TRACEUNKNOWN", + [204] = "RPL_TRACEOPERATOR", + [205] = "RPL_TRACEUSER", + [206] = "RPL_TRACESERVER", + [207] = "RPL_TRACESERVICE", + [208] = "RPL_TRACENEWTYPE", + [209] = "RPL_TRACECLASS", + [210] = "RPL_TRACERECONNECT", + [261] = "RPL_TRACELOG", + [262] = "RPL_TRACEEND", + [211] = "RPL_STATSLINKINFO", + [212] = "RPL_STATSCOMMANDS", + [219] = "RPL_ENDOFSTATS", + [242] = "RPL_STATSUPTIME", + [243] = "RPL_STATSOLINE", + [221] = "RPL_UMODEIS", + [234] = "RPL_SERVLIST", + [235] = "RPL_SERVLISTEND", + [221] = "RPL_UMODEIS", + [251] = "RPL_LUSERCLIENT", + [252] = "RPL_LUSEROP", + [253] = "RPL_LUSERUNKNOWN", + [254] = "RPL_LUSERCHANNELS", + [255] = "RPL_LUSERME", + [256] = "RPL_ADMINME", + [257] = "RPL_ADMINLOC1", + [258] = "RPL_ADMINLOC2", + [259] = "RPL_ADMINEMAIL", + [263] = "RPL_TRYAGAIN", +-- }}} +-- Error codes {{{ + [401] = "ERR_NOSUCHNICK", -- No such nick/channel + [402] = "ERR_NOSUCHSERVER", -- No such server + [403] = "ERR_NOSUCHCHANNEL", -- No such channel + [404] = "ERR_CANNOTSENDTOCHAN", -- Cannot send to channel + [405] = "ERR_TOOMANYCHANNELS", -- You have joined too many channels + [406] = "ERR_WASNOSUCHNICK", -- There was no such nickname + [407] = "ERR_TOOMANYTARGETS", -- Duplicate recipients. No message delivered + [408] = "ERR_NOSUCHSERVICE", -- No such service + [409] = "ERR_NOORIGIN", -- No origin specified + [411] = "ERR_NORECIPIENT", -- No recipient given + [412] = "ERR_NOTEXTTOSEND", -- No text to send + [413] = "ERR_NOTOPLEVEL", -- No toplevel domain specified + [414] = "ERR_WILDTOPLEVEL", -- Wildcard in toplevel domain + [415] = "ERR_BADMASK", -- Bad server/host mask + [421] = "ERR_UNKNOWNCOMMAND", -- Unknown command + [422] = "ERR_NOMOTD", -- MOTD file is missing + [423] = "ERR_NOADMININFO", -- No administrative info available + [424] = "ERR_FILEERROR", -- File error + [431] = "ERR_NONICKNAMEGIVEN", -- No nickname given + [432] = "ERR_ERRONEUSNICKNAME", -- Erroneus nickname + [433] = "ERR_NICKNAMEINUSE", -- Nickname is already in use + [436] = "ERR_NICKCOLLISION", -- Nickname collision KILL + [437] = "ERR_UNAVAILRESOURCE", -- Nick/channel is temporarily unavailable + [441] = "ERR_USERNOTINCHANNEL", -- They aren't on that channel + [442] = "ERR_NOTONCHANNEL", -- You're not on that channel + [443] = "ERR_USERONCHANNEL", -- User is already on channel + [444] = "ERR_NOLOGIN", -- User not logged in + [445] = "ERR_SUMMONDISABLED", -- SUMMON has been disabled + [446] = "ERR_USERSDISABLED", -- USERS has been disabled + [451] = "ERR_NOTREGISTERED", -- You have not registered + [461] = "ERR_NEEDMOREPARAMS", -- Not enough parameters + [462] = "ERR_ALREADYREGISTERED", -- You may not reregister + [463] = "ERR_NOPERMFORHOST", -- Your host isn't among the privileged + [464] = "ERR_PASSWDMISMATCH", -- Password incorrect + [465] = "ERR_YOUREBANNEDCREEP", -- You are banned from this server + [466] = "ERR_YOUWILLBEBANNED", + [467] = "ERR_KEYSET", -- Channel key already set + [471] = "ERR_CHANNELISFULL", -- Cannot join channel (+l) + [472] = "ERR_UNKNOWNMODE", -- Unknown mode char + [473] = "ERR_INVITEONLYCHAN", -- Cannot join channel (+i) + [474] = "ERR_BANNEDFROMCHAN", -- Cannot join channel (+b) + [475] = "ERR_BADCHANNELKEY", -- Cannot join channel (+k) + [476] = "ERR_BADCHANMASK", -- Bad channel mask + [477] = "ERR_NOCHANMODES", -- Channel doesn't support modes + [478] = "ERR_BANLISTFULL", -- Channel list is full + [481] = "ERR_NOPRIVILEGES", -- Permission denied- You're not an IRC operator + [482] = "ERR_CHANOPRIVSNEEDED", -- You're not channel operator + [483] = "ERR_CANTKILLSERVER", -- You can't kill a server! + [484] = "ERR_RESTRICTED", -- Your connection is restricted! + [485] = "ERR_UNIQOPPRIVSNEEDED", -- You're not the original channel operator + [491] = "ERR_NOOPERHOST", -- No O-lines for your host + [501] = "ERR_UMODEUNKNOWNFLAG", -- Unknown MODE flag + [502] = "ERR_USERSDONTMATCH", -- Can't change mode for other users +-- }}} +-- unused {{{ + [231] = "RPL_SERVICEINFO", + [232] = "RPL_ENDOFSERVICES", + [233] = "RPL_SERVICE", + [300] = "RPL_NONE", + [316] = "RPL_WHOISCHANOP", + [361] = "RPL_KILLDONE", + [362] = "RPL_CLOSING", + [363] = "RPL_CLOSEEND", + [373] = "RPL_INFOSTART", + [384] = "RPL_MYPORTIS", + [213] = "RPL_STATSCLINE", + [214] = "RPL_STATSNLINE", + [215] = "RPL_STATSILINE", + [216] = "RPL_STATSKLINE", + [217] = "RPL_STATSQLINE", + [218] = "RPL_STATSYLINE", + [240] = "RPL_STATSVLINE", + [241] = "RPL_STATSLLINE", + [244] = "RPL_STATSHLINE", + [246] = "RPL_STATSPING", + [247] = "RPL_STATSBLINE", + [250] = "RPL_STATSDLINE", + [492] = "ERR_NOSERVICEHOST", +-- }}} +-- guesses {{{ + [333] = "RPL_TOPICDATE", -- date the topic was set, in seconds since the epoch + [505] = "ERR_NOTREGISTERED" -- freenode blocking privmsg from unreged users +-- }}} +} +-- }}} + +-- chanmodes {{{ +chanmodes = { + ["@"] = "secret", + ["*"] = "private", + ["="] = "public" +} +-- }}} diff --git a/mods/irc/irc/ctcp.lua b/mods/irc/irc/ctcp.lua new file mode 100644 index 0000000..c77cae8 --- /dev/null +++ b/mods/irc/irc/ctcp.lua @@ -0,0 +1,115 @@ +--- +-- Implementation of the CTCP protocol +-- initialization {{{ +local base = _G +local table = require "table" +-- }}} + +--- +-- This module implements the various quoting and escaping requirements of the +-- CTCP protocol. +module "irc.ctcp" + +-- internal functions {{{ +-- _low_quote {{{ +-- +-- Applies low level quoting to a string (escaping characters which are illegal +-- to appear in an IRC packet). +-- @param ... Strings to quote together, space separated +-- @return Quoted string +function _low_quote(...) + local str = table.concat({...}, " ") + return str:gsub("[%z\n\r\020]", {["\000"] = "\0200", + ["\n"] = "\020n", + ["\r"] = "\020r", + ["\020"] = "\020\020"}) +end +-- }}} + +-- _low_dequote {{{ +-- +-- Removes low level quoting done by low_quote. +-- @param str String with low level quoting applied to it +-- @return String with those quoting methods stripped off +function _low_dequote(str) + return str:gsub("\020(.?)", function(s) + if s == "0" then return "\000" end + if s == "n" then return "\n" end + if s == "r" then return "\r" end + if s == "\020" then return "\020" end + return "" + end) +end +-- }}} + +-- _ctcp_quote {{{ +-- +-- Applies CTCP quoting to a block of text which has been identified as CTCP +-- data (by the calling program). +-- @param ... Strings to apply CTCP quoting to together, space separated +-- @return String with CTCP quoting applied +function _ctcp_quote(...) + local str = table.concat({...}, " ") + local ret = str:gsub("[\001\\]", {["\001"] = "\\a", + ["\\"] = "\\\\"}) + return "\001" .. ret .. "\001" +end +-- }}} + +-- _ctcp_dequote {{{ +-- +-- Removes CTCP quoting from a block of text which has been identified as CTCP +-- data (likely by ctcp_split). +-- @param str String with CTCP quoting +-- @return String with all CTCP quoting stripped +function _ctcp_dequote(str) + local ret = str:gsub("^\001", ""):gsub("\001$", "") + return ret:gsub("\\(.?)", function(s) + if s == "a" then return "\001" end + if s == "\\" then return "\\" end + return "" + end) +end +-- }}} + +-- _ctcp_split {{{ +-- +-- Splits a low level dequoted string into normal text and unquoted CTCP +-- messages. +-- @param str Low level dequoted string +-- @return Array of tables, with each entry in the array corresponding to one +-- part of the split message. These tables will have these fields: +--
    +--
  • str: The text of the split section
  • +--
  • ctcp: True if the section was a CTCP message, false +-- otherwise
  • +--
+function _ctcp_split(str) + local ret = {} + local iter = 1 + while true do + local s, e = str:find("\001.*\001", iter) + + local plain_string, ctcp_string + if not s then + plain_string = str:sub(iter, -1) + else + plain_string = str:sub(iter, s - 1) + ctcp_string = str:sub(s, e) + end + + if plain_string ~= "" then + table.insert(ret, {str = plain_string, ctcp = false}) + end + if not s then break end + if ctcp_string ~= "" then + table.insert(ret, {str = _ctcp_dequote(ctcp_string), ctcp = true}) + end + + iter = e + 1 + end + + return ret +end +-- }}} +-- }}} diff --git a/mods/irc/irc/dcc.lua b/mods/irc/irc/dcc.lua new file mode 100644 index 0000000..6e8537e --- /dev/null +++ b/mods/irc/irc/dcc.lua @@ -0,0 +1,196 @@ +--- +-- Implementation of the DCC protocol +-- initialization {{{ +local base = _G +local irc = require 'irc' +local ctcp = require 'irc.ctcp' +local c = ctcp._ctcp_quote +local irc_debug = require 'irc.debug' +local misc = require 'irc.misc' +local socket = require 'socket' +local coroutine = require 'coroutine' +local io = require 'io' +local string = require 'string' +-- }}} + +--- +-- This module implements the DCC protocol. File transfers (DCC SEND) are +-- handled, but DCC CHAT is not, as of yet. +module 'irc.dcc' + +-- defaults {{{ +FIRST_PORT = 1028 +LAST_PORT = 5000 +-- }}} + +-- private functions {{{ +-- debug_dcc {{{ +-- +-- Prints a debug message about DCC events similar to irc.debug.warn, etc. +-- @param msg Debug message +local function debug_dcc(msg) + irc_debug._message("DCC", msg, "\027[0;32m") +end +-- }}} + +-- send_file {{{ +-- +-- Sends a file to a remote user, after that user has accepted our DCC SEND +-- invitation +-- @param sock Socket to send the file on +-- @param file Lua file object corresponding to the file we want to send +-- @param packet_size Size of the packets to send the file in +local function send_file(sock, file, packet_size) + local bytes = 0 + while true do + local packet = file:read(packet_size) + if not packet then break end + bytes = bytes + packet:len() + local index = 1 + while true do + local skip = false + sock:send(packet, index) + local new_bytes, err = sock:receive(4) + if not new_bytes then + if err == "timeout" then + skip = true + else + irc_debug._warn(err) + break + end + else + new_bytes = misc._int_to_str(new_bytes) + end + if not skip then + if new_bytes ~= bytes then + index = packet_size - bytes + new_bytes + 1 + else + break + end + end + end + coroutine.yield(true) + end + debug_dcc("File completely sent") + file:close() + sock:close() + irc._unregister_socket(sock, 'w') + return true +end +-- }}} + +-- handle_connect {{{ +-- +-- Handle the connection attempt by a remote user to get our file. Basically +-- just swaps out the server socket we were listening on for a client socket +-- that we can send data on +-- @param ssock Server socket that the remote user connected to +-- @param file Lua file object corresponding to the file we want to send +-- @param packet_size Size of the packets to send the file in +local function handle_connect(ssock, file, packet_size) + debug_dcc("Offer accepted, beginning to send") + packet_size = packet_size or 1024 + local sock = ssock:accept() + sock:settimeout(0.1) + ssock:close() + irc._unregister_socket(ssock, 'r') + irc._register_socket(sock, 'w', + coroutine.wrap(function(s) + return send_file(s, file, packet_size) + end)) + return true +end +-- }}} + +-- accept_file {{{ +-- +-- Accepts a file from a remote user which has offered it to us. +-- @param sock Socket to receive the file on +-- @param file Lua file object corresponding to the file we want to save +-- @param packet_size Size of the packets to receive the file in +local function accept_file(sock, file, packet_size) + local bytes = 0 + while true do + local packet, err, partial_packet = sock:receive(packet_size) + if not packet and err == "timeout" then packet = partial_packet end + if not packet then break end + if packet:len() == 0 then break end + bytes = bytes + packet:len() + sock:send(misc._str_to_int(bytes)) + file:write(packet) + coroutine.yield(true) + end + debug_dcc("File completely received") + file:close() + sock:close() + irc._unregister_socket(sock, 'r') + return true +end +-- }}} +-- }}} + +-- internal functions {{{ +-- _accept {{{ +-- +-- Accepts a file offer from a remote user. Called when the on_dcc callback +-- retuns true. +-- @param filename Name to save the file as +-- @param address IP address of the remote user in low level int form +-- @param port Port to connect to at the remote user +-- @param packet_size Size of the packets the remote user will be sending +function _accept(filename, address, port, packet_size) + debug_dcc("Accepting a DCC SEND request from " .. address .. ":" .. port) + packet_size = packet_size or 1024 + local sock = base.assert(socket.tcp()) + base.assert(sock:connect(address, port)) + sock:settimeout(0.1) + local file = base.assert(io.open(misc._get_unique_filename(filename), "w")) + irc._register_socket(sock, 'r', + coroutine.wrap(function(s) + return accept_file(s, file, packet_size) + end)) +end +-- }}} +-- }}} + +-- public functions {{{ +-- send {{{ +--- +-- Offers a file to a remote user. +-- @param nick User to offer the file to +-- @param filename Filename to offer +-- @param port Port to accept connections on (optional, defaults to +-- choosing an available port between FIRST_PORT and LAST_PORT +-- above) +function send(nick, filename, port) + port = port or FIRST_PORT + local sock + repeat + sock = base.assert(socket.tcp()) + err, msg = sock:bind('*', port) + port = port + 1 + until msg ~= "address already in use" and port <= LAST_PORT + 1 + port = port - 1 + base.assert(err, msg) + base.assert(sock:listen(1)) + local ip = misc._ip_str_to_int(irc.get_ip()) + local file, err = io.open(filename) + if not file then + irc_debug._warn(err) + sock:close() + return + end + local size = file:seek("end") + file:seek("set") + irc._register_socket(sock, 'r', + coroutine.wrap(function(s) + return handle_connect(s, file) + end)) + filename = misc._basename(filename) + if filename:find(" ") then filename = '"' .. filename .. '"' end + debug_dcc("Offering " .. filename .. " to " .. nick .. " from " .. + irc.get_ip() .. ":" .. port) + irc.send("PRIVMSG", nick, c("DCC", "SEND", filename, ip, port, size)) +end +-- }}} +-- }}} diff --git a/mods/irc/irc/debug.lua b/mods/irc/irc/debug.lua new file mode 100644 index 0000000..414b49d --- /dev/null +++ b/mods/irc/irc/debug.lua @@ -0,0 +1,92 @@ +--- +-- Basic debug output +-- initialization {{{ +local base = _G +local io = require 'io' +-- }}} + +--- +-- This module implements a few useful debug functions for use throughout the +-- rest of the code. +module 'irc.debug' + +-- defaults {{{ +COLOR = true +-- }}} + +-- local variables {{{ +local ON = false +local outfile = io.output() +-- }}} + +-- internal functions {{{ +-- _message {{{ +-- +-- Output a debug message. +-- @param msg_type Arbitrary string corresponding to the type of message +-- @param msg Message text +-- @param color Which terminal code to use for color output (defaults to +-- dark gray) +function _message(msg_type, msg, color) + if ON then + local endcolor = "" + if COLOR and outfile == io.stdout then + color = color or "\027[1;30m" + endcolor = "\027[0m" + else + color = "" + endcolor = "" + end + outfile:write(color .. msg_type .. ": " .. msg .. endcolor .. "\n") + end +end +-- }}} + +-- _err {{{ +-- +-- Signal an error. Writes the error message to the screen in red and calls +-- error(). +-- @param msg Error message +-- @see error +function _err(msg) + _message("ERR", msg, "\027[0;31m") + base.error(msg, 2) +end +-- }}} + +-- _warn {{{ +-- +-- Signal a warning. Writes the warning message to the screen in yellow. +-- @param msg Warning message +function _warn(msg) + _message("WARN", msg, "\027[0;33m") +end +-- }}} +-- }}} + +-- public functions {{{ +-- enable {{{ +--- +-- Turns on debug output. +function enable() + ON = true +end +-- }}} + +-- disable {{{ +--- +-- Turns off debug output. +function disable() + ON = false +end +-- }}} + +-- set_output {{{ +--- +-- Redirects output to a file rather than stdout. +-- @param file File to write debug output to +function set_output(file) + outfile = base.assert(io.open(file)) +end +-- }}} +-- }}} diff --git a/mods/irc/irc/message.lua b/mods/irc/irc/message.lua new file mode 100644 index 0000000..e05e87e --- /dev/null +++ b/mods/irc/irc/message.lua @@ -0,0 +1,69 @@ +--- +-- Implementation of IRC server message parsing +-- initialization {{{ +local base = _G +local constants = require 'irc.constants' +local ctcp = require 'irc.ctcp' +local irc_debug = require 'irc.debug' +local misc = require 'irc.misc' +local socket = require 'socket' +local string = require 'string' +local table = require 'table' +-- }}} + +--- +-- This module contains parsing functions for IRC server messages. +module 'irc.message' + +-- internal functions {{{ +-- _parse {{{ +-- +-- Parse a server command. +-- @param str Command to parse +-- @return Table containing the parsed message. It contains: +--
    +--
  • from: The source of this message, in full usermask +-- form (nick!user@host) for messages originating +-- from users, and as a hostname for messages from +-- servers
  • +--
  • command: The command sent, in name form if possible, +-- otherwise as a numeric code
  • +--
  • args: Array of strings corresponding to the arguments +-- to the received command
  • +-- +--
+function _parse(str) + -- low-level ctcp quoting {{{ + str = ctcp._low_dequote(str) + -- }}} + -- parse the from field, if it exists (leading :) {{{ + local from = "" + if str:sub(1, 1) == ":" then + local e + e, from = socket.skip(1, str:find("^:([^ ]*) ")) + str = str:sub(e + 1) + end + -- }}} + -- get the command name or numerical reply value {{{ + local command, argstr = socket.skip(2, str:find("^([^ ]*) ?(.*)")) + local reply = false + if command:find("^%d%d%d$") then + reply = true + if constants.replies[base.tonumber(command)] then + command = constants.replies[base.tonumber(command)] + else + irc_debug._warn("Unknown server reply: " .. command) + end + end + -- }}} + -- get the args {{{ + local args = misc._split(argstr, " ", ":") + -- the first arg in a reply is always your nick + if reply then table.remove(args, 1) end + -- }}} + -- return the parsed message {{{ + return {from = from, command = command, args = args} + -- }}} +end +-- }}} +-- }}} diff --git a/mods/irc/irc/misc.lua b/mods/irc/irc/misc.lua new file mode 100644 index 0000000..92c3ac4 --- /dev/null +++ b/mods/irc/irc/misc.lua @@ -0,0 +1,303 @@ +--- +-- Various useful functions that didn't fit anywhere else +-- initialization {{{ +local base = _G +local irc_debug = require 'irc.debug' +local socket = require 'socket' +local math = require 'math' +local os = require 'os' +local string = require 'string' +local table = require 'table' +-- }}} + +--- +-- This module contains various useful functions which didn't fit in any of the +-- other modules. +module 'irc.misc' + +-- defaults {{{ +DELIM = ' ' +PATH_SEP = '/' +ENDIANNESS = "big" +INT_BYTES = 4 +-- }}} + +-- private functions {{{ +-- +-- Check for existence of a file. This returns true if renaming a file to +-- itself succeeds. This isn't ideal (I think anyway) but it works here, and +-- lets me not have to bring in LFS as a dependency. +-- @param filename File to check for existence +-- @return True if the file exists, false otherwise +local function exists(filename) + local _, err = os.rename(filename, filename) + if not err then return true end + return not err:find("No such file or directory") +end +-- }}} + +-- internal functions {{{ +-- _split {{{ +-- +-- Splits str into substrings based on several options. +-- @param str String to split +-- @param delim String of characters to use as the beginning of substring +-- delimiter +-- @param end_delim String of characters to use as the end of substring +-- delimiter +-- @param lquotes String of characters to use as opening quotes (quoted strings +-- in str will be considered one substring) +-- @param rquotes String of characters to use as closing quotes +-- @return Array of strings, one for each substring that was separated out +function _split(str, delim, end_delim, lquotes, rquotes) + -- handle arguments {{{ + delim = "["..(delim or DELIM).."]" + if end_delim then end_delim = "["..end_delim.."]" end + if lquotes then lquotes = "["..lquotes.."]" end + if rquotes then rquotes = "["..rquotes.."]" end + local optdelim = delim .. "?" + -- }}} + + local ret = {} + local instring = false + while str:len() > 0 do + -- handle case for not currently in a string {{{ + if not instring then + local end_delim_ind, lquote_ind, delim_ind + if end_delim then end_delim_ind = str:find(optdelim..end_delim) end + if lquotes then lquote_ind = str:find(optdelim..lquotes) end + local delim_ind = str:find(delim) + if not end_delim_ind then end_delim_ind = str:len() + 1 end + if not lquote_ind then lquote_ind = str:len() + 1 end + if not delim_ind then delim_ind = str:len() + 1 end + local next_ind = math.min(end_delim_ind, lquote_ind, delim_ind) + if next_ind == str:len() + 1 then + table.insert(ret, str) + break + elseif next_ind == end_delim_ind then + -- TODO: hackish here + if str:sub(next_ind, next_ind) == end_delim:gsub('[%[%]]', '') then + table.insert(ret, str:sub(next_ind + 1)) + else + table.insert(ret, str:sub(1, next_ind - 1)) + table.insert(ret, str:sub(next_ind + 2)) + end + break + elseif next_ind == lquote_ind then + table.insert(ret, str:sub(1, next_ind - 1)) + str = str:sub(next_ind + 2) + instring = true + else -- last because the top two contain it + table.insert(ret, str:sub(1, next_ind - 1)) + str = str:sub(next_ind + 1) + end + -- }}} + -- handle case for currently in a string {{{ + else + local endstr = str:find(rquotes..optdelim) + table.insert(ret, str:sub(1, endstr - 1)) + str = str:sub(endstr + 2) + instring = false + end + -- }}} + end + return ret +end +-- }}} + +-- _basename {{{ +-- +-- Returns the basename of a file (the part after the last directory separator). +-- @param path Path to the file +-- @param sep Directory separator (optional, defaults to PATH_SEP) +-- @return The basename of the file +function _basename(path, sep) + sep = sep or PATH_SEP + if not path:find(sep) then return path end + return socket.skip(2, path:find(".*" .. sep .. "(.*)")) +end +-- }}} + +-- _dirname {{{ +-- +-- Returns the dirname of a file (the part before the last directory separator). +-- @param path Path to the file +-- @param sep Directory separator (optional, defaults to PATH_SEP) +-- @return The dirname of the file +function _dirname(path, sep) + sep = sep or PATH_SEP + if not path:find(sep) then return "." end + return socket.skip(2, path:find("(.*)" .. sep .. ".*")) +end +-- }}} + +-- _str_to_int {{{ +-- +-- Converts a number to a low-level int. +-- @param str String representation of the int +-- @param bytes Number of bytes in an int (defaults to INT_BYTES) +-- @param endian Which endianness to use (big, little, host, network) (defaultsi +-- to ENDIANNESS) +-- @return A string whose first INT_BYTES characters make a low-level int +function _str_to_int(str, bytes, endian) + bytes = bytes or INT_BYTES + endian = endian or ENDIANNESS + local ret = "" + for i = 0, bytes - 1 do + local new_byte = string.char(math.fmod(str / (2^(8 * i)), 256)) + if endian == "big" or endian == "network" then ret = new_byte .. ret + else ret = ret .. new_byte + end + end + return ret +end +-- }}} + +-- _int_to_str {{{ +-- +-- Converts a low-level int to a number. +-- @param int String whose bytes correspond to the bytes of a low-level int +-- @param endian Endianness of the int argument (defaults to ENDIANNESS) +-- @return String representation of the low-level int argument +function _int_to_str(int, endian) + endian = endian or ENDIANNESS + local ret = 0 + for i = 1, int:len() do + if endian == "big" or endian == "network" then ind = int:len() - i + 1 + else ind = i + end + ret = ret + string.byte(int:sub(ind, ind)) * 2^(8 * (i - 1)) + end + return ret +end +-- }}} + +-- _ip_str_to_int {{{ +-- TODO: handle endianness here +-- +-- Converts a string IP address to a low-level int. +-- @param ip_str String representation of an IP address +-- @return Low-level int representation of that IP address +function _ip_str_to_int(ip_str) + local i = 3 + local ret = 0 + for num in ip_str:gmatch("%d+") do + ret = ret + num * 2^(i * 8) + i = i - 1 + end + return ret +end +-- }}} + +-- _ip_int_to_str {{{ +-- TODO: handle endianness here +-- +-- Converts an int to a string IP address. +-- @param ip_int Low-level int representation of an IP address +-- @return String representation of that IP address +function _ip_int_to_str(ip_int) + local ip = {} + for i = 3, 0, -1 do + local new_num = math.floor(ip_int / 2^(i * 8)) + table.insert(ip, new_num) + ip_int = ip_int - new_num * 2^(i * 8) + end + return table.concat(ip, ".") +end +-- }}} + +-- _get_unique_filename {{{ +-- +-- Returns a unique filename. +-- @param filename Filename to start with +-- @return Filename (same as the one we started with, except possibly with some +-- numbers appended) which does not currently exist on the filesystem +function _get_unique_filename(filename) + if not exists(filename) then return filename end + + local count = 1 + while true do + if not exists(filename .. "." .. count) then + return filename .. "." .. count + end + count = count + 1 + end +end +-- }}} + +-- _try_call {{{ +-- +-- Call a function, if it exists. +-- @param fn Function to try to call +-- @param ... Arguments to fn +-- @return The return values of fn, if it was successfully called +function _try_call(fn, ...) + if base.type(fn) == "function" then + return fn(...) + end +end +-- }}} + +-- _try_call_warn {{{ +-- +-- Same as try_call, but complain if the function doesn't exist. +-- @param msg Warning message to use if the function doesn't exist +-- @param fn Function to try to call +-- @param ... Arguments to fn +-- @return The return values of fn, if it was successfully called +function _try_call_warn(msg, fn, ...) + if base.type(fn) == "function" then + return fn(...) + else + irc_debug._warn(msg) + end +end +-- }}} + +-- _value_iter {{{ +-- +-- Iterator to iterate over just the values of a table. +function _value_iter(state, arg, pred) + for k, v in base.pairs(state) do + if arg == v then arg = k end + end + local key, val = base.next(state, arg) + if not key then return end + + if base.type(pred) == "function" then + while not pred(val) do + key, val = base.next(state, key) + if not key then return end + end + end + return val +end +-- }}} + +-- _parse_user {{{ +-- +-- Gets the various parts of a full username. +-- @param user A usermask (i.e. returned in the from field of a callback) +-- @return nick +-- @return username (if it exists) +-- @return hostname (if it exists) +function _parse_user(user) + local found, bang, nick = user:find("^([^!]*)!") + if found then + user = user:sub(bang + 1) + else + return user + end + local found, equals = user:find("^.=") + if found then + user = user:sub(3) + end + local found, at, username = user:find("^([^@]*)@") + if found then + return nick, username, user:sub(at + 1) + else + return nick, user + end +end +-- }}} +-- }}} diff --git a/mods/irc/libluasocket.so b/mods/irc/libluasocket.so new file mode 100755 index 0000000000000000000000000000000000000000..b758b8d37b033209aaf35ada2074df7ce7627387 GIT binary patch literal 320368 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 ::= :///;?# +-- ::= @: +-- ::= [:] +-- :: = {/} +-- Input +-- url: uniform resource locator of request +-- default: table with default values for each field +-- Returns +-- table with the following fields, where RFC naming conventions have +-- been preserved: +-- scheme, authority, userinfo, user, password, host, port, +-- path, params, query, fragment +-- Obs: +-- the leading '/' in {/} is considered part of +----------------------------------------------------------------------------- +function parse(url, default) + -- initialize default parameters + local parsed = {} + for i,v in base.pairs(default or parsed) do parsed[i] = v end + -- empty url is parsed to nil + if not url or url == "" then return nil, "invalid url" end + -- remove whitespace + -- url = string.gsub(url, "%s", "") + -- get fragment + url = string.gsub(url, "#(.*)$", function(f) + parsed.fragment = f + return "" + end) + -- get scheme + url = string.gsub(url, "^([%w][%w%+%-%.]*)%:", + function(s) parsed.scheme = s; return "" end) + -- get authority + url = string.gsub(url, "^//([^/]*)", function(n) + parsed.authority = n + return "" + end) + -- get query stringing + url = string.gsub(url, "%?(.*)", function(q) + parsed.query = q + return "" + end) + -- get params + url = string.gsub(url, "%;(.*)", function(p) + parsed.params = p + return "" + end) + -- path is whatever was left + if url ~= "" then parsed.path = url end + local authority = parsed.authority + if not authority then return parsed end + authority = string.gsub(authority,"^([^@]*)@", + function(u) parsed.userinfo = u; return "" end) + authority = string.gsub(authority, ":([^:]*)$", + function(p) parsed.port = p; return "" end) + if authority ~= "" then parsed.host = authority end + local userinfo = parsed.userinfo + if not userinfo then return parsed end + userinfo = string.gsub(userinfo, ":([^:]*)$", + function(p) parsed.password = p; return "" end) + parsed.user = userinfo + return parsed +end + +----------------------------------------------------------------------------- +-- Rebuilds a parsed URL from its components. +-- Components are protected if any reserved or unallowed characters are found +-- Input +-- parsed: parsed URL, as returned by parse +-- Returns +-- a stringing with the corresponding URL +----------------------------------------------------------------------------- +function build(parsed) + local ppath = parse_path(parsed.path or "") + local url = build_path(ppath) + if parsed.params then url = url .. ";" .. parsed.params end + if parsed.query then url = url .. "?" .. parsed.query end + local authority = parsed.authority + if parsed.host then + authority = parsed.host + if parsed.port then authority = authority .. ":" .. parsed.port end + local userinfo = parsed.userinfo + if parsed.user then + userinfo = parsed.user + if parsed.password then + userinfo = userinfo .. ":" .. parsed.password + end + end + if userinfo then authority = userinfo .. "@" .. authority end + end + if authority then url = "//" .. authority .. url end + if parsed.scheme then url = parsed.scheme .. ":" .. url end + if parsed.fragment then url = url .. "#" .. parsed.fragment end + -- url = string.gsub(url, "%s", "") + return url +end + +----------------------------------------------------------------------------- +-- Builds a absolute URL from a base and a relative URL according to RFC 2396 +-- Input +-- base_url +-- relative_url +-- Returns +-- corresponding absolute url +----------------------------------------------------------------------------- +function absolute(base_url, relative_url) + if base.type(base_url) == "table" then + base_parsed = base_url + base_url = build(base_parsed) + else + base_parsed = parse(base_url) + end + local relative_parsed = parse(relative_url) + if not base_parsed then return relative_url + elseif not relative_parsed then return base_url + elseif relative_parsed.scheme then return relative_url + else + relative_parsed.scheme = base_parsed.scheme + if not relative_parsed.authority then + relative_parsed.authority = base_parsed.authority + if not relative_parsed.path then + relative_parsed.path = base_parsed.path + if not relative_parsed.params then + relative_parsed.params = base_parsed.params + if not relative_parsed.query then + relative_parsed.query = base_parsed.query + end + end + else + relative_parsed.path = absolute_path(base_parsed.path or "", + relative_parsed.path) + end + end + return build(relative_parsed) + end +end + +----------------------------------------------------------------------------- +-- Breaks a path into its segments, unescaping the segments +-- Input +-- path +-- Returns +-- segment: a table with one entry per segment +----------------------------------------------------------------------------- +function parse_path(path) + local parsed = {} + path = path or "" + --path = string.gsub(path, "%s", "") + string.gsub(path, "([^/]+)", function (s) table.insert(parsed, s) end) + for i = 1, table.getn(parsed) do + parsed[i] = unescape(parsed[i]) + end + if string.sub(path, 1, 1) == "/" then parsed.is_absolute = 1 end + if string.sub(path, -1, -1) == "/" then parsed.is_directory = 1 end + return parsed +end + +----------------------------------------------------------------------------- +-- Builds a path component from its segments, escaping protected characters. +-- Input +-- parsed: path segments +-- unsafe: if true, segments are not protected before path is built +-- Returns +-- path: corresponding path stringing +----------------------------------------------------------------------------- +function build_path(parsed, unsafe) + local path = "" + local n = table.getn(parsed) + if unsafe then + for i = 1, n-1 do + path = path .. parsed[i] + path = path .. "/" + end + if n > 0 then + path = path .. parsed[n] + if parsed.is_directory then path = path .. "/" end + end + else + for i = 1, n-1 do + path = path .. protect_segment(parsed[i]) + path = path .. "/" + end + if n > 0 then + path = path .. protect_segment(parsed[n]) + if parsed.is_directory then path = path .. "/" end + end + end + if parsed.is_absolute then path = "/" .. path end + return path +end diff --git a/mods/lantern/depends.txt b/mods/lantern/depends.txt new file mode 100644 index 0000000..aca967d --- /dev/null +++ b/mods/lantern/depends.txt @@ -0,0 +1,2 @@ +default +mesecons diff --git a/mods/lantern/init.lua b/mods/lantern/init.lua new file mode 100644 index 0000000..70caa47 --- /dev/null +++ b/mods/lantern/init.lua @@ -0,0 +1,46 @@ + +minetest.register_node("lantern:torch_lantern", { + description = "Torch lantern", + tiles = { + "lantern_torch_top.png", + "lantern_torch_top.png", + {name="lantern_torch_side.png",animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="lantern_torch_side.png",animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="lantern_torch_side.png",animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="lantern_torch_side.png",animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + }, + drawtype = "nodebox", + paramtype = "light", + sunlight_propagates = true, + light_source = LIGHT_MAX, + node_box = { + type = "fixed", + fixed = { + --top + { -1/2, 7/8/2, -1/2, 1/2, 1/2, 1/2 }, + -- bottom + { -1/2, -1/2, -1/2, 1/2, -7/8/2, 1/2 }, + --sides + { -1/2, -1/2, -1/2, -7/8/2, 1/2, -7/8/2 }, + { 1/2, -1/2, -1/2, 7/8/2, 1/2, -7/8/2 }, + { -1/2, -1/2, 1/2, -7/8/2, 1/2, 7/8/2 }, + { 1/2, -1/2, 1/2, 7/8/2, 1/2, 7/8/2 }, + --torch + { -7/8/2, -7/8/2, 0, 7/8/2, 7/8/2, 0 }, + } + }, + groups = {dig_immediate=3,mesecon=3,mesecon_needs_receiver=1}, + --legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + +}) + + +minetest.register_craft({ + output = 'lantern:torch_lantern', + recipe = { + {"default:stick", "default:glass", "default:stick"}, + {"default:glass", "default:torch", "default:glass"}, + {"default:stick", "default:glass", "default:stick"}, + } +}) diff --git a/mods/lantern/textures/lantern_torch_side.png b/mods/lantern/textures/lantern_torch_side.png new file mode 100644 index 0000000000000000000000000000000000000000..fe749c3e9c43ba70efb5b82ea684bbb337bc4196 GIT binary patch literal 1409 zcmV-{1%CR8P)EK|00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw- z5g;@B{bcw600jX_L_t(|+U=TIY*b|w$N%@voz8Z<%oIx7>2ykg78Ni+OAE$Ch*FRe z<$#IAzFYR3GWl(MB$nW?7q3Coy$+hz3*bcJ9(c4HX#eFX z9vI_^C-KUeDtb6rPrF~6Auu1zveVjP0li>JO2X3~sTU*Iiz<|aL#W>K2I&?JolVXBDr7q?RJJsq z&x17Gh6P@i<~i10NKjCybwaZP6~9i z5i5jn;5wOc6~?_@UJ{1_hiG3#I)8uQcImXHNI);7Iy5|!EA@ip!SvA!7e66Z2wj)9 zQ^bFg0>KE62gaNV82&~mN)IoIeI5I$a;1gOgG{GRFP8}H6J5H7r`&R%D0wh#co4c! z$>V{)=3NT=8YvWPAyzkryM5$q-N$d|!S-)x>+?3gfozvf>q`ZAkmk@(kS%#2c`#LY z(Ec7sC!d5H1Gxt zZKelZ-2oc8ew3Gkdy(^W?5nN(ZXArX!FRTXUxjR!PU}hp^}>9~1IdFa!-LMx(&<{I zml7WLgO@%eB{?6)j8f!zpN;wV9(UZw%o0%YBIM;x{P!N$fXVy_po{z}4E6Nkqs_bd zRdCPHX?>~4`vseZf^7MILGs{WfkV(sH6v8Ve2 zRTK&A4?O91Di_%&Cfk!xDEEny2mb{Rx;C3ghzIHhFW-Y;?JE>&J56_+ndgy|`4xbz z7-Oc{yd-M(>oL;Z1Qp4=5W@Z+>EpL_5gs^beTm3QL70(Y)*K0-AbW|YuPgfc0<1q2h|M@H5HkoX6Z}z_-8QfHI=~YX^x#nPodkb_9tmIyCfW7Lb{%iSA z?F~oyez~~pFQ56uS>fA#o%*=Om7N@S zx4dmx&T(<#i8-R0=eC(e91UgPWoe*Z7PTaI)3H-IB~wj*a;rCH&3G?o`}bV@OEZP^ U;}*J>KsPdYy85}Sb4q9e0Mk8XYybcN literal 0 HcmV?d00001 diff --git a/mods/legacy/depends.txt b/mods/legacy/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/legacy/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/legacy/init.lua b/mods/legacy/init.lua new file mode 100644 index 0000000..fa8f297 --- /dev/null +++ b/mods/legacy/init.lua @@ -0,0 +1,133 @@ +-- legacy (Minetest 0.4 mod) +-- Provides as much backwards-compatibility as feasible + +-- +-- Aliases to support loading 0.3 and old 0.4 worlds and inventories +-- + +minetest.register_alias("stone", "default:stone") +minetest.register_alias("stone_with_coal", "default:stone_with_coal") +minetest.register_alias("stone_with_iron", "default:stone_with_iron") +minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") +minetest.register_alias("dirt", "default:dirt") +minetest.register_alias("sand", "default:sand") +minetest.register_alias("gravel", "default:gravel") +minetest.register_alias("sandstone", "default:sandstone") +minetest.register_alias("clay", "default:clay") +minetest.register_alias("brick", "default:brick") +minetest.register_alias("tree", "default:tree") +minetest.register_alias("jungletree", "default:jungletree") +minetest.register_alias("junglegrass", "default:junglegrass") +minetest.register_alias("leaves", "default:leaves") +minetest.register_alias("cactus", "default:cactus") +minetest.register_alias("papyrus", "default:papyrus") +minetest.register_alias("bookshelf", "default:bookshelf") +minetest.register_alias("glass", "default:glass") +minetest.register_alias("wooden_fence", "default:fence_wood") +minetest.register_alias("rail", "default:rail") +minetest.register_alias("ladder", "default:ladder") +minetest.register_alias("wood", "default:wood") +minetest.register_alias("mese", "default:mese") +minetest.register_alias("cloud", "default:cloud") +minetest.register_alias("water_flowing", "default:water_flowing") +minetest.register_alias("water_source", "default:water_source") +minetest.register_alias("lava_flowing", "default:lava_flowing") +minetest.register_alias("lava_source", "default:lava_source") +minetest.register_alias("torch", "default:torch") +minetest.register_alias("sign_wall", "default:sign_wall") +minetest.register_alias("furnace", "default:furnace") +minetest.register_alias("chest", "default:chest") +minetest.register_alias("locked_chest", "default:chest_locked") +minetest.register_alias("cobble", "default:cobble") +minetest.register_alias("mossycobble", "default:mossycobble") +minetest.register_alias("steelblock", "default:steelblock") +minetest.register_alias("nyancat", "default:nyancat") +minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") +minetest.register_alias("sapling", "default:sapling") +minetest.register_alias("apple", "default:apple") + +minetest.register_alias("WPick", "default:pick_wood") +minetest.register_alias("STPick", "default:pick_stone") +minetest.register_alias("SteelPick", "default:pick_steel") +minetest.register_alias("MesePick", "default:pick_mese") +minetest.register_alias("WShovel", "default:shovel_wood") +minetest.register_alias("STShovel", "default:shovel_stone") +minetest.register_alias("SteelShovel", "default:shovel_steel") +minetest.register_alias("WAxe", "default:axe_wood") +minetest.register_alias("STAxe", "default:axe_stone") +minetest.register_alias("SteelAxe", "default:axe_steel") +minetest.register_alias("WSword", "default:sword_wood") +minetest.register_alias("STSword", "default:sword_stone") +minetest.register_alias("SteelSword", "default:sword_steel") + +minetest.register_alias("Stick", "default:stick") +minetest.register_alias("paper", "default:paper") +minetest.register_alias("book", "default:book") +minetest.register_alias("lump_of_coal", "default:coal_lump") +minetest.register_alias("lump_of_iron", "default:iron_lump") +minetest.register_alias("lump_of_clay", "default:clay_lump") +minetest.register_alias("steel_ingot", "default:steel_ingot") +minetest.register_alias("clay_brick", "default:clay_brick") +minetest.register_alias("scorched_stuff", "default:scorched_stuff") + +-- +-- Old items +-- + +minetest.register_craftitem(":rat", { + description = "Rat", + inventory_image = "rat.png", + on_drop = function(item, dropper, pos) + minetest.env:add_rat(pos) + item:take_item() + return item + end, + on_place = function(item, dropped, pointed) + pos = minetest.get_pointed_thing_position(pointed, true) + if pos ~= nil then + minetest.env:add_rat(pos) + item:take_item() + return item + end + end +}) + +minetest.register_craftitem(":cooked_rat", { + description = "Cooked rat", + inventory_image = "cooked_rat.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craftitem(":firefly", { + description = "Firefly", + inventory_image = "firefly.png", + groups = {not_in_creative_inventory=1}, + on_drop = function(item, dropper, pos) + minetest.env:add_firefly(pos) + item:take_item() + return item + end, + on_place = function(item, dropped, pointed) + pos = minetest.get_pointed_thing_position(pointed, true) + if pos ~= nil then + minetest.env:add_firefly(pos) + item:take_item() + return item + end + end +}) + +minetest.register_craft({ + type = "cooking", + output = "cooked_rat", + recipe = "rat", +}) + +minetest.register_craft({ + type = "cooking", + output = "scorched_stuff", + recipe = "cooked_rat", +}) + +-- END diff --git a/mods/legacy/textures/apple_iron.png b/mods/legacy/textures/apple_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..2dffdf014384dc17d0b646c294c15ce0436692d4 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@4nJ z@ErkR#;MwT(m=t9o-U3d7QJVKqInM}2xzBh2{bVBBry0_96G?0kifLzpxuewC&!W% zBRADeeR3;XpJ9LFHJ!I)wt|enSA|Z?Hqo?4;cQcy?k98J gQ(9m5^L+tRu)W@od+PaZK*uq7y85}Sb4q9e0K#%s{r~^~ literal 0 HcmV?d00001 diff --git a/mods/legacy/textures/dungeon_master.png b/mods/legacy/textures/dungeon_master.png new file mode 100644 index 0000000000000000000000000000000000000000..3457c8228fce6572daa79e219e0bb22f568062ea GIT binary patch literal 6636 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 yFQ4Wez7wSRRdT9a&;Xt(b?G!t)2^sy->r$tG zn+1gz5vx*jkf@|ZJ%Q$fgmX)NYhZIy4^9V+oO+;{$kz5iXy5b4F&|K7Rtut#majnb z0aFHKZ7}Bp5rvucK$LaM!)NnB#DL4?`C$F_YpShV^8uZsr!4v&YZM0=nMpcPD3hW! pBWPvd-H2oK%F{ryXmYVk`UOBcakKk?#3BFy002ovPDHLkV1kKC{yG2v literal 0 HcmV?d00001 diff --git a/mods/legacy/textures/firefly.png b/mods/legacy/textures/firefly.png new file mode 100644 index 0000000000000000000000000000000000000000..40df7fa1cc62fd8daf90ba6ae24a93992551b9fd GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|^gLZ0Lo7}w zCrGd!W-xd(>4LH0@AC%^94N?}Zq5t>-2t{?TYVNMT5w57NHDB<$-=Tymis4ACxfS} KpUXO@geCxZJRmm! literal 0 HcmV?d00001 diff --git a/mods/legacy/textures/oerkki1.png b/mods/legacy/textures/oerkki1.png new file mode 100644 index 0000000000000000000000000000000000000000..33cbac9e76114d9ce2de4006b616fe2fd17f9f21 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QY^(zo*^7SP{WbZ0pxQQctjR6 zFz_7#VaBQ2e9}O{Ii4<#ArY-_rv`F0C!uc`XMG3kAFb~czF}QE!=mxd%fmZbuIO;DiD^F)>h+i1uJSqO^a)bj hD>gQu5I^@GVEkmGY|--Zb{x>144$rjF6*2UngBQXU!MQ~ literal 0 HcmV?d00001 diff --git a/mods/legacy/textures/oerkki1_damaged.png b/mods/legacy/textures/oerkki1_damaged.png new file mode 100644 index 0000000000000000000000000000000000000000..9b777387cf85645bb2bb588fddbf99d3cb85befd GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QY^(zo*^7SP{WbZ0pxQQctjR6 zFz_7#VaBQ2e9}O{@18D>ArY-_r@iJotiaKl`m*`+vv>S@JqcT@WFikuH;HSOanYUX zT<|dKR!NfVj=;AT;{UXk^2G{gt+8A$Yxa0;%i7;gl38Eo$oH;g5>6t#`pvbH&~DgK@HH;j+4iHx z+Jc*XYEGq<;Ixgh%kTb*oiFwK#}m1vbn&Xi_0)QP;U;ZD(%(O1rixUHDjE!*ajM;=}Tr?ndjx91ynISg(3Onbl=7(;`pC ki%S|Zf*edV6=s=>9&eF;u0QV)FbEhtUHx3vIVCg!0A9g|9smFU literal 0 HcmV?d00001 diff --git a/mods/legacy/textures/rat.png b/mods/legacy/textures/rat.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a0e2ae26ad41a751c99ea84e79f45e58c1970b GIT binary patch literal 920 zcmZvaJ!n-y5QPULFCirUU?XA`wh*xjSlMWNAr450`asJBZ6q8>WvisK2!UfERspe) z1X7NzKa~VcD-76Jh=uTwfDaMIxi=8reb)=SJA2vL@64Hfy0o}3J$Y_YM5gsd_jazQ za!gEga_&ER{9I&AmTvaua~t)DdWqac^|`y5kp!Tsr4$!25sE-WMM`G1ez}X8kOGLR zl>Z%aaTB8u0u?QJQ!A~F4>KnXpejlU(g9Ot#(=9@2CANON)0zR8bK(uXt6LlVNhy8 zVGs^AEi4GA=ZT`BrOtOBp{dz05abav{W-*@mWrJGws{fePP0r@AWzU8W=duZ_q;y? zbKK%5-<(=)Bsg>TXmBGm~SI56h&E4I5{qp_WweKe$eqQ+98QWd!A3PXr aZfsua$n2l Player can now unlock this object with any key.\n".. + " /del Player can no longer use this object.\n".. + " /list Shows a list of players who can use this object.\n".. + " /set Sets a password. Everyone who types that in can use the object."); + + else if( locks:lock_allow_use( pos, player )) then + minetest.chat_send_player(name, "This locked object is owned by "..tostring( meta:get_string( "owner" ))..".\n".. + "You do have access to it.\n"); + + else if( meta:get_string( "password" ) ~= "" ) then + minetest.chat_send_player(name, "This locked object is owned by "..tostring( meta:get_string( "owner" ))..".\n".. + "Enter the correct password to gain access.\n"); + + else + minetest.chat_send_player(name, "This locked object is owned by "..tostring( meta:get_string( "owner" ))..".\n".. + "There is no password set. You can only gain access if the owner grants it to you."); + + end end end -- lua is not the most intuitive language here.... + return; + end -- of /help + + -- sanitize player input + if( fields.locks_sent_lock_command:find("[^%a%d%s_\- \/\:]")) then + minetest.chat_send_player(name, "Input contains unsupported characters. Allowed: a-z, A-Z, 0-9, _, -, :."); + return; + end + + if( #fields.locks_sent_lock_command > 60) then + minetest.chat_send_player(name, "Input too long. Only up to 80 characters supported."); + return; + end + + + -- other players can only try to input the correct password + if( name ~= meta:get_string( "owner" )) then + + -- no need to bother with trying other PWs if none is set... + if( meta:get_string("password")=="" ) then + minetest.chat_send_player(name, "There is no password set. Access denied."); + return; + end + + -- the player may have entered the right password already + if( name == meta:get_string("pw_user")) then + -- nothing to do - the player entered the right pw alredy + minetest.chat_send_player(name, "You have entered the right password already. Access granted."); + return; + end + + if( fields.locks_sent_lock_command ~= meta:get_string("password")) then + minetest.chat_send_player(name, "Wrong password. Access denied."); + return; + end + + -- store the last user (this one) who entered the right pw + meta:set_string( "pw_user", name ); + + minetest.chat_send_player(name, "Password confirmed. Access granted."); + return; + end + + local txt = ""; + + + if( fields.locks_sent_lock_command == "/list" ) then + + if( meta:get_string("allowed_users")=="" ) then + txt = "No other users are allowed to use this object (except those with global privs like moderators/admins)."; + else + txt = "You granted the following users/groups of users access to this object:\n"; + local liste = meta:get_string("allowed_users"):split( "," ); + for i in ipairs( liste ) do + txt = txt.." "..tostring(liste[i]); + end + end + + if( meta:get_string( "password" ) == "" ) then + txt = txt.."\nThere is no password set. That means no one can get access through a password."; + else + txt = txt.."\nThe password for this lock is: \""..tostring( meta:get_string( "password" ).."\""); + end + + minetest.chat_send_player(name, txt ); + return; + end -- of /list + +-- -- all other commands take exactly one parameter + local help = fields.locks_sent_lock_command:split( " " ); + + print( tostring( help[1] )); + print( tostring( help[2] )); + + + -- set/change a password + if( help[1]=="/set" ) then + + -- if empty password then delete it + if( help[2]==nil ) then + help[2] = ""; + end + + minetest.chat_send_player(name, "Old password: \""..tostring( meta:get_string( "password" )).. + "\"\n Changed to new password: \""..tostring( help[2]).."\"."); + + + meta:set_string( "password", help[2]); + -- reset the list of users who typed the right password + meta:set_string("pw_users",""); + + if( help[2]=="") then + minetest.chat_send_player(name, "The password is empty and thus will be disabled."); + end + return; + end + + if( help[2]==nil or help[2]=="") then + minetest.chat_send_player(name, "Error: Missing parameter (player name) for command \""..tostring( help[1] ).."\"." ); + return; + end + + -- for add and del: check if the player is already in the list + + local found = false; + local anz = 0; + local liste = meta:get_string("allowed_users"):split( "," ); + for i in ipairs( liste ) do + + anz = anz + 1; -- count players + if( tostring( liste[i] ) == help[2] ) then + found = true; + end + + end + + if( help[1]=="/add" and found==true ) then + minetest.chat_send_player(name, "Player \""..tostring( help[2] ).."\" is already allowed to use this locked object. Nothing to do."); + return; + end + + if( help[1]=="/del" and found==false) then + minetest.chat_send_player(name, "Player \""..tostring( help[2] ).."\" is not amongst the players allowed to use this locked object. Nothing to do."); + return; + end + + + if( help[1]=="/add" ) then + + if( anz >= 6 ) then + minetest.chat_send_player(name, "Sorry, no more players can be added. To save space, only up to 6 players can be added. For more players please use groups!"); + return; + end + + if( name == help[2] ) then + minetest.chat_send_player(name, "You are already owner of this object."); + return; + end + + -- the player might try to add a playergroup + if( help[2]:sub(1,1) == ":" ) then + + if( not( playergroups )) then + minetest.chat_send_player(name, "Sorry, this server does not support playergroups."); + return; + end + + if( #help[2]<2 ) then + minetest.chat_send_player(name, "Please specify the name of the playergroup you want to add!"); + return; + end + + if( not( playergroups:is_playergroup(meta:get_string("owner"), help[2]:sub(2) ))) then + minetest.chat_send_player(name, "You do not have a playergroup named \""..tostring( help[2]:sub(2)).."\"."); + return; + end + + else + + -- check if the player exists + local privs = minetest.get_player_privs( help[2] ); + if( not( privs ) or not( privs.interact )) then + minetest.chat_send_player(name, "Player \""..help[2].."\" not found or has no interact privs."); + return; + end + end + + meta:set_string( "allowed_users", meta:get_string("allowed_users")..","..help[2] ); + + if( help[2]:sub(1,1) == ":" ) then + minetest.chat_send_player(name, "All members of your playergroup "..tostring(help[2]:sub(2)).." may now use/access this locked object."); + else + minetest.chat_send_player(name, help[2].." may now use/access this locked object."); + end + return; + end + + + if( help[1]=="/del" ) then + + userlist = meta:get_string("allowed_users"):split( ","..help[2] ); + meta:set_string( "allowed_users", ( userlist[1] or "" )..(userlist[2] or "" )); + + minetest.chat_send_player(name, "Access for player \""..tostring(help[2]).."\" has been revoked."); + return; + end + + minetest.chat_send_player(name, "Error: Command \""..tostring(help[1]).."\" not understood."); +end + + + +-- craftitem; that can be used to craft shared locked objects +minetest.register_craftitem("locks:lock", { + description = "Lock to lock and share objects", + image = "locks_lock16.png", +}); + + +minetest.register_craft({ + output = "locks:lock 2", + recipe = { + {'default:steel_ingot', 'default:steel_ingot','default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot',''}, + } + }); + + +-- a key allowes to open your own shared locked objects +minetest.register_craftitem("locks:key", { + description = "Key to open your own shared locked objects", + image = "locks_key32.png", +}); + +minetest.register_craft({ + output = "locks:key", + recipe = { + {'', 'default:steel_ingot',''}, + {'', 'default:stick', ''}, + {'', '', ''}, + } + }); + + + +-- in order to open shared locked objects of other players, a keychain is needed (plus the owner has to admit it via /add playername or through /set password) +minetest.register_craftitem("locks:keychain", { + description = "Keychain to open shared locked objects of others", + image = "locks_keychain32.png", +}); + +minetest.register_craft({ + output = "locks:keychain", + recipe = { + {'', 'default:steel_ingot', '' }, + {'locks:key', 'locks:key', 'locks:key'}, + } + }); + +dofile(minetest.get_modpath("locks").."/shared_locked_chest.lua"); +dofile(minetest.get_modpath("locks").."/shared_locked_sign_wall.lua"); +dofile(minetest.get_modpath("locks").."/shared_locked_xdoors2.lua"); + + diff --git a/mods/locks/liscence.txt b/mods/locks/liscence.txt new file mode 100644 index 0000000..5a2cc67 --- /dev/null +++ b/mods/locks/liscence.txt @@ -0,0 +1,19 @@ +License of locks mod for Minetest-c55 +------------------------------------- + + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + diff --git a/mods/locks/shared_locked_chest.lua b/mods/locks/shared_locked_chest.lua new file mode 100644 index 0000000..e75cd69 --- /dev/null +++ b/mods/locks/shared_locked_chest.lua @@ -0,0 +1,90 @@ + +minetest.register_node("locks:shared_locked_chest", { + description = "Shared locked chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + -- prepare the lock of the chest + locks:lock_init( pos, + "size[8,10]".. +-- "field[0.5,0.2;8,1.0;locks_sent_lock_command;Locked chest. Type password, command or /help for help:;]".. +-- "button_exit[3,0.8;2,1.0;locks_sent_input;Proceed]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]".. + "field[0.3,9.6;6,0.7;locks_sent_lock_command;Locked chest. Type /help for help:;]".. + "button_exit[6.3,9.2;1.7,0.7;locks_sent_input;Proceed]" ); +-- "size[8,9]".. +-- "list[current_name;main;0,0;8,4;]".. +-- "list[current_player;main;0,5;8,4;]"); + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + + after_place_node = function(pos, placer) + locks:lock_set_owner( pos, placer, "Shared locked chest" ); + end, + + + can_dig = function(pos,player) + + if( not(locks:lock_allow_dig( pos, player ))) then + return false; + end + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_receive_fields = function(pos, formname, fields, sender) + locks:lock_handle_input( pos, formname, fields, sender ); + end, + + + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if( not( locks:lock_allow_use( pos, player ))) then + return 0; + end + return count; + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if( not( locks:lock_allow_use( pos, player ))) then + return 0; + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if( not( locks:lock_allow_use( pos, player ))) then + return 0; + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked shared chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked shared chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked shared chest at "..minetest.pos_to_string(pos)) + end, + + +}) + +minetest.register_craft({ + output = 'locks:shared_locked_chest', + recipe = { + { 'default:chest', 'locks:lock', '' }, + }, +}) + +print( "[Mod] locks: loading locks:shared_locked_chest"); diff --git a/mods/locks/shared_locked_sign_wall.lua b/mods/locks/shared_locked_sign_wall.lua new file mode 100644 index 0000000..1b87616 --- /dev/null +++ b/mods/locks/shared_locked_sign_wall.lua @@ -0,0 +1,74 @@ + +-- a sign +minetest.register_node("locks:shared_locked_sign_wall", { + description = "Shared locked sign", + drawtype = "signlike", + tiles = {"default_sign_wall.png"}, + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + groups = {choppy=2,dig_immediate=2}, + legacy_wallmounted = true, + + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + -- prepare the lock of the sign + locks:lock_init( pos, + "size[8,4]".. + "field[0.3,0.6;6,0.7;text;Text:;]".. + "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. + "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); + end, + + after_place_node = function(pos, placer) + locks:lock_set_owner( pos, placer, "Shared locked sign" ); + end, + + + can_dig = function(pos,player) + return locks:lock_allow_dig( pos, player ); + end, + + on_receive_fields = function(pos, formname, fields, sender) + + -- if the user already has the right to use this and did input text + if( fields.text + and ( not(fields.locks_sent_lock_command) + or fields.locks_sent_lock_command=="") + and locks:lock_allow_use( pos, sender )) then + + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.env:get_meta(pos) + fields.text = fields.text or ""; + print((sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)); + meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); + meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); + + -- a command for the lock? + else + locks:lock_handle_input( pos, formname, fields, sender ); + end + + end, + }); + + +minetest.register_craft({ + output = 'locks:shared_locked_sign_wall', + recipe = { + { 'default:sign_wall', 'locks:lock', '' }, + }, +}) + +print( "[Mod] locks: loading locks:shared_locked_sign_wall"); diff --git a/mods/locks/shared_locked_xdoors2.lua b/mods/locks/shared_locked_xdoors2.lua new file mode 100644 index 0000000..859ccb4 --- /dev/null +++ b/mods/locks/shared_locked_xdoors2.lua @@ -0,0 +1,212 @@ +-- xDoors˛ mod by xyz +-- modified by Sokomine to allow locked doors that can only be opened/closed/dig up by the player who placed them +-- a little bit modified by addi to allow someone with the priv "opendoors" to open/close/dig all locked doors. +-- Sokomine: modified again so that it uses the new locks-mod + +local door_bottom = {-0.5, -0.5, -0.5, 0.5, 0.5, -0.4} +local door_top = { + {-0.5, -0.5, -0.5, -0.3, 0.5, -0.4}, + {0.3, -0.5, -0.5, 0.5, 0.5, -0.4}, + {-0.3, 0.3, -0.5, 0.3, 0.5, -0.4}, + {-0.3, -0.5, -0.5, 0.3, -0.4, -0.4}, + {-0.05, -0.4, -0.5, 0.05, 0.3, -0.4}, + {-0.3, -0.1, -0.5, -0.05, 0, -0.4}, + {0.05, -0.1, -0.5, 0.3, 0, -0.4} +} + +local is_top = function(name) + return name:sub(12, 12) == "t" +end + + +local xdoors2_transform = function(pos, node, puncher) + + if( not( locks:lock_allow_use( pos, puncher ))) then + minetest.chat_send_player( puncher:get_player_name(), "This door is locked. It can only be opened by its owner or people with a key that fits."); + return; + end + + if is_top(node.name) then + pos = {x = pos.x, y = pos.y - 1, z = pos.z} + end + local t = 3 - node.name:sub(-1) + local p2 = 0 + if t == 2 then + p2 = (node.param2 + 1) % 4 + else + p2 = (node.param2 + 3) % 4 + end + + local olddata = locks:get_lockdata( pos ); + minetest.env:add_node(pos, {name = "locks:door_bottom_"..t, param2 = p2}) + minetest.env:add_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "locks:door_top_"..t, param2 = p2}) + + -- remember who owns the door, what passwords are set etc. + locks:set_lockdata( pos, olddata ); + locks:set_lockdata( {x = pos.x, y = pos.y + 1, z = pos.z}, olddata ); +end + + +local xdoors2_destruct = function(pos, oldnode) + if is_top(oldnode.name) then + pos = {x = pos.x, y = pos.y - 1, z = pos.z} + end + minetest.env:remove_node(pos) + minetest.env:remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) +end + +for i = 1, 2 do + minetest.register_node("locks:door_top_"..i, { + tile_images = {"xdoors2_side.png", "xdoors2_side.png", "xdoors2_top.png", "xdoors2_bottom.png", "xdoors2_top_"..(3 - i)..".png", "xdoors2_top_"..i..".png"}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + drop = "locks:door", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + node_box = { + type = "fixed", + fixed = door_top + }, + selection_box = { + type = "fixed", + fixed = door_bottom + }, + on_punch = xdoors2_transform, + after_dig_node = xdoors2_destruct, + + on_construct = function(pos) + locks:lock_init( pos, + "size[8,2]".. + "field[0.3,0.6;6,0.7;locks_sent_lock_command;Locked door. Type /help for help:;]".. + "button_exit[6.3,1.2;1.7,0.7;locks_sent_input;Proceed]" ); + end, + + on_receive_fields = function(pos, formname, fields, sender) + locks:lock_handle_input( pos, formname, fields, sender ); + end, + + can_dig = function(pos,player) + return locks:lock_allow_dig( pos, player ); + end + }) + minetest.register_node("locks:door_bottom_"..i, { + tile_images = {"xdoors2_side.png", "xdoors2_side.png", "xdoors2_top.png", "xdoors2_bottom.png", "locks_xdoors2_bottom_"..(3 - i)..".png", "locks_xdoors2_bottom_"..i..".png"}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + drop = "locks:door", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + node_box = { + type = "fixed", + fixed = door_bottom + }, + selection_box = { + type = "fixed", + fixed = door_bottom + }, + on_punch = xdoors2_transform, + after_dig_node = xdoors2_destruct, + + on_construct = function(pos) + locks:lock_init( pos, + "size[8,2]".. + "field[0.3,0.6;6,0.7;locks_sent_lock_command;Locked door. Type /help for help:;]".. + "button_exit[6.3,0.2;1.7,0.7;locks_sent_input;Proceed]" ); + end, + + on_receive_fields = function(pos, formname, fields, sender) + locks:lock_handle_input( pos, formname, fields, sender ); + end, + + can_dig = function(pos,player) + return locks:lock_allow_dig( pos, player ); + end + }) +end + +local delta = { + {x = -1, z = 0}, + {x = 0, z = 1}, + {x = 1, z = 0}, + {x = 0, z = -1} +} + +minetest.register_node("locks:door", { + description = "Shared locked Wooden Door", + node_placement_prediction = "", + inventory_image = 'locks_xdoors2_door.png', + wield_image = 'xdoors2_door.png', + stack_max = 1, + on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + + -- there should be 2 empty nodes + if minetest.env:get_node({x = above.x, y = above.y + 1, z = above.z}).name ~= "air" then + return itemstack + end + + local fdir = 0 + local placer_pos = placer:getpos() + if placer_pos then + dir = { + x = above.x - placer_pos.x, + y = above.y - placer_pos.y, + z = above.z - placer_pos.z + } + fdir = minetest.dir_to_facedir(dir) + end + + local t = 1 + local another_door = minetest.env:get_node({x = above.x + delta[fdir + 1].x, y = above.y, z = above.z + delta[fdir + 1].z}) + if (another_door.name:sub(-1) == "1" and another_door.param2 == fdir) + or (another_door.name:sub(-1) == "2" and another_door.param2 == (fdir + 1) % 4) then + t = 2 + end + + minetest.env:add_node(above, {name = "locks:door_bottom_"..t, param2 = fdir}) + minetest.env:add_node({x = above.x, y = above.y + 1, z = above.z}, {name = "locks:door_top_"..t, param2 = fdir}) + + -- store who owns the door; the other data can be default for now + locks:lock_set_owner( above, placer:get_player_name() or "", "Shared locked door"); + locks:lock_set_owner( {x = above.x, y = above.y + 1, z = above.z}, placer:get_player_name() or "", "Shared locked door"); + + return ItemStack("") + end +}) + + +-- if xdoors2 is installed +if( minetest.get_modpath("xdoors2") ~= nil ) then + minetest.register_craft({ + output = 'locks:door', + recipe = { + { 'xdoors2:door', 'locks:lock', '' }, + }, + }); + +-- if the normal doors are installed +else if( minetest.get_modpath("doors") ~= nil ) then + + minetest.register_craft({ + output = 'locks:door', + recipe = { + { 'doors:door_wood', 'locks:lock', '' }, + }, + }) + +-- fallback if no doors can be found +else + minetest.register_craft({ + output = 'locks:door', + recipe = { + { 'default:wood', 'default:wood', '' }, + { 'default:wood', 'default:wood', 'locks:lock' }, + { 'default:wood', 'default:wood', '' }, + }, + }); +end +end -- of previous else + + + +print( "[Mod] locks: loading locks:door"); diff --git a/mods/locks/textures/licence.txt b/mods/locks/textures/licence.txt new file mode 100644 index 0000000..2591083 --- /dev/null +++ b/mods/locks/textures/licence.txt @@ -0,0 +1,88 @@ +Licence for the following grafiks: +lock +key +keychain + +author: addi + +This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. +http://creativecommons.org/licenses/by-sa/3.0/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +You are free: + + to Share — to copy, distribute and transmit the work + to Remix — to adapt the work + + +Under the following conditions: + + Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). + + Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. + +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + + License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. + "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. + "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + to Distribute and Publicly Perform Adaptations. + + For the avoidance of doubt: + Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. + You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/mods/locks/textures/locks_key16.png b/mods/locks/textures/locks_key16.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4d1f8db07825f143893af5bff1d13b3318f1b4 GIT binary patch literal 390 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 NgQu&X%Q~loCID#)N7n!V literal 0 HcmV?d00001 diff --git a/mods/locks/textures/locks_xdoors2_bottom_2.png b/mods/locks/textures/locks_xdoors2_bottom_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b20cdf4087a8159be3cd7e731f889a14b67ddce5 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPamlPkrjH~q)6`)YDr;B5V#`$C&-YJ{<=1-e0bn3u? zgq6xC8^mpDe$6^*RTt&paA1k$YRL{}p8_$*$BGTDjg5(i+js?Df6$&fT`V;rA;EH& z!Rw3F)7t&xoqz0TnDb!1`}@GTE}P`tOalU$xr?q$Sl}2JB_cG@B~xKW*91m}{(tgY U?#LXe16t4E>FVdQ&MBb@0CLSt+yDRo literal 0 HcmV?d00001 diff --git a/mods/locks/textures/locks_xdoors2_door.png b/mods/locks/textures/locks_xdoors2_door.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3d0d37a5b37267b698f35ea5d419883a87c13e GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPamlPkrO0Ff(E}+nKPZ!4!i_^&|4$Mm%gZ@i?XgC~x z&v?#`zjFnTr5{|{5pkf!`_YlN?|anq>eIJe6?91y&Sluxz&gF9RqJ{EjPit>uDuSE z7>_Wy1ueR0RVU@_o~hzxl4SbeV)dB?ojNmE(%D&93?@BoZD?RPbtvI*8?QvpqP+~v z{PXvvt#}c4&ZAK0z#ivqj0XA}0+Ou5m_1H*@&EyYYpLt?wcqwT0G-I->FVdQ&MBb@ E05*(V`v3p{ literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2_bottom.png b/mods/locks/textures/xdoors2_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..15ce4bd23717fb89a7f70901c87d2352186b196e GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrCbL1S#2TOwkEe@c2*>qg4c;kC3{3J256?-yx&stv@O1TaS?83{1OV&H B78(Em literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2_side.png b/mods/locks/textures/xdoors2_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8937d5eaedd5f9295cd543b72bebd834768402 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrhQTyHkKaHc9#0p?5RU7~8oX1O7?|W49-fnYbq6TU;OXk;vd$@?2>=ZL B7W4oB literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2_top.png b/mods/locks/textures/xdoors2_top.png new file mode 100644 index 0000000000000000000000000000000000000000..2009fb9915a64c1551b79bcf4469af27f893afee GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrhUNQ7AL4;RJf1F&Asp9}HF&2mF)+z9JUl1)>JCtx!PC{xWt~$(696d~ B7p4FJ literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2_top_1.png b/mods/locks/textures/xdoors2_top_1.png new file mode 100644 index 0000000000000000000000000000000000000000..49b3c2279484fcd13265d231c91f62b6703049af GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrn$-)5o@}6yzNd?0h{pM39o{KP3Q{urKFw=wY{XE z)7O>#4hNTrI;(r?1aY8{zNd?0h{pM39o{KP3Q{urKFw=wY)U(c^T3jo*o4Z4BH*#y+8R)Dh1lj N;OXk;vd$@?2><~VM;HJA literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2locked_bottom_2.png b/mods/locks/textures/xdoors2locked_bottom_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7221b0d00017a297d034696a8aecc170374867 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPamk7U!!73lE-$0>aPZ!4!jq}Mmyi+#y&7U@1=+uD& z2`iOPHi+BQ{F-&rsxHdG;lL8h)sh{|J_TZqj};qQ8ygc3xA6+R{-8Z|x>#yLLW1Qk zgVz_Ur?vaXJO9|xFz3O1_xFKwT{g+PnFa(ha~EBiu)r}cNtp_2eh8S)78&qol`;+0Q-$i(*OVf literal 0 HcmV?d00001 diff --git a/mods/locks/textures/xdoors2locked_door.png b/mods/locks/textures/xdoors2locked_door.png new file mode 100644 index 0000000000000000000000000000000000000000..62470677caa520b9798dba3a2b38c987b3b5aa77 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPamk29^3Y&Jva-h(3PZ!4!i_^&|4$Mm%gZ@i?XgC~x z&v?#`zjFnTr5{|{5pkf!`_YlN?|anq>eIJe6?91y&Sluxz&gF9RqJ{EjPit>uDuSE z7>_Wy1ueR0RVU@_o~hzxl4SbeV)dB?ojNmE(%D&93?@BoZD?RPbtvI*8?QvpqP+~v z{PXvvt#}c4&ZAK0z#ivqj0XA}0+Ou5m_1H*@&EyYYpLt?wcqwT0G-I->FVdQ&MBb@ E02nM>(EtDd literal 0 HcmV?d00001 diff --git a/mods/minetest-craft_guide b/mods/minetest-craft_guide new file mode 160000 index 0000000..95c4df8 --- /dev/null +++ b/mods/minetest-craft_guide @@ -0,0 +1 @@ +Subproject commit 95c4df8418036542be95ef566f181c58d6a0001b diff --git a/mods/minetest-mod-jumping b/mods/minetest-mod-jumping new file mode 160000 index 0000000..46aed3d --- /dev/null +++ b/mods/minetest-mod-jumping @@ -0,0 +1 @@ +Subproject commit 46aed3d39ef7023c8ef1fec5ef67746e672d10b0 diff --git a/mods/minetest-mod-mesecons b/mods/minetest-mod-mesecons new file mode 160000 index 0000000..938dc37 --- /dev/null +++ b/mods/minetest-mod-mesecons @@ -0,0 +1 @@ +Subproject commit 938dc3762351f4fb6726895f686f8a254acb5e9d diff --git a/mods/money2/config.lua b/mods/money2/config.lua new file mode 100644 index 0000000..1e47c5a --- /dev/null +++ b/mods/money2/config.lua @@ -0,0 +1,21 @@ +--- +--money 2.00 +--Copyright (C) 2012 Bad_Command +-- +--This library is free software; you can redistribute it and/or +--modify it under the terms of the GNU Lesser General Public +--License as published by the Free Software Foundation; either +--version 2.1 of the License, or (at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public +--License along with this library; if not, write to the Free Software +--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--- + +money.initial_amount = 2000 +money.currency_name = "cr" diff --git a/mods/money2/init.lua b/mods/money2/init.lua new file mode 100755 index 0000000..b5d3f1f --- /dev/null +++ b/mods/money2/init.lua @@ -0,0 +1,200 @@ +--- +--money 2.00 +--Copyright (C) 2012 Bad_Command +--Copyright (C) 2012 kotolegokot +-- +--This library is free software; you can redistribute it and/or +--modify it under the terms of the GNU Lesser General Public +--License as published by the Free Software Foundation; either +--version 2.1 of the License, or (at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public +--License along with this library; if not, write to the Free Software +--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--- + +money = {} +money.version = 2.00 + +dofile(minetest.get_modpath("money2") .. "/config.lua") +dofile(minetest.get_modpath("money2") .. "/lockedsign.lua") + +money.set = function(name, value) + local output = io.open(minetest.get_worldpath() .. "/money_" .. name .. ".txt", "w") + output:write(value) + io.close(output) +end + +money.get = function(name) + local input = io.open(minetest.get_worldpath() .. "/money_" .. name .. ".txt", "r") + if not input then + return nil + end + credit = input:read("*n") + io.close(input) + return credit +end + +money.has_credit = function(name) + local privs = minetest.get_player_privs(name) + if ( privs == nil or not privs["money"] ) then + return false + end + return true +end + +money.add = function(name, amount) + if ( amount < 0 ) then + return "must specify positive amount" + end + + local credit = money.get(name) + if ( credit == nil ) then + return name .. " does not have a credit account." + end + + money.set(name, credit + amount) + return nil +end + +--[[money.regular_add = function() + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + money.add(name,40) + minetest.chat_send_player(name, "You earned 40"..money.currency_name..", you now have "..money.get(name)..money.currency_name) + end + minetest.after(900,money.regular_add) +end +money.regular_add()]] + +money.dec = function(name, amount) + if ( amount < 0 ) then + return "must specify positive amount" + end + + local credit = money.get(name) + if ( credit == nil ) then + return name .. " does not have a credit account." + end + if ( credit < amount ) then + return name .. " does not have enough credit." + end + money.set(name, credit - amount) + return nil +end + +money.transfer = function(from, to, amount) + if ( from == to ) then + return + end + if ( not money.has_credit(from) ) then + return from .. " does not have a credit account" + end + if ( not money.has_credit(to) ) then + return to .. " does not have a credit account" + end + + if ( amount < 0 ) then + return "negative transfers not allowed" + end + local from_credit = money.get(from) + if ( from_credit == nil or from_credit < amount ) then + return "not enough credit" + end + local to_credit = money.get(to) + if ( to_credit == nil ) then + return to .. " does not have a credit account." + end + money.set(from, from_credit - amount) + money.set(to, to_credit + amount) + return nil +end + +minetest.register_on_joinplayer(function(player) + name = player:get_player_name() + if not money.get(name) then + money.set(name, tostring(money.initial_amount)) + end +end) + +minetest.register_privilege("money", "Can use /money [pay ] command") +minetest.register_privilege("money_admin", { + description = "Can use /money [ | pay/set/add/dec ] command", + give_to_singleplayer = false, +}) + +minetest.register_chatcommand("money", { + privs = {money=true}, + params = "[ | pay/set/add/dec ]", + description = "Operations with credit", + func = function(name, param) + if param == "" then + minetest.chat_send_player(name, money.get(name) .. money.currency_name) + else + local param1, reciever, amount = string.match(param, "([^ ]+) ([^ ]+) (.+)") + if not reciever and not amount then + if minetest.get_player_privs(name)["money_admin"] then + if not money.get(param) then + minetest.chat_send_player(name, "money: Player named \"" .. param .. "\" does not exist or does not have an account.") + return true + end + minetest.chat_send_player(name, money.get(param) .. money.currency_name) + return true + else + minetest.chat_send_player(name, "money: You don't have permission to run this command (missing privileges: money_admin)") + end + end + if (param1 ~= "pay") and (param1 ~= "set") and (param1 ~= "add") and (param1 ~= "dec") or not reciever or not amount then + minetest.chat_send_player(name, "money: Invalid parameters (see /help money)") + return true + elseif not money.get(reciever) then + minetest.chat_send_player(name, "money: Player named \"" .. reciever .. "\" does not exist or does not have account.") + return true + elseif not tonumber(amount) then + minetest.chat_send_player(name, "money: amount .. " .. "is not a number.") + return true + elseif tonumber(amount) < 0 then + minetest.chat_send_player(name, "money: The amount must be greater than 0.") + return true + end + amount = tonumber(amount) + if param1 == "pay" then + local err = money.transfer(name ,reciever, amount) + if ( err ~= nil ) then + minetest.chat_send_player(name, "money: Error: "..err..".") + else + minetest.chat_send_player(name, "money: You paid " .. reciever .. " " .. amount .. money.currency_name) + minetest.chat_send_player(reciever, "money: " .. name .. " paid you " .. amount .. money.currency_name) + end + elseif minetest.get_player_privs(name)["money_admin"] then + if param1 == "add" then + local err = money.add(reciever, amount) + if ( err ~= nil ) then + minetest.chat_send_player(name, "money: Error"..err..".") + end + elseif param1 == "dec" then + local err = money.dec(reciever, amount) + if ( err ~= nil ) then + minetest.chat_send_player(name, "money: Error"..err..".") + end + elseif param1 == "set" then + local err = money.set(reciever, amount) + if ( err ~= nil ) then + minetest.chat_send_player(name, "money: Error"..err..".") + end + end + else + minetest.chat_send_player(name, "money: You don't have permission to run this command (missing privileges: money_admin)") + end + end + end, +}) + + + + diff --git a/mods/money2/lockedsign.lua b/mods/money2/lockedsign.lua new file mode 100644 index 0000000..bba2bc9 --- /dev/null +++ b/mods/money2/lockedsign.lua @@ -0,0 +1,81 @@ +--- +--money 2.00 +--Copyright (C) 2012 kotolegokot +--Copyright (C) 2012 Bad_Command +-- +--This library is free software; you can redistribute it and/or +--modify it under the terms of the GNU Lesser General Public +--License as published by the Free Software Foundation; either +--version 2.1 of the License, or (at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public +--License along with this library; if not, write to the Free Software +--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--- + +minetest.register_on_punchnode(function(pos, node, puncher) + bottom_pos = {x=pos.x, y=pos.y - 1, z=pos.z} + bottom_node = minetest.env:get_node(bottom_pos) + if (node.name == "locked_sign:sign_wall_locked") and (bottom_node.name == "default:chest_locked") and + minetest.env:get_meta(pos):get_string("owner") == minetest.env:get_meta(bottom_pos):get_string("owner") then + local sign_text = minetest.env:get_meta(pos):get_string("text") + local shop_name, shop_type, nodename, amount, cost = string.match(sign_text, "([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+)") + local owner_name = minetest.env:get_meta(pos):get_string("owner") + local puncher_name = puncher:get_player_name() + if (shop_type ~= "B") and (shop_type ~= "S") or (not minetest.registered_items[nodename]) or (not tonumber(amount)) or + (not tonumber(cost)) then + return true + end + + if ( not money.has_credit(owner_name) ) then + minetest.chat_send_player(puncher_name, "Owner does not have a credit account.") + end + if ( not money.has_credit(puncher_name) ) then + minetest.chat_send_player(puncher_name, "You do not have a credit account.") + end + + + local chest_inv = minetest.env:get_meta({x=pos.x, y=pos.y - 1, z = pos.z}):get_inventory() + local puncher_inv = puncher:get_inventory() + --BUY + if shop_type == "B" then + if not chest_inv:contains_item("main", nodename .. " " .. amount) then + minetest.chat_send_player(puncher_name, "In the chest is not enough goods.") + return true + elseif not puncher_inv:room_for_item("main", nodename .. " " .. amount) then + minetest.chat_send_player(puncher_name, "In your inventory is not enough space.") + return true + elseif money.get(puncher_name) - cost < 0 then + minetest.chat_send_player(puncher_name, "You do not have enough money.") + return true + end + money.set(puncher_name, money.get(puncher_name) - cost) + money.set(owner_name, money.get(owner_name) + cost) + puncher_inv:add_item("main", nodename .. " " .. amount) + chest_inv:remove_item("main", nodename .. " " .. amount) + minetest.chat_send_player(puncher_name, "You bought " .. amount .. " " .. nodename .. " at a price of " .. cost .. money.currency_name .. ".") + --SELL + elseif shop_type == "S" then + if not puncher_inv:contains_item("main", nodename .. " " .. amount) then + minetest.chat_send_player(puncher_name, "You do not have enough product.") + return true + elseif not chest_inv:room_for_item("main", nodename .. " " .. amount) then + minetest.chat_send_player(puncher_name, "In the chest is not enough space.") + return true + elseif money.get(owner_name) - cost < 0 then + minetest.chat_send_player(puncher_name, "The buyer is not enough money.") + return true + end + money.set(puncher:get_player_name(), money.get(puncher:get_player_name()) + cost) + money.set(owner_name, money.get(owner_name) - cost) + puncher_inv:remove_item("main", nodename .. " " .. amount) + chest_inv:add_item("main", nodename .. " " .. amount) + minetest.chat_send_player(puncher_name, "You sold " .. amount .. " " .. nodename .. " at a price of " .. cost .. money.currency_name .. ".") + end + end +end) diff --git a/mods/money2/textures/.directory b/mods/money2/textures/.directory new file mode 100644 index 0000000..9289c75 --- /dev/null +++ b/mods/money2/textures/.directory @@ -0,0 +1,3 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2012,7,23,23,16,11 diff --git a/mods/moreblocks/LICENSE.txt b/mods/moreblocks/LICENSE.txt new file mode 100644 index 0000000..d270033 --- /dev/null +++ b/mods/moreblocks/LICENSE.txt @@ -0,0 +1,13 @@ ++---- zlib/libpng license----+ + +Copyright (c) 2012 Calinou + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt new file mode 100644 index 0000000..562cf63 --- /dev/null +++ b/mods/moreblocks/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua new file mode 100644 index 0000000..fc39928 --- /dev/null +++ b/mods/moreblocks/init.lua @@ -0,0 +1,2345 @@ +--[[ +**** +More Blocks +by Calinou +Licensed under the zlib/libpng license for code and CC BY-SA 3.0 Unported for textures, see LICENSE.txt for info. +**** +--]] + +-- Aliases (some of them are about the default mod, some about moreblocks) + +-- Additional default aliases + +minetest.register_alias("woodpick", "default:pick_wood") +minetest.register_alias("woodenpick", "default:pick_wood") +minetest.register_alias("stonepick", "default:pick_stone") +minetest.register_alias("steelpick", "default:pick_steel") +minetest.register_alias("ironpick", "default:pick_steel") +minetest.register_alias("mesepick", "default:pick_mese") + +minetest.register_alias("woodaxe", "default:axe_wood") +minetest.register_alias("woodenaxe", "default:axe_wood") +minetest.register_alias("stoneaxe", "default:axe_stone") +minetest.register_alias("steelaxe", "default:axe_steel") +minetest.register_alias("ironaxe", "default:axe_steel") + +minetest.register_alias("woodshovel", "default:shovel_wood") +minetest.register_alias("woodenshovel", "default:shovel_wood") +minetest.register_alias("stoneshovel", "default:shovel_stone") +minetest.register_alias("steelshovel", "default:shovel_steel") +minetest.register_alias("ironshovel", "default:shovel_steel") + +minetest.register_alias("woodsword", "default:sword_wood") +minetest.register_alias("woodensword", "default:sword_wood") +minetest.register_alias("stonesword", "default:sword_stone") +minetest.register_alias("steelsword", "default:sword_steel") +minetest.register_alias("ironsword", "default:sword_steel") + +minetest.register_alias("grass", "default:dirt_with_grass") +minetest.register_alias("grassblock", "default:dirt_with_grass") +minetest.register_alias("grass_block", "default:dirt_with_grass") + +minetest.register_alias("grassfootsteps", "default:dirt_with_grass_footsteps") +minetest.register_alias("grass_footsteps", "default:dirt_with_grass_footsteps") + +minetest.register_alias("stick", "default:stick") +minetest.register_alias("sign", "default:sign_wall") +minetest.register_alias("fence", "default:fence_wood") +minetest.register_alias("coal", "default:coal_lump") +minetest.register_alias("iron", "default:iron_lump") +minetest.register_alias("clay", "default:clay_lump") +minetest.register_alias("steel", "default:steel_ingot") +minetest.register_alias("steel_block", "default:steelblock") + +-- More Blocks aliases + +minetest.register_alias("stonebrick", "moreblocks:stonebrick") +minetest.register_alias("stonebricks", "moreblocks:stonebrick") +minetest.register_alias("stone_brick", "moreblocks:stonebrick") +minetest.register_alias("stone_bricks", "moreblocks:stonebrick") +minetest.register_alias("stonesquare", "moreblocks:stonesquare") +minetest.register_alias("stonesquares", "moreblocks:stonesquare") +minetest.register_alias("splitstonesquare", "moreblocks:splitstonesquare") +minetest.register_alias("splitstonesquares", "moreblocks:splitstonesquare") +minetest.register_alias("stone_square", "moreblocks:stonesquare") +minetest.register_alias("stone_squares", "moreblocks:stonesquare") +minetest.register_alias("split_stone_square", "moreblocks:splitstonesquare") +minetest.register_alias("split_stone_squares", "moreblocks:splitstonesquare") +minetest.register_alias("split_stonesquare", "moreblocks:splitstonesquare") +minetest.register_alias("split_stonesquares", "moreblocks:splitstonesquare") +minetest.register_alias("coalstone", "moreblocks:coalstone") +minetest.register_alias("ironstone", "moreblocks:ironstone") +minetest.register_alias("coalglass", "moreblocks:coalglass") +minetest.register_alias("ironglass", "moreblocks:ironglass") +minetest.register_alias("glowglass", "moreblocks:glowglass") +minetest.register_alias("superglowglass", "moreblocks:superglowglass") +minetest.register_alias("plankstone", "moreblocks:plankstone") +minetest.register_alias("cactusbrick", "moreblocks:cactusbrick") +minetest.register_alias("cactuschecker", "moreblocks:cactuschecker") +minetest.register_alias("coalchecker", "moreblocks:coalchecker") +minetest.register_alias("ironchecker", "moreblocks:ironchecker") + +-- Redefinitions of some default crafting recipes + +minetest.register_craft({ + output = "default:sign_wall 4", + recipe = { + {"default:wood", "default:wood", "default:wood"}, + {"default:wood", "default:wood", "default:wood"}, + {"", "default:stick", ""}, + } +}) + +minetest.register_craft({ + output = "default:ladder 3", + recipe = { + {"default:stick", "", "default:stick"}, + {"default:stick", "default:stick", "default:stick"}, + {"default:stick", "", "default:stick"}, + } +}) + +minetest.register_craft({ + output = "default:paper 3", + recipe = { + {"default:papyrus", "default:papyrus", "default:papyrus"}, + } +}) + +minetest.register_craft({ + output = "default:rail 16", + recipe = { + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "default:stick", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "default:axe_wood", + recipe = { + {"default:wood", "default:wood"}, + {"default:stick", "default:wood "}, + {"default:stick", ""}, + } +}) + +minetest.register_craft({ + output = "default:axe_stone", + recipe = { + {"default:cobble", "default:cobble"}, + {"default:stick", "default:cobble"}, + {"default:stick", ""}, + } +}) + +minetest.register_craft({ + output = "default:axe_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:stick", "default:steel_ingot"}, + {"default:stick", ""}, + } +}) + +-- Tool repair buff (15% bonus instead of 2%) + +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.15, +}) + +-- Redefinitions of some default nodes + +minetest.register_node(":default:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=3,flammable=2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node(":default:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {snappy=2,dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node(":default:dry_shrub", { + description = "Dry Shrub", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_dry_shrub.png"}, + inventory_image = "default_dry_shrub.png", + wield_image = "default_dry_shrub.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {snappy=3,flammable=3}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3}, + }, +}) + +minetest.register_node(":default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2}, +}) + +minetest.register_node(":default:papyrus", { + description = "Papyrus", + drawtype = "plantlike", + tiles = {"default_papyrus.png"}, + inventory_image = "default_papyrus.png", + wield_image = "default_papyrus.png", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + walkable = false, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node(":default:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles = {"default_wood.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +-- Crafting + +minetest.register_craft({ + output = "default:stick 1", + recipe = { + {"default:dry_shrub"}, + } +}) + +minetest.register_craft({ + output = "default:sandstone 1", + recipe = { + {"default:desert_sand", "default:desert_sand"}, + {"default:desert_sand", "default:desert_sand"}, + } +}) + +minetest.register_craft({ + output = "default:dirt_with_grass 1", + recipe = { + {"default:junglegrass"}, + {"default:dirt"}, + } +}) + +minetest.register_craft({ + output = "default:dirt_with_grass 1", + recipe = { + {"default:mese"}, + {"default:dirt"}, + } +}) + +minetest.register_craft({ + output = "default:mossycobble 1", + recipe = { + {"default:junglegrass"}, + {"default:cobble"}, + } +}) + +minetest.register_craft({ + output = "default:mossycobble 1", + recipe = { + {"default:mese"}, + {"default:cobble"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:junglewood 4", + recipe = { + {"jungletree"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:junglestick 4", + recipe = { + {"moreblocks:junglewood"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:fence_junglewood 2", + recipe = { + {"moreblocks:junglestick", "moreblocks:junglestick", "moreblocks:junglestick"}, + {"moreblocks:junglestick", "moreblocks:junglestick", "moreblocks:junglestick"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:stonebrick 4", + recipe = { + {"stone", "stone"}, + {"stone", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:circlestonebrick 8", + recipe = { + {"stone", "stone", "stone"}, + {"stone", "", "stone"}, + {"stone", "stone", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:allfacestree 8", + recipe = { + {"tree", "tree", "tree"}, + {"tree", "", "tree"}, + {"tree", "tree", "tree"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:sweeper 3", + recipe = { + {"junglegrass"}, + {"Stick"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:stonesquare 4", + recipe = { + {"cobble", "cobble"}, + {"cobble", "cobble"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:splitstonesquare 1", + recipe = { + {"moreblocks:stonesquare"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:emptybookshelf 1", + recipe = { + {"moreblocks:sweeper"}, + {"default:bookshelf"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:ironstonebrick 1", + recipe = { + {"default:steel_ingot"}, + {"moreblocks:stonebrick"}, + } +}) + +minetest.register_craft({ + output = "default:wood 4", + recipe = { + {"moreblocks:horizontaltree"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:junglewood 4", + recipe = { + {"moreblocks:horizontaljungletree"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:plankstone 4", + recipe = { + {"stone", "wood"}, + {"wood", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:plankstone 4", + recipe = { + {"wood", "stone"}, + {"stone", "wood"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:coalchecker 4", + recipe = { + {"stone", "lump_of_coal"}, + {"lump_of_coal", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:coalchecker 4", + recipe = { + {"lump_of_coal", "stone"}, + {"stone", "lump_of_coal"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:ironchecker 4", + recipe = { + {"steel_ingot", "stone"}, + {"stone", "steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "default:chest_locked 1", + recipe = { + {"steel_ingot"}, + {"chest"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:ironchecker 4", + recipe = { + {"stone", "steel_ingot"}, + {"steel_ingot", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:ironglass 1", + recipe = { + {"steel_ingot"}, + {"glass"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:coalglass 1", + recipe = { + {"lump_of_coal"}, + {"glass"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:cleanglass 1", + type = "shapeless", + recipe = {"moreblocks:sweeper", "glass"}, +}) + +minetest.register_craft({ + output = "moreblocks:glowglass 1", + recipe = {{"default:torch"}, {"default:glass"}}, +}) + +minetest.register_craft({ + output = "moreblocks:superglowglass 1", + type = "shapeless", + recipe = {"torch", "torch", "glass"}, +}) + +minetest.register_craft({ + output = "moreblocks:coalstone 1", + type = "shapeless", + recipe = {"lump_of_coal", "stone"}, +}) + +minetest.register_craft({ + output = "moreblocks:trapstone 12", + recipe = { + {"mese"}, + {"stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:trapglass 12", + recipe = { + {"mese"}, + {"glass"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:ironstone 1", + type = "shapeless", + recipe = {"lump_of_iron", "stone"}, +}) + +minetest.register_craft({ + output = "moreblocks:cactusbrick 1", + recipe = { + {"cactus"}, + {"brick"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:cactuschecker 4", + recipe = { + {"cactus", "stone"}, + {"stone", "cactus"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:cactuschecker 4", + recipe = { + {"stone", "cactus"}, + {"cactus", "stone"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:oerkkiblock 9", + recipe = { + {"lump_of_iron", "lump_of_coal", "lump_of_iron"}, + {"lump_of_coal", "bookshelf", "lump_of_coal"}, + {"lump_of_iron", "lump_of_coal", "lump_of_iron"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:oerkkiblock 9", + recipe = { + {"lump_of_coal", "lump_of_iron", "lump_of_coal"}, + {"lump_of_iron", "bookshelf", "lump_of_iron"}, + {"lump_of_coal", "lump_of_iron", "lump_of_coal"}, + } +}) + +minetest.register_craft({ + output = "sapling 1", + recipe = { + {"leaves", "leaves", "leaves"}, + {"leaves", "leaves", "leaves"}, + {"", "Stick", ""}, + } +}) + +minetest.register_craft({ + output = "moreblocks:rope 1", + recipe = { + {"leaves"}, + {"leaves"}, + {"leaves"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:rope 1", + recipe = { + {"leaves"}, + {"junglegrass"}, + {"leaves"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:rope 1", + recipe = { + {"junglegrass"}, + {"junglegrass"}, + {"junglegrass"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:rope 1", + recipe = { + {"junglegrass"}, + {"leaves"}, + {"junglegrass"}, + } +}) + +minetest.register_craft({ + output = "steel_ingot 9", + recipe = { + {"default:steelblock"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:horizontaltree 2", + recipe = { + {"tree", "tree"}, + } +}) + +minetest.register_craft({ + output = "tree 2", + recipe = { + {"moreblocks:horizontaltree"}, + {"moreblocks:horizontaltree"}, + } +}) + +minetest.register_craft({ + output = "moreblocks:horizontaljungletree 2", + recipe = { + {"jungletree", "jungletree"}, + } +}) + +minetest.register_craft({ + output = "jungletree 2", + recipe = { + {"moreblocks:horizontaljungletree"}, + {"moreblocks:horizontaljungletree"}, + } +}) + +-- Blocks + +minetest.register_node("moreblocks:junglewood", { + description = "Jungle Wooden Planks", + tiles = {"moreblocks_junglewood.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("moreblocks:stonebrick", { + description = "Stone Bricks", + tiles = {"moreblocks_stonebrick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:circlestonebrick", { + description = "Circle Stone Bricks", + tiles = {"moreblocks_circlestonebrick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:ironstonebrick", { + description = "Iron Stone Bricks", + tiles = {"moreblocks_ironstonebrick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:stonesquare", { + description = "Stonesquare", + tiles = {"moreblocks_stonesquare.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:splitstonesquare", { + description = "Split Stonesquare", + tiles = {"moreblocks_splitstonesquare_top.png", "moreblocks_splitstonesquare.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:plankstone", { + description = "Plankstone", + tiles = { + "moreblocks_plankstone.png", + "moreblocks_plankstone.png", + "moreblocks_plankstone.png", + "moreblocks_plankstone.png", + "moreblocks_plankstone_2.png", + "moreblocks_plankstone_2.png", + }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:ironglass", { + description = "Iron Glass", + drawtype = "glasslike", + tiles = {"moreblocks_ironglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_ironglass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("moreblocks:coalglass", { + description = "Coal Glass", + drawtype = "glasslike", + tiles = {"moreblocks_coalglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_coalglass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("moreblocks:cleanglass", { + description = "Clean Glass", + drawtype = "glasslike", + tiles = {"moreblocks_cleanglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_cleanglass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + + +minetest.register_node("moreblocks:cactusbrick", { + description = "Cactus Brick", + tiles = {"moreblocks_cactusbrick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:cactuschecker", { + description = "Cactus Checker", + tiles = { + "moreblocks_cactuschecker.png", + "moreblocks_cactuschecker.png", + "moreblocks_cactuschecker.png", + "moreblocks_cactuschecker.png", + "moreblocks_cactuschecker_2.png", + "moreblocks_cactuschecker_2.png", + }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:emptybookshelf", { + description = "Empty Bookshelf", + tiles = {"default_wood.png", "default_wood.png", "moreblocks_emptybookshelf.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("moreblocks:oerkkiblock", { + description = "Oerkki Block", + tiles = {"moreblocks_oerkkiblock.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:coalstone", { + description = "Coalstone", + tiles = {"moreblocks_coalstone.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:ironstone", { + description = "Ironstone", + tiles = {"moreblocks_ironstone.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:coalchecker", { + description = "Coalchecker", + tiles = { + "moreblocks_coalchecker.png", + "moreblocks_coalchecker.png", + "moreblocks_coalchecker.png", + "moreblocks_coalchecker.png", + "moreblocks_coalchecker_2.png", + "moreblocks_coalchecker_2.png", + }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:ironchecker", { + description = "Ironchecker", + tiles = { + "moreblocks_ironchecker.png", + "moreblocks_ironchecker.png", + "moreblocks_ironchecker.png", + "moreblocks_ironchecker.png", + "moreblocks_ironchecker_2.png", + "moreblocks_ironchecker_2.png", + }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:trapstone", { + description = "Trapstone", + tiles = {"moreblocks_trapstone.png"}, + walkable = false, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreblocks:trapglass", { + description = "Trapglass", + drawtype = "glasslike", + tiles = {"moreblocks_trapglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_trapglass.png"), + paramtype = "light", + sunlight_propagates = true, + walkable = false, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("moreblocks:fence_junglewood", { + description = "Jungle Wood Fence", + drawtype = "fencelike", + tiles = {"moreblocks_junglewood.png"}, + inventory_image = "moreblocks_junglewood_fence.png", + wield_image = "moreblocks_junglewood_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("moreblocks:horizontaltree", { + description = "Horizontal Tree", + tiles = {"default_tree.png", "default_tree.png", "moreblocks_horizontaltree.png", + "moreblocks_horizontaltree.png", "default_tree_top.png", "default_tree_top.png"}, + paramtype2 = "facedir", + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + furnace_burntime = 30, +}) + +minetest.register_node("moreblocks:horizontaljungletree", { + description = "Horizontal Jungletree", + tiles = {"default_jungletree.png", "default_jungletree.png", "moreblocks_horizontaljungletree.png", + "moreblocks_horizontaljungletree.png", "default_jungletree_top.png", "default_jungletree_top.png"}, + paramtype2 = "facedir", + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + furnace_burntime = 30, +}) + +minetest.register_node("moreblocks:allfacestree", { + description = "All-faces Tree", + tiles = {"default_tree_top.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + furnace_burntime = 30, +}) + +minetest.register_node("moreblocks:glowglass", { + description = "Glowglass", + drawtype = "glasslike", + tiles = {"moreblocks_glowglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_glowglass.png"), + paramtype = "light", + sunlight_propagates = true, + light_source = 12, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("moreblocks:superglowglass", { + description = "Super Glowglass", + drawtype = "glasslike", + tiles = {"moreblocks_glowglass.png"}, + inventory_image = minetest.inventorycube("moreblocks_glowglass.png"), + paramtype = "light", + sunlight_propagates = true, + light_source = 15, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("moreblocks:rope", { + description = "Rope", + drawtype = "signlike", + tiles = {"moreblocks_rope.png"}, + inventory_image = "moreblocks_rope.png", + wield_image = "moreblocks_rope.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Items + +minetest.register_craftitem("moreblocks:sweeper", { + description = "Sweeper", + inventory_image = "moreblocks_sweeper.png", +}) + +minetest.register_craftitem("moreblocks:junglestick", { + description = "Jungle Stick", + inventory_image = "moreblocks_junglestick.png", +}) + +-- Stairs/Slabs/Panels/Microblocks -- code imported from the Stairs+ mod. :) + +moreblocks = {} + +-- Node will be called moreblocks:stair_ + +function moreblocks.register_stair(subname, recipeitem, groups, images, description, drop) + minetest.register_node("moreblocks:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_half", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_right_half", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.5, 0.5, 0, 0.5}, + {0, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.5, 0.5, 0, 0.5}, + {0, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_right_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {0, 0, -0.5, 0.5, 0.5, 0.5}, + {0, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, -0.5, 0.5, 0.5, 0.5}, + {0, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_wall", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_wall_half", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_wall_half", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_wall_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_wall_half", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_inner", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_inner", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_outer", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_outer", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_inner_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_inner", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:stair_" .. subname .. "_outer_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:stair_" .. drop .. "_outer", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. " 8", + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. " 8", + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall 8", + recipe = { + {recipeitem, recipeitem, recipeitem}, + {recipeitem, recipeitem, ""}, + {recipeitem, "", ""}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall 8", + recipe = { + {recipeitem, recipeitem, recipeitem}, + {"", recipeitem, recipeitem}, + {"", "", recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall 2", + recipe = { + {"moreblocks:stair_" .. subname, "moreblocks:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_inverted", "moreblocks:stair_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. " 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_wall"}, + {"moreblocks:stair_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_inner 1", + recipe = { + {"moreblocks:micro_" .. subname .. "_bottom", "moreblocks:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_outer 1", + recipe = { + {"moreblocks:micro_" .. subname .. "_bottom"}, + {"moreblocks:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_half 1", + recipe = { + {"moreblocks:micro_" .. subname .. "_bottom"}, + {"moreblocks:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_half_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_half 1"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_half 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_half_inverted 1"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_right_half 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_half", "moreblocks:stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_half 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_right_half", "moreblocks:stair_" .. subname .. "_right_half"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_right_half_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_right_half"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_right_half 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_right_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_half_inverted 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_right_half_inverted", "moreblocks:stair_" .. subname .. "_right_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_right_half_inverted 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_half_inverted", "moreblocks:stair_" .. subname .. "_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_inner_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_inner"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_outer_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_outer"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_inner 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_inner_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_outer 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_outer_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall_half 2", + recipe = { + {"moreblocks:stair_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_wall_half"}, + {"moreblocks:stair_" .. subname .. "_wall_half"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall_half_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_wall_half"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_wall_half 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_wall_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. "_inverted 1", + recipe = { + {"moreblocks:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:stair_" .. subname .. " 1", + recipe = { + {"moreblocks:stair_" .. subname .. "_inverted"}, + }, + }) +end + +-- Node will be called moreblocks:slab_ + +function moreblocks.register_slab(subname, recipeitem, groups, images, description, drop) + minetest.register_node("moreblocks:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y - 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "moreblocks:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname .. "_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname .. "_three_quarter") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node(":stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_inverted", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y + 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "moreblocks:slab_" .. subname .. "_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname .. "_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname .. "_three_quarter_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_wall", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_wall", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_quarter", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y - 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "moreblocks:slab_" .. subname .. "_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname .. "_three_quarter") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname .. "_three_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_quarter_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0.25, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0.25, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y + 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "moreblocks:slab_" .. subname .. "_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname .. "_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname .. "_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("moreblocks:slab_" .. subname .. "_three_quarter_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "moreblocks:slab_" .. subname .. "_three_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_three_quarter", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_three_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:slab_" .. subname .. "_three_quarter_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:slab_" .. drop .. "_three_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.25, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.25, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. " 6", + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_wall 6", + recipe = { + {recipeitem}, + {recipeitem}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_inverted 1", + recipe = { + {"moreblocks:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. " 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"moreblocks:slab_" .. subname}, + {"moreblocks:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_inverted"}, + {"moreblocks:slab_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_wall", "moreblocks:slab_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = recipeitem, + recipe = { + {"moreblocks:slab_" .. subname}, + {"moreblocks:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_quarter 6", + recipe = { + {"moreblocks:slab_" .. subname, "moreblocks:slab_" .. subname, "moreblocks:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_quarter_inverted 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_quarter"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_quarter 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_quarter_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_three_quarter_inverted 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_three_quarter"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_three_quarter 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_three_quarter_inverted"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_three_quarter 1", + recipe = { + {"moreblocks:slab_" .. subname .. "_quarter"}, + {"moreblocks:slab_" .. subname .. "_quarter"}, + {"moreblocks:slab_" .. subname .. "_quarter"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:slab_" .. subname .. "_quarter 6", + recipe = { + {"moreblocks:slab_" .. subname .. "_three_quarter"}, + {"moreblocks:slab_" .. subname .. "_three_quarter"}, + }, + }) +end + +-- Node will be called moreblocks:panel_ + +function moreblocks.register_panel(subname, recipeitem, groups, images, description, drop) + minetest.register_node("moreblocks:panel_" .. subname .. "_bottom", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:panel_" .. subname .. "_top", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:panel_" .. subname .. "_vertical", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_bottom 8", + recipe = { + {recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_vertical 8", + recipe = { + {recipeitem}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_top 1", + recipe = { + {"moreblocks:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_bottom 1", + recipe = { + {"moreblocks:panel_" .. subname .. "_top"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_vertical 2", + recipe = { + {"moreblocks:panel_" .. subname .. "_bottom"}, + {"moreblocks:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:panel_" .. subname .. "_bottom 2", + recipe = { + {"moreblocks:panel_" .. subname .. "_vertical", "moreblocks:panel_" .. subname .. "_vertical"}, + }, + }) +end + +-- Node will be called moreblocks:micro_ + +function moreblocks.register_micro(subname, recipeitem, groups, images, description, drop) + minetest.register_node("moreblocks:micro_" .. subname .. "_bottom", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:micro_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("moreblocks:micro_" .. subname .. "_top", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "moreblocks:micro_" .. drop .. "_top", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "moreblocks:micro_" .. subname .. "_bottom 8", + recipe = { + {"default:stick"}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:micro_" .. subname .. "_top 1", + recipe = { + {"moreblocks:micro_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "moreblocks:micro_" .. subname .. "_bottom 1", + recipe = { + {"moreblocks:micro_" .. subname .. "_top"}, + }, + }) +end + +-- Nodes will be called moreblocks:{stair,slab,panel,micro}_ +function moreblocks.register_stair_and_slab_and_panel_and_micro(subname, recipeitem, groups, images, desc_stair, desc_slab, desc_panel, desc_micro, drop) + moreblocks.register_stair(subname, recipeitem, groups, images, desc_stair, drop) + moreblocks.register_slab(subname, recipeitem, groups, images, desc_slab, drop) + moreblocks.register_panel(subname, recipeitem, groups, images, desc_panel, drop) + moreblocks.register_micro(subname, recipeitem, groups, images, desc_micro, drop) +end + +moreblocks.register_stair_and_slab_and_panel_and_micro("stonebrick", "moreblocks:stonebrick", + {cracky=3}, + {"moreblocks_stonebrick.png"}, + "Stone Bricks Stairs", + "Stone Bricks Slab", + "Stone Bricks Panel", + "Stone Bricks Microblock", + "stonebrick") + +moreblocks.register_stair_and_slab_and_panel_and_micro("ironstonebrick", "moreblocks:ironstonebrick", + {cracky=3}, + {"moreblocks_stonebrick.png"}, + "Iron Stone Bricks Stairs", + "Iron Stone Bricks Slab", + "Iron Stone Bricks Panel", + "Iron Stone Bricks Microblock", + "ironstonebrick") + +moreblocks.register_stair_and_slab_and_panel_and_micro("stonesquare", "moreblocks:stonesquare", + {cracky=3}, + {"moreblocks_stonesquare.png"}, + "Stonesquare Stairs", + "Stonesquare Slab", + "Stonesquare Panel", + "Stonesquare Microblock", + "stonesquare") + +moreblocks.register_stair_and_slab_and_panel_and_micro("splitstonesquare", "moreblocks:splitstonesquare", + {cracky=3}, + {"moreblocks_splitstonesquare_top.png", "moreblocks_splitstonesquare.png"}, + "Split Stonesquare Stairs", + "Split Stonesquare Slab", + "Split Stonesquare Panel", + "Split Stonesquare Microblock", + "splitstonesquare") + +moreblocks.register_stair_and_slab_and_panel_and_micro("junglewood", "moreblocks:junglewood", + {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"moreblocks_junglewood.png"}, + "Jungle Wood Stairs", + "Jungle Wood Slab", + "Jungle Wood Panel", + "Jungle Wood Microblock", + "junglewood") + +moreblocks.register_stair_and_slab_and_panel_and_micro("circlestonebrick", "moreblocks:circlestonebrick", + {cracky=3}, + {"moreblocks_circlestonebrick.png"}, + "Circle Stone Brick Stairs", + "Circle Stone Brick Slab", + "Cricle Stone Brick Panel", + "Circle Stone Brick Microblock", + "circlestonebrick") + +moreblocks.register_stair_and_slab_and_panel_and_micro("plankstone", "moreblocks:plankstone", + {cracky=3}, + {"moreblocks_plankstone.png"}, + "Plankstone Stairs", + "Plankstone Slab", + "Plankstone Panel", + "Plankstone Microblock", + "plankstone") diff --git a/mods/moreblocks/textures/moreblocks_cactusbrick.png b/mods/moreblocks/textures/moreblocks_cactusbrick.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd4b929152236d9540647b4a90e0d9024978d92 GIT binary patch literal 735 zcmV<50wDc~P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3UvJBNw#e0vmp0`Y50W%ou#({{ib?+sQ-aG+7 zhl;DZDSIo859{xUBpTDyt0Gny#89u-F>koc;Vk^yH3`*PHOxSV8j>g7qwrK!Bo0~; z!89aFMUYtN{^=q=f9;$1p2Nc<78h^QJL^%cRmrjpfQyR@y!Sw0)ND5CbUG|8FL82w zg0x?>Y@+@3>J|^SAOGj`gcZQ{{a38+tOW-y6)lV?&Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3e+XWoP@mIgnHl^hY zQW!~D@j!%$WE;VYiP0F%jvi+8U*O`h+qUemEW7OFX{X&>ym<0xG?9xL5KPnrmXVB6 zx1>J?*jYxqmi61#!x!(L=lOi{Jnv89-o1N+y}dp8eBRjDm@Cm0hLJ#(Yp<^f!%#Ar z)NZ%k9>2{zHh`g>ogL@TpLck8CEz_Z$jFEx9ejizk>%j=fu~QO3d2ws zhP=WQ()gFDsVVh(-TwZ*R;wkD#`pLbbuL}HC69UFJw!*DLP-eP6HFbKpSmEO6`VTRg-J4hSYEC)H{- zgTcW1`Z|A{cKjHh)9?3%VJM0s*=&{{Fo7j}K`=c%Et}2S+uO6eyv(Oqz#$%zOeSq_ zZ;PTxp-|vCo{4!`V-@0*yIkjv%#2Tmvud#=5K5&!@I07*qoM6N<$ Eg2(5D&Hw-a literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_cactuschecker_2.png b/mods/moreblocks/textures/moreblocks_cactuschecker_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f37170f8a1ae00c0609264709533b3ed753eea2 GIT binary patch literal 829 zcmV-D1H$}?P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00N~+L_t(I%PrGAZ(C&;hwy zCW_=1#ZE0Hu~g@UICkCSFdPrhbpLNX_jTRR6ZlD@gXj2yM}tSADAH=RwA*bD79P;Y zDE{MC>y~b}D-1&m3kyO|&_oW0BuQd#Z%?n+Ge1AiHm+lUK0y#D7K^T3yXMuaS3-*z zLj^N*yIsv@Q$C;9>-G2st9X;h-!zCgc44oOA5pSNy`}=B949Yj<~7Hk%b$!XNk+EqcA4AP8)4Z;PUcgH)DGigxAb zir24S8yOi9$Fb1%kg1N4YPD)KHO^unm$?<2A`;pf8tuAcqO(gy@m00000NkvXX Hu0mjfhi7<# literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_circlestonebrick.png b/mods/moreblocks/textures/moreblocks_circlestonebrick.png new file mode 100644 index 0000000000000000000000000000000000000000..03bbcbbdeb28053c2f933504c676f6710e0f9a6b GIT binary patch literal 646 zcmV;10(t$3P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf3 z4ly*d8<27U00IU{L_t(I%Wad*QX4T4gg=EX+bdbxQvh?q1qsLSLLrqrwjmUU#Owvb zYW1@wRh}GVFBK|toSJEMPq)){rhMbv9r*tnb066DxO;Z;4b4}BXAl1Xe0|38%uL}bNJ)IT?`z7lf3g|-sAmz-b zi%S415n)!>XkEW8iI8$00S-u|iWFi_RCE~qIZ2$vTZ=(@%^hxdM@eyH2KI{>uS zXsxM?(fdYWV6;X={?TfTVK$rb^z<|y)>(`9o=Pc2h;d{PQo__V0N#6IN&sw!p*XUa zv2I)D#uOKKaCP+=5h2FN_VpEjxiQ6suImsHWVa*cOo)-q zW&^2f9Zf|vZ#Qz#*m)09V(MH&-+SIyi1DApR-5N%QcTFZm%Z=C gFCJs!f0a_=FIr9=rkkkTGXMYp07*qoM6N<$g0~4nJa0`JjyPv#}l(B76cywvy7WEC;+@4v1FQO;!`BQVma66x)%fZZz?QN5K zqWUB6s-LI~|D0ueJS-tEZ1Z=~4yK@63uMHW%0#F=yY`odm0`xR4c8uUGhS@aP&l?s qNWgcAa@2}7n*R@4eA#p@J6=>OP%!7o%q>7iFnGH9xvXPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3@~8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0`o~kK~y-)J(Igi^jrW%SB@u{t082@ zh<8C49T7pM5o`oSA4Rb6O{{za8=t_^Qe`SZ3-K~3#JOLHnu*6u=J*#Mzt!$Gti|5O z+1c4|tyZH@DBw5_=jZ1LArL|kMG=RGhuF4_X_|b0e{*?xiEZ2TdOZN-@T5`rM$^74{Kqd`8O$8}xy_V#cbhkCt^ zVHgN0B~nV_I7VwtDwX=n@9%F+)5NkYwAMsX#BeyITCMW)^TXuiBvNaQ=Xt!ny&2PfGaL>PLI`}{$MZatQXCu{u(r0w;^HD7 zA0K2g8H&XsT5Iz8JgruX)zwu-qYU69fS~6t5rIk4q+H_cXx-Fnwp~7Z1Vg2%gxOVgTVkH1VIomGc$wM8r!x>l7w6? zhwuAXmWAuOEG#S_=H}+e<#N<&H7b<~)6>&9j)PK)ZnukRnmjx_kR%DSv$G6`L&7iw zpxtgGlO&-~D3HlyxWB*W>+1_CCCkgp3{p`uaMe*Xt2Q5pf*< zO?qo35-rO@DTS1hFbo-uMqFK85r!dQ7$T+Q^YatW^9X`~g@pyQ))b3H c^7%af0TZix2Sj_%X8-^I07*qoM6N<$f^1xs(*OVf literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_coalchecker_2.png b/mods/moreblocks/textures/moreblocks_coalchecker_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1522ee9e401ca9b020c9b7b497525048d1dd28 GIT binary patch literal 900 zcmV-~1AF|5P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QhuL_t(I%T<#*Px@>a#(z9{ z+HfdP&_b;y8W9tf=-}XD!dG#1_A9vfMO<_@ad2@^6G#1Pf+lj7LyA@?rC|FGCM55E z-B+&D9VwT~q3`?Hw$0+=B1cC@NGWMHoAi1;?(gpjf&d`|v)PPtxs2<&2qD-AVzSU~u`Pdpyy>+1_CCAC_OgM$OA z)hd={VcRyErlG1TLI_OLBnSes*(|!Q6FEIS4HZQp3`4>&8WHL#o(;=J9a&mIQ z_4PHmT#m_P!p+UiT#XO{QLR>4U0r2uZEdb%I-Mefz_x9ko}O?V2g|Z36bkdhd_Mn2 zP%4!ejYiaJHAtHX{~`;W!QeLI~twFkm{J^7i&d5Cqt^ zO*9(CFbvx5Hq~mCbUMw)#|N=kjPZDkX_~a#?Y~y`_xHouY&P%u`1tsLHZCqM7>~y& zio$d{>pVU_QmIr(CX@XB{t|{E!{Ly2yG^Ur;`#X* z*LA7a>!eaCq^|39yIq!-ml=&lc%DZj65;jr6)7eCe*e#_l&Gr8#>NJXMgvt@2L;>ntrT zv9hwl`T037FE1n#3D(!w+1c5_G)+344v9p9tE;Q|tO3MiGQl)W04kLVuIrM?WXNW- zbh}*)!{Fb)e>55mbX^BP(=;-f45?HKp(qN2!GL11$lcu?p68)y8UVxLkcWo{Mxzmi zVbE+gaU6$6qd~9N`^zVtPLt2)xxKw*dwUxxCAMv&C2AQb+tZ%_0000`sfZ60P$34;^W({BQWBuiW)N}Tg^b5rw57@Uhz6H8K46v{J8 zG8EiBeFMT9`NV;Wl001;Lo7}w=VWF5I^V#0DIDQivKp;cnD+s>WyTNLBu`9qOuVopluAEu6{1-oD!MPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z4Gt5zD|Jf%00E&%L_t(I%XN}VuBt!~hQB6EMo$VmDQ zOn2~{+?w^H>VK80>)I)$h@uF9aU6NS-#F(O#}NQ)EsMp1Y5AU5L{LhhwMImEJRT%T z!ufm#Ktw3ZGBjzezs_p2**JhSO#_4Zd>+uFC}Oo*0nl|F0Da#F#_>3gq-jc?=Q!uW z5NmDtpi)9FOpw!s^% zHE|S0+-|o&3;?v&f%fb50$?_q0bq=wD2h)C%jFWSbzmSOfmKyiVYo3SfOK7lQi`~3 z+mN|227sn%02qdWBuV)B`60`)(Ch(3gxI5ctpG()gt(>){4ny>I)LYKosI00000NkvXXu0mjfNqqC< literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_emptybookshelf.png b/mods/moreblocks/textures/moreblocks_emptybookshelf.png new file mode 100644 index 0000000000000000000000000000000000000000..56fc713431c0bfc10e50377d7e450b9eb8dc2daf GIT binary patch literal 675 zcmV;U0$lxxP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3iZBcG-!rS+fycEy^ z5%{{q=ov}82N7h&id}4hg3D(uk@e}T)Q)NEfORo#TMET+*>ZSKR)Xv-4AAwffmN61zuoFzyC) zSM|{FH{{C{ze$mKqq`dcS+ydxkf$kml>%UgYKK@i8+={?P&NUXFP68|=SN5VSsT66 zGkS<|763(yIGYiS5NM;YvLW|@rh$=$wuXTKJLt$07g5xbSi#+i1-7Wm7Z?0@4&J=` z%HiRCvh3!*XZ#!2Igm2BhjU}HVu2mTou5(YM@1AUvJ7kDTQbx69JyJ1>CD*5Ow`+zSjQ4-n6fpYNQUoFeN6jIez~Z^9+rbA71rbr+s|l~VZjQGa4?%8QL70(Y)*K0-AbW|YuPgg)9%e3m_DAhHyMaQIC9V-A&iT2y zsd*&~&PAz-C8;S2<(VZJ3hti10pX2&;y^_yo-U3d7N?W{{9p0Ho>}aG#`WVJ-h8YA zOF8=E)Y!ZjH*x>7e}C-dtpEDI{tG{4t%*CdN^Ex9fB)={JC=O6H$B8J*fC|6Q=v}4 zb%vlMhVm;mdJCOQlw3tkC)?#Nnz%xzTR)qb;iZ1+Z0B1C-vRAo@O1TaS?83{1OVV( BR}cUI literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_horizontaljungletree.png b/mods/moreblocks/textures/moreblocks_horizontaljungletree.png new file mode 100644 index 0000000000000000000000000000000000000000..75a21b87da5570b824ad25ffbd608760b724d5dd GIT binary patch literal 808 zcmV+@1K0eCP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1sV)E9=hf>g8%>mx=BPqR4C5{ z!Oe1;MgRcdUD!neu?U1fHm)owvEq)LLo#WS*0*LRd4XR01bv7+RF0XR>+wuFlg_lx zk0V>ewrmN3kmP!~z8Rwbc(S245Ue|S2WTFxx17-*FqEaOV zwN1+)4O!&QZf}3`3|oU}75n}?Pvg}xG<0w<^8BlLEpGyUBXWk^o!;o-cszMZxm@NU zi)P~5?^_=0?zF9*+ckGwdwrkMG_%bnMmB1-&3``o%jJBv2rS1iy@#{g;QFtRQk6QM zTZV&l>sh@a-hfrHz(|2_UOfST-A4BVhY(kz5&d|!V0qOu$Avmb!cd>3GB%zj$qh%)l@WAvuA~(R6 zmh@hj2L9z>tlQeIO^Pk8AeS%%6%;}wF>4zd@*GFQ`prdn{QM_uir{WB%{eWAH*}vo zA1_036GjcaJpJ=~jSEmiq!E#%VU`zI;b))zYi^}edSZ1f6amiO0B$sFNBn>Jc zWEmj;sXAsAfC6-nNMCc4MJ5D99k&@=Q^!#|x{66% zQt<3xSC$l_qmql9u4!Jca(;Zm19)4F>PNd^kConHKr|&CA`<-a27whxF}UePx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf3 z3@i}@_xwiy00MMLL_t(I%Qccsa@;l;1slKz5Fj}tDV9?edzH#M7s&lDl7%a=D~e_~ zBtd}q$wHM~FW#zOtKWWk?yWVHQYaKgD;l8abQBusNq2zZ192(`Dv5d&1L1 zE`{DZ>wZvcqu0)54yZqV|Fxf`68DJKnh*v)y;EuU}rN zbQB8Ev|6CSkx$N25v?)C;GIQMDJ+l3Su?$LoLH9Iiil;L9A~Yp>qc#jF^r7C;haV^ zlva`X;<=20|F0A)bk!-j@b9vcb0!P}^BfqwL)?H>pp_<-hP?f=km*dp5zj(gBm27Z z^fGh3TzGwbM%BiCoZN0Z_uJp(a-x;u`8p$E^1N8b{jp)YVoL>Y9go{iUQZtWfl`Xv zKLYys^9y6}gfI|uLY7D5y)4w$34Y+q*UwDB(@+4UlrT!MADPiRN^2OSd3#^Tr6AYK zgoq#tVoL1sVBZg>X(Xq_eT$?cAxg6b$2fSp2Ok1b3PNj?oLS<5v%+zlD5coq4L1l+ z*AcEG#uy%ZB=<@=5|>f1S|RHm$+b{&!?;55LKsJCIa$_&KfnFJXhRr2BFpsz;D`w) zg7n_7T4TJ%D1{T@_I@YjN=gTV7K}EOe6rS#9}LE5tToiyk^8zs?X=zjXnPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW30qPbDbP< zdwaX-_xltI1suoW{QMj#B>-U<(r7fu<#K46#%i_V^74{wHp_fI2SB#lZECgJkNDqc z+cvgslS-w~G>vYzORv|X-EIRQgdmkl5yvrGNs=%gkI{7<*L8{G7|-)qE|=uh(IcT8)E)1LpHNnx-8GX^UySn*Vk8+Qk2VOf*@eES^?mB9#Sbqp-`Y&t@85nLJ$Nf zr6`q3Xqtvn3fFZR4u^ERT`H9dnM{T#iZD$R@%;R}iJ}O@FpyGme}9kXd7PY_FdB`x zxVXSHO@bgm2tlXQq1WrtY&JPQK1P0heG!Hs>-CzCj}L?poSvRCnM@cA1|&(s=jSJe zVUQ#V!{LxjCd2jh_0Rv9ril;&r4+VpBZL5;P$+P8bcB==(=>5i7sD|AfVWyLDwPWI zcTXwh-)SBm9#}4yESF29lze}Gv$M0qVzHo7sgNWIySuwsmc@Tyr+mtXn(>_g0000< KMNUMnLSTXn|AjCB literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_ironchecker_2.png b/mods/moreblocks/textures/moreblocks_ironchecker_2.png new file mode 100644 index 0000000000000000000000000000000000000000..417badfc4cb8ba3afefdf778677baa7089d42cb9 GIT binary patch literal 889 zcmV-<1BU#GP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QAjL_t(I%RSQHO8RgZ$MN^R z+jLHyYoaX)49uXAI_RM8pwmt|=#sjMF2FnJCck?jAg4kpIdlHmT-$yJ@$)%; zKJeo6JksOiV-kiTv)K&8FnD@;LQxd@{XWCtkn{6%k|aS0K^(_4n@#5PIYJ0_cXtu4 z>*D)9LI}bzBuNrJKR@w(pPii@7K;U@X%fdVaU3H_66JE4{r!F3-`^3suA?XlnM?*v z)0ofaIF5s9n)tqtWmyac1EMHG2!ZRmq*5t{!y(0D5fMcZ>2!L)aO&rHqmW64WDA(85sH#emBqT|~+1VMIrctd{$>;Mpj>FZ}73Ff7 zAP6`;Jtc}FWLXA4bUGcX)hb(CTa3qJBuOHQA|y$|^E_Iu7L&<@N~J=rR$EC5g#tnd zM5EDQHk;u%4vj{GTrS6CGC@(4Kcb>w7zV1U^85QsDwSe7o$`Ma*L4ZQkhixt;y7k| zdwUfcjYf1j9SVg4A0HoNG8uv(z_Kh{*Zq^;-rgqvPb7q()oP(A3Sk%`gy8u2m@o{H zWtk|7Xf~TvDisEU!QW001S?)Po8{r*fp)u1KA$IwB9bJ*_kCQ~<@@`a=jUhU^Eusa z7sD`648y>6U5dpbzVGAvK9VHy`ud8ZD62k%5M(kLwzs$G^?IaIDO6QOOs7*U%VM!u zAW0JSdYyxV1J>5o5JI5qI&mD6PN&J`asX(WhUa;InTv~yq}%PXv9ZDC<|c=ShjhDL zG)=>{Z7we_v2B~LuP?IMEGH)?tDgb>I`sfZ60P$Nj?F_-Nry6$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj z3TaA0vwuM+ugfB8nlBd%RPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z4Gl0bVORP900FB>L_t(I%Vm>Gj;k;bMUO3yO!z2<6~GFz&}=Sam?erDgRn`WOoDsR zvPItW1YxPF&b_xR&gXLwLLj9CVB0o6pAR7fLI?nO?-OF!b5EyJN&{dVM^t=7aWUdPM6LT~ec!Vz tOS+R%qVD&5njBMzOB5f>zi(hq_X~K^71_R@tpET3002ovPDHLkV1oN&>YxAs literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_ironstonebrick.png b/mods/moreblocks/textures/moreblocks_ironstonebrick.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0ed5ce744d78fe6b364eeabd2fe3d7e4cfd9fb GIT binary patch literal 741 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf3 z3@s!}UkN1u00L!6L_t(I%T<$0Z_`i^g}-}i5@aWF^909b5hRu=RgqX!EKrg77r-Au z2=?6|fha5Bryx~TSrrP~Ql(YwJZvXvVz*7_UI!_W07ByV9xJX3 zz`N~_EJ?)c+qY^Aq9NUGkHKifpXmi?4ZtLhu?sd*2>fmbAp}RQWBR>-y}fT38bx8b z$c;<}rBcdDDf&^AqDsktz+0;sF#-q_(H}ZCVK{J=j&#tS8;}}$0G#*b70*ujc zh}NLcX#o&MsaThnQ?i*1*=!cmv|z^2&gW-9HpYwR&lYv zfWmd}@agjx=0>Yk%ZyJ?>GT6?Ge4V}$o0WeMT8qN8K$8mDy1N1`NB#HS4 X!sHfNhu^{p00000NkvXXu0mjf@Rd2@ literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png new file mode 100644 index 0000000000000000000000000000000000000000..afe589227ce7277a7c8a133df4669fc714a20dc5 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfw}C?8o-U3d7N?UF zB#IQyyM3>p*ZZzsVt#AL+3)x2oCK3q+&@oy%`fR`#4tT=5zm3;GZ!$nm^?OZkT`3> zs}N=!#_VyiCy`<0tUw+GcVlKC5bkm8dv=hKp@`9^(s+U81fUfRp00i_>zopr01(_k Aa{vGU literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_junglewood.png b/mods/moreblocks/textures/moreblocks_junglewood.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc64858d592ef7a88f3a7725cdfd24ea590ee0e GIT binary patch literal 362 zcmV-w0hRuVP)Px#32;bRa{vGi!vFvd!vV){sAK>D00(qQO+^RX1sV?tDaJr5X8-^I{7FPXR4C7N zQo(8hK@5FcqX!Q~krm2<%R&V~aK(eaQ1I$^3jK~Ey$OX{=Cl;Lh_Z({%+Tr~n1&O;C}KB~Rm8OcDX;_quFEFN=xRR2x8Z2DHk?*7<&~D_wEx>}i5( zBvV#G&Em(v2NoKXt0BXsLvfOnEGr1%&_{6&ZnOQL70(Y)*K0-AbW|YuPgfBL)%k?u3{JlP3!pdyk!B++;r943JviO_frUNF11_lN-zrW6Q zjE<66o@-Dlq4(q4YxBczpUX>pdFm?pZvVd{0T1&($CAV&llmLP} z`~L?(py1=fY#!hG|B7dl(vpq{Bqst@1xytItGsPg_}g_&VnFA!O|jGE9Cx=H4${h`hG~~Y-G)Ow>G(@tQGgy`+Ha7b!Z_<{Ol$4OT^X19E#q1)63BOz0CzJ@} zENfEQ`0z|DTWw`v5>G?L!&jHLYn;1P_E7QhHg0}HlQT}Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3;r6xwnHp)OJ*{$<1qz_#jRLrPh;yG>(_Vw-{SV? zZIDu8dyDNYLI?mF+YmwkKuZlkl~trVMJRzO4az8VzL#_V`<|6s5kf!+LFYS+GVCNf z2q9=}!&fyqo1l)&(T$Xne%n)|1wMF`P>iw>wXLzj2kkj?_llsZtNxU0n-px{-vYYM#Ad!fxv#X$lBGoAp zN#{HIZI4j~yR|5xB1LIRY;Q?a!a;HH8u9hTHUIq&?ta}duEx>%f33;c1esPTr73A_ z6H(u0ErejXS(2#alR!1DknM9D8-w#91VRXmvQbz9s0P%JA^?87W%zLO z%^c?)d6M(+_W^B`;dpe65{jqQQ;cohuhCMYrDj}>>0HO*?jb@53SE$>gx0mZ02gQB UBw_17jQ{`u07*qoM6N<$f`*wCX8-^I literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png new file mode 100644 index 0000000000000000000000000000000000000000..ac866b8c993812080071d9495ac3729c020437d1 GIT binary patch literal 598 zcmV-c0;&CpP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyl9 z4G}cad(OT900GuXL_t(I%YBkRZ__{+ho6hj_SsGji79C$5J`tn6{HNnj8usM1~yg( zz6xK255Q+Yl~|CNKpiTPN|azDRFpdS;>1ag!HwIHHoxWWJ>C7@Klg}dPns4$2mye# zmZb%Nxs~kPZg5qubk<@SD#_i4FGRZ21EXrO#b97 zPfk!OAj=FEOQ=+J;qiXEdbrnVZyH!@@s%QqLaen_8<{aoXAAB%HJ|}FNzzRN-*pg( zDmy?J1njh0oSiyrk0xdeKoB;ny;NR}CVeCrufvT27V}F}DTE+11}xZ% z8loToz~lu7kGgD=^n8W+^%;{F)nTsOvXzUqoWl(UZ(j7bW_bJVBd$}!_neB4df;O6 zf>620qrs3MY-|i_rF!6Ur}wmqGh@o?5G3CYkzWQWklsidfYy3#KOT>{r8Vb29OQ$J z-T>tNhhzG^CIDySj5tXyD~cije#Qxt=>oYz^lBUZUb7mU$qTxz7HPT;Q51zJuT~md zhv1;t9mlf>pcEMV*EW-jz3v#d1z82Aye9x&si{qHTSw<9=aZP}D{e0hU`^MAX kBj&|y?M!*Kl9$<%f9LMP1+z^R@Bjb+07*qoM6N<$f`_pI?EnA( literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png new file mode 100644 index 0000000000000000000000000000000000000000..52656b003f1cae7f91c8a581620f3564844f0f72 GIT binary patch literal 604 zcmV-i0;BzjP)q!6r0qIFZ zK~y-)b(1@96G0S(zwypKytZdM@RAV8R2GE7O{fti%738YcTrO!(IC-5Ljw|#zy*$_ zNGK~5BQmR1=dUfZXA5L*QUHcm8H0XzuL9q7VAX#s47YurgS@!Z^}xOj z6Lt}J4dOT^2m&UP3HtUH3q(rMZo0^`(<5?|(hNIWZTz_WUCm%J;n!%yv?u`Zd>??! z7)()CEo>5+VTW;|>x7;kkpKCLDayL4FmUTrJbQZIx=sV%bL#!Jn=Ym(2?Lkc=Yzer z){g1tICXFHl0?}4T37rcNkt}?BmWR!@wnq zBBCg&<*KzNj$=NLJ~8NbIfUG#NK=$(tr0??lmb90MV4g*UV~m&aTp3Yoh=YTkY$D} ztCZGiRf1XCJ8ADG8Yi0Eq%?fbK`BKXcL`e|VHjeqrPEO~L`Cd%72`zn_T$ez*^3uv q$97)M_S6SZ%$D>X+&lQy0saHDWX{5if~8jg0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipt- z3n>{-5Zq}1000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004CNklZfrW!0(Y_%dtq>~pM1SzH9;H2W>GdR2W0zN|@!UyQ!;^JOA zdFvn=sM?!J+FXu9K}7y3@f$x5zw>=?4#3gsfl7b9@^ONAvl7o-Uy&djsr2PI&=*A1 zs{y;uiii!kd+^a~J76+H|3$>snMmzNp9>IprUKyY224^2>Rf=&+bKkeo50gYTp>up zZ}}J)UAV7e`~+b;L~dWAX06BibwcS>gFep(FrK-2k|1~5LD*8!xUv}lWK5Z?hR0$h z=-7mMm6%qrv9_br;`St^3R3(E*~Dm3Xlv+N4tj9${^TRJio43s(d5k}0l=&&Q|tt; zE+AJ?sC*$&+Ry+1GZ7V}$QTMR^aM<#0xTbjPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn) z4iX9(QYIV#0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~0006t zNklGq7TCc(!E?f6>tj{!Xe=q%teB z#Ov#8o~8+73{_Pjr9^AZvMhM-0ZKiDfcKslBQZwmx<(Jfz{|@E-g~O5V&8ZE0_L1q z*R=rL-QCf39oAYtK0c5sCAMt?DCl)vb3UH|Fvf6mbAyx;=NtgmT8`sDYmKg|iWno? zwqcAR##nx~*0L-M<2Z6Uoya*OgrI2}a?Xt7h*V0IB7oMKrfHB;avTRrDbD9JDJ6su zgb)xy;Jv@RODUnX##&pb=A4mI5@Y1rzkAH@T5>-{9o2Fr!CdP5Z7{mAXH!((( zQbkG#0b>k(-(#(1nkG_8%=3&6A@KS6N#FN4=Wx!kt}8+a_I>9#jxs#&{lz-1nWpJ- z-nI>`HK)^wx~|KVQ%YRtb7f(z#e0vGl9UoTXS6Yf=jUgts$yMNLI^0OP)cEpDZ!fO zxkyq;s49%BsCGy#xvE?NQFwq+d0;zr;1=#&z5U89s@7zQ36 zABizyjQP*9zmif)b7kx%fhy8IOp)*b9;MR_TuU3>5>g&OhL8Ql5+;2u4{x4NGbXG`N28I z@9!^lU1N-)>pGgIK`+a~+uIv$+w$=6K;QSw^Gw^e|E=@B@5SD$Q&m;*4}ltHLbT;y Q6951J07*qoM6N<$f?BOa00000 literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_splitstonesquare_top.png b/mods/moreblocks/textures/moreblocks_splitstonesquare_top.png new file mode 100644 index 0000000000000000000000000000000000000000..76e39dfb7c1c0f1bff033677cb1de2eec6083582 GIT binary patch literal 752 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn) z5ECu4`z%ZV0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~0006< zNklxq61DR4{Sr&jDy(~+brrEn+Utc4oq^c?athH?0hEfWt zwI;^MJkO+*h%utICg)69mU!bl-3ODSoZ zhLjRQ2to)5A@JT`{-u;qN@1feaz+vwd}S#V`y27-NVr z?zvlQS(b&mt`R~ojw3Nf;KF<91fh%XQY%oJUm=v8e^!c ziVyPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf3 z4l@csOz&F&00Ih0L_t(I%T<%jPa825#D6BMP1fGpX>LK4N>$ECAle&;{{QE4EDU~g6t%7S ze))}?#R6+BUE5NQ$23n*09b25sZ^*G-g}&L0Q_1kC~j|mGy6EB>v}?n2!ftWIKXc< zIOkA#uasi7UZYU_UH_pF_DrgZ(P)%p10q6*abP`C3X~$m$bSgizNe_h6$&-51L&&a zcs|E_KRg0pvJVGLr&9`}D{7>{ z9vMt}$Rm7x*;1AzWm%#t4G4R{)``GaOY!;SWav8uMGa~Bd3}wkG#3}=JUl)E3?$mr zNx`8o#K^Yq-}Py#u;g)h@0ri%v|R_X=Wey)F)OG| z@?^PMCk3@JY2Heu*k+ax!eH#D%VS=)+jki-Mk68=&N;mIgb)cK4u=QCw&iZQB8154 z=~oaTgn$6PX()=(h%ed5r=}r=QE+a`;^u}!&}yUUyN*o=)H#u}*$j1lb|z(64iSEf k!w(O!ee(lkFgLc5fAzW#hp;TLg#Z8m07*qoM6N<$f(i5%y#N3J literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_stonesquare.png b/mods/moreblocks/textures/moreblocks_stonesquare.png new file mode 100644 index 0000000000000000000000000000000000000000..20b070e6faea7c81d26ecdb092c9f25e82282521 GIT binary patch literal 700 zcmV;t0z>_YP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3$(y`0I2mC zBOwG*N~Dx%ng%`3GoPQIgb*;sux%Uv0!u0U{{B|LG)-KuSDbVF{QMwu&Uo(uD!pkM zhG77}TFc>ZKuSs5wg5Qi*!LZ+HQE?MN(t{h)>=|Z^=9WB>$pJ#*=YGG_Gz~fDdhltfX&SWmo|F>PG~t{B;BYw9$DF2#QVQF)(f2*xdz4b7lqjX3 zt+j01hB1cA)vC`o2eN&GC5TbULBiwnZt$&pFq%j4={pB&9^(_w}|X zVBdFy5IE=X-qUp*LWrtFKH~@>a5|j;7{?LsJ?pySy|2-|yu8%8`1ttv`!}q$mFk?M zlv4c*A&^pXKA&mZmdoWr(==FXxn8eyU58%RmGAFw#&P8B?Ty>*#^do|9LN90dD}Le ibL5Px#24YJ`L;yknA^-`QWtw~d000SaNLh0L01m_e01m_fl`9S#00007bV*G`2ipt- z5Hu-<*33u%00CV|L_t(I%gvI{N&-<7hrfH(nHZfB6VV_H!c8qAXcgkJrwDt5h{9D5 zP!Mip!IxbQFQ=yX>BoLufJfWzY* z1yCqvRX&#?pUaGTgMNbTy#xTEkOUxXX#lKkm^|7~Q@vsqzPLS5njWBBs_|KAk11k-0xnL3;)*^6jh?8aMa;e}K=T&%M Til*yj00000NkvXXu0mjf=7PK< literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_trapglass.png b/mods/moreblocks/textures/moreblocks_trapglass.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d1c268328654606f9a5c1ac449a7d0379bc1fa GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^O7g zlo&W?rp~GXif|TqL>4nJa0`Jjnu<@WmUOkqk9zq9i*-|}oZyFVSFd`DTew48d_`D~7@ z3W%F0@65MaTt+5E^8B32#;XGC?2*TQf4BdWzCdgS$TVTqjSYfq%=rxKBo3$_Z;?CY z-e+@6k~xC+pjgL`MO^c>+0~>vPi^|K$&6wD5x*x}vf5&R4r1_h^>bP0l+XkKnr2cC literal 0 HcmV?d00001 diff --git a/mods/moreblocks/textures/moreblocks_trapstone.png b/mods/moreblocks/textures/moreblocks_trapstone.png new file mode 100644 index 0000000000000000000000000000000000000000..05a253145800da25e85b4c0b78fee2e7a664d1e8 GIT binary patch literal 817 zcmV-11J3-3P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW39*0H1Gx%YbR^YtD2487%0s*N?qO#EPM1Azcx$p+XSe1iXf<|lvqb}^mi zy_pLs^#7G~I5ulv3AqWm%?_9v&WIjC;MFBuSQK zWm%@{2x^B0H7!e06>;yM@IydWuvNUx7&Ri5JF&#Ip>^nRaJ!$s;ZV{ zIhjm$yPaWRG#b6zY^+LNraQ>pD$S+qUyO@AZ0Vn#OTFo8=&mIRL=- z{kyxn^Ye4h^ZNb%X0v&EdNNIubDkv0YPE7*x2h`3QsC(+W$ZnrbTAk|2q~qCqL`-X zd7i4OyWP$-&GmYXF@Al0JsOtq>sR;wURM-lKA%sg(=ZJ4JXaJ2LP!Wnl0?%qUDpl6 za2)6SVuf5+^Zj-Z1Scma7~|*XXCZ`P7}0LSOu0L4}u`i^YM5r%kpS6ilQh8f+&h?+g`8N!{KnbTq=rkb#*0466*I` zZ_J%er><*Bk_^KD0AP%L-*+76=H|vQ49l`6lga1L1kLB0IR5_WQ|Iz>@7J$rHp@>> v>1xHBMtuB$mto{MZN^sH?L(^tOjG#}wcu^<`6p)U00000NkvXXu0mjfow;}E literal 0 HcmV?d00001 diff --git a/mods/moreores/LICENSE.txt b/mods/moreores/LICENSE.txt new file mode 100644 index 0000000..877a212 --- /dev/null +++ b/mods/moreores/LICENSE.txt @@ -0,0 +1,17 @@ ++---- GNU GPL v3 ----+ + +More Ores -- a Minetest mod that adds ores. +Copyright (C) 2012 Calinou + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . \ No newline at end of file diff --git a/mods/moreores/depends.txt b/mods/moreores/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/moreores/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/moreores/init.lua b/mods/moreores/init.lua new file mode 100644 index 0000000..4c51cea --- /dev/null +++ b/mods/moreores/init.lua @@ -0,0 +1,414 @@ +--[[ +**** +More Ores +by Calinou +with the help of MarkTraceur, GloopMaster and Kotolegokot +Licensed under GPLv3 or later for code and zlib/libpng for textures, see: http://www.gnu.org/licenses/gpl-3.0.html +**** +--]] + +------------------------------------------------------------------------------ +------------------------------ CONFIGURATION --------------------------------- +------------------------------------------------------------------------------ + +------------------------------------------------------------------------------ +-------- Feel free to change any settings (just change the numbers). --------- +------------------------------------------------------------------------------ + +-- Chunk sizes for ore generation (bigger = ore deposits are more scattered around) +moreores_copper_chunk_size = 12 +moreores_tin_chunk_size = 9 +moreores_silver_chunk_size = 11 +moreores_gold_chunk_size = 13 +moreores_mithril_chunk_size = 7 + +-- Amount of ore per chunk (higher = bigger ore deposits) +moreores_copper_ore_per_chunk = 8 +moreores_tin_ore_per_chunk = 2 +moreores_silver_ore_per_chunk = 5 +moreores_gold_ore_per_chunk = 5 +moreores_mithril_ore_per_chunk = 1 + +-- Minimal depths of ore generation (Y coordinate) +moreores_copper_min_depth = -31000 +moreores_tin_min_depth = -31000 +moreores_silver_min_depth = -31000 +moreores_gold_min_depth = -31000 +moreores_mithril_min_depth = -31000 + +-- Maximal depths of ore generation (Y coordinate) +moreores_copper_max_depth = 64 +moreores_tin_max_depth = 8 +moreores_silver_max_depth = -2 +moreores_gold_max_depth = -64 +moreores_mithril_max_depth = -512 + + +------------------------------------------------------------------------------ +------------------------- END OF CONFIGURATION ------------------------------- +------------------------------------------------------------------------------ + + +-- Utility functions + +local default_stone_sounds = default.node_sound_stone_defaults() + +local stick = "default:stick" +local recipes = { + sword = {{"m"}, {"m"}, {stick}}, + shovel = {{"m"}, {stick}, {stick}}, + axe = {{"m", "m"}, {"m", stick}, {"" , stick}}, + pick = {{"m", "m", "m"}, {"", stick, ""}, {"", stick, ""}} +} + +local function get_tool_recipe(craftitem, toolname) + local orig = recipes[toolname] + local complete = {} + for i, row in ipairs(orig) do + local thisrow = {} + for j, col in ipairs(row) do + if col == "m" then + table.insert(thisrow, craftitem) + else + table.insert(thisrow, col) + end + end + table.insert(complete, thisrow) + end + return complete +end + +local function add_ore(modname, mineral_name, oredef) + local firstlet = string.upper(string.sub(mineral_name, 1, 1)) + local upcase_name = firstlet .. string.sub(mineral_name, 2) + local img_base = modname .. "_" .. mineral_name + local toolimg_base = modname .. "_tool_"..mineral_name + local tool_base = modname .. ":" + local tool_post = "_" .. mineral_name + local item_base = tool_base .. mineral_name + local ingot = item_base .. "_ingot" + local lumpitem = item_base .. "_lump" + local ingotcraft = ingot + + if oredef.makes.ore then + local mineral_img_base = modname .. "_mineral_"..mineral_name + minetest.register_node(modname .. ":mineral_"..mineral_name, { + description = upcase_name .. " Ore", + tiles = {"default_stone.png^"..mineral_img_base..".png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default_stone_sounds, + drop = item_base .. "_lump 1" + }) + end + + if oredef.makes.block then + local blockitem = item_base .. "_block" + minetest.register_node(blockitem, { + description = upcase_name .. " Block", + tiles = { img_base .. "_block.png" }, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default_stone_sounds + }) + minetest.register_alias(mineral_name.."_block", blockitem) + local ingotrow = {ingot, ingot, ingot} + local nodeblockitem = "node " .. blockitem .. "" + minetest.register_craft( { + output = nodeblockitem, + recipe = {ingotrow, ingotrow, ingotrow} + }) + minetest.register_craft( { + output = "craft " .. ingot .. " 9", + recipe = { + { nodeblockitem } + } + }) + end + + if oredef.makes.lump then + minetest.register_craftitem(lumpitem, { + description = upcase_name .. " Lump", + inventory_image = img_base .. "_lump.png", + on_place_on_ground = minetest.craftitem_place_item + }) + minetest.register_alias(mineral_name .. "_lump", lumpitem) + if oredef.makes.ingot then + minetest.register_craft({ + type = "cooking", + output = ingot, + recipe = lumpitem + }) + end + end + + if oredef.makes.ingot then + minetest.register_craftitem(ingot, { + description = upcase_name .. " Ingot", + inventory_image = img_base .. "_ingot.png", + on_place_on_ground = minetest.craftitem_place_item + }) + minetest.register_alias(mineral_name .. "_ingot", ingot) + if oredef.makes.chest then + minetest.register_craft( { + output = "node default:chest_locked 1", + recipe = { + { ingotcraft }, + { "node default:chest" } + } + }) + wood = "node default:wood" + woodrow = {wood,wood,wood} + minetest.register_craft( { + output = "node default:chest_locked 1", + recipe = { + woodrow, + {wood, ingotcraft, wood}, + woodrow + } + }) + end + end + + for toolname, tooldef in pairs(oredef.tools) do + local tflet = string.upper(string.sub(toolname, 0, 1)) + local upcase_toolname = tflet..string.sub(toolname, 2) + local tdef = { + description = upcase_name .. " " .. upcase_toolname, + inventory_image = toolimg_base .. toolname .. ".png", + tool_capabilities = { + max_drop_level=3, + groupcaps=tooldef + } + } + + if toolname == "sword" then + tdef.full_punch_interval = oredef.punchint + end + + if toolname == "pick" then + tdef.description = upcase_name .. " Pickaxe" + end + + local fulltoolname = tool_base .. toolname .. tool_post + minetest.register_tool(fulltoolname, tdef) + minetest.register_alias(toolname .. tool_post, fulltoolname) + if oredef.makes.ingot then + minetest.register_craft({ + output = "craft " .. fulltoolname .. " 1", + recipe = get_tool_recipe(item_base .. "_ingot", toolname) + }) + end + end +end + +-- Add everything (compact(ish)!) + +local modname = "moreores" + +local oredefs = { + gold = { + makes = {ore=true, block=true, lump=true, ingot=true, chest=true}, + tools = { + pick = { + cracky={times={[1]=2.00, [2]=0.50, [3]=0.30}, uses=70, maxlevel=1} + }, + shovel = { + crumbly={times={[1]=0.60, [2]=0.25, [3]=0.15}, uses=70, maxlevel=1} + }, + axe = { + choppy={times={[1]=1.70, [2]=0.40, [3]=0.35}, uses=70, maxlevel=1}, + fleshy={times={[2]=0.90, [3]=0.30}, uses=70, maxlevel=1} + }, + sword = { + fleshy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, + snappy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, + choppy={times={[3]=0.65}, uses=70, maxlevel=0} + } + }, + punchint = 0.85 + }, + silver = { + makes = {ore=true, block=true, lump=true, ingot=true, chest=true}, + tools = { + pick = { + cracky={times={[1]=2.60, [2]=1.00, [3]=0.60}, uses=100, maxlevel=1} + }, + shovel = { + crumbly={times={[1]=1.10, [2]=0.40, [3]=0.25}, uses=100, maxlevel=1} + }, + axe = { + choppy={times={[1]=2.50, [2]=0.80, [3]=0.50}, uses=100, maxlevel=1}, + fleshy={times={[2]=1.10, [3]=0.60}, uses=100, maxlevel=1} + }, + sword = { + fleshy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, + snappy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, + choppy={times={[3]=0.80}, uses=100, maxlevel=0} + } + }, + punchint = 1.0 + }, + copper = { + makes = {ore=true, block=false, lump=true, ingot=true, chest=false}, + tools = {} + }, + tin = { + makes = {ore=true, block=false, lump=true, ingot=true, chest=false}, + tools = {} + }, + bronze = { + makes = {ore=false, block=true, lump=false, ingot=true, chest=true}, + tools = { + pick = { + cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=160, maxlevel=1} + }, + shovel = { + crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=160, maxlevel=1} + }, + axe = { + choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=160, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=160, maxlevel=1} + }, + sword = { + fleshy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, + choppy={times={[3]=0.90}, uses=160, maxlevel=0} + } + }, + punchint = 1.0 + }, + mithril = { + makes = {ore=true, block=true, lump=true, ingot=true, chest=false}, + tools = { + pick = { + cracky={times={[1]=2.25, [2]=0.55, [3]=0.35}, uses=200, maxlevel=1} + }, + shovel = { + crumbly={times={[1]=0.70, [2]=0.35, [3]=0.20}, uses=200, maxlevel=1} + }, + axe = { + choppy={times={[1]=1.75, [2]=0.45, [3]=0.45}, uses=200, maxlevel=1}, + fleshy={times={[2]=0.95, [3]=0.30}, uses=200, maxlevel=1} + }, + sword = { + fleshy={times={[2]=0.65, [3]=0.25}, uses=200, maxlevel=1}, + snappy={times={[2]=0.70, [3]=0.25}, uses=200, maxlevel=1}, + choppy={times={[3]=0.65}, uses=200, maxlevel=0} + } + }, + punchint = 0.45 + } +} + +for orename,def in pairs(oredefs) do + add_ore(modname, orename, def) +end + +-- Copper rail (special item) + +minetest.register_craft({ + output = "moreores:copper_rail 16", + recipe = { + {"moreores:copper_ingot", "", "moreores:copper_ingot"}, + {"moreores:copper_ingot", "default:stick", "moreores:copper_ingot"}, + {"moreores:copper_ingot", "", "moreores:copper_ingot"} + } +}) + +-- Bronze has some special cases (because it"s made from copper + tin) + +minetest.register_craft( { + type = "shapeless", + output = "moreores:bronze_ingot 3", + recipe = { + "moreores:tin_ingot", + "moreores:copper_ingot", + "moreores:copper_ingot", + } +}) + +-- Unique items + +minetest.register_node("moreores:copper_rail", { + description = "Copper Rail", + drawtype = "raillike", + tile_images = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"}, + inventory_image = "moreores_copper_rail.png", + wield_image = "moreores_copper_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2} +}) + +-- Ore generation + +local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x - minp.x + 1) * (y_max - y_min + 1) * (maxp.z - minp.z + 1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local chunk_size = 3 + if ore_per_chunk <= 4 then + chunk_size = 2 + end + local inverse_chance = math.floor(chunk_size * chunk_size * chunk_size / ore_per_chunk) + -- print(generate_ore num_chunks: ..dump(num_chunks)) + for i=1,num_chunks do + if (y_max-chunk_size+1 <= y_min) then return end + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.env:get_node(p2).name == wherein then + minetest.env:set_node(p2, {name=name}) + end + end + end + end + end + end + end + -- print(generate_ore done) +end + +minetest.register_on_generated(function(minp, maxp, seed) + math.randomseed(os.time()) + local current_seed = seed + math.random(10, 100) + local function get_next_seed() + current_seed = current_seed + 1 + return current_seed + end + generate_ore("moreores:mineral_copper", "default:stone", minp, maxp, get_next_seed(), + 1/moreores_copper_chunk_size/moreores_copper_chunk_size/moreores_copper_chunk_size, moreores_copper_ore_per_chunk, moreores_copper_min_depth, moreores_copper_max_depth) + + generate_ore("moreores:mineral_tin", "default:stone", minp, maxp, get_next_seed(), + 1/moreores_tin_chunk_size/moreores_tin_chunk_size/moreores_tin_chunk_size, moreores_tin_ore_per_chunk, moreores_tin_min_depth, moreores_tin_max_depth) + + generate_ore("moreores:mineral_silver", "default:stone", minp, maxp, get_next_seed(), + 1/moreores_silver_chunk_size/moreores_silver_chunk_size/moreores_silver_chunk_size, moreores_silver_ore_per_chunk, moreores_silver_min_depth, moreores_silver_max_depth) + + generate_ore("moreores:mineral_gold", "default:stone", minp, maxp, get_next_seed(), + 1/moreores_gold_chunk_size/moreores_gold_chunk_size/moreores_gold_chunk_size, moreores_gold_ore_per_chunk, moreores_gold_min_depth, moreores_gold_max_depth) + + generate_ore("moreores:mineral_mithril", "default:stone", minp, maxp, get_next_seed(), + 1/moreores_mithril_chunk_size/moreores_mithril_chunk_size/moreores_mithril_chunk_size, moreores_mithril_ore_per_chunk, moreores_mithril_min_depth, moreores_mithril_max_depth) +end) diff --git a/mods/moreores/old_init.lua b/mods/moreores/old_init.lua new file mode 100644 index 0000000..03be6bc --- /dev/null +++ b/mods/moreores/old_init.lua @@ -0,0 +1,745 @@ +--[[ +**** +More Ores +by Calinou +Old and "inefficient" version; use if the new version does not work for some reason. Outdated. +Licensed under the zlib/libpng license, see LICENSE.txt for info. +**** +--]] + +-- Blocks + +minetest.register_node( "moreores:mineral_gold", { + description = "Gold Ore", + tile_images = { "default_stone.png^moreores_mineral_gold.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "moreores:gold_lump" 1', +}) + +minetest.register_node( "moreores:gold_block", { + description = "Gold Block", + tile_images = { "moreores_gold_block.png" }, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node( "moreores:mineral_silver", { + description = "Silver Ore", + tile_images = { "default_stone.png^moreores_mineral_silver.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "moreores:silver_lump" 1', +}) + +minetest.register_node( "moreores:silver_block", { + description = "Silver Block", + tile_images = { "moreores_silver_block.png" }, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node( "moreores:mineral_copper", { + description = "Copper Ore", + tile_images = { "default_stone.png^moreores_mineral_copper.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "moreores:copper_lump" 1', +}) + +minetest.register_node( "moreores:mineral_tin", { + description = "Tin Ore", + tile_images = { "default_stone.png^moreores_mineral_tin.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "moreores:tin_lump" 1', +}) + +minetest.register_node( "moreores:bronze_block", { + description = "Bronze Block", + tile_images = { "moreores_bronze_block.png" }, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node( "moreores:mineral_mithril", { + description = "Mithril Ore", + tile_images = { "default_stone.png^moreores_mineral_mithril.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "moreores:mithril_lump" 1', +}) + +minetest.register_node( "moreores:mithril_block", { + description = "Mithril Block", + tile_images = { "moreores_mithril_block.png" }, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("moreores:copper_rail", { + description = "Copper Rail", + drawtype = "raillike", + tile_images = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"}, + inventory_image = "moreores_copper_rail.png", + wield_image = "moreores_copper_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + --fixed = + }, + groups = {bendy=2,snappy=1,dig_immediate=2}, +}) + +-- Items + +minetest.register_craftitem( "moreores:gold_lump", { + description = "Gold Lump", + inventory_image = "moreores_gold_lump.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:gold_ingot", { + description = "Gold Ingot", + inventory_image = "moreores_gold_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:silver_lump", { + description = "Silver Lump", + inventory_image = "moreores_silver_lump.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:silver_ingot", { + description = "Silver Ingot", + inventory_image = "moreores_silver_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:copper_lump", { + description = "Copper Lump", + inventory_image = "moreores_copper_lump.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:copper_ingot", { + description = "Copper Ingot", + inventory_image = "moreores_copper_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:tin_lump", { + description = "Tin Lump", + inventory_image = "moreores_tin_lump.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:tin_ingot", { + description = "Tin Ingot", + inventory_image = "moreores_tin_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:bronze_ingot", { + description = "Bronze Ingot", + inventory_image = "moreores_bronze_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "moreores:mithril_lump", { + description = "Mithril Lump", + inventory_image = "moreores_mithril_lump.png", + on_place_on_ground = minetest.craftitem_place_item, + on_use = minetest.item_eat(2), +}) + +minetest.register_craftitem( "moreores:mithril_ingot", { + description = "Mithril Ingot", + inventory_image = "moreores_mithril_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +-- Tools + +minetest.register_tool("moreores:pick_bronze", { + description = "Bronze Pickaxe", + inventory_image = "moreores_tool_bronzepick.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=160, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:shovel_bronze", { + description = "Bronze Shovel", + inventory_image = "moreores_tool_bronzeshovel.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=160, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:axe_bronze", { + description = "Bronze Axe", + inventory_image = "moreores_tool_bronzeaxe.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=160, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=160, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:sword_bronze", { + description = "Bronze Sword", + inventory_image = "moreores_tool_bronzesword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, + choppy={times={[3]=0.90}, uses=160, maxlevel=0} + } + } +}) + +minetest.register_tool("moreores:pick_silver", { + description = "Silver Pickaxe", + inventory_image = "moreores_tool_silverpick.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.60, [2]=1.00, [3]=0.60}, uses=100, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:shovel_silver", { + description = "Silver Shovel", + inventory_image = "moreores_tool_silvershovel.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + crumbly={times={[1]=1.10, [2]=0.40, [3]=0.25}, uses=100, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:axe_silver", { + description = "Silver Axe", + inventory_image = "moreores_tool_silveraxe.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + choppy={times={[1]=2.50, [2]=0.80, [3]=0.50}, uses=100, maxlevel=1}, + fleshy={times={[2]=1.10, [3]=0.60}, uses=100, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:sword_silver", { + description = "Silver Sword", + inventory_image = "moreores_tool_silversword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + fleshy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, + snappy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, + choppy={times={[3]=0.80}, uses=100, maxlevel=0} + } + } +}) + +minetest.register_tool("moreores:pick_gold", { + description = "Golden Pickaxe", + inventory_image = "moreores_tool_goldpick.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.00, [2]=0.50, [3]=0.30}, uses=70, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:shovel_gold", { + description = "Golden Shovel", + inventory_image = "moreores_tool_goldshovel.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + crumbly={times={[1]=0.60, [2]=0.25, [3]=0.15}, uses=70, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:axe_gold", { + description = "Golden Axe", + inventory_image = "moreores_tool_goldaxe.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + choppy={times={[1]=1.70, [2]=0.40, [3]=0.35}, uses=70, maxlevel=1}, + fleshy={times={[2]=0.90, [3]=0.30}, uses=70, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:sword_gold", { + description = "Golden Sword", + inventory_image = "moreores_tool_goldsword.png", + tool_capabilities = { + full_punch_interval = 0.85, + max_drop_level=3, + groupcaps={ + fleshy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, + snappy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, + choppy={times={[3]=0.65}, uses=70, maxlevel=0} + } + } +}) + +minetest.register_tool("moreores:pick_mithril", { + description = "Mithril Pickaxe", + inventory_image = "moreores_tool_mithrilpick.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.25, [2]=0.55, [3]=0.35}, uses=200, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:shovel_mithril", { + description = "Mithril Shovel", + inventory_image = "moreores_tool_mithrilshovel.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + crumbly={times={[1]=0.70, [2]=0.35, [3]=0.20}, uses=200, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:axe_mithril", { + description = "Mithril Axe", + inventory_image = "moreores_tool_mithrilaxe.png", + tool_capabilities = { + max_drop_level=3, + groupcaps={ + choppy={times={[1]=1.75, [2]=0.45, [3]=0.45}, uses=200, maxlevel=1}, + fleshy={times={[2]=0.95, [3]=0.30}, uses=200, maxlevel=1} + } + }, +}) + +minetest.register_tool("moreores:sword_mithril", { + description = "Mithril Sword", + inventory_image = "moreores_tool_mithrilsword.png", + tool_capabilities = { + full_punch_interval = 0.45, + max_drop_level=3, + groupcaps={ + fleshy={times={[2]=0.65, [3]=0.25}, uses=200, maxlevel=1}, + snappy={times={[2]=0.70, [3]=0.25}, uses=200, maxlevel=1}, + choppy={times={[3]=0.65}, uses=200, maxlevel=0} + } + } +}) + +-- Crafting + +minetest.register_craft({ + output = 'moreores:copper_rail 15', + recipe = { + {'moreores:copper_ingot', '', 'moreores:copper_ingot'}, + {'moreores:copper_ingot', 'default:stick', 'moreores:copper_ingot'}, + {'moreores:copper_ingot', '', 'moreores:copper_ingot'}, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:pick_bronze" 1', + recipe = { + { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:shovel_bronze" 1', + recipe = { + { '', 'craft "moreores:bronze_ingot"', '' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:axe_bronze" 1', + recipe = { + { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', '' }, + { 'craft "moreores:bronze_ingot"', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:sword_bronze" 1', + recipe = { + { '', 'craft "moreores:bronze_ingot"', '' }, + { '', 'craft "moreores:bronze_ingot"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:pick_silver" 1', + recipe = { + { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:shovel_silver" 1', + recipe = { + { '', 'craft "moreores:silver_ingot"', '' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:axe_silver" 1', + recipe = { + { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', '' }, + { 'craft "moreores:silver_ingot"', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:sword_silver" 1', + recipe = { + { '', 'craft "moreores:silver_ingot"', '' }, + { '', 'craft "moreores:silver_ingot"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:pick_gold" 1', + recipe = { + { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:shovel_gold" 1', + recipe = { + { '', 'craft "moreores:gold_ingot"', '' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:axe_gold" 1', + recipe = { + { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', '' }, + { 'craft "moreores:gold_ingot"', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:sword_gold" 1', + recipe = { + { '', 'craft "moreores:gold_ingot"', '' }, + { '', 'craft "moreores:gold_ingot"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:pick_mithril" 1', + recipe = { + { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:shovel_mithril" 1', + recipe = { + { '', 'craft "moreores:mithril_ingot"', '' }, + { '', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:axe_mithril" 1', + recipe = { + { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', '' }, + { 'craft "moreores:mithril_ingot"', 'craft "Stick"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:sword_mithril" 1', + recipe = { + { '', 'craft "moreores:mithril_ingot"', '' }, + { '', 'craft "moreores:mithril_ingot"', '' }, + { '', 'craft "Stick"', '' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:bronze_ingot"', + recipe = { + { 'craft "moreores:tin_ingot"'}, + { 'craft "moreores:copper_ingot"'}, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:bronze_ingot"', + recipe = { + { 'craft "moreores:copper_ingot"'}, + { 'craft "moreores:tin_ingot"'}, + } +}) + +minetest.register_craft( { + output = 'node "moreores:gold_block" 1', + recipe = { + { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, + { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, + { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:gold_ingot" 9', + recipe = { + { 'node "moreores:gold_block"' }, + } +}) + +minetest.register_craft( { + output = 'node "moreores:silver_block" 1', + recipe = { + { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, + { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, + { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:silver_ingot" 9', + recipe = { + { 'node "moreores:silver_block"' }, + } +}) + +minetest.register_craft( { + output = 'node "moreores:bronze_block" 1', + recipe = { + { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, + { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, + { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:bronze_ingot" 9', + recipe = { + { 'node "moreores:bronze_block"' }, + } +}) + +minetest.register_craft( { + output = 'node "moreores:mithril_block" 1', + recipe = { + { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, + { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, + { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, + } +}) + +minetest.register_craft( { + output = 'craft "moreores:mithril_ingot" 9', + recipe = { + { 'node "moreores:mithril_block"' }, + } +}) + +-- Smelting + +minetest.register_craft({ + type = "cooking", + output = "moreores:gold_ingot", + recipe = "moreores:gold_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "moreores:silver_ingot", + recipe = "moreores:silver_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "moreores:tin_ingot", + recipe = "moreores:tin_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "moreores:copper_ingot", + recipe = "moreores:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "moreores:mithril_ingot", + recipe = "moreores:mithril_lump", +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'craft "moreores:bronze_ingot"' }, + { 'node "default:chest"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'craft "moreores:silver_ingot"' }, + { 'node "default:chest"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'craft "moreores:gold_ingot"' }, + { 'node "default:chest"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + { 'node "default:wood"', 'craft "moreores:bronze_ingot"', 'node "default:wood"' }, + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + { 'node "default:wood"', 'craft "moreores:bronze_ingot"', 'node "default:wood"' }, + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + { 'node "default:wood"', 'craft "moreores:silver_ingot"', 'node "default:wood"' }, + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + } +}) + +minetest.register_craft( { + output = 'node "default:chest_locked" 1', + recipe = { + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + { 'node "default:wood"', 'craft "moreores:gold_ingot"', 'node "default:wood"' }, + { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, + } +}) + +-- Ore generation + +local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local chunk_size = 3 + if ore_per_chunk <= 4 then + chunk_size = 2 + end + local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) + --print("generate_ore num_chunks: "..dump(num_chunks)) + for i=1,num_chunks do + if (y_max-chunk_size+1 <= y_min) then return end + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.env:get_node(p2).name == wherein then + minetest.env:set_node(p2, {name=name}) + end + end + end + end + end + end + end + --print("generate_ore done") +end + +minetest.register_on_generated(function(minp, maxp, seed) +generate_ore("moreores:mineral_copper", "default:stone", minp, maxp, seed+16, 1/11/11/11, 8, -31000, 64) +generate_ore("moreores:mineral_tin", "default:stone", minp, maxp, seed+17, 1/8/8/8, 2, -31000, 8) +generate_ore("moreores:mineral_silver", "default:stone", minp, maxp, seed+18, 1/10/10/10, 5, -31000, 2) +generate_ore("moreores:mineral_gold", "default:stone", minp, maxp, seed+19, 1/12/12/12, 5, -31000, -64) +generate_ore("moreores:mineral_mithril", "default:stone", minp, maxp, seed+20, 1/6/6/6, 1, -31000, -512) +end) \ No newline at end of file diff --git a/mods/moreores/textures/moreores_bronze_block.png b/mods/moreores/textures/moreores_bronze_block.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8b166902db844d35b8bdc24d4db72376fad6b4 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?={_0Z1$l|Z2ePZ!4!i_=Sk zt;HG)IGpEsySwGz*}ThQ*UHH@T`L#7z2YxqxA1b*^vP`3d|XQ2M01^SmC_McbW_k1 zn)Fr9_0s`4Nv@RBm1h;CZACgxEM&-;m2FVJN_?jEr|nR+q-z-k1N~kDc{RezuIVV(*P3Qx~TjJ~CyP?v}&0al+z>jg5_oxBFswKtN|n zR$FEZ;||7hJ(;8gAP6wrpzNjG#<+v$&{D(lkIZgs*c7BoULWP3BUO0p(77PqiUQL70(Y)*K0-AbW|YuPgg)9!?=);cse_rvinNJY5_^EKVmU zNU$>VOB8y_tiJq@KRMboHdW;oLrU)phS`ofJ4EcO|95NX8%$hO>AUV#{T{Y8Cqw`G zuQ^*0>#&VcadN)#qu`pyKl#}fF$+#-TXf0MyF=&NiZzj+XH0yhDadfbRY50ICpZph O8-u5-pUXO@geCwW+DD22 literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_copper_rail.png b/mods/moreores/textures/moreores_copper_rail.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0b56fc4ea976cbe9e802cc87cf74b0e5976780 GIT binary patch literal 546 zcmV+-0^R+IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf4 z3?d+N7PgiE00E*&L_t(I%gvKNPZU8I#(y(Ax5si(qd+XAu%R=GhkqjB6A-?Hv9Pcp z5GkOe(Lx&&G{MAJ7&{URP5b~F8~)`ANQh_-1G&XJIRdxd?%m9e#lRXW613nc=Xvtv zeSeu34pf?(v17yimSZ$F+;2;BGg(dne0)5VJv@7G%@zVhhmxcgd|%RNYP7NJ>?Kqy zF86xkhQ0e_K`4OtpUd3ub4FO*rMlPVd?AOF(AE}{f|PKspnx0zOKaOlM?2{Xl7Ex} zcr$r3Yn&Y~TCGzq^#piA5Y`jU28y_422kd>+)&P^{p#T5?07*qoM6N<$f|oSq@Bjb+ literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_copper_rail_crossing.png b/mods/moreores/textures/moreores_copper_rail_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..b23058c63f763e50f101be231a9604a06e7a3e2e GIT binary patch literal 581 zcmV-L0=oT)P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf4 z3?eJ!#BUw|00G5GL_t(I%cYXvOH*+e#y{WfESn6BE;1|VrYj*@siS`(y9qD4jEKM> z3N$1gLJ$a{V|6itKqN}-*H|m)zZj7vMU&F(?0gkNBVuf4p1obnz8m9Mg74i6A0D3f zc^}xCxpYbfdZWUBW}r7JbLo`f0)EiVzC$t_?=jG|vj=519`hAfjcO04Cb@X&@;@Ck zGioQccQlO|Tsd<Qbp+QJi>fl<8FFH!WPGlwv(Ix4zvUC zA@9_`aQm69{yIox9o5AxPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf4 z3?cBL_t(I%e|7{OH*MO$3L%IXD7zMCYrQ#LLr5Oq4opnPY6ONXk@6v zi$F*ir9!Y9h182I+EuJEgy_OSf#ClTlITs{B}x#%GMhU)?QCaH7vs#Wju&>(_wIdo zzn|y(yzc}5Q%|DjWNB(Z>TBvKfQg$O61_LYKLIu~2?0o_l1BslX;i*lxhuQt5;%$qH>pUd+y)+erj%}hd^&e=Va?QcJMKHl2^`Mz&avMYxtaP;imj{2G{ zkjww#)x&-{h^;7>r+TV_XlWCAoH4$1rUwQekxALqn3-V5gjH@pD|) z*!rv*M{wdR-!6XL!;gH4>%Ae&qK)qJ5Se|is^fG?(P(BQI_ACyPv7pSx;2%O4VqW6 z9KRxaMwySFY(}DEq+ic-vAf-UksQ5P`EmeLh^I*bK>&Krv@txtrhWtR46kN_)^TD0 O00001r;P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyf4 z3?dX#qCz7800F^CL_t(I%axM7Yg1tu#eZ+^OA@0FDs~ZcPz05l_*p@xjNJs6K*1P- zgE|-y7bTN}mTDA>bci8~I5b*8@DFfv5RHREoo=hB&}v(Hb3f91ABUQ2+TOPIjOTrx z!#U4;;4hkuVJY=zgmqBr&q%W|9L{NgXSe!7V&v)(iR&1a>!W}`KpTqoLO@){82_?3 zTDf#sN{>G(4e;juHx6bN1;)*3wx%@GvmRSEX>8Xgl{9d?fR^i%Qab_2W-rprBC0z= zy;i02`h$wH-mzV;RhRI3z06UI`9hKOxhrZ_ft$H~a$wIkdXJwE7dy_DA39RN^Sp3* zwMZSrqR4^V4eGTjJ9=yyiblSxp{{t*N@46 z2`tY&^xRZd%fb9H$4Kd@L<*D#_OF@q&Zw!ZmWS1{SG;Ke$8kgA^vNWd-V+i?z=gqg zp_6+rOm*$-Zh-{d-?^fRD)EcWNrT_>ZO){3VY@!bghB51+a*277mCq6xIZ=#iYkz{ z4{@y+E%(WcwZNy(KKVkC`qR5q#wOL8Retp9>pwAt7%>HG2jI}&9$=C`e>%gk*jg$l P00000NkvXXu0mjfTSo!y literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_gold_block.png b/mods/moreores/textures/moreores_gold_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c0869cb16df16e5996836462605c37c8ac03ab9b GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?H^x%$85|81bNid$bDPgIqqs9{E(Y3F-E^IvSD^^<7lWs(pUXO@geCx3HeKfc literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_gold_ingot.png b/mods/moreores/textures/moreores_gold_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..560ebc46da455751bcfc6e62269b69f81a5469d3 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9QL70(Y)*K0-AbW|YuPgg)9!?GcO|EVBPC%g~PZ!4!i_^&o z60FSp5`~_7>{k7jKPI+y-x-fBj3=ZnGMY6<6lm@%f6o^fm!RbO`Q*_#|369<6d69R zPs%;^nrRcSLI2-#9sVC58sC@f;B$$Q>hNN>{mB!tcvFfJv+~toC5G8$axo{@M(+pO O#^CAd=d#Wzp$Py`X-J3w literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mineral_copper.png b/mods/moreores/textures/moreores_mineral_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..71f6c91e5d5a08e49c85af8e164316e7137a0d83 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?=1A)o5CbAdv&o-U3d7N?UF z7MNLFUh?_B&*XFUyChF}cqmItTQ|oYjdWvUV{7x4J@&u;@2`^wfFL2LyjAchLyC05 zq-OpEZtgX44(vHOZ!~J26dd^QdMRJBNOJsLj>p$22WQ%mvv4FO#rG%S;znY literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mineral_gold.png b/mods/moreores/textures/moreores_mineral_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..df942c819ae4a20c97375476303c6560d2c9023d GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?H^zNBX@+krxLo-U3d7N?UF z7MShWIq&!XvtRH0f0?GCtk`RFM~CN9p1h=_goMPrcaQ%6fBIUU4FtX(Sl^?;rf{2K zvP=y_bVR~eCaVVz(;Ocvw==iJ&wuyG-H=19!GyWz#+-gRZu9HK|Bs6r_xxbuiI%AO p`Kx``MV~^aBo$NH0Nbrh3`}PoO64W_zX4ss;OXk;vd$@?2>{@XRkHv9 literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mineral_mithril.png b/mods/moreores/textures/moreores_mineral_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc3822b9a455690bfcdde81bb3755cf3c3c8b41 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfE*gVp8|#QJY5_^EKVmU zEU>ze_w)RMyPxLgwHXOrIdSCFfr6bfi~P2Kwm-c8zQE4araddz6mBz2m1$w{j!5{< zWR;NQ`c%1QL70(Y)*K0-AbW|YuPgg)9!^1P1+lk}3V=e@o-U3d7N^fn z+Q`?Sz~i!B`eDD!&62Oqk%_NQ$O~?>n#i!|SjVy394{U3%Nj&Yn;TK~X{Kf@Z`M)+ z|2BpL?9*llF(jCBhq688{`sl?)y5a=E_i8&&h_To9b5b0lm>H+@0H(mvzt=Y-A`VS p+#uIHQL70(Y)*K0-AbW|YuPgg)9!?=%E;k;QE}&4Ir;B5V#p&dP z1!gzOzhC%YTh9M?`Rs)~Eha@9HW){ooNa7mU|=9qUGeFEzrDSr1Q5)b@>U{{$6*_z zn&l6MZ5s}}Vl6pv@KE0&cRqHW{c_b6LPr%M7%uS`Bo*6L>Acxp{lb3TjKm}22{#Ts qI6i;=mEN>2VIk#}FB@L16lJLT=4$w{OlcR;B@CXfelF{r5}E+*=~tux literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mithril_block.png b/mods/moreores/textures/moreores_mithril_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c8661453b1dd34a62ad2d5f5320f03a5a7fe2afd GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfTs)Weym`?f$gp9p<(6qut67~Kqmn*J zIvH0cG@oJJ^mLDvM_NBCQ<2Vr6YrXz1|M8vEyQGda_1!b((SA|KczIPw?EIC5}9Vc tsppSHN6v5a;_2&BcX=nAo}BZPajBA?#j}i~+CY~uc)I$ztaD0e0sxSnT!#Pv literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mithril_ingot.png b/mods/moreores/textures/moreores_mithril_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..4137d636a3199ddfa5a0f388e47f1e73f65ac7c2 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9Er|n)+3B>kNxMl)%$;=r=if54&Iox=|}Pz^m-$Bk`%p_nVFdnZ`S1j0Ued>wyYM$ z7RL8}jv0!^i%gQF8cr+7NJ-wCpLQgVVUweM+`}s!)?zAq1rr-{7-qR0a=7%{zInmR d|AG^I8A2UYpFDm3uK{Q|gQu&X%Q~loCIDF1OuqmC literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_mithril_lump.png b/mods/moreores/textures/moreores_mithril_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..5db05e1c47d7928b854840e723a7b88c6aed6fbe GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfKYptUujYD4$`ITS>!F1+h6@^)||>&;KL0dhWBP zNEcKqDaT!ne`g>d-(g`QFr80j??(5hpV#(;_;)gR1c*H>cW_Jw+QH!I>gTe~DWM4f D);B~f literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_silver_block.png b/mods/moreores/textures/moreores_silver_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c05757c5ffa2a3002b51c47362af89ca728e9d90 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!^0^9o^hBH-SQpo-U3d7N?g6 zI|?-@aHuTf{`FtH^3}EURmpQpCPX$*n%uMdw9<|#wYxKw!ju+0wsL-;v+{77=Mj!6 zsym-Z^=L&t=-^>p^mdO`M_4(l%_i-J6Wb1yxi*L#q)mptYtNs_d-LSFVyw6!KS@yfsSGDboFyt=akR{03!ulrT_o{ literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_silver_ingot.png b/mods/moreores/textures/moreores_silver_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..478518293ee5098155692deeead9d1a1a51e10e7 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9tOcc=;L$?(?>n6i#U5fY;Z7R ph*fqBFj@GqKBVy1f58d<452#an!ir>dI4R+;OXk;vd$@?2>|F&RWSen literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_silver_lump.png b/mods/moreores/textures/moreores_silver_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..5409476921ee4a929ad9f523e32d37ebf1d76e42 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!^0k^B&c(Z$P0WPZ!4!i_^&o z60FSp5`~^JR`rkUdven=4ti{1JRx`+6e**^V710#o_A)J&3kPwi`}a$B|Bg`sYy N44$rjF6*2UngARbMzjC` literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tin_ingot.png b/mods/moreores/textures/moreores_tin_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5639c1cd0d06007c80f0282949ed4263c073be GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq!^2X+?^QKos)S9Er|nR+q+Pe*b^=-#$F4&nfC@F-a2MKFK`&NH&9B?+u$ONue6&&W!v+U4 rhFE1sgO4|Q{!iUK>tBCE4HLs1Rm=2e$&&wpPGRtL^>bP0l+XkKHV{)v literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tin_lump.png b/mods/moreores/textures/moreores_tin_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..c7331a19bafe4ee3d3935a5db39ade999422e084 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?=Xi>2S#P6CCJJY5_^EKVmU zNU$>VOB8y}sV{qJ-;=Ac^ti_s#uHK(8O@p_3N-8f{ZtK%OHgwCylwXG|Bp=*ZlAsT zzjLePdhQcu2fXi26`cR*cK&-K0ojfnCIVCW)Z}J2nreMsYb3F9o)F^;V}%ce{=u(- PwlR3R`njxgN@xNAC!9+- literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_bronzeaxe.png b/mods/moreores/textures/moreores_tool_bronzeaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a4175ccb886ef1c993adb393b60bdd87ee6dd4 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?=v{i7G7jsk@eJY5_^EKVmU zNPKzVx%^Un%_pB0lmEXyNUT@vX)!s>FuOsg+2^ON+alfsAlMOpvMb5h%=tr=4y@m%I7lA_aJY5_^EKVmU zED$g_B=KH7^N;&9fit@gdQ4(8_^>JTg*`J6NUxU&Y~{*vGB{ywJ>_m?lb$53#w zq#Bzs%S}uFyOsGLfRdD)zDR^(<6qsFB(2Mz#z Y$r-*xV(TJdpi3D%UHx3vIVCg!0LO}Eod5s; literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_bronzeshovel.png b/mods/moreores/textures/moreores_tool_bronzeshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..8e71203fd41794b0813dc9af1a75a9adb07a0323 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?=ngC{u>Hb9|TPZ!4!i_^&o z3j_>=Ru?qNAFh|MP84>MSKc_wmd8@!hU*l`x_vuO9{>V{i$9ttHUdGX%-ItS3m6Ta zD`lsN2ddp`h=`v0|HLeiT9)GVLb7E%8@FlwpF73kzp;UV!JheR{?1>b;dIT%NaCtZ jiU~+8V9CtJMn;A>F7pNcK5{ughcI}$`njxgN@xNA$>>x| literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_bronzesword.png b/mods/moreores/textures/moreores_tool_bronzesword.png new file mode 100644 index 0000000000000000000000000000000000000000..366b648aaf9792f946613bbbca739d546a7533fe GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?<+otI^$MnIuSo-U3d7N?UF z76=$jTBR7*`p~{-?+3olUynm2{?*S({r2D0_IUjaN1r7b^Fq>&efaxQ_0r$Y9OF%I zn*)mXa52XSMw%U8ZSbewKJvG{>$z(piGTmsZ8EEzB`F~x!S%=FpS5P;p;)JB&my8l zFY#U!No>tNCboiw`F)Vx;d)=eYyX$18C3+myL;+D!QZp_ZfsS|3`eXg@6-meUjw?1 N!PC{xWt~$(69D99X0!kR literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_goldaxe.png b/mods/moreores/textures/moreores_tool_goldaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..41d4896e6e4da5c98be18387aca3572e00dd0d86 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?HHQJX_WEkL0}PZ!4!i_^&o z5?>xXW{_IaxI$giXbh2pe;#n_O&ICIBD6d8R`mRHtftE3N My85}Sb4q9e0EzxlcmMzZ literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_goldpick.png b/mods/moreores/textures/moreores_tool_goldpick.png new file mode 100644 index 0000000000000000000000000000000000000000..1a65e8e2561b5200be5ae5134ba0be1fbfaa2ab9 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?HH^OuW^6M#a?JY5_^EKVmU zED$g_Br#u~^{@N12UnwydrV?9`0#1Lr+PLZ&~vO^#B*5l|9rdD8|Ck<7cV*N zyhMWg$9adI%X6n#{7>c%A>Uu2%FF}rXn|0L7k6l1mp e9>&bf%nbL8LeFp4o)rOfF@vY8pUXO@geCy;9A}9D literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_goldshovel.png b/mods/moreores/textures/moreores_tool_goldshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..fc72a1e24a411968a1e587ef12c1e29efaec1d47 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?G+UHi8)ZvurHJY5_^EKVmU zED$gdT3rxkdbnP~dhOJT+JdwG<=lV&7n#2KfBCM{|M~C4nxv1p^rYppE3(yTinsNj z|2E+{Yl^g_goMP8r7;o}Tfz;6o;F29PyKJ;`(jon)5dLD|L0Dz_-|}rU{JGD>f8J! r2b{0@7)e~UNihM51uU7_*vQE6{5^B(>;XrAG5(I!2L@$l>2-JajoH=RAP zjo;~Pp&Ue-X>*;Fhodr>{%55%Z!5F>f2?}x zu)(#kr~4-hJ+Egw`sDwUY&G_ttYyp7yciiSzcIM!uG_a8Xgq_btDnm{r-UW|EsIHv literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_mithrilpick.png b/mods/moreores/textures/moreores_tool_mithrilpick.png new file mode 100644 index 0000000000000000000000000000000000000000..6efb469f674e6d52c9b9896f25770da17889e6f1 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfF>+S%Xxmkt4&YY5!7mWY(~c=9%cjQ z2{8v;trJY5_^EKVmU zED$gdS{r2b!+y@+5?$p?HV^jy=>iv$6B2||6MlS^QYzazZ(<`5bn2Y-XxPAL@LVZ7 zO<46_Lqzn{{~EJyxJXKzOBa+c+qg~Z|J*4Sifs~pzx{(m7G|i4_GHN!&61RmkkGhv d=D-04hNf9Y;>LeJ{Ri64;OXk;vd$@?2>}1YPnZAz literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_mithrilsword.png b/mods/moreores/textures/moreores_tool_mithrilsword.png new file mode 100644 index 0000000000000000000000000000000000000000..b9396d95fc637410339dc7c8f70fb75a5868a8f6 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf;Xk z0X44x<2FXtI;sEqv6Uwjbaizopr0IDx*CjbBd literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_silveraxe.png b/mods/moreores/textures/moreores_tool_silveraxe.png new file mode 100644 index 0000000000000000000000000000000000000000..e49fc75e66afd84f9be948911daa364477515b5d GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!?=f-jcibRDnWKo-U3d7N?UF zB)&X&)9d~J<4I$|OMia-jo#B{Aasd`c~R3Lo?}u~JubT$Vh#1CKls|zzEt_~TKDe{ z|11_iKS8cz<2J4TbEjDR_m8rCZ+~;v$*z5YXTMzW(PUsaI@9Kc!J8+ufwnMsy85}S Ib4q9e0Jv69jQ{`u literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_silverpick.png b/mods/moreores/textures/moreores_tool_silverpick.png new file mode 100644 index 0000000000000000000000000000000000000000..d58e78352e047212a91ff005d76cb55f2a158ad3 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?=f3#B|MkZFrNT^vI!PA4ZU z5HL6-@jO5FZ@*6Bie+a#CNUap_Ud zGH+SHxN)1-e@O`m38CL&Nv18GGa9OXebJor_upf75lc0vZT7XlrX=3q`@Y9-*|mt| zo=%Cg28J^fPpnH&3NyZ_a4qcV{>ehm>zxdlKeGw%G+WHB7HIa^OI{^=*@-kBhly!y bY-|i?G$Jft6-?d_bS;CYtDnm{r-UW|C-!CS literal 0 HcmV?d00001 diff --git a/mods/moreores/textures/moreores_tool_silvershovel.png b/mods/moreores/textures/moreores_tool_silvershovel.png new file mode 100644 index 0000000000000000000000000000000000000000..614c0a9db101c6a25ea4139940d4f75923f8a973 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgg)9!?=9r7wyb_5+3LJY5_^EKVmU zED$gdTD_sn?Rve$Zp+0z6IGbA(o6nszh<5~L1!lw6CmGj$K&UC!_EU47Hp6WjQm z&L-~kEO0%NmF6hE;-q$JLPCNA=Z4DDV#4yNvy|5S*T1{ZZ{B=K2?+_VKPLaIH4Fdk zFZpftb5?S0Xopz~>(Q6taz-BB-o`q1HSH4{8ygp<27Rwzv^e|XHPip5t`Ywy&pPqI ov+{IbF3z$%-^qtEcptBh~UHx3vIVCg!07@itUH||9 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/.gitignore b/mods/pipeworks/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/mods/pipeworks/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/mods/pipeworks/README b/mods/pipeworks/README new file mode 100644 index 0000000..fb18d4f --- /dev/null +++ b/mods/pipeworks/README @@ -0,0 +1,34 @@ +This simple mod uses nodeboxes to supply a complete set of 3D flanged pipes, +along with "valve" and "pump" devices. + +Unlike the previous version of this mod, these pipes are rounded, and when +placed, they'll automatically join together as needed. Pipes can go vertically +or horizontally, and there are enough nodes defined to allow for all possible +connections. Valves and pumps can only be placed horizontally, and will +automatically rotate and join with neighboring pipes as objects are added, as +well as joining with each other under certain circumstances. + +Pipes come in two variants: one type bears one or more dark windows on each +pipe, suggesting they're empty, while the other type bears green-tinted +windows, as if full (the two colors should also be easy to select if you want +to change them in a paint program). These windows only appear on straight +lengths and on certain junctions. + +There are no crafting recipes, yet, but you can use /giveme as usual, namely +"/giveme pipeworks:pipe 999" or so, and then place them as needed. See +init.lua for more details. + +This mod is intended to be used as a basis or at least as sort of a model for +something else to build on (perhaps a nicer-looking oil mod?), and does not +provide any of the code necessary to cause anything to flow through them. Like +the pipes, the valve and pump don't do anything useful yet, but you can punch +them to turn them "on" and "off". Note that the valve and pump textures and +shapes are not yet complete (hence their boxy appearance). + +This mod is a work in progress. + +Please note that owing to the nature of this mod, I have opted to use 64px +textures. Anything less just looks terrible. + +If you don't need the old node names from the previous version of this mod, +edit init.lua and comment-out the 'dofile' line at the top. diff --git a/mods/pipeworks/autocrafter.lua b/mods/pipeworks/autocrafter.lua new file mode 100644 index 0000000..ba62c79 --- /dev/null +++ b/mods/pipeworks/autocrafter.lua @@ -0,0 +1,80 @@ + + +function autocraft(inventory) + local recipe=inventory:get_list("recipe") + local result + local new + for i=1,9 do + recipe[i]=ItemStack({name=recipe[i]:get_name(),count=1}) + end + result,new=minetest.get_craft_result({method="normal",width=3,items=recipe}) + local input=inventory:get_list("input") + if result.item:is_empty() then return end + result=result.item + local to_use={} + for _,item in ipairs(recipe) do + if item~=nil and not item:is_empty() then + if to_use[item:get_name()]==nil then + to_use[item:get_name()]=1 + else + to_use[item:get_name()]=to_use[item:get_name()]+1 + end + end + end + local stack + for itemname,number in pairs(to_use) do + stack=ItemStack({name=itemname, count=number}) + if not inventory:contains_item("src",stack) then return end + end + for itemname,number in pairs(to_use) do + stack=ItemStack({name=itemname, count=number}) + inventory:remove_item("src",stack) + end + inventory:add_item("dst",result) + for i=1,9 do + inventory:add_item("dst",new.items[i]) + end +end + +minetest.register_node("pipeworks:autocrafter",{ + description = "Autocrafter", + drawtype="normal", + tiles={"pipeworks_autocrafter.png"}, + groups={snappy=3,tubedevice=1,tubedevice_receiver=1}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:add_item("src",stack) + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:room_for_item("src",stack) + end, + input_inventory="dst"}, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,11]".. + "list[current_name;recipe;0,0;3,3;]".. + "list[current_name;src;0,3.5;8,3;]".. + "list[current_name;dst;4,0;4,3;]".. + "list[current_player;main;0,7;8,4;]") + meta:set_string("infotext", "Autocrafter") + local inv = meta:get_inventory() + inv:set_size("src",3*8) + inv:set_size("recipe",3*3) + inv:set_size("dst",4*3) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return (inv:is_empty("src") and inv:is_empty("recipe") and inv:is_empty("dst")) + end}) + +minetest.register_abm({nodenames={"pipeworks:autocrafter"},interval=1,chance=1, + action=function(pos,node) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + autocraft(inv) + end}) \ No newline at end of file diff --git a/mods/pipeworks/autoplace.lua b/mods/pipeworks/autoplace.lua new file mode 100644 index 0000000..dbcc423 --- /dev/null +++ b/mods/pipeworks/autoplace.lua @@ -0,0 +1,234 @@ +-- autorouting for pipes + +function pipe_scanforobjects(pos) + pipe_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }, "_loaded") + pipe_autoroute(pos, "_loaded") + + pipe_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }, "_empty") + pipe_autoroute(pos, "_empty") +end + +function pipe_autoroute(pos, state) + nctr = minetest.env:get_node(pos) + if (string.find(nctr.name, "pipeworks:pipe_") == nil) then return end + + pipes_scansurroundings(pos) + + nsurround = pxm..pxp..pym..pyp..pzm..pzp + if nsurround == "000000" then nsurround = "110000" end + minetest.env:add_node(pos, { name = "pipeworks:pipe_"..nsurround..state }) +end + +-- autorouting for pneumatic tubes + +function tube_scanforobjects(pos) + tube_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }) + tube_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }) + tube_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }) + tube_autoroute(pos) +end + +function in_table(table,element) + for _,el in ipairs(table) do + if el==element then return true end + end + return false +end + +function is_tube(nodename) + return in_table(tubenodes,nodename) +end + +function tube_autoroute(pos) + nctr = minetest.env:get_node(pos) + --print ("minetest.get_item_group("..nctr.name..',"tubedevice") == '..minetest.get_item_group(nctr.name, "tubedevice")) + if (is_tube(nctr.name) == nil) + and minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then return end + + pxm=0 + pxp=0 + pym=0 + pyp=0 + pzm=0 + pzp=0 + + nxm = minetest.env:get_node({ x=pos.x-1, y=pos.y , z=pos.z }) + nxp = minetest.env:get_node({ x=pos.x+1, y=pos.y , z=pos.z }) + nym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + nyp = minetest.env:get_node({ x=pos.x , y=pos.y+1, z=pos.z }) + nzm = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) + nzp = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) + + if is_tube(nxm.name) + or minetest.get_item_group(nxm.name, "tubedevice") == 1 then pxm=1 end + if is_tube(nxp.name) + or minetest.get_item_group(nxp.name, "tubedevice") == 1 then pxp=1 end + if is_tube(nym.name) + or minetest.get_item_group(nym.name, "tubedevice") == 1 then pym=1 end + if is_tube(nyp.name) + or minetest.get_item_group(nyp.name, "tubedevice") == 1 then pyp=1 end + if is_tube(nzm.name) + or minetest.get_item_group(nzm.name, "tubedevice") == 1 then pzm=1 end + if is_tube(nzp.name) + or minetest.get_item_group(nzp.name, "tubedevice") == 1 then pzp=1 end + + nsurround = pxm..pxp..pym..pyp..pzm..pzp + if is_tube(nctr.name) then + local meta=minetest.env:get_meta(pos) + local meta0=meta:to_table() + nctr.name=string.sub(nctr.name,1,-7)..nsurround + minetest.env:add_node(pos, nctr) + local meta=minetest.env:get_meta(pos) + meta:from_table(meta0) + end + +end + +-- auto-rotation code for various devices the tubes attach to + +function pipes_scansurroundings(pos) + pxm=0 + pxp=0 + pym=0 + pyp=0 + pzm=0 + pzp=0 + + nxm = minetest.env:get_node({ x=pos.x-1, y=pos.y , z=pos.z }) + nxp = minetest.env:get_node({ x=pos.x+1, y=pos.y , z=pos.z }) + nym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + nyp = minetest.env:get_node({ x=pos.x , y=pos.y+1, z=pos.z }) + nzm = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) + nzp = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) + + if (string.find(nxm.name, "pipeworks:pipe_") ~= nil) then pxm=1 end + if (string.find(nxp.name, "pipeworks:pipe_") ~= nil) then pxp=1 end + if (string.find(nym.name, "pipeworks:pipe_") ~= nil) then pym=1 end + if (string.find(nyp.name, "pipeworks:pipe_") ~= nil) then pyp=1 end + if (string.find(nzm.name, "pipeworks:pipe_") ~= nil) then pzm=1 end + if (string.find(nzp.name, "pipeworks:pipe_") ~= nil) then pzp=1 end + +-- Special handling for valves... + + if (string.find(nxm.name, "pipeworks:valve") ~= nil) + and (nxm.param2 == 0 or nxm.param2 == 2) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:valve") ~= nil) + and (nxp.param2 == 0 or nxp.param2 == 2) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:valve") ~= nil) + and (nzm.param2 == 1 or nzm.param2 == 3) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:valve") ~= nil) + and (nzp.param2 == 1 or nzp.param2 == 3) then + pzp=1 + end + +-- ...spigots... + + if (string.find(nxm.name, "pipeworks:spigot") ~= nil) + and nxm.param2 == 1 then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:spigot") ~= nil) + and nxp.param2 == 3 then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:spigot") ~= nil) + and nzm.param2 == 0 then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:spigot") ~= nil) + and nzp.param2 == 2 then + pzp=1 + end + +-- ...sealed pipe entry/exit... + + if (string.find(nxm.name, "pipeworks:entry_panel") ~= nil) + and (nxm.param2 == 1 or nxm.param2 == 3) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:entry_panel") ~= nil) + and (nxp.param2 == 1 or nxp.param2 == 3) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:entry_panel") ~= nil) + and (nzm.param2 == 0 or nzm.param2 == 2) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:entry_panel") ~= nil) + and (nzp.param2 == 0 or nzp.param2 == 2) then + pzp=1 + end + +-- ...pumps, grates... + + if (string.find(nym.name, "pipeworks:grating") ~= nil) or + (string.find(nym.name, "pipeworks:pump") ~= nil) then + pym=1 + end + +-- ... and storage tanks. + + if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) then + pym=1 + end + + if (string.find(nyp.name, "pipeworks:storage_tank_") ~= nil) then + pyp=1 + end + +-- ...extra devices specified via the function's parameters +-- ...except that this part is not implemented yet +-- +-- xxx = nxm, nxp, nym, nyp, nzm, or nzp depending on the direction to check +-- yyy = pxm, pxp, pym, pyp, pzm, or pzp accordingly. +-- +-- if string.find(xxx.name, "modname:nodename") ~= nil then +-- yyy = 1 +-- end +-- +-- for example: +-- +-- if string.find(nym.name, "aero:outlet") ~= nil then +-- pym = 1 +-- end +-- + +end + +function pipe_look_for_stackable_tanks(pos) + local tym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + + if string.find(tym.name, "pipeworks:storage_tank_") ~= nil or + string.find(tym.name, "pipeworks:expansion_tank_") ~= nil then + minetest.env:add_node(pos, { name = "pipeworks:expansion_tank_0", param2 = tym.param2}) + end +end + diff --git a/mods/pipeworks/changelog.txt b/mods/pipeworks/changelog.txt new file mode 100644 index 0000000..251df29 --- /dev/null +++ b/mods/pipeworks/changelog.txt @@ -0,0 +1,93 @@ +Changelog +--------- + +2013-01-13: Tubes can transport items now! Namely, I added Novatux/Nore's item +transport mod as a default part of this mod, to make tubes do something useful! +Thanks to Nore and RealBadAngel for the code contributions! + +2013-01-05: made storage tanks connect from top/bottom, made storage tank and +pipe textures use the ^ combine operator so they can show the actual liquid +going through the pipes/tanks. + +2013-01-04 (a bit later): Made pipes able to carry water! It was just a minor +logic error resulting from moving the water flowing code into it's own file +when I originally imported it. Many thanks to Mauvebic for writing it! + +2013-01-04: First stage of integrating Mauvebic's water flowing code. This is +experimental and doesn't move water yet - but at least it doesn't break +anything :-) + +2013-01-01: Various minor tweaks to textures, facedir settings, some other +stuff. Changed crafting recipes to account for revamped pumps, valves, etc. +Now requires the moreores mod and most recent git (for mese crystal fragments) +to craft a pump. Added a "sealed" entry/exit panel (really just a horizontal +pipe with a metal panel overlayed into the middle). Also, tweaked pipes to +always drop the empty ones. Revamped pumps so that now they should sit in/on +liquid and be connected only from the top, relegated grates to decorational- +only, added outlet spigot. Got rid of a few obsolete textures. Got rid of +that whole _x and _z naming thing - now all directional devices (pumps, valves, +spigots, tanks) use facedir. Valves, spigots no longer auto-rotate to find +nearby pipes. + +2012-09-17: Added test object for pneumatic tube autorouting code, made tubes +connect to it and any object that bears groups={tubedevice=1} (connects to any +side) + +2012-09-05: All recipes doubled except for junglegrass -> plastic sheet (since +that is derived from home decor) + +2012-09-02: Fixed plastic sheeting recipe. Added crafting recipes for various +objects, with options: If homedecor is installed, use the plastic sheeting +therein. If not, we define it manually. If the Technic mod is installed, +don't define any recipes at all. Also removed the extra "loaded!" messages and +tweaked the default pipe alias to point to something that is actually visible +:-) + +2012-09-01: flattened wielded pipe segment. + +2012-08-24: Added square-ish pneumatic tubes with their own autoplace code +(does not connect to steel pipes or pipe-oriented devices), then revised their +textures shortly after. Fixed a recursion bug that sometimes caused a stack +overflow. Old pipes were overriding the pipeworks:pipe defintion that belongs +with the new pipes. + +2012-08-22: Added outlet grate, made it participate in autoplace algorithm. +Extended storage tank to show fill level in 10% steps (0% to 100%). Added +"expansion tank" that appears if the user stacks tanks upwards. (Downwards is +not checked). + +2012-08-21: Made storage tank participate in autoplace algorithm. Tuned API a +little to allow for more flexible placement. Re-organized code a bit to allow +for some upcoming rules changes. Made storage tanks' upper/lower fittins and +intake grate participate in autoplace algorithm. + +2012-08-20: Added temporary nodes for storage tank and intake grating, but +without autoplace. + +2012-08-19: Pumps and valves now fully participate in the +auto-rotate/auto-place algorithm. + +2012-08-18: Total rewrite again. All pipes are now nice and round-looking, and +they auto-connect! Also added temporary nodes for pump and valve (each with an +on/off setting - punch to change). No crafting recipes yet and the pipes still +don't do anything useful yet. Soon. + +2012-08-06: Moved this changelog off the forum post and into a separate file. + +2012-08-05 (multiple updates): Rewrote pipeworks to use loops and tables to +create the nodes. Requires far less code now. Added -X, +X, -Y, +Y, -Z, +Z +capped stubs and a short centered horizontal segment. Changed node definitions +so that the aforementioned "short centered" segment is given on dig/drop. +Renamed it to just "pipeworks:pipe" (and pipe_loaded). Added empty/loaded +indicator images to the capped ends, removed some redundant comments. Made the +empty/loaded indication at the capped end more prominent. + +2012-07-21: Added screenshot showing pipes as they look now that nodebox +texture rotation is fixed. + +2012-07-18: Changed the mod name and all internals to 'pipeworks' instead of +'pipes'... after a couple of mistakes :-) + +2012-07-12: moved project to github. + +2012-06-23: Initial release, followed by reworking the textures a bit. diff --git a/mods/pipeworks/compat.lua b/mods/pipeworks/compat.lua new file mode 100644 index 0000000..04dcadd --- /dev/null +++ b/mods/pipeworks/compat.lua @@ -0,0 +1,180 @@ + +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node(":default:furnace", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2,tubedevice=1,tubedevice_receiver=1}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + if direction.y==1 then + return inv:add_item("fuel",stack) + else + return inv:add_item("src",stack) + end + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + if direction.y==1 then + return inv:room_for_item("fuel",stack) + elseif direction.y==-1 then + return inv:room_for_item("src",stack) + else + return 0 + end + end, + input_inventory="dst"}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end +}) + +minetest.register_node(":default:furnace_active", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1,tubedevice=1,tubedevice_receiver=1}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + if direction.y==1 then + return inv:add_item("fuel",stack) + else + return inv:add_item("src",stack) + end + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + if direction.y==1 then + return inv:room_for_item("fuel",stack) + elseif direction.y==-1 then + return inv:room_for_item("src",stack) + else + return 0 + end + end, + input_inventory="dst"}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end +}) + +minetest.register_node(":default:chest", { + description = "Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:add_item("main",stack) + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:room_for_item("main",stack) + end, + input_inventory="main"}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end +}) diff --git a/mods/pipeworks/crafts.lua b/mods/pipeworks/crafts.lua new file mode 100644 index 0000000..e5adc4e --- /dev/null +++ b/mods/pipeworks/crafts.lua @@ -0,0 +1,168 @@ +-- Crafting recipes for pipeworks + +-- If the technic mod is present, then don't bother registering these recipes +-- as that mod supplies its own. + +if io.open(minetest.get_modpath("pipeworks").."/../technic/init.lua", "r") == nil then + + -- If homedecor is not installed, we need to register a few of its crafts + -- manually so we can use them. + + if minetest.get_modpath("homedecor") == nil then + + minetest.register_craftitem(":homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "pipeworks_plastic_sheeting.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "homedecor:plastic_sheeting", + recipe = "default:junglegrass", + }) + + minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_sheeting', + burntime = 30, + }) + end + + minetest.register_craft( { + output = "pipeworks:pipe_110000_empty 12", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "", "" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:pump_off 2", + recipe = { + { "default:stone", "default:steel_ingot", "default:stone" }, + { "moreores:copper_ingot", "default:mese_crystal_fragment", "moreores:copper_ingot" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:valve_off 2", + recipe = { + { "", "default:stick", "" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:storage_tank_0 2", + recipe = { + { "", "default:steel_ingot", "default:steel_ingot" }, + { "default:steel_ingot", "default:glass", "default:steel_ingot" }, + { "default:steel_ingot", "default:steel_ingot", "" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:grating 2", + recipe = { + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "default:steel_ingot", "" }, + { "default:steel_ingot", "", "default:steel_ingot" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:spigot 3", + recipe = { + { "pipeworks:pipe_110000_empty", "" }, + { "", "pipeworks:pipe_110000_empty" }, + }, + }) + + minetest.register_craft( { + output = "pipeworks:tube 12", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "", "", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:mese_tube_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "", "default:mese_crystal", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "pipeworks:mese_tube_000000", + recipe = { + "pipeworks:tube_000000", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment" + }, + }) + + minetest.register_craft( { + output = "pipeworks:detector_tube_off_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "mesecons:mesecon", "mesecons:mesecon", "mesecons:mesecon" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:accelerator_tube_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:teleport_tube_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:desert_stone", "default:mese_block", "default:desert_stone" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:sand_tube_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:sand", "default:sand", "default:sand" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:filter 2", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, + { "default:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:entry_panel 2", + recipe = { + { "", "default:steel_ingot", "" }, + { "", "pipeworks:pipe_110000_empty", "" }, + { "", "default:steel_ingot", "" }, + }, + }) + +end diff --git a/mods/pipeworks/depends.txt b/mods/pipeworks/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/pipeworks/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/pipeworks/deployer.lua b/mods/pipeworks/deployer.lua new file mode 100644 index 0000000..a57a895 --- /dev/null +++ b/mods/pipeworks/deployer.lua @@ -0,0 +1,158 @@ +minetest.register_craft({ + output = 'pipeworks:deployer_off 1', + recipe = { + {'default:wood', 'default:chest','default:wood'}, + {'default:stone', 'mesecons:piston','default:stone'}, + {'default:stone', 'mesecons:mesecon','default:stone'}, + + } +}) + +deployer_on = function(pos, node) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + local pos2={} + pos2.x=pos.x + pos2.y=pos.y + pos2.z=pos.z + if node.param2==3 then + pos1.x=pos1.x+1 + pos2.x=pos2.x+2 + end + if node.param2==2 then + pos1.z=pos1.z+1 + pos2.z=pos2.z+2 + end + if node.param2==1 then + pos1.x=pos1.x-1 + pos2.x=pos2.x-2 + end + if node.param2==0 then + pos1.z=pos1.z-1 + pos2.z=pos2.z-2 + end + + if node.name == "pipeworks:deployer_off" then + hacky_swap_node(pos,"pipeworks:deployer_on") + nodeupdate(pos) + local meta = minetest.env:get_meta(pos); + + local inv = meta:get_inventory() + local invlist=inv:get_list("main") + for i,stack in ipairs(invlist) do + + if stack:get_name() ~=nil and stack:get_name() ~="" and minetest.env:get_node(pos1).name == "air" then + local placer={} + function placer:get_player_name() return "deployer" end + function placer:getpos() return pos end + local stack2=minetest.item_place(stack,placer,{type="node", under=pos1, above=pos2}) + invlist[i]=stack2 + inv:set_list("main",invlist) + return + end + end + end +end + +deployer_off = function(pos, node) + if node.name == "pipeworks:deployer_on" then + hacky_swap_node(pos,"pipeworks:deployer_off") + nodeupdate(pos) + end +end + +minetest.register_node("pipeworks:deployer_off", { + description = "Deployer", + tile_images = {"pipeworks_deployer_top.png","pipeworks_deployer_bottom.png","pipeworks_deployer_side2.png","pipeworks_deployer_side1.png", + "pipeworks_deployer_back.png","pipeworks_deployer_front_off.png"}, + mesecons = {effector={action_on=deployer_on,action_off=deployer_off}}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:add_item("main",stack) + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:room_for_item("main",stack) + end, + input_inventory="main"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1, tubedevice_receiver=1}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Deployer]".. + "list[current_name;main;4,1;3,3;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Deployer") + local inv = meta:get_inventory() + inv:set_size("main", 3*3) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + +}) + +minetest.register_node("pipeworks:deployer_on", { + description = "Deployer", + tile_images = {"pipeworks_deployer_top.png","pipeworks_deployer_bottom.png","pipeworks_deployer_side2.png","pipeworks_deployer_side1.png", + "pipeworks_deployer_back.png","pipeworks_deployer_front_on.png"}, + mesecons = {effector={action_on=deployer_on,action_off=deployer_off}}, + tube={insert_object=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:add_item("main",stack) + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:room_for_item("main",stack) + end, + input_inventory="main"}, + is_ground_content = true, + paramtype2 = "facedir", + tubelike=1, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1, tubedevice_receiver=1,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Deployer]".. + "list[current_name;main;4,1;3,3;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Deployer") + local inv = meta:get_inventory() + inv:set_size("main", 3*3) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, +}) + +function hacky_swap_node(pos,name) + local node=minetest.env:get_node(pos) + local meta=minetest.env:get_meta(pos) + local meta0=meta:to_table() + node.name=name + minetest.env:add_node(pos, node) + local meta=minetest.env:get_meta(pos) + meta:from_table(meta0) +end + + + + + diff --git a/mods/pipeworks/devices.lua b/mods/pipeworks/devices.lua new file mode 100644 index 0000000..faa1b86 --- /dev/null +++ b/mods/pipeworks/devices.lua @@ -0,0 +1,465 @@ +-- List of devices that should participate in the autoplace algorithm + +pipes_devicelist = { + "pump", + "valve", + "storage_tank_0", + "storage_tank_1", + "storage_tank_2", + "storage_tank_3", + "storage_tank_4", + "storage_tank_5", + "storage_tank_6", + "storage_tank_7", + "storage_tank_8", + "storage_tank_9", + "storage_tank_10" +} + +-- tables + +pipe_pumpbody = { + { -7/16, -6/16, -7/16, 7/16, 5/16, 7/16 }, + { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 } +} + +pipe_valvebody = { + { -4/16, -4/16, -4/16, 4/16, 4/16, 4/16 } +} + +pipe_valvehandle_on = { + { -5/16, 4/16, -1/16, 0, 5/16, 1/16 } +} + +pipe_valvehandle_off = { + { -1/16, 4/16, -5/16, 1/16, 5/16, 0 } +} + +spigot_bottomstub = { + { -2/64, -16/64, -6/64, 2/64, 1/64, 6/64 }, -- pipe segment against -Y face + { -4/64, -16/64, -5/64, 4/64, 1/64, 5/64 }, + { -5/64, -16/64, -4/64, 5/64, 1/64, 4/64 }, + { -6/64, -16/64, -2/64, 6/64, 1/64, 2/64 }, + + { -3/64, -16/64, -8/64, 3/64, -14/64, 8/64 }, -- (the flange for it) + { -5/64, -16/64, -7/64, 5/64, -14/64, 7/64 }, + { -6/64, -16/64, -6/64, 6/64, -14/64, 6/64 }, + { -7/64, -16/64, -5/64, 7/64, -14/64, 5/64 }, + { -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 } +} + +spigot_stream = { + { -3/64, -48/64, -5/64, 3/64, -16/64, 5/64 }, + { -4/64, -48/64, -4/64, 4/64, -16/64, 4/64 }, + { -5/64, -48/64, -3/64, 5/64, -16/64, 3/64 } +} + +entry_panel = { + { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } +} +-- Now define the nodes. + +local states = { "on", "off" } +local dgroups = "" + +for s in ipairs(states) do + + if states[s] == "off" then + dgroups = {snappy=3, pipe=1} + else + dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + end + + local pumpboxes = {} + pipe_addbox(pumpboxes, pipe_pumpbody) + pipe_addbox(pumpboxes, pipe_topstub) + + minetest.register_node("pipeworks:pump_"..states[s], { + description = "Pump/Intake Module", + drawtype = "nodebox", + tiles = { + "pipeworks_pump_top.png", + "pipeworks_pump_bottom.png", + "pipeworks_pump_sides.png", + "pipeworks_pump_sides.png", + "pipeworks_pump_sides.png", + "pipeworks_pump_"..states[s]..".png" + }, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = pumpboxes + }, + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + pipelike = 1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:pump_off" + }) + + local valveboxes = {} + pipe_addbox(valveboxes, pipe_leftstub) + pipe_addbox(valveboxes, pipe_valvebody) + if states[s] == "off" then + pipe_addbox(valveboxes, pipe_valvehandle_off) + else + pipe_addbox(valveboxes, pipe_valvehandle_on) + end + pipe_addbox(valveboxes, pipe_rightstub) + local tilex = "pipeworks_valvebody_ends.png" + local tilez = "pipeworks_valvebody_sides.png" + + minetest.register_node("pipeworks:valve_"..states[s], { + description = "Valve", + drawtype = "nodebox", + tiles = { + "pipeworks_valvebody_top_"..states[s]..".png", + "pipeworks_valvebody_bottom.png", + tilex, + tilex, + tilez, + tilez, + }, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + node_box = { + type = "fixed", + fixed = valveboxes + }, + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + pipelike = 1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:valve_off", + pipelike=1, + }) +end + +-- grating + +minetest.register_node("pipeworks:grating", { + description = "Decorative grating", + tiles = { + "pipeworks_grating_top.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png" + }, + paramtype = "light", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, +}) + +-- outlet spigot + + local spigotboxes = {} + pipe_addbox(spigotboxes, pipe_backstub) + pipe_addbox(spigotboxes, spigot_bottomstub) + pipe_addbox(spigotboxes, pipe_bendsphere) + + local spigotboxes_pouring = {} + pipe_addbox(spigotboxes_pouring, spigot_stream) + pipe_addbox(spigotboxes_pouring, pipe_backstub) + pipe_addbox(spigotboxes_pouring, spigot_bottomstub) + pipe_addbox(spigotboxes_pouring, pipe_bendsphere) + +minetest.register_node("pipeworks:spigot", { + description = "Spigot outlet", + drawtype = "nodebox", + tiles = { + "pipeworks_spigot_sides.png", + "pipeworks_spigot_sides.png", + "pipeworks_spigot_sides.png", + "pipeworks_spigot_sides.png", + "pipeworks_pipe_end_empty.png", + "pipeworks_spigot_sides.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + node_box = { + type = "fixed", + fixed = spigotboxes, + }, + selection_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + } +}) + +minetest.register_node("pipeworks:spigot_pouring", { + description = "Spigot outlet", + drawtype = "nodebox", + tiles = { + "pipeworks_spigot_sides.png", + "pipeworks_spigot_sides.png", + "default_water.png^pipeworks_spigot_sides2.png", + "default_water.png^pipeworks_spigot_sides2.png", + "default_water.png^pipeworks_spigot_sides2.png", + "default_water.png^pipeworks_spigot_sides2.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + node_box = { + type = "fixed", + fixed = spigotboxes_pouring, + }, + selection_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, + drop = "pipeworks:spigot", +}) + + +-- sealed pipe entry/exit (decorative horizontal pipe passing through a metal +-- wall, for use in places where walls should look like they're airtight) + + local airtightboxes = {} + pipe_addbox(airtightboxes, pipe_frontstub) + pipe_addbox(airtightboxes, pipe_backstub) + pipe_addbox(airtightboxes, entry_panel) + +minetest.register_node("pipeworks:entry_panel", { + description = "Airtight Pipe entry/exit", + drawtype = "nodebox", + tiles = { + "pipeworks_plain.png", + "pipeworks_plain.png", + "pipeworks_plain.png", + "pipeworks_plain.png", + "pipeworks_pipe_end_empty.png", + "pipeworks_pipe_end_empty.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + node_box = { + type = "fixed", + fixed = airtightboxes, + }, +}) + +-- tanks + +for fill = 0, 10 do + if fill == 0 then + filldesc="empty" + sgroups = {snappy=3, pipe=1, tankfill=fill+1} + else + filldesc=fill.."0% full" + sgroups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1} + end + + minetest.register_node("pipeworks:expansion_tank_"..fill, { + description = "Expansion Tank ("..filldesc..")... You hacker, you.", + tiles = { + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + pipeworks_liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:storage_tank_"..fill, + after_place_node = function(pos) + pipe_look_for_stackable_tanks(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=0, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",0) + end, + }) + + minetest.register_node("pipeworks:storage_tank_"..fill, { + description = "Fluid Storage Tank ("..filldesc..")", + tiles = { + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + pipeworks_liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = sgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipe_look_for_stackable_tanks(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + }) +end + +-- various actions + +minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:valve_on" then + fdir = minetest.env:get_node(pos).param2 + minetest.env:add_node(pos, { name = "pipeworks:valve_off", param2 = fdir }) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",0) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:valve_off" then + fdir = minetest.env:get_node(pos).param2 + minetest.env:add_node(pos, { name = "pipeworks:valve_on", param2 = fdir }) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:pump_on" then + fdir = minetest.env:get_node(pos).param2 + minetest.env:add_node(pos, { name = "pipeworks:pump_off", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:pump_off" then + fdir = minetest.env:get_node(pos).param2 + minetest.env:add_node(pos, { name = "pipeworks:pump_on", param2 = fdir }) + end +end) + +-- backwards compatibility + +minetest.register_alias("pipeworks:intake", "pipeworks:grating") +minetest.register_alias("pipeworks:outlet", "pipeworks:grating") +minetest.register_alias("pipeworks:pump_off_x", "pipeworks:pump_off") +minetest.register_alias("pipeworks:pump_off_z", "pipeworks:pump_off") +minetest.register_alias("pipeworks:pump_on_x", "pipeworks:pump_on") +minetest.register_alias("pipeworks:pump_on_z", "pipeworks:pump_on") +minetest.register_alias("pipeworks:valve_off_x", "pipeworks:valve_off") +minetest.register_alias("pipeworks:valve_off_z", "pipeworks:valve_off") +minetest.register_alias("pipeworks:valve_on_x", "pipeworks:valve_on") +minetest.register_alias("pipeworks:valve_on_z", "pipeworks:valve_on") +minetest.register_alias("pipeworks:storage_tank_0_x", "pipeworks:storage_tank_0") +minetest.register_alias("pipeworks:storage_tank_0_z", "pipeworks:storage_tank_0") +minetest.register_alias("pipeworks:storage_tank_1_x", "pipeworks:storage_tank_1") +minetest.register_alias("pipeworks:storage_tank_1_z", "pipeworks:storage_tank_1") +minetest.register_alias("pipeworks:storage_tank_2_x", "pipeworks:storage_tank_2") +minetest.register_alias("pipeworks:storage_tank_2_z", "pipeworks:storage_tank_2") +minetest.register_alias("pipeworks:storage_tank_3_x", "pipeworks:storage_tank_3") +minetest.register_alias("pipeworks:storage_tank_3_z", "pipeworks:storage_tank_3") +minetest.register_alias("pipeworks:storage_tank_4_x", "pipeworks:storage_tank_4") +minetest.register_alias("pipeworks:storage_tank_4_z", "pipeworks:storage_tank_4") +minetest.register_alias("pipeworks:storage_tank_5_x", "pipeworks:storage_tank_5") +minetest.register_alias("pipeworks:storage_tank_5_z", "pipeworks:storage_tank_5") +minetest.register_alias("pipeworks:storage_tank_6_x", "pipeworks:storage_tank_6") +minetest.register_alias("pipeworks:storage_tank_6_z", "pipeworks:storage_tank_6") +minetest.register_alias("pipeworks:storage_tank_7_x", "pipeworks:storage_tank_7") +minetest.register_alias("pipeworks:storage_tank_7_z", "pipeworks:storage_tank_7") +minetest.register_alias("pipeworks:storage_tank_8_x", "pipeworks:storage_tank_8") +minetest.register_alias("pipeworks:storage_tank_8_z", "pipeworks:storage_tank_8") +minetest.register_alias("pipeworks:storage_tank_9_x", "pipeworks:storage_tank_9") +minetest.register_alias("pipeworks:storage_tank_9_z", "pipeworks:storage_tank_9") +minetest.register_alias("pipeworks:storage_tank_10_x", "pipeworks:storage_tank_10") +minetest.register_alias("pipeworks:storage_tank_10_z", "pipeworks:storage_tank_10") + diff --git a/mods/pipeworks/flowing_logic.lua b/mods/pipeworks/flowing_logic.lua new file mode 100644 index 0000000..ea5b09e --- /dev/null +++ b/mods/pipeworks/flowing_logic.lua @@ -0,0 +1,113 @@ +-- This file provides the actual flow and pathfinding logic that makes water +-- move through the pipes. +-- +-- Contributed by mauvebic, 2013-01-03, with tweaks by Vanessa Ezekowitz +-- + +local check4liquids = function(pos) + local coords = { + {x=pos.x,y=pos.y-1,z=pos.z}, + {x=pos.x,y=pos.y+1,z=pos.z}, + {x=pos.x-1,y=pos.y,z=pos.z}, + {x=pos.x+1,y=pos.y,z=pos.z}, + {x=pos.x,y=pos.y,z=pos.z-1}, + {x=pos.x,y=pos.y,z=pos.z+1}, } + for i =1,6 do + local name = minetest.env:get_node(coords[i]).name + if string.find(name,'water') then return true end + end + return false +end + +local check4inflows = function(pos,node) + local coords = { + {x=pos.x,y=pos.y-1,z=pos.z}, + {x=pos.x,y=pos.y+1,z=pos.z}, + {x=pos.x-1,y=pos.y,z=pos.z}, + {x=pos.x+1,y=pos.y,z=pos.z}, + {x=pos.x,y=pos.y,z=pos.z-1}, + {x=pos.x,y=pos.y,z=pos.z+1}, } + local newnode = false + local source = false + for i =1,6 do + if newnode then break end + local name = minetest.env:get_node(coords[i]).name + if (name == 'pipeworks:pump_on' and check4liquids(coords[i])) or string.find(name,'_loaded') then + if string.find(name,'_loaded') then + local source = minetest.env:get_meta(coords[i]):get_string('source') + if source == minetest.pos_to_string(pos) then break end + end + newnode = string.gsub(node.name,'empty','loaded') + source = {x=coords[i].x,y=coords[i].y,z=coords[i].z} + if newnode ~= nil then dbg(newnode) end + end + end + if newnode then + dbg(newnode..' to replace '..node.name) + minetest.env:add_node(pos,{name=newnode}) + minetest.env:get_meta(pos):set_string('source',minetest.pos_to_string(source)) + end +end + +local checksources = function(pos,node) + local sourcepos = minetest.string_to_pos(minetest.env:get_meta(pos):get_string('source')) + local source = minetest.env:get_node(sourcepos).name + local newnode = false + if not ((source == 'pipeworks:pump_on' and check4liquids(sourcepos)) or string.find(source,'_loaded') or source == 'ignore' ) then + newnode = string.gsub(node.name,'loaded','empty') + end + + if newnode then dbg(newnode..' to replace '..node.name) end + if newnode then + minetest.env:add_node(pos,{name=newnode}) + minetest.env:get_meta(pos):set_string('source','') + end +end + +local update_outlet = function(pos) + local top = minetest.env:get_node({x=pos.x,y=pos.y+1,z=pos.z}).name + if string.find(top,'_loaded') then + minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'}) + elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then + minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z}) + end +end + +local spigot_check = function(pos,node) + local fdir=node.param2 + local check = {{x=pos.x,y=pos.y,z=pos.z+1},{x=pos.x+1,y=pos.y,z=pos.z},{x=pos.x,y=pos.y,z=pos.z-1},{x=pos.x-1,y=pos.y,z=pos.z} } + dbg(fdir..' checking '..minetest.pos_to_string(check[fdir+1])..' for spigot at '..minetest.pos_to_string(pos)) + local top = minetest.env:get_node(check[fdir+1]).name + dbg('found '..top) + if string.find(top,'_loaded') then + minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot_pouring', param2 = fdir}) + minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'}) + elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then + minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot', param2 = fdir}) + minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z}) + end +end + +minetest.register_abm({ + nodenames = pipes_empty_nodenames, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) check4inflows(pos,node) end +}) + +minetest.register_abm({ + nodenames = pipes_full_nodenames, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) checksources(pos,node) end +}) + +minetest.register_abm({ + nodenames = {'pipeworks:outlet','pipeworks:spigot','pipeworks:spigot_pouring'}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + if node.name == 'pipeworks:outlet' then update_outlet(pos) + elseif node.name == 'pipeworks:spigot' or node.name == 'pipeworks:spigot_pouring' then spigot_check(pos,node) end + end +}) diff --git a/mods/pipeworks/init.lua b/mods/pipeworks/init.lua new file mode 100644 index 0000000..ce6bc3c --- /dev/null +++ b/mods/pipeworks/init.lua @@ -0,0 +1,334 @@ +-- Pipeworks mod by Vanessa Ezekowitz - 2012-08-05 +-- +-- Entirely my own code. This mod supplies various shapes of pipes +-- and devices that they can connect to such as pumps, valves, etc. +-- All pipes autoconnect as you lay them out, and devices will auto- +-- connect to them. +-- +-- License: WTFPL +-- + +-- Un-comment the following dofile line to re-enable the old pipe nodes. +-- dofile(minetest.get_modpath("pipeworks").."/oldpipes.lua") +-- + +minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") +local DEBUG = false + +pipeworks_liquid_texture = "default_water.png" + +pipe_leftstub = { + { -32/64, -2/64, -6/64, 1/64, 2/64, 6/64 }, -- pipe segment against -X face + { -32/64, -4/64, -5/64, 1/64, 4/64, 5/64 }, + { -32/64, -5/64, -4/64, 1/64, 5/64, 4/64 }, + { -32/64, -6/64, -2/64, 1/64, 6/64, 2/64 }, + + { -32/64, -3/64, -8/64, -30/64, 3/64, 8/64 }, -- (the flange for it) + { -32/64, -5/64, -7/64, -30/64, 5/64, 7/64 }, + { -32/64, -6/64, -6/64, -30/64, 6/64, 6/64 }, + { -32/64, -7/64, -5/64, -30/64, 7/64, 5/64 }, + { -32/64, -8/64, -3/64, -30/64, 8/64, 3/64 } +} + +pipe_rightstub = { + { -1/64, -2/64, -6/64, 32/64, 2/64, 6/64 }, -- pipe segment against +X face + { -1/64, -4/64, -5/64, 32/64, 4/64, 5/64 }, + { -1/64, -5/64, -4/64, 32/64, 5/64, 4/64 }, + { -1/64, -6/64, -2/64, 32/64, 6/64, 2/64 }, + + { 30/64, -3/64, -8/64, 32/64, 3/64, 8/64 }, -- (the flange for it) + { 30/64, -5/64, -7/64, 32/64, 5/64, 7/64 }, + { 30/64, -6/64, -6/64, 32/64, 6/64, 6/64 }, + { 30/64, -7/64, -5/64, 32/64, 7/64, 5/64 }, + { 30/64, -8/64, -3/64, 32/64, 8/64, 3/64 } +} + +pipe_bottomstub = { + { -2/64, -32/64, -6/64, 2/64, 1/64, 6/64 }, -- pipe segment against -Y face + { -4/64, -32/64, -5/64, 4/64, 1/64, 5/64 }, + { -5/64, -32/64, -4/64, 5/64, 1/64, 4/64 }, + { -6/64, -32/64, -2/64, 6/64, 1/64, 2/64 }, + + { -3/64, -32/64, -8/64, 3/64, -30/64, 8/64 }, -- (the flange for it) + { -5/64, -32/64, -7/64, 5/64, -30/64, 7/64 }, + { -6/64, -32/64, -6/64, 6/64, -30/64, 6/64 }, + { -7/64, -32/64, -5/64, 7/64, -30/64, 5/64 }, + { -8/64, -32/64, -3/64, 8/64, -30/64, 3/64 } +} + + +pipe_topstub = { + { -2/64, -1/64, -6/64, 2/64, 32/64, 6/64 }, -- pipe segment against +Y face + { -4/64, -1/64, -5/64, 4/64, 32/64, 5/64 }, + { -5/64, -1/64, -4/64, 5/64, 32/64, 4/64 }, + { -6/64, -1/64, -2/64, 6/64, 32/64, 2/64 }, + + { -3/64, 30/64, -8/64, 3/64, 32/64, 8/64 }, -- (the flange for it) + { -5/64, 30/64, -7/64, 5/64, 32/64, 7/64 }, + { -6/64, 30/64, -6/64, 6/64, 32/64, 6/64 }, + { -7/64, 30/64, -5/64, 7/64, 32/64, 5/64 }, + { -8/64, 30/64, -3/64, 8/64, 32/64, 3/64 } +} + +pipe_frontstub = { + { -6/64, -2/64, -32/64, 6/64, 2/64, 1/64 }, -- pipe segment against -Z face + { -5/64, -4/64, -32/64, 5/64, 4/64, 1/64 }, + { -4/64, -5/64, -32/64, 4/64, 5/64, 1/64 }, + { -2/64, -6/64, -32/64, 2/64, 6/64, 1/64 }, + + { -8/64, -3/64, -32/64, 8/64, 3/64, -30/64 }, -- (the flange for it) + { -7/64, -5/64, -32/64, 7/64, 5/64, -30/64 }, + { -6/64, -6/64, -32/64, 6/64, 6/64, -30/64 }, + { -5/64, -7/64, -32/64, 5/64, 7/64, -30/64 }, + { -3/64, -8/64, -32/64, 3/64, 8/64, -30/64 } +} + +pipe_backstub = { + { -6/64, -2/64, -1/64, 6/64, 2/64, 32/64 }, -- pipe segment against -Z face + { -5/64, -4/64, -1/64, 5/64, 4/64, 32/64 }, + { -4/64, -5/64, -1/64, 4/64, 5/64, 32/64 }, + { -2/64, -6/64, -1/64, 2/64, 6/64, 32/64 }, + + { -8/64, -3/64, 30/64, 8/64, 3/64, 32/64 }, -- (the flange for it) + { -7/64, -5/64, 30/64, 7/64, 5/64, 32/64 }, + { -6/64, -6/64, 30/64, 6/64, 6/64, 32/64 }, + { -5/64, -7/64, 30/64, 5/64, 7/64, 32/64 }, + { -3/64, -8/64, 30/64, 3/64, 8/64, 32/64 } +} + +pipe_selectboxes = { + { -32/64, -8/64, -8/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 32/64, 8/64, 8/64 }, + { -8/64 , -32/64, -8/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 8/64, 32/64, 8/64 }, + { -8/64 , -8/64, -32/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 8/64, 8/64, 32/64 } +} + +pipe_bendsphere = { + { -4/64, -4/64, -4/64, 4/64, 4/64, 4/64 }, + { -5/64, -3/64, -3/64, 5/64, 3/64, 3/64 }, + { -3/64, -5/64, -3/64, 3/64, 5/64, 3/64 }, + { -3/64, -3/64, -5/64, 3/64, 3/64, 5/64 } +} + +-- Functions + +dbg = function(s) + if DEBUG then + print('[PIPEWORKS] ' .. s) + end +end + +function pipes_fix_image_names(table, replacement) + outtable={} + for i in ipairs(table) do + outtable[i]=string.gsub(table[i], "_XXXXX", replacement) + end + + return outtable +end + +function pipe_addbox(t, b) + for i in ipairs(b) + do table.insert(t, b[i]) + end +end + +-- now define the nodes! + +pipes_empty_nodenames = {} +pipes_full_nodenames = {} + +for xm = 0, 1 do +for xp = 0, 1 do +for ym = 0, 1 do +for yp = 0, 1 do +for zm = 0, 1 do +for zp = 0, 1 do + local outboxes = {} + local outsel = {} + local outimgs = {} + + if yp==1 then + pipe_addbox(outboxes, pipe_topstub) + table.insert(outsel, pipe_selectboxes[4]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if ym==1 then + pipe_addbox(outboxes, pipe_bottomstub) + table.insert(outsel, pipe_selectboxes[3]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if xp==1 then + pipe_addbox(outboxes, pipe_rightstub) + table.insert(outsel, pipe_selectboxes[2]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if xm==1 then + pipe_addbox(outboxes, pipe_leftstub) + table.insert(outsel, pipe_selectboxes[1]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if zp==1 then + pipe_addbox(outboxes, pipe_backstub) + table.insert(outsel, pipe_selectboxes[6]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if zm==1 then + pipe_addbox(outboxes, pipe_frontstub) + table.insert(outsel, pipe_selectboxes[5]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + + local jx = xp+xm + local jy = yp+ym + local jz = zp+zm + + if (jx+jy+jz) == 1 then + if xm == 1 then + table.remove(outimgs, 3) + table.insert(outimgs, 3, "^pipeworks_plain.png") + end + if xp == 1 then + table.remove(outimgs, 4) + table.insert(outimgs, 4, "^pipeworks_plain.png") + end + if ym == 1 then + table.remove(outimgs, 1) + table.insert(outimgs, 1, "^pipeworks_plain.png") + end + if xp == 1 then + table.remove(outimgs, 2) + table.insert(outimgs, 2, "^pipeworks_plain.png") + end + if zm == 1 then + table.remove(outimgs, 5) + table.insert(outimgs, 5, "^pipeworks_plain.png") + end + if zp == 1 then + table.remove(outimgs, 6) + table.insert(outimgs, 6, "^pipeworks_plain.png") + end + end + + if jx+jy+jz >= 2 then + pipe_addbox(outboxes, pipe_bendsphere) + end + + if (jx==2 and jy~=2 and jz~=2) then + table.remove(outimgs, 5) + table.remove(outimgs, 5) + table.insert(outimgs, 5, pipeworks_liquid_texture.."^pipeworks_windowed_XXXXX.png") + table.insert(outimgs, 5, pipeworks_liquid_texture.."^pipeworks_windowed_XXXXX.png") + end + + if (jx~=2 and jy~=2 and jz==2) or (jx~=2 and jy==2 and jz~=2) then + table.remove(outimgs, 3) + table.remove(outimgs, 3) + table.insert(outimgs, 3, pipeworks_liquid_texture.."^pipeworks_windowed_XXXXX.png") + table.insert(outimgs, 3, pipeworks_liquid_texture.."^pipeworks_windowed_XXXXX.png") + end + + local pname = xm..xp..ym..yp..zm..zp + local pgroups = "" + + if pname ~= "110000" then + pgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + pipedesc = "Pipe segment (empty, "..pname..")... You hacker, you." + else + pgroups = {snappy=3, pipe=1} + pipedesc = "Pipe segment" + end + + minetest.register_node("pipeworks:pipe_"..pname.."_empty", { + description = pipedesc, + drawtype = "nodebox", + tiles = pipes_fix_image_names(outimgs, "_empty"), + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:pipe_110000_empty", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + }) + + minetest.register_node("pipeworks:pipe_"..pname.."_loaded", { + description = "Pipe segment (loaded, "..pname..")... You hacker, you.", + drawtype = "nodebox", + tiles = pipes_fix_image_names(outimgs, "_loaded"), + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:pipe_110000_empty", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end + }) + table.insert(pipes_empty_nodenames,"pipeworks:pipe_"..pname.."_empty") -- for the abms + table.insert(pipes_full_nodenames,"pipeworks:pipe_"..pname.."_loaded") -- for bacon +end +end +end +end +end +end + +dofile(minetest.get_modpath("pipeworks").."/tubes.lua") +dofile(minetest.get_modpath("pipeworks").."/devices.lua") +dofile(minetest.get_modpath("pipeworks").."/autoplace.lua") +dofile(minetest.get_modpath("pipeworks").."/crafts.lua") +dofile(minetest.get_modpath("pipeworks").."/flowing_logic.lua") +dofile(minetest.get_modpath("pipeworks").."/compat.lua") +dofile(minetest.get_modpath("pipeworks").."/item_transport.lua") +dofile(minetest.get_modpath("pipeworks").."/autocrafter.lua") +dofile(minetest.get_modpath("pipeworks").."/deployer.lua") +dofile(minetest.get_modpath("pipeworks").."/node_breaker.lua") +print("Pipeworks loaded!") diff --git a/mods/pipeworks/item_transport.lua b/mods/pipeworks/item_transport.lua new file mode 100644 index 0000000..665516e --- /dev/null +++ b/mods/pipeworks/item_transport.lua @@ -0,0 +1,382 @@ +modpath=minetest.get_modpath("pipeworks") + +dofile(modpath.."/compat.lua") + +minetest.register_craftitem("pipeworks:filter", { + description = "Filter", + stack_max = 99, +}) + +minetest.register_node("pipeworks:filter", { + description = "filter", + tiles = {"pipeworks_filter_top.png", "pipeworks_filter_top.png", "pipeworks_filter_output.png", + "pipeworks_filter_input.png", "pipeworks_filter_side.png", "pipeworks_filter_top.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,mesecon=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,2;8,2;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Filter") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + mesecons={effector={action_on=function(pos,node) + minetest.registered_nodes[node.name].on_punch(pos,node,nil) + end}}, + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + local frompos + local dir + if node.param2==0 then + frompos={x=pos.x-1,y=pos.y,z=pos.z} + dir={x=1,y=0,z=0} + elseif node.param2==1 then + frompos={x=pos.x,y=pos.y,z=pos.z+1} + dir={x=0,y=0,z=-1} + elseif node.param2==2 then + frompos={x=pos.x+1,y=pos.y,z=pos.z} + dir={x=-1,y=0,z=0} + else + frompos={x=pos.x,y=pos.y,z=pos.z-1} + dir={x=0,y=0,z=1} + end + local fromnode=minetest.env:get_node(frompos) + local frominv + if not (minetest.registered_nodes[fromnode.name].tube and + minetest.registered_nodes[fromnode.name].tube.input_inventory) then + return + end + local frommeta=minetest.env:get_meta(frompos) + local frominvname=minetest.registered_nodes[fromnode.name].tube.input_inventory + local frominv=frommeta:get_inventory() + for _,filter in ipairs(inv:get_list("main")) do + local sname=filter:get_name() + if sname ~="" then + for spos,stack in ipairs(frominv:get_list(frominvname)) do + if stack:get_name()==sname then + item=stack:take_item() + frominv:set_stack(frominvname,spos,stack) + pos1=pos + item1=tube_item({x=pos1.x,y=pos1.y,z=pos1.z},item) + item1:get_luaentity().start_pos = {x=pos1.x,y=pos1.y,z=pos1.z} + item1:setvelocity(dir) + item1:setacceleration({x=0, y=0, z=0}) + return + end + end + end + end + if inv:is_empty("main") then + for spos,stack in ipairs(frominv:get_list(frominvname)) do + if stack:get_name()~="" then + item=stack:take_item() + frominv:set_stack(frominvname,spos,stack) + pos1=pos + item1=tube_item({x=pos1.x,y=pos1.y,z=pos1.z},item) + item1:get_luaentity().start_pos = {x=pos1.x,y=pos1.y,z=pos1.z} + item1:setvelocity(dir) + item1:setacceleration({x=0, y=0, z=0}) + return + end + end + end +end, +}) + + +function tube_item(pos, item) + -- Take item in any format + local stack = ItemStack(item) + local obj = minetest.env:add_entity(pos, "pipeworks:tubed_item") + obj:get_luaentity():set_item(stack:to_string()) + return obj +end + +minetest.register_entity("pipeworks:tubed_item", { + initial_properties = { + hp_max = 1, + physical = false, + collisionbox = {0,0,0,0,0,0}, + visual = "sprite", + visual_size = {x=0.5, y=0.5}, + textures = {""}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = false, + start_pos={}, + route={} + }, + + itemstring = '', + physical_state = false, + + set_item = function(self, itemstring) + self.itemstring = itemstring + local stack = ItemStack(itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + visual = "sprite", + textures = {"unknown_item.png"} + } + if item_texture and item_texture ~= "" then + prop.visual = "sprite" + prop.textures = {item_texture} + prop.visual_size = {x=0.3, y=0.3} + else + prop.visual = "wielditem" + prop.textures = {itemname} + prop.visual_size = {x=0.15, y=0.15} + end + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + if self.start_pos==nil then return end + local velocity=self.object:getvelocity() + --self.object:setvelocity({x=0,y=0,z=0}) + self.object:setpos(self.start_pos) + return minetest.serialize({ + itemstring=self.itemstring, + velocity=velocity, + start_pos=self.start_pos + }) + end, + + on_activate = function(self, staticdata) + if staticdata=="" or staticdata==nil then return end + local item = minetest.deserialize(staticdata) + local stack = ItemStack(item.itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + + if itemname then + self.start_pos=item.start_pos + self.object:setvelocity(item.velocity) + self.object:setacceleration({x=0, y=0, z=0}) + self.object:setpos(item.start_pos) + end + self:set_item(item.itemstring) + end, + + on_step = function(self, dtime) + if self.start_pos then + local pos = self.object:getpos() + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + tubelike=meta:get_int("tubelike") + local stack = ItemStack(self.itemstring) + local drop_pos=nil + + local velocity=self.object:getvelocity() + + if velocity==nil then return end + + local velocitycopy={x=velocity.x,y=velocity.y,z=velocity.z} + + local moved=false + local speed=math.abs(velocity.x+velocity.y+velocity.z) + local vel={x=velocity.x/speed,y=velocity.y/speed,z=velocity.z/speed} + + if math.abs(vel.x)==1 then + local next_node=math.abs(pos.x-self.start_pos.x) + if next_node >= 1 then + self.start_pos.x=self.start_pos.x+vel.x + moved=true + end + elseif math.abs(vel.y)==1 then + local next_node=math.abs(pos.y-self.start_pos.y) + if next_node >= 1 then + self.start_pos.y=self.start_pos.y+vel.y + moved=true + end + elseif math.abs(vel.z)==1 then + local next_node=math.abs(pos.z-self.start_pos.z) + if next_node >= 1 then + self.start_pos.z=self.start_pos.z+vel.z + moved=true + end + end + + local sposcopy={x=self.start_pos.x,y=self.start_pos.y,z=self.start_pos.z} + + node = minetest.env:get_node(self.start_pos) + if moved and minetest.get_item_group(node.name,"tubedevice_receiver")==1 then + if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then + leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos,node,stack,vel) + else + leftover = stack + end + --drop_pos=minetest.env:find_node_near(self.start_pos,1,"air") + --if drop_pos and not leftover:is_empty() then minetest.item_drop(leftover,"",drop_pos) end + --self.object:remove() + if leftover:is_empty() then + self.object:remove() + return + end + velocity.x=-velocity.x + velocity.y=-velocity.y + velocity.z=-velocity.z + self.object:setvelocity(velocity) + self:set_item(leftover:to_string()) + return + end + + if moved then + if go_next (self.start_pos, velocity, stack)==0 then + drop_pos=minetest.env:find_node_near({x=self.start_pos.x+velocity.x,y=self.start_pos.y+velocity.y,z=self.start_pos.z+velocity.z}, 1, "air") + if drop_pos then + minetest.item_drop(stack, "", drop_pos) + self.object:remove() + end + end + end + + if velocity.x~=velocitycopy.x or velocity.y~=velocitycopy.y or velocity.z~=velocitycopy.z or + self.start_pos.x~=sposcopy.x or self.start_pos.y~=sposcopy.y or self.start_pos.z~=sposcopy.z then + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + end + + end +end +}) + + +function addVect(pos,vect) +return {x=pos.x+vect.x,y=pos.y+vect.y,z=pos.z+vect.z} +end + +adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} + +function notvel(tbl,vel) + tbl2={} + for _,val in ipairs(tbl) do + if val.x~=-vel.x or val.y~=-vel.y or val.z~=-vel.z then table.insert(tbl2,val) end + end + return tbl2 +end + +function go_next(pos,velocity,stack) + local chests={} + local tubes={} + local cnode=minetest.env:get_node(pos) + local cmeta=minetest.env:get_meta(pos) + local node + local meta + local tubelike + local tube_receiver + local len=1 + local n + local can_go + local speed=math.abs(velocity.x+velocity.y+velocity.z) + local vel={x=velocity.x/speed,y=velocity.y/speed,z=velocity.z/speed,speed=speed} + if speed>=4.1 then + speed=4 + elseif speed>=1.1 then + speed=speed-0.1 + else + speed=1 + end + vel.speed=speed + if minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then + can_go=minetest.registered_nodes[cnode.name].tube.can_go(pos,node,vel,stack) + else + can_go=notvel(adjlist,vel) + end + for _,vect in ipairs(can_go) do + npos=addVect(pos,vect) + node=minetest.env:get_node(npos) + tube_receiver=minetest.get_item_group(node.name,"tubedevice_receiver") + meta=minetest.env:get_meta(npos) + tubelike=meta:get_int("tubelike") + if tube_receiver==1 then + if minetest.registered_nodes[node.name].tube and + minetest.registered_nodes[node.name].tube.can_insert and + minetest.registered_nodes[node.name].tube.can_insert(npos,node,stack,vect) then + local i=1 + repeat + if chests[i]==nil then break end + i=i+1 + until false + chests[i]={} + chests[i].pos=npos + chests[i].vect=vect + end + elseif tubelike==1 then + local i=1 + repeat + if tubes[i]==nil then break end + i=i+1 + until false + tubes[i]={} + tubes[i].pos=npos + tubes[i].vect=vect + end + end + if chests[1]==nil then--no chests found + if tubes[1]==nil then + return 0 + else + local i=1 + repeat + if tubes[i]==nil then break end + i=i+1 + until false + n=meta:get_int("tubedir")+1 + repeat + if n>=i then + n=n-i+1 + else + break + end + until false + meta:set_int("tubedir",n) + velocity.x=tubes[n].vect.x*vel.speed + velocity.y=tubes[n].vect.y*vel.speed + velocity.z=tubes[n].vect.z*vel.speed + end + else + local i=1 + repeat + if chests[i]==nil then break end + i=i+1 + until false + n=meta:get_int("tubedir")+1 + repeat + if n>=i then + n=n-i+1 + else + break + end + until false + velocity.x=chests[n].vect.x*speed + velocity.y=chests[n].vect.y*speed + velocity.z=chests[n].vect.z*speed + end + return 1 +end \ No newline at end of file diff --git a/mods/pipeworks/node_breaker.lua b/mods/pipeworks/node_breaker.lua new file mode 100644 index 0000000..3af1902 --- /dev/null +++ b/mods/pipeworks/node_breaker.lua @@ -0,0 +1,100 @@ +minetest.register_craft({ + output = 'pipeworks:nodebreaker_off 1', + recipe = { + {'default:wood', 'default:pick_mese','default:wood'}, + {'default:stone', 'mesecons:piston','default:stone'}, + {'default:stone', 'mesecons:mesecon','default:stone'}, + + } +}) + + +function hacky_swap_node(pos,name) + local node=minetest.env:get_node(pos) + local meta=minetest.env:get_meta(pos) + local meta0=meta:to_table() + node.name=name + minetest.env:add_node(pos, node) + local meta=minetest.env:get_meta(pos) + meta:from_table(meta0) +end + + +node_breaker_on = function(pos, node) + if node.name == "pipeworks:nodebreaker_off" then + hacky_swap_node(pos,"pipeworks:nodebreaker_on") + break_node (pos,node.param2) + nodeupdate(pos) + end +end + +node_breaker_off = function(pos, node) + if node.name == "pipeworks:nodebreaker_on" then + hacky_swap_node(pos,"pipeworks:nodebreaker_off") + nodeupdate(pos) + end +end + +minetest.register_node("pipeworks:nodebreaker_off", { + description = "Node Breaker", + tile_images = {"pipeworks_nodebreaker_top_off.png","pipeworks_nodebreaker_bottom_off.png","pipeworks_nodebreaker_side2_off.png","pipeworks_nodebreaker_side1_off.png", + "pipeworks_nodebreaker_back.png","pipeworks_nodebreaker_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1}, + mesecons= {effector={action_on=node_breaker_on, action_off=node_breaker_off}}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + end, + +}) + +minetest.register_node("pipeworks:nodebreaker_on", { + description = "Node Breaker", + tile_images = {"pipeworks_nodebreaker_top_on.png","pipeworks_nodebreaker_bottom_on.png","pipeworks_nodebreaker_side2_on.png","pipeworks_nodebreaker_side1_on.png", + "pipeworks_nodebreaker_back.png","pipeworks_nodebreaker_front_on.png"}, + mesecons= {effector={action_on=node_breaker_on, action_off=node_breaker_off}}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +function break_node (pos,n_param) + local pos1={} + local pos2={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + pos2.x=pos.x + pos2.y=pos.y + pos2.z=pos.z + + --param2 3=x+ 1=x- 2=z+ 0=z- + local x_velocity=0 + local z_velocity=0 + + if n_param==3 then pos2.x=pos2.x+1 pos1.x=pos1.x-1 x_velocity=-1 end + if n_param==2 then pos2.z=pos2.z+1 pos1.z=pos1.z-1 z_velocity=-1 end + if n_param==1 then pos2.x=pos2.x-1 pos1.x=pos1.x+1 x_velocity=1 end + if n_param==0 then pos2.z=pos2.z-1 pos1.x=pos1.z+1 z_velocity=1 end + + local node=minetest.env:get_node(pos2) + if node.name == "air" then return nil end + if node.name == "default:lava_source" then return nil end + if node.name == "default:lava_flowing" then return nil end + if node.name == "default:water_source" then minetest.env:remove_node(pos2) return nil end + if node.name == "default:water_flowing" then minetest.env:remove_node(pos2) return nil end + if node.name == "ignore" then minetest.env:remove_node(pos2) return nil end + local drops = minetest.get_node_drops(node.name, "default:pick_mese") + local _, dropped_item + for _, dropped_item in ipairs(drops) do + local item1=tube_item({x=pos.x,y=pos.y,z=pos.z},dropped_item) + item1:get_luaentity().start_pos = {x=pos.x,y=pos.y,z=pos.z} + item1:setvelocity({x=x_velocity, y=0, z=z_velocity}) + item1:setacceleration({x=0, y=0, z=0}) + end + minetest.env:remove_node(pos2) +end + diff --git a/mods/pipeworks/oldpipes.lua b/mods/pipeworks/oldpipes.lua new file mode 100644 index 0000000..90c8a27 --- /dev/null +++ b/mods/pipeworks/oldpipes.lua @@ -0,0 +1,360 @@ +-- This file is basically most of the old init.lua and only supplies the +-- old nodes created by the previous verison of Pipeworks. +-- +-- License: WTFPL +-- + +local nodenames = { + "vertical", + "horizontal", + "junction_xy", + "junction_xz", + "bend_xy_down", + "bend_xy_up", + "bend_xz", + "crossing_xz", + "crossing_xy", + "crossing_xyz", + "pipe_segment", + "cap_neg_x", + "cap_pos_x", + "cap_neg_y", + "cap_pos_y", + "cap_neg_z", + "cap_pos_z" +} + +local descriptions = { + "vertical", + "horizontal", + "junction between X and Y axes", + "junction between X and Z axes", + "downward bend between X and Y axes", + "upward bend between X and Y axes", + "bend between X/Z axes", + "4-way crossing between X and Z axes", + "4-way crossing between X/Z and Y axes", + "6-way crossing", + "basic segment", + "capped, negative X half only", + "capped, positive X half only", + "capped, negative Y half only", + "capped, positive Y half only", + "capped, negative Z half only", + "capped, positive Z half only" +} + +local nodeimages = { + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png"}, + + {"pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png"}, + +-- horizontal short segment + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png"}, + +-- capped + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png"}, +} + +local selectionboxes = { + { -0.15, -0.5, -0.15, 0.15, 0.5, 0.15 }, + { -0.5, -0.15, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 }, + { -0.5, -0.15, -0.15, 0.5, 0.15, 0.5 }, + { -0.15, -0.5, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.15, -0.15, 0.5, 0.5, 0.15 }, + { -0.15, -0.15, -0.15, 0.5, 0.15, 0.5 }, + { -0.5, -0.15, -0.5, 0.5, 0.15, 0.5 }, + { -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 }, + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, + { -0.3, -0.15, -0.15, 0.3, 0.15, 0.15 }, + { -0.5, -0.15, -0.15, 0, 0.15, 0.15 }, + { 0, -0.15, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }, + { -0.15, 0, -0.15, 0.15, 0.5, 0.15 }, + { -0.15, -0.15, -0.5, 0.15, 0.15, 0 }, + { -0.15, -0.15, 0, 0.15, 0.15, 0.5 }, +} + +local nodeboxes = { + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- vertical + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- horizontal + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- vertical with X/Z junction + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }, + { 0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- horizontal with X/Z junction + { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.45 }, + { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- bend down from X/Z to Y axis + { -0.1 , -0.45, -0.1 , 0.1 , 0.1 , 0.1 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, 0.45 , -0.15, 0.15, 0.5, 0.15 }, -- bend up from X/Z to Y axis + { -0.1 , -0.1 , -0.1 , 0.1 , 0.45, 0.1 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- bend between X and Z axes + { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.45 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- 4-way crossing between X and Z axes + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }, + { -0.15, -0.15, -0.5 , 0.15, 0.15, -0.45 }, + { -0.1 , -0.1 , -0.45, 0.1 , 0.1 , 0.45 }, + { -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- 4-way crossing between X/Z and Y axes + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }, + { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- 6-way crossing (all 3 axes) + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }, + { -0.15, -0.15, -0.5 , 0.15, 0.15, -0.45 }, + { -0.1 , -0.1 , -0.45, 0.1 , 0.1 , 0.45 }, + { -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, + { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }}, + + {{ -0.3 , -0.15, -0.15, -0.25, 0.15, 0.15 }, -- main center segment + { -0.25, -0.1 , -0.1 , 0.25, 0.1 , 0.1 }, + { 0.25, -0.15, -0.15, 0.3 , 0.15, 0.15 }}, + + {{ -0.5, -0.15, -0.15, -0.45, 0.15, 0.15 }, -- anchored at -X + { -0.45, -0.1, -0.1, -0.2, 0.1, 0.1 }, + { -0.2, -0.15, -0.15, -0.15, 0.15, 0.15 }, + { -0.15, -0.12, -0.12, -0.1, 0.12, 0.12 }, + { -0.1, -0.08, -0.08, -0.05, 0.08, 0.08 }, + { -0.05, -0.04, -0.04, 0, 0.04, 0.04 }}, + + {{ 0.45, -0.15, -0.15, 0.5, 0.15, 0.15 }, -- anchored at +X + { 0.2, -0.1, -0.1, 0.45, 0.1, 0.1 }, + { 0.15, -0.15, -0.15, 0.2, 0.15, 0.15 }, + { 0.1, -0.12, -0.12, 0.15, 0.12, 0.12 }, + { 0.05, -0.08, -0.08, 0.1, 0.08, 0.08 }, + { 0, -0.04, -0.04, 0.05, 0.04, 0.04 }}, + + {{ -0.15, -0.5, -0.15, 0.15, -0.45, 0.15 }, -- anchored at -Y + { -0.1, -0.45, -0.1, 0.1, -0.2, 0.1 }, + { -0.15, -0.2, -0.15, 0.15, -0.15, 0.15 }, + { -0.12, -0.15, -0.12, 0.12, -0.1, 0.12 }, + { -0.08, -0.1, -0.08, 0.08, -0.05, 0.08 }, + { -0.04, -0.05, -0.04, 0.04, 0, 0.04 }}, + + {{ -0.15, 0.45, -0.15, 0.15, 0.5, 0.15 }, -- anchored at +Y + { -0.1, 0.2, -0.1, 0.1, 0.45, 0.1 }, + { -0.15, 0.15, -0.15, 0.15, 0.2, 0.15 }, + { -0.12, 0.1, -0.12, 0.12, 0.15, 0.12 }, + { -0.08, 0.05, -0.08, 0.08, 0.1, 0.08 } , + { -0.04, 0, -0.04, 0.04, 0.05, 0.04 }}, + + {{ -0.15, -0.15, -0.5, 0.15, 0.15, -0.45 }, -- anchored at -Z + { -0.1, -0.1, -0.45, 0.1, 0.1, -0.2 }, + { -0.15, -0.15, -0.2, 0.15, 0.15, -0.15 }, + { -0.12, -0.12, -0.15, 0.12, 0.12, -0.1 }, + { -0.08, -0.08, -0.1, 0.08, 0.08, -0.05 }, + { -0.04, -0.04, -0.05, 0.04, 0.04, 0 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- anchored at +Z + { -0.1, -0.1, 0.2, 0.1, 0.1, 0.45 }, + { -0.15, -0.15, 0.15, 0.15, 0.15, 0.2 }, + { -0.12, -0.12, 0.1, 0.12, 0.12, 0.15 }, + { -0.08, -0.08, 0.05, 0.08, 0.08, 0.1 }, + { -0.04, -0.04, 0, 0.04, 0.04, 0.05 }}, +} + +function fix_image_names(node, replacement) + outtable={} + for i in ipairs(nodeimages[node]) do + outtable[i]=string.gsub(nodeimages[node][i], "_XXXXX", replacement) + end + + return outtable +end + +-- Now define the actual nodes + +for node in ipairs(nodenames) do + + if node ~= 2 then + pgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + else + pgroups = {snappy=3, pipe=1} + end + + minetest.register_node("pipeworks:"..nodenames[node], { + description = "Empty Pipe ("..descriptions[node]..")", + drawtype = "nodebox", + tiles = fix_image_names(node, "_empty"), + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = selectionboxes[node], + }, + node_box = { + type = "fixed", + fixed = nodeboxes[node] + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe" + }) + + minetest.register_node("pipeworks:"..nodenames[node].."_loaded", { + description = "Loaded Pipe ("..descriptions[node]..")", + drawtype = "nodebox", + tiles = fix_image_names(node, "_loaded"), + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = selectionboxes[node], + }, + node_box = { + type = "fixed", + fixed = nodeboxes[node] + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe" + }) +end + diff --git a/mods/pipeworks/teleport_tube.lua b/mods/pipeworks/teleport_tube.lua new file mode 100644 index 0000000..b636431 --- /dev/null +++ b/mods/pipeworks/teleport_tube.lua @@ -0,0 +1,90 @@ + +filename=minetest.get_worldpath() .. "/teleport_tubes" + +function read_file() + local f = io.open(filename, "r") + if f==nil then return {} end + local t = f:read("*all") + f:close() + if t=="" or t==nil then return {} end + return minetest.deserialize(t) +end + +function write_file(tbl) + local f = io.open(filename, "w") + f:write(minetest.serialize(tbl)) + f:close() +end + +function add_tube_in_file(pos,channel) + tbl=read_file() + for _,val in ipairs(tbl) do + if val.x==pos.x and val.y==pos.y and val.z==pos.z then + return + end + end + table.insert(tbl,{x=pos.x,y=pos.y,z=pos.z,channel=channel}) + write_file(tbl) +end + +function remove_tube_in_file(pos) + tbl=read_file() + newtbl={} + for _,val in ipairs(tbl) do + if val.x~=pos.x or val.y~=pos.y or val.z~=pos.z then + table.insert(newtbl,val) + end + end + write_file(newtbl) +end + +function get_tubes_in_file(pos,channel) + tbl=read_file() + newtbl={} + for _,val in ipairs(tbl) do + if val.channel==channel and (val.x~=pos.x or val.y~=pos.y or val.z~=pos.z) then + table.insert(newtbl,val) + end + end + return newtbl +end + +teleport_noctr_textures={"pipeworks_teleport_tube_noctr.png","pipeworks_teleport_tube_noctr.png","pipeworks_teleport_tube_noctr.png", + "pipeworks_teleport_tube_noctr.png","pipeworks_teleport_tube_noctr.png","pipeworks_teleport_tube_noctr.png"} +teleport_plain_textures={"pipeworks_teleport_tube_plain.png","pipeworks_teleport_tube_plain.png","pipeworks_teleport_tube_plain.png", + "pipeworks_teleport_tube_plain.png","pipeworks_teleport_tube_plain.png","pipeworks_teleport_tube_plain.png"} +teleport_end_textures={"pipeworks_teleport_tube_end.png","pipeworks_teleport_tube_end.png","pipeworks_teleport_tube_end.png", + "pipeworks_teleport_tube_end.png","pipeworks_teleport_tube_end.png","pipeworks_teleport_tube_end.png"} +teleport_short_texture="pipeworks_teleport_tube_short.png" +teleport_inv_texture="pipeworks_teleport_tube_inv.png" + +register_tube("pipeworks:teleport_tube","Teleporter pneumatic tube segment",teleport_plain_textures, + teleport_noctr_textures,teleport_end_textures,teleport_short_texture,teleport_inv_texture, + {tube={can_go=function(pos,node,velocity,stack) + velocity.x=0 + velocity.y=0 + velocity.z=0 + local meta = minetest.env:get_meta(pos) + channel=meta:get_string("channel") + goto=get_tubes_in_file(pos,channel) + if goto[1]==nil then return {} end + pos.x=goto[1].x + pos.y=goto[1].y + pos.z=goto[1].z + return meseadjlist + end}, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("channel","0") + meta:set_string("formspec","size[9,1;]field[0,0.5;9,1;channel;Channel:;${channel}]") + add_tube_in_file(pos,"0") + end, + on_receive_fields = function(pos,formname,fields,sender) + local meta = minetest.env:get_meta(pos) + meta:set_string("channel",fields.channel) + remove_tube_in_file(pos) + add_tube_in_file(pos,fields.channel) + end, + after_dig_node = function(pos) + remove_tube_in_file(pos) + end}) diff --git a/mods/pipeworks/textures/default_chest_side.png b/mods/pipeworks/textures/default_chest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..70b8336f1b175c8c4812a88dcddc7bba943611f8 GIT binary patch literal 691 zcmV;k0!;mhP)>O}>GN#5!9TsU-gN z`tkV3k8*KfqM=s|kDNVn{wDlqbK~y#>-&0IW&MJ^A08a>%KDk>Hy(O0GiwDdUb+l> zxc^||&5LJ~Xg!a4a8F-8=Gas@V0d6>*-EApBD>509!tK Z>>r>7T0V3hTiyTw002ovPDHLkV1jZUINtyO literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/default_furnace_side.png b/mods/pipeworks/textures/default_furnace_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9521b6964aa9c519d835554281d479f2ac5551c8 GIT binary patch literal 688 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
F39}Qj+u!74qd2-FWpoZ+^2oOrfGXYmhoZ7zU`C zVrYO~67w`ce`~8dOs9XoyiEFgJ`us(L@^$I9<}-bVxcJzX;8H%IX%E6FeU*YG?Yh} zj9kKlGZ|MVuc4`&A;2WOarvY1{9N6K4<9~!`0(L*{0G&7Y(}<)2&@1A002ovPDHLk FV1g}CbW#8S literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..f09c85cba976b233999308fb82ab0b38e57d4596 GIT binary patch literal 2182 zcmV;12zmF3P)*~Yadpsv+W}m%x&X~;qI&0Rf z`PRSw%lH3_pdxwY-4{F|6idPV_~fy#l11h?zxt}buzn5z@a2zumsGJ%S``4X+Jto) zp;%gYj;-V>0Kj=$)iSFCpc5WJqPl1YhYO$o{@*|Jd(9Dv4mg!CE~_5^-Q+qXZy;9d zh0i$+_MC&W5YAf!yj4E{ByWIG0qacR^Ut09Ci%mKA5GPQfHgn~gJe6o(PF_Fv;VZDL2Y5f3b$%9ynFT#6QI!4)e>Kxi6uuh{XSLz2qY6dtEJ&4Qt9< z9>l!*HQvCq1-XP>{7@KW#jr~%0_^0=NvI`u+LMWR+ zRd^IC10dur#A;*5IVMw%gJ40~Spp}rG5~m06K5ud_jbqPKl7n)kaD*vc1MCX1*MfO zv04pq-h#6b*6W$Z57b(*9dT-GOlt-JArv8Rp%omOY5eC;evAD1{h#{V0cgkrP<4z0 zymxTkqMzMbcn;%K9#z&d6wXYHfHh`*=hKgTo$Ry$2@=(?Mrw{QZ~C|G-NYL9zzA$#pO$^XG(646=2Eyah%DQZvYpAiM{q9PQvR65Y+$$Z3G4 zTmgCco#(xA3ZZCYkgY?q2&wKP6zx0>4R{mUrm)^XvIv|880sxF#4@x^KnO*mdpUJw zy@9m~Pd)bieW9{ne&>0g=q~se3`RIIGe9Id7^ro~F?D8ahGuXO&YS!v0YI_{nHhk9 zB9a|gr=e^z`jNAtI#e*OCG{fct4bhVVr{GO;AFi%n+&RL9!+|m7r9>dy9~_ zk(xd-6XQs`ISO?Moyr0&B8QrfpdB1WtTw<|2xa2@XD0DNLv*m2Ttz6BkmxQR>^wHs zL=NZ8ZT5-7I0bDAyvtkHf9p{r*^5}6+XyZ~K+c=$?sw8Pul)VWucxo~+{K^!x&QzG zMTyj`;|tv&n-kTdIR5`Bk?71dUb{WC{Ef?J=HAgo-q|miS7QO-FPDDd_tm(}tA_h6 zd;U;~9Vm?ir&V=}5Z_a+Di%AAJd31=iHg<6;vf6tdq1v~tNh#LU+w>T@8+3bM9MrB zo%ifaq?fMNYByO)Ii5fBgSIIm(Sh{_vD&~=a39Q=H8xHmR%=*}9s&VDD3-7uUxehN6n>~S5sFdS-PjD2 z3IwbH-b-&F(LGqFa*}`$hD)1ojv5rkl^w|&h(rfB2mcwdK}3u}3m{mSlML`49&TS7 zn=Y)MLqjej(Y?I567VK&^v;7(iGz*f=%zQYm0rV2dK1PeC^LlM5g6e}bsv=SanI6- zrl0T&@Q7mp+VB$4)P#32$Bhoxia58YFLw>I{>5<6u#1K~0P8du7065s{?tdmSBXD6`}T955;hkre7i^%!Fmnj6slThrL;JJJF4+# zW-!W0e09#Ix<0`%L0Z%bH>>+JP9fF3ocpVUQL1X>^ zz^R0}!#MQia_ZP=Qp7B6r>u=lN0B9~VShltTM#q^nevIE zlzMx*JE<>L*(zJv5tu}cWqCL-YL1%DIWR0o4@{lop49*VP&S#nI(+KbY4Sh1&0{OM zR!=t=@D?ax=%uT3^9FX@T{_FHl6w{aZAQD_lq*v^#-|lEGBbd&Sv})`P_*+~W1l+l zHBwfP^zfy&LD>Y6?36ZG-qQdK^%jPDD-VUsnx&pR@hmB0rX`EUwg2V%0niZ3kgNgZ z1V(vUY)VSyZ8I zR?afjP6H<7>8!rLi0hXuf`@~z@XkIC8~O*!z_U0jnNriG?;Q3j8ijl2aC#o0eUalcqnogH~;_u07*qo IM6N<$f}$V#y#N3J literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..29218babd0ccc5cd080c4e0f6e4be0c68019f018 GIT binary patch literal 2742 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..4e37b66485e52e2553247e927a121336f6442012 GIT binary patch literal 1378 zcmV-o1)chdP)FpZif&{Wa6EJ&q$qav#*o?6EkCX_e?Jk+-KLN+jY-<>%HgR zb0Cw+WHOmdCX>lzGMP*!lgVT<|39cz18&}aTa;3`FvsYENqL21_c^5*5yb;wRDo88 zB$1GMl+uU@S{dr@pA5?>R#(j0eXOatG<=pW95b*Jl0*c-$Bxnr@u|b=3LiT_ND|S? zk|bbsK};U4ETtLZVvADhWFZ=@3{gBHiN+lV$A>$>i&SbKj65(ht(w^ zISM^MB#|W0xFbXoun3Vt^EJWE#PB|kL?r3 zd~oNNvT4xU5+Ejj=JU?ipwz_$*d1I$>*9%HDl^_FXtUydoA8}ieyo0f=T~xi4$HW_ zv<(MzYb?la6!eW3-cZ|gfmY@WX9OnI)r$)-Yxgng$qW4EbKh6L`{*aKShw|{YA7fh->T$o>6fPtNyc?_0jv{68X z8LnTTsKACG@P;~%IFB6P zp~ZZmJ~+1kF3!(91~<+6n*_fquV^~b-`~wEX z?y>|1h!QZ$()t;LVuz3JzAr`4Ck58;8jEX5r zDQb5>WhdONZ&8>bKDH>OsmvG`TN-!B-uO9MKV$CiV|0Ot;Nzl4(1n`1KVV>YND_$2 zGc2aK(9p+*#vKx6(d_6$!>D`;5uq>xx=_=&!$n63#juznB<{EWSQc6j8z)=o2Z#t( zm(05TlUCH6B#}NGWA&mFG%TjHenuY~j4CM2kj5P?ym695N5zy*8S4H3AKOKDNLPp? z9CJc)%jU{MR}6}sW#?z%AjRArQJ4Wc)zy=^cbNMbS{W1?At92sT6JbJnM@{=$z(E_ kOeT}bWHOmd=6`{I0c*lan5U4OL;wH)07*qoM6N<$f>$+-6#xJL literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_autocrafter.png b/mods/pipeworks/textures/pipeworks_autocrafter.png new file mode 100644 index 0000000000000000000000000000000000000000..ae5f8d9c232253078f570a8091965e2ba5793e70 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~79XlWLyG`*@&`WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyvF zqNj^vh{pNkKmY&RGkY@lGCS%CGj}$8lag?^wSATOhJj(Hmj3hNzd9fj89ZJ6T-G@y GGywo|{wj|E literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_black.png b/mods/pipeworks/textures/pipeworks_black.png new file mode 100644 index 0000000000000000000000000000000000000000..9e58d8c20ec07462d6d445f6d57d2fc5d5fbc9e9 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~9`jyH3s*8=yRcWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyvF pfTxRNh{pNk1PRu~2_gp=7?=eZ7&9j39tO%Wc)I$ztaD0e0sx!TA>9A~ literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_blue.png b/mods/pipeworks/textures/pipeworks_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..aa346d453783027036b2469e26198d3abd487292 GIT binary patch literal 160 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_deployer_top.png b/mods/pipeworks/textures/pipeworks_deployer_top.png new file mode 100644 index 0000000000000000000000000000000000000000..262c9f6e2489d87b3df55fc12653a2b8ffb58553 GIT binary patch literal 842 zcmV-Q1GW5#P)WFU8GbZ8()Nlj2>E@cM*00OQ_L_t(I%TBGv5F>c+F<(9YB8wR6x~8so5o55{(smu=IMQ_;-uE<3!-EI!WWv( z6_av;dheN(CB_&GaJ}7fadAmmI&#jmZA(>EOePaT2sE39D`}{nv;e$T5;qCZ|jWBxOR%h5Z$%s3>5 zFcM=T<%|Gg4FD+tIg{YOTtEEyZA1i7#j0RL?%+g>krW~!B#4Qa5&$9~s;CP80`azA Uh^)Z1!~g&Q07*qoM6N<$f<~hT07(d8Mht8Ck!(OnY!Gh&Vh9ij84wDS5DSn%3`yg7YLE3cU)9%1+#|GJ zd^at%yUSJAcR2UlYl0!k-Me==r4*y1qnMtaCWEZ8y1L3geE0wWxO(*}8OA>8uoMsk z0n#*uVHg9ivA(_zLI^nL!`kNX6finEiXaG3tyT-K-??+A>!~cuf}$u$lB9eJXfzto zbse7P6<*ggt?L@9s)BR=M^^NoDL~hCFvgH&S>g4I7cY`~_wIGH0!`CE2!X1qYST93#(jq-k0{1=zNYU%!4K&-1pwiK3{h0@gX!EnPvt({=j*pFvK~>dq;s9OO;kvHe z{F5h7`hs(&Y0CIfN+ifRhoUGTq&tKcL9bPQ{rUw;DF`7L9UU#70u)6-p65^$MMnH* z&z|vi@nWl7xpIZ1X$ndy*4Ea_r+_@qVHn0H|81AfPMtbM9z1x!i;!Sx)1a>F@O>X~ z9Lw)IxkEd+o9FpZp)ecP!UDxH_WxU)J9mzBN}EM%2p1}y1!P$UP1D*ILtCY&YGjNd zP18+EEEN#abse^C_w@TqmoAZq45uS+9qVQ1^1sfY1AcR2EG>HbYEQ8}Xux(r3LlCCoe}oWOL8fU6UDr36 zf0887G!2@jq0wkSRaH<*<)`O)&~+V(q9BSQaL#2lswfIZMn(_>0T^R&90!`F!LlsS zTCE03DXP^f(liAj1fJ(X(=@4wdc6+Ywh=`U48uUBQbC^Q@{pW!BuRoi&tX{>48uT{ zWf&hHmj|GV45blUNtgo-bFbo7iAhVCy&sNt;lB77htgNj3 zmD1~UcBI2*KfVg($W$KfR`^{%I{WJSNYP?62E!#Ccl0AcH2F5 zBUbwkf`br{MWwEAqiVH^>FH_m^yyO$0231vr1cX3jvhTq0AO-*k^sQs;vzqI@E{Qu z*C`7O0+L!4y-fj=lau7}K;3P@#_U&7_!9#}*wSAn24<9BXc)frBp6j}fEX%s$ z01*rN0azUs&~M&7apDAd{`~ni7|S_Fnx;5#-~eeg^-eN1HAMhm|Ni}iQi?Q9yHLO3SXkh~|GV)4r%#`j2kKQs+HL!& zJN4s=Vnl1*FDxL>b1=r_Q|(8lrlv@iWuTPyR1$Xz-bGB5hy$z>GuzM2E?>S(w#ER{ zH2bOrimWQjvTe#Ok|KJ&HScc~!A%SVvd^DCPv+<6JDS}0@899NE`lJ~6a;&fm6a7P z&}VC-WDuF2o+j;BY1*&v2yq;z<8{&7=bXzR*pEz1OprK^VcYg53upyZeNkU+G8-M# zM0+Vw6-9xfC=mU>)z#Imn}7A{6$gO%`FU;_1_&XW6fkI~I0%Ab1spqej4UoL_N~=! zOi#61g<%+IHk&wdmrV0jEsx`0G5}R`H>?>$l=3>+nUbgwnD+$o%{~XN*a5 zAx%?o&ar#X&UzK-HS9$VVWlLJcsMLsMTtcHBQqMp66j~ zY)tYEKY#v|HHq*065ELKT-SAwyLa#MFbt8VDUu|Cs;V-2i_WYVRH{@e`1b9a1SgbI zXqpC9Rb{>wOpIX|s8*}^`t_@v^I?p^G);-cMWMtPLli|wk_00oBZ#6%LTPb-%d#Zl zA&{Kwx?qf9e0&^^?>Z+8Qj&!ua^OJhWhmvn)fFW#F8HQYssv zp64OYbA(|CP19s^#P@yqU?`<S8H=3rw_kCHN#&Hb8Fyy)bFf_XL z)~#Ed5Q2UC_Q@>Jue^KrjxR4SL)Ud&yLPQylcK^@2Mw?S3Jdx;k;ZXkTWlmik`6oD~@k&%&(qpn4PQ2bt0 zh@}jIV(7v&O`JY`nzS|~yHQoAPMsn`0ip$8ItBQ?k01ynq0%mwpE+};ZC6Lvb);!J zR3J1|3usM)o!IAgV{mz%L)Z0kj>?Kj5qZzo;}Aj;32~7sA=ECZ5J-q;rE-PPt-3)~7gbkP|5N`;7hQCbMIqsl zIKku%2#Hl!lqNwGkwEb20y#L2?Kt6HI!=9d@r<4M-shVcAV7cs0RjXF@PCEy^WyXQ zJa2Ap5RFEmC<=64hY$kepK+spMZ#h$`=5d5c*%B z@)OJ1Az>E&D_Y;PRtjGU&-ylBgj*+TTjbwg(#`U2inA-5(h5F^ z+v|<*+57AVe$1F3d&_ti@BR?pV}6Tb>NlJD?QQ|aUMIqvD1fys5);qmPAC8$Uj9Dx zImjji8vxq?+Mt+%c=x+7EUrxb+EIkyKV7Zw>guZ8J3jq(Zmihb+v^Gw)>gX{V*MKe zKq8TlKkn^XR5uu0-^>lHNszVowoQ^$$Ye5fD@%n!p{KDicX@`D?GmOjCM`}+PwB?d zy|lPSnY8i&0N~9}@+!c|HOu8PoocmR<6Ku(-Hr%g&0$BA1qyy2je=cJIWei)TfMY56Q~m$*u$Qr|p~OeSr|?W%)b z-=TEnPSZ4AUS9HJDa{~6{n}+I@S1+xjSky+%`g?^ljeX_Dn&(6psFfKA{L9G*=!;l z4&(Or7Sq$yXf~T52_XbXcFyNRp%B*B*B!gHNF>trJCR6mV`D?E?yguYcId0&%66`6 zSk9P}OeSfixNh6ogKTBLDPH4}*3fY~taQo~pBhTP33qpQ9hzIMR_S)+oXuuCU7)6E ze0X^18gI2)jx>60ZB5RN4YS*NId894tDQO4Q(L=)DE)?JKA-PBo!wdUg!CRTGcz;v$HU>Ut?&yA z3&J-FXfzr_C98Bg&Bw>bo?0)H@B^2@bUHoIg(Y(cxa|N*p9GD?D~jUE1vE{g5TZkh zqS0taiQC)T{=BpM8lqw-YZx9OjR)wu-suMnN^F-Cj0+2f!VLE>6bf8kUY6GS!iyE- z@i?xot`LjGKoU<+PtPw40Yy@1qiCPJYQ=I7@}^SXL~009C7 d2oS*c_!o;vXEENS@zDSP002ovPDHLkV1o6BT}c1{ literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png b/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..a654bba94f10928588216af7ecb530142932ff84 GIT binary patch literal 1979 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 KMNUMnLSTY1#Yd_D literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_filter_input.png b/mods/pipeworks/textures/pipeworks_filter_input.png new file mode 100644 index 0000000000000000000000000000000000000000..ce532cb4a048268bcca9b234fd9f0b6a08196931 GIT binary patch literal 12686 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_filter_output.png b/mods/pipeworks/textures/pipeworks_filter_output.png new file mode 100644 index 0000000000000000000000000000000000000000..4b29690444aca590ba222733733a48e722d5168a GIT binary patch literal 13205 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 Hu0mjfl$6|n literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_filter_side.png b/mods/pipeworks/textures/pipeworks_filter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..00fa44da3de93fc189663959e981cb711d993ba0 GIT binary patch literal 13194 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_grating_sides.png b/mods/pipeworks/textures/pipeworks_grating_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..5237f0e102e88bcf76dcd6f7a778c394e73cd194 GIT binary patch literal 6739 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 Ts6pU$9GjK7of+{XE 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c73b2d9ee704855acb33d46460cef6adc0cbd058 GIT binary patch literal 2011 zcmV<12PF83P)6v7b36WT^W|3X~K*UUhkRl;iAU2}}At50$2o?~e z0cAs!MWXbu0E7fmBt)1IND#z|JquVxfvCegdirIzAMLiQ?m1c9a=AS&Kif5(x>8Fm z*TeUI_dLGyoohlyqrUSa1w0u4GQNEDo4MZcmyPeE)BFGcuzLAz%3_|J6#x?LL$w1k zYjeNDc0YFiXq447vjc$rD-e4K!IjkO?-yT~_zp4~AXo2wbhCc-_P5__`A_L+ee*lQxcZ;CWJ8k?Y$G$_Q0o4#H zIdlQ`E+OiC2tY1Z#p#VLRVXn%I3OAv!E)MikUh~cvpDCnRQF~$< z{R{`e$nC0jr_>L2M#PcM0EjsPfWc-N>|L7b?w5}Lj@#w0Jc7UzU{lE_4*&$J7B+ft zhDdsn(CU0rVQDyBV9If=@yDTRQ0!q&W56PIj|y>i$j$=1!%x1ZY}RAaQtX$Zw%V`j zyZ-|b!T8TWYz=@1B9laJBIEKs6(G_5{=zjHD~L=cQ+^_y)$V;qi31RqVZ&_@EuFgV zL82XySpktBm*4_u1cidg2YXLJ?Ljg}q9WMa1RXtiO;tKzv+7>L0mRlEiBTKp^b%Cs z4kQjhT!cjXV6PXT7;39Y;iDQtwS%>%Z!JX1K6>z)iaqRa5cv?PgUxz8=W<+qwqd-B zPz{qsCUuF_V{0G@FdUP1F<>)ZgCl`5An{sgUq zcSZwH+PIGT!<(~B!dA}>fS~f-WI@x%j^cPGcv_ks4tj5nHLG*60_}{v);f51Y#f+5 zy)|}!_L)h8(~Q=^t&!K}0sw$E54LgxfU0V9@2zwm(AbQ$>1a zNMA*;{!O$Fe?9y1Gwj%ojrbd{&P;q_H(KmAmMY&qHwrwDOkUpn zA&#rRO$T7!6gJHkH8X+DGrJd$%ilUA@2SO7~bbR_#E-9hky%05Pmw1j)bS zl70zd_Y-c@6K{yi@Fe^MVrxl#OdNn`R7|Qv<`T$kAnN=lR)l7k?Glw z^@ZBq>uRGtuvc*kOHX;xlUUD-|J z$aAW&%vADjP)x^g)M>aUx8{0AyLJ_w<~0C7;q=caj(MuM48VRFA{~%k zoBJ82`;Pq}eq7Ux&j2cQ25b(&I1_ojcKi8>&mesgL@N+!C(i)J+lEqEXxfQhoXSi# zfXYC`fK)z#9-y)Sr6J-)USB=+ZPf3)GQj{j5NVKdlV<=nWxEI(z0*2%|JY{;Hz49c zIDsLcoK5(hw*c_y1)9bL1GE6?LOC1BGk};Hob(64ratnX?E2GqukxFr?;HC+I)(vl z2-lKl0FV>JKaU4X|IYBFbm3T-Je15d2soApP-^U5x%F>ExPCjpkt&RTCz&89+<;C! zJlEv2rKix`f6e}$RxB1I%>blauzxGu&F21Vv;AJ@A>2URBgPP55Ul_-`4v6T8>GSi z4#G!S97vo8&dGx)|!$fKGr4U2>?%N5(0P&!7VSvO4S4O78#@?j} zBW57niZvACBSLx=?C*iOIo0b%F-Cy^bYG0QDmE(IguqxF=%u`kF%=-CBfO|RF^&Eo zgP?DBRk~B^2fHJ1q%&Z|1Q|d<=~XCabE>;nH@}O<{txf6z-z40 zKt#}~hrp%^zyXmCk()@{d{1exf2+T6@y7}xlgU&nl+LOZ4j*-yY7Jf zU69U$C>50842TbbfG7p!JOD8V;T(xFP|gOZcKbOI?m+2+eTZ_wrfNxym>{QTA>6h` zQZ7hkze32m`Ygqhhy4wr6qxH!x){tk7gV2ZXy+6} zyl|0WUBdMMn2UgPA>0Bf7f#CkB*cFk!fhyL6FPM|kfJ)FCdZ~}7pQXqzfS{cAEehH zrUK!Hodl^Ms(Kp0<;A$^%7>wx2f+TG^-gZ|7ZdOWrHe4#cR+d#Yz~n=@yIc%<42b2 z!Y$Cw$JXTdrL{l4j>@OLvXF_N{##`s9`MnvJsEZFuP^-)XJ33`aUeL42A{w39V}~* znw=!wxb&yd2B@Cj|d+BevTd%Os`h8CmCQi zdQf}p1?2y5X=w(Sl`5aT_!O?c`sQc@)IR+@a&JC6+aye7X$JVj`NzWrO^+R!@l5cz zG(8M@7stBQQoKMqBd=Y5^~y*bP@~=Y!kCv0FShZypDq~;zc_|b4ohy2Uik9-wLtwd zKUiwa&pJN-t#i2k%5S4RJ^%Zc=PP!-n@d^DjqhEZGgU-qHZ_0OMJ*}Tz4?A;4x(34 zJ@*U>SARVF@?-4Sjz#X^y$X z!u(Qa<_v>ju0qX&H^fTMj$M#+A!6XuBS@>a23VHW12R^vr6ORqtqn3Z1#ug~z z7fK z*n1ajs{Q&{xgcl={*Df1!kn*E7Nk$Y@BAxJgi-)GAjy=eW7~uNiqIDlvA<_ zOHX-`qd?DdLL$MYe3#6vAlwdjoVf`C1;0~(bm3$^0=GEtLCN2t)A&oE`1k|;M&>$* zT>HJsg}5N%0dfRV`LII`I8cr?pwcC41WH4=0jKcb8?l_gtloT5K+a66@G!=>cENIl zxaJw_5g7n?^#*4Jt(w&)A@Kofd`gWaSlSsr3fC%6S2u`s0)e&|n*m~MjvfNSk+u4? zBueQ5w6i{-;3UQalrBN1?hoYX!I3F^9<764OyNc+z@{84--z{)l=1f?Ltt9fiTz#M zz|f`Sg}@?O+N4~N&fi;uby*(3Tn}1Q(T5z};uc!vpA3EfUgg(=DwFuhJRhLcY7o0> zrq>@YcZoDaOsq#`W6T1UHI8dXY6)q|5_3FHAv7wn%MbOCPZ z>jUUMV5kV5-@^vsmaYG}k~{;jDT7Tpq{7CF&gI$CGiV*WKDrv@cC17wRw~>-G=Z^Y z@#vPkZ%>?ZJ%L$((!p8(_T-c|;vXT(*$BfRkvzaMIG${)5&te_?^a)BN?aPG%+wUt zEpDN?|NRk~0z+UDSPZF5D6&pGABZsos#cku^0ar9aN1LI<7~Y17iP)wO-AE48`3IHe_eT(9lC&y&~<5eKi z0jcGg-=VuV>>uLAHO=@8z^O-I^e%{xMR>@|W8Xn)6+{_`w3BB5?cM})9+11?i{tEg z18^218pOo}dI0AEN<+jAywYY#RLx zgP>=3Rk{=E2b&Q%(it#ff(*c5bqMSnndt7q;n&ct{PG?PJOEbZWby#OKtw}(ckcs9 z_XAp;Oe$;|Ru`CXKbik@)U&1*UU9}`ew4c-S5Yx6s z;v9&xFkS`h^Z<$>dM_w^L|lk;uzc*@xk%ZyyDy2+yZsHK6pX2Z)rvpof?s{Mp`61I zaf3w$b&09_z`O!T7h+l<&cVqP9*6GUfS5MeIRceB>Pu0bK$A1NX&0ypKEF=`X%D29 zA$kvD8g>%IepK}|fOqHPrkO8*orhq&E$f}8(O-H38~MH`@c@&yzxpF>i{@iX7W)z{yfj-hy4W76QX#YYH_|1?Jr3no{q+T#o` z9X+T$`3j1Eys$6>OiPtdocjT;oqs>t0JU%Y7=`y=oNf|&Z(#=b`kAML1x=0}+0jh! zpfo)Udgn&E)k3^LI+53|oxdE3103zvXGeT&c(ILdUtFjGj-UC?2u3+9xg9_Iz1eGl z`ZwQLXv|MLzV`A-T>IJY!acqChu3E-cHLVGSqjcrX>6ag4$95#*zw)iAiH|j$%y%1WPo7;E1)fDFKk@1*T)*(=a0ASm!X`Q9 z5)1Q7Ju+h$409D~?pzWpJv(+m(uIhI;V;3V4+mJ5)dR9tj8H`%2pJ#-QOeg0v@KA? z!_xB8bEyW~wJT!ZZOdL;?{C@C-B*o8Ixy}gRQfT17$Rke{+D0UXJB+C;5I$+hPVL7 zxF5mjYQH|_90&@6ze7_t$ob59kXnV;`KPZ4r2uk3l=bH{>dQSQJLiN^$Xm1*Yli!NEltYN9JaTX$L!QOcMn1pJPC}aI#-SesyD}h5xVmdvqFq@f9C$pxLAmReD58`6bp#~hVV-3ivY>hx^h-ttn9lI3E3C!xP4FNe*slvk;ld}t! zeZ)1-SdYj6xTiNbEojxOHVKIjP~%f-EWuLF@KLzt_OB)`aI8SP5}N^HY>w^%VnS>6 zNl6r|5|pzxpx`9N16Y-zQV;ra^x#-pehSUXI}^Ck5{$0I$~R&?B&EIW&=8nZbu!+j zZD6Q!@X16e|_(ADY0( zvN*aW@7WWlrk=noKxzN1e|vn&i}*zdJL^FhB$5YM24}|GD&p6r#=X;5nG%-K-DU<6Q1@C6Ha?-Zk(-mC(aOH mCl90VLlcy?-}jFXtN#z1?sYEBJ4B)Y0000g^L=!yrWIUefuY0=t-6|IM_3LT(>#zHz zd3QDH_q(@l)u~gb?hq0h<&9GccrclR_(JKo6TRcl`@e@q^)dip@!&5hiFtBT29RJ2 zstu4?n)n^I`JVejgQTXJoB=p<2x7M(I23#RLhjQ;-$70Oz1;L0m|o2k<;VS*W&RuOF+ug*W}r4>3RH}D-Q z6{xnLlEM&R?*M|vI{>8r0&Qi80cwCY!QN{644}3IFZ)r5E%&|WNaZ#BY3b>n-!JCB zxCaC3P${L)03a`ne;Evx!3VvQGK+h{AZdhXmK7-Mo}PG2Zj00F?@o9tnnkfM^b&;h$)O zUN;T?cNjkGa3FOaKyy%SMHq0T@)|BJJQ05{OfONo{kI51g66v^!~ku9&0-gcQQ7I6 z4lm9hi7{dhDz!vIAvq#s79hbUM5-fwt{-DmC_wiln5z<_!c{1&!-00nt6mxqGuap~ zst--0|HmL0xLwuei2A`s9~^0P88Jl$V6a&Ldk03k``GO(xR`(R4h!4^HY@4m0f0c& z!Ui|)0!eoxTAfZREET5lNg=#BWWK@?(IRxfqK$}phf!K$a@sC1-ccD@Tdk0`L2SX{U5ovN_t8RfNAM*Pw zkPSd)32JwsQgM?Y4x_5A0lYdLH=X+g*t;JRY&!3hN@p=4UtqHg+k6jXmLPT;*?kZ1 zp*lfqsjgB3t$$`o_g-3h^H)*Q}KXLeSK5=U3=@tzsBL`pPU{DPNKmV z&i@dz8pPw1q^oED*xvxf^DS6)8f7YDe%Tb~~AvEId2PW)oVVEDuUM%gR5J#zYM zlh*>}Fa30;F+cA3?Dvo3%1ghG_w>RaUYxAhZC#tmVy?b&VZu}qpV@fwt_#m7)?1T3 zXK%%?qImqP~?=6R6WkD&3dP!Y-i{F2%?;~9bPHH@W%?eEBzEF_bpHpFR(8E?gVCJM7Cz)c7au z7r-{xV1t`!BtiuM9&E5aGV$rS&+dm-ZgZl$&pEJJ#h_xKHXsbdmcx@`DdYic7TrHP zm__(_p$px+3>Cxk+t{E|bM?RMq|X3iw;*;aqQbTnpUda*Bh=`n{?(w=6D2~4QsK^_ z2@E_e)xRYlxD%&RPGJ_HY17iP)Koji{{c8r@gZ3+^Lu31!UU_kA|Y5JDyZ1Cby_N* zEoq5VkU(OQuwqe=TH1s}RHAjeV!@6Dtg6z=ZJfA{V~^)2L3a}CV1Fti@O zIL-|=0Oz1;K|G&A58zpVvQTZtUVps$4*u#tI=}#V5E&5r=`(=XEw>2jz0)RhU*C7A zl%d*$N(w`Oy+a7<9{`Zv3$*0{2B-qs0DH^nGl1G%c-b#PY^mox$IGwdZwo)}`u$4& z)IJQTL1j061^{_s{7ZkZ3_k0glqu{BlLyn81_96U0Lt{e>qPm@7}u|bI8uZSK1(ME zs+3_e4~;eX5*Uv2#96?8vKbC z=ylTI|Ayhi4hK@_0W<^EW`qI9%dg|=-1p<}h3O_rx8IL2Bxrn?LJZI**c3WQjLJ^W zba-X6GY1JaAyOIYbG;a&LIJub!CaLX6|O*G9S*coUgc_^n90U? zQEgxv{XYi5!0oCwhSU!>df-UC!-y#|0E5jO*gG`T-H+d1#g+WYJ1lSy*es=!2LJ+9 z3me?H3nbl(XmvWNu#}xHFyuHirr2r225i2C>v&nMpf!yQ*bX~A7YD+#HbB( z`Ycpx&PeQoI0p%~z+MZW7;1N-!bi0U)jAd)xHu6hd-ujODt5cQL6m_=32YX_Ip@Rb zvj*ec3)N<{$fz!nQV7h8fHt5~1+fn=FR)pJZF~$e3lO`F?14x2 zQJo;RR9C5jzWT#W-GAx*^Y7ssD@P|X@qb=io`?sme|43tQ;PNGc+c5e z@vAs`_EEg|tG7pAeu5p_zKH+r=SL8VlRab)uH=~q#>{M&c~jGMxS zIp&fG^UE9=GYq=93RP}hP$xZmZb90BszpGLAj=wsAE;9<%K6N*Aaf8w{Xd~1lmW;CQLb$`sk%l61k7_2+wpqk zU9edS^+AqAn&#fWKr{m{`(@bXr?Aa6m|z_$^-!bmLxrdq&Nmy$^qdLxh2pg*)CM=f z-jY*TTFQ&=g?gSB5eczdcgWlfm0GmpA{7uQe2xKaz{`CFzO0P5^O*~%m;W9rK0!yn zQKSSS-~G<{2p3eFfbM~KKI%{d9@ujRWV7UqKv}4i;T0aZkjM$l;!}_FDt0>`PK_y z8*8w^%`_6Bc>o@4us$^LX}izf=T>fWqPx#IuvtdGVxZb548)eglVU040c;BHpB+pA zK3?cR_YOnF@cb4ws8n73FFWZofY>dF-HNENZN}&FS-glUo$FlXDy0-=0m_DF{cD3$UXT9>VQ)DKgH-YW$KVF5A!HU}Z md$SOG7n-2f!oGiUSp7d=LUhUClG7ak0000Dk-7D1Zm$pTwu`|8$~v{9*YU=rsQf09ZJAnWiyMo>l-% zT!Tmlq!uTBhwk3A|B!fE)0|!a*gp-Ucc8rEso(!L_}IvIkXi;&86xfC1wco)z+8dR zTj`7AU~~XDfQSb1d;v3nD*%-s5~Y6sTO}h&%59Fxd;#jS&H80n!C~YsCwI==<24Tn*7+s3-2Pv1t@`N)A}|A1E5+mi zfPsjHjyE0xNe>cQT}&!$8rB!c`8?bB&43y-dZ(Zm@F;eVO0GLhF9T@j-OmZDB}ZC< zLm8@f4|RR_zaSzg{}ha_1Monk667XQw%=0;CccxnIgr?nkuG%fKG(R(1Sf;|^74w70=%nP*w;(3TfP~{KV z1&{~!*THJZ1%NF{a*G#fC!)y$o(D)5Vmi)QGR_xh!Ni*`aBYA*=;%E=#?2LA5QhnQ zA`pnm(9z9=ldxJj4C+DiZ=$<56UL_elg^6jB%YknO^DtFsjB1mB|u`3T7>9bh-ugz zBX&Dx&}qH}<_b#T#{pu9X(u)9m7Y4Z%(w~@Z-Lbk*tff6bknv`4iW9Y4P%;^nfr{} zn7}QL!D=bt3#^u)yEj2<(Yev9N2pGmD%Hib;FZH?fbf~*t9JdD2o^s7@GRiq26Vgu z9dDqr{K73L`Xw}Lm$L&9E}cVT>(%k1s&~^TmLZ11r7u(C-fJ=( z0|J0N*WR+9%IZtWg7RB-!Eh#c)S4ayz1N4PRifk|nMY$iy)Xcf_kJLKSp?1nbe2=3 zKh4^YGjYJnPV4hSer&K)RF8dopnh2`WS4*iFiJC1`xYf#7(Kc(Rad_@w40>h(BxX6 zvii+|nt$+#4*mfXZ^Fbix3h0ZK0G-`jjdOu*DZ|MPi>{+VbnP^@4b

879)yKXn&&|{80 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f315ea28a5f5d3070cbe0c5b2d92e7bcc9a213b8 GIT binary patch literal 2501 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png new file mode 100644 index 0000000000000000000000000000000000000000..885300bd31606d9fdab78282d14dc592754b3345 GIT binary patch literal 2497 zcmV;y2|o6TP)F4Wa8L>qQpkxGoMJ25aD4=5__}W$L!9`&dzjKT|TO&cgNE` zFMEW$zwDjbo~m2-o_o%zTEd8)wfPeQcu@Xsd|~xhL%riqGv7g@`W66Sa`!7Vih1&= z0$`#=h%`WIYUp?9=2iO-iAFWe(FK70y)b$i%G;Uv`Gw%qJ>NlU21I#?)Uy`=9bNA(X%m5w-CJvF$x5ru@UyFkx}6)1lr<2tL0TM zb*Y(LLKf9~w$Zy71S7kv((Kbem`}lxMq3aw6aWUR39z@Luh9qBFXLkIky|1#23E7# z>lM@cNkp;(DHx3BCMtz zX$dxEs9xFB_04~Sh@kvEFuDxD1Cff6n@HJyPdS+AdhF&vB0EN!(BTJQe@6^xA|aT^ zA=23LJ`a${0v{KhlH@oWhzlStLWkEtln0UTtThiNng^*8hn9O8yKH?VyHun`q~>}Ocg|VeD>%k6UV&y!(U+kvyZ#~-GBQaIE)8hI{*Ddr-vv2 z^F+sI)x}q&KS8BpMVKzT2Pa8a&io-g0Odp9M(O;i+ix#C4&os3WT;=F^7(R+F2fR$EmjT^FFd5f|y3nR@%aX{@tp2uK)~2 z4^|I9gVJkfIvgQL1omcAP1D|js_Z&b&|^V^QRV%op2X$TucilJ^^xN!zIt@9sOpvE ziKU34!t`TQx%rZG$AADJ&$YMo=kq7N8ZW4S%P#271h-n#ouGHBYg)xh4w8B_*3t_d z0D1FeY0DyTUqEL$Me=j`^!ZdA@Y2)zWS1}N>=czFKkcYrR+H%^0HC=2C?%PxZHtm7 zjPBi;9z5}A*KX1={^VoBYk{>d{kWs%Z+*gzzrjTFFwvsh*`M^)`U*2&r^>=|)@ z))QOlAkXK%dkB|b_-%5gmwx~JaAG%nzdJH}vu)i$p!=^+HRIl~3(DKx269(kyf9>6 zPVQ_x{HaUtzWHuzKtJ@Z-06qQDn~q8XZiN{k=n$K_^$C>e5-U zg2S^5lBT_v<9z}o|7ioDmIpwT2dR<+LI#LIu*CuBUktoqK$Xp2loTC z&9${-9>c#bK;`C6CehS+7%E5$ZdNdmc1e&OtfI7yK{|28ZhC!%{XE(Pam+?1MlZ(Pre)p`7eQ&2{>eDT-8i+uIzR%wzzoStx%ejOn~47ewDcjb7{{jka0v z>*HGOT^9f`73k<@>SgJETqhIF+b*PLvsVIl;z*mg08*vfJ7E2PWq>hj?uaV6*bC+u zYWQBq&)3yU?Jko<*}NaXJmG4W2m1Q0a+gTCW4G1pm4MNUj+vz&Zx<3W;8rf7a{C~9 zJbM|?Qggj5?ZndHAI1KGZeDZrICDg(1i*uiKIohHY^KjfUvm2{Z-X@u2VgaaZa2nj zUCO}dHFr}igFJxMq`NOLi2|N$L-)2oCGh+fHi)TN`J8gW^6qYfdJ#r1##Go!?gRrA zKR}IMNaX=y>LVpWBc;NdmnP8lvQ+w!d}ME&nzame0m`|%{`KB1FXb;n*qe*XAd@`6 zGPvGWIH{?`VJ5r|W2(-b%32$wpl=FWFvn1p<0+nk8R%5$?h!*A#3pM$^H0hG>*xj} zZB4)u6KTxFcW00000 LNkvXXu0mjfY-X;R literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png new file mode 100644 index 0000000000000000000000000000000000000000..3d13ef967b063d845b1d36ca506d37ca4d8ea475 GIT binary patch literal 2499 zcmV;!2|V_RP)Q`}I)IcyH!8G^&3A08H+BgGRAV9#sHL zxD1g7NKFm>483{9{zJl1Epv1M;LIKvy#g(JW4}M^f4S!~NX>vK2a$UE0-%GdU@pMp zYw??7zjpxGhlmF8L<%#23jk#y62yN0MC}6pn18HC0E!?|AkL>R07fs{O;GZiR+$}L zpCP6KkpN;+SOV}ue=kJ`gMmRCFt;G zIzdoO1uC<5sKp;F{}$(qNA2HJ&SF8@0zjOH39mV1KVBAf|#*Un4951EL&2 zy?>$!dhIm$->!Vv;y~&$fN~HCA`CcKc?;*qzY%{gR3}kde?P*IaPwa&!~hAvYO;;Q zh*?c+hvy0hV}j^IOl_p4FghZn#$m!G7*p-*=aLwsKmZyWVXqn)6|O>{Ee z0AL`Zp~D+@futJ|txhKuHWlj&^m#pAIn$vAjb2G92HcCcM_Jb$MwbD!^53U~)wClm zeoKbx)t0W`{1`+8mDvrWO8`6&sR+4=l9>hiH;3|l6Aj&vv&4URSL23d-87IMweHH{n8L+n#qHjlQ zB=W)D9N5xK56asC$OecMOt@r442{9)61?mlu$qO@We^v^o(mZJQLRVjg_;HN1VjR; z+~@5E$OC8Q!D`wCfGtUKn-{4^qR9fD2goMGG@P?!oG(y=2^U@9>HvAr!6)_}w^o2b zoR7#8fk2dl4z5I;gw<>-sI|4f3iL-2V^f)3&WdV8o}AHDh+YM$qT}~jKthn3g6LI< zsn|D0?B19`qk0L<1!VJI0f-@{9@Vs$eW+!baSSs?FUEJ9W3ZZT@dciN2|fm?DHy#1>ivXO`iQ(asc)nJAjKP-n{$v!UYifv6G>`#f_|6;3JiI zOZo5#jQ?R_FoqH?^=N~GijP8 zJ=p*JVO)IWOot-`3BlfMqG{S&P?cO~@_TG(FsfWR`U_0F`;+7V?Ek?bTzL6cgGE)Z z#xE>E4CSZ4NtIi#Nq1Al2gq~nE%{nId_3Av|CXKKoe6HWraM9J&8}$`DLF{uXsoFh zIso$4&!sJkzmyx$tg};m?T62F)Gw>ac?BE)fC(32!e#enU+=5+=wqX$F|ZzuF|0eOuX~s_)Nce^6lZoZg8zTGJCUa-9e!HuTM4Op0N|k+ujCplV?s1 z*_Y!x8xKEq>76{*?KLjlzfaZMr~Ar+CUb1^g{>vm9aFl2^zHav>^t@tF8%bq!MERI zVynCzRx6msR-_!bvxo#xnFm^k|Ky7U6CWEmxwn46{^yUxQs5R9zG25>*#|m3g1%c- z9>ji!UpS0SUODnACeOYeAAn&GAoM!sLX>Oc2Zin58%Pw{nLwk1X>w-IkY&)xRj7LV zv{=F6*$v4iL^J|?5jpi?8vr#u0HPcWW_0w86G=;(9eqCFEJ294S!5c$Y%djukNG|d|mE?MdBTw{?2Ot5G( zju@ey2g~1`q|d?V<%ruf%^Tt(sJ!@s7+s3=F>xLQ<(w2h0wCrBNX;N@TyCi}@<8Ob z0%vM=kO2ecad2iQg8JV;L;#I}DCaidGOjuIr)=awDDN}Qc*$EM#JvD($gD(F%c|fM zXAWNWA?V-}=-?_;_CbhgIFBOl9HNq2Z#H74oY`r82oo+t2RC4ckbB)59Rqdgnx*vS0`_0sRbybY6|J)N$TqD{5eJ{ueqwAQS52pQQjM|wb_$p`MdYIv#7 z-ra!FrGfSSVAG2cT}H0}Vq&#Advl#WWr8AA-u5;JCp8(sY8EQ91IBb7lk>yxphmCs zkw)7r`1NtD_Pz^%mWI(;01rC+v~S|mN}r9sRJe6$0$mSFC6DAod*alTQ`iM4>(2Vud$+uV{}IC8TvP_B zfEWcwL$Xxrm%UlfT|oz@D$8IQ>FVy46z@Xto^J%E(@%q z>yMNVjIabs)|u_|w0GVt#6F{Gx2I4J`(Ur&j=T*?rljuX{-eX{{{db;b|($JW{>~? N002ovPDHLkV1lz}regpA literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_short.png b/mods/pipeworks/textures/pipeworks_mese_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..1851dcff0b985ec634b6f0bf291678fed3fefce4 GIT binary patch literal 1209 zcmV;q1V;ObP)3mdj+HnLA*4ym1qmv|g%jU{uYr0%;(#hu2vrqQg%Ec>0}|rO zrvUBwGRmPcZnVEdpkQj^PioCL?V$$Boc{4B9TZW z5{X12kx2Z1kXZw|kG^tH+hIy<49VKyC1AJ>5M8hSHgFrn|9e2BhI@fX1NR{!wQ6i1(8>ml^ZE!VvGN4X zciG&#cjX#&wu{!{VgSvy2<0In4Xk_wfcp^q9FZpYIToHpV`L4;QQg3;hvs|aYagN6 zRve3A#Q~u>Bos#=YjJVf#NBZ(u=1pu+YrfsviiNC9Q`?YCOV}tG1)>F&G&FGW-c$E zHNe9uwdN;?HYbh%trlKZyEp==!zf2)uh%~YA1kJYM_u7r;JFe?h#9d(Jakb$egXD;|2*rbFl{Csfu138#skhqHy>6YKnPg8KS*AI!Bpoi9}FrTiL96{AIs+`M*2 zmW`y>&hO=FBEUii&9+|(xo;O1vEJkF<{H1Tb4$99?kpVzn(s~3hBwfF&8cNjbkWkc zzLcszKSO*umvh{QAo&VXKwDGu+r#NX4%pcFOu9$k%w_!M-d$N%w%q!2oj2w<2lS>! zz?G##?!UX1hzM&1E0?1?Qa~9UoPTRz#zyU37o(@r8t256yNcM}JhWE)i|T z9=^KZh?gtzvuG2|_a-fFY=^h;@D$13nzX>B=G4!iXz2ER^1FP22b$^%5(l;v-iZf9~NYvI<%%472SO)NaY%9Bcv47Wa6{R7;d z5{g4K+lnVmA0gS>xb^VRgYq$BhmRdQcAACGw%$~Y=C z+X5L!o`ETDCoy_z`?w8J-NM3?s8yoihP$t{>r5mPi9{liNF)-8L?V$$Boc|le}R7h Xd88R64>0n>00000NkvXXu0mjf&2>l5 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_back.png b/mods/pipeworks/textures/pipeworks_nodebreaker_back.png new file mode 100644 index 0000000000000000000000000000000000000000..0af74220c66bb74f00948b505d8c1315a19fbd16 GIT binary patch literal 632 zcmV-;0*C#HP)WFU8GbZ8()Nlj2>E@cM*00G=dL_t(I%UzQ}PaH7} zg+Du4m0ey*x4%YusZ1oJ#&R&Wp8EACEfjZ82rzyv^Ry?~6i zL=_Xj%qXRdOYQxuVrER!L@A1D83_Ur=@BqQP*p^PQVN-k{r(OWVVb7VS`ralTwdS~ zB907#6*^(_JTcER``aH_DVW)tT}t8R`wf}-+8%(Mo}OkY1r_Pi49R{yKJxE6J3AxX zad#qu95U;wU#@XY{og93Afr`85a{vbIUY=AOlBbRs{hANA2=MI zS(b(SyL+^?hI^3N0N7paSW&%J8&19cd`(0QPjolhN(#teJh-~rvDv(1yWO(cY{*Ow zhi9Iip572hX7|DB^@wiO%%oNy7Ipw4{4M(fnXT|T3UH6{{TmU8Xs9agJ`DEPH;7>C z<7IgPWDHCn9{1qoWx=cv(WtdjYeyB)3(E2Faq57xO1S!Al}*-`p^x&|i0}t0=R%x< SQuG-B0000WFU8GbZ8()Nlj2>E@cM*00EFmL_t(I%T<%hauhKP zMbA|`li3WPLUuqE@ae!uC4@>_4;Fq*vgm5tYF+Cdsdc;E$|L{^(0l`!1QJz6)i|vx zDwCZ1ruor~!nE7a1Sn*VaM#i%=r543okE!InQ(O>b>J0ROKXG z?~=P|-x!fZ1XV@vj=R&l&klS{ zUf`Q#_u&BCW3K-pK}2F^xchAHs&oo03+MR;jB$=|7Mr)XlhzI*lHNPLkE$X@UhBON unp3r^$PC8sko)Gvq4&;tp7h?SD*gl7jzbw@baxK`0000WFU8GbZ8()Nlj2>E@cM*00D_fL_t(I%T<#}cH2M< zL_ff$&75%$(l)!x7eYLvMeE6icDr%A{pEhY^Y!OzInh2oe)9JA#=h^1Swv9n zHg4NC2(O&y$>X8C|9HpU5K&r05aC1mlfb><9$YTH9Mx^CV>Yr7Nz}}652|tj&&jJb zHdRSx5fMOY?v9xc2VR3`#(AEY8CAu9iWxvBI@E8M00000NkvXXu0mjfbGG0b literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png new file mode 100644 index 0000000000000000000000000000000000000000..488fd0ab4111eea30d51b4953215a7a7c0ef12ac GIT binary patch literal 653 zcmV;80&@L{P)WFU8GbZ8()Nlj2>E@cM*00HqyL_t(I%T<$4PZU8A z#eY@RvlC!R@KZoIuq&{L|6l`n#80axLgI<&f?fn;QxI6N!fJh1ETIx?(bIv}Tva+&@ijY!5)!3Qr5WwcvCW)$d zG-}AX6i8;Qt&JIv$23ht*L9c~W=huu?p|Snni+?OuP{rDMh!o2esMfMrfo;GZ9A;f zvlFftH`Rk+dwYxeevb}B1n=IzMFdofjb=vEG_-BY@%#ugMMMi&70o%b__3hx`)BL& z@*91h0r>ps3#vAN0RH^>i@T#;*WnRF6kYDY)zx?A^P{0B&p)1X@$~}tAm?1-5%hhJ z-rn9p1lNljRJGW>R9a<4I8g!a&h76z0Pg?YBQG{K!cxL2we00`s@j{T0if%9x`zk) zzAtyG6G@)T!LrN3om_1~1g&hOHkOLuwJXyS>{aoSc6NtKSyc(ZD?5KOSji)x4#qID nP)WFU8GbZ8()Nlj2>E@cM*00H+&L_t(I%UzSPPTW8c zhQEJy&sgS+#M2yk04mau7DXZt5gI~6ULh#gP=qcNp$b&FD=3h{8-%BzI>DZIQh0p_ z6qeUBo|%7VzERt@ZV~_vsJsD80tt7=y|=nMo-?_8N0pz77hVLL834KX*51Al64A_9 zDR3vdubfDjgy)P)$Q?U=jZ4Ayu1W=u5WHY zLK45OuCNgJadE+PI_<9~A;7+zoFIws(Ge0^{+R+uK`a^EqwXViHZ$P}eoz z&dzY)^U)D8#t0G{8yi$rMP1j#5ZKz%>yUU;1j1T+!#28o82_cj*mhPGvv-zBz$%KCo4~)lS z7K;UUcXv!C6MkP`^Z59PnXQ|6e0+?%^YP%IA7g5^Qljg+KAD7hnfV||g)$YmG*CD^FKEP_xT0>b z6(a3TfWJX_C=m5x4+hFSXSzX!gq5T!fhLg)m2n8pFRHscUCyvv_6;<{ft>SdUj{`n tyF*!w)ye`C717m_#cwi4jMN*9NYi^002ovPDHLkV1ij56f*z- literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png new file mode 100644 index 0000000000000000000000000000000000000000..857face15df8166fde8c2444521f3e037b546860 GIT binary patch literal 616 zcmV-u0+;=XP)WFU8GbZ8()Nlj2>E@cM*00GQNL_t(I%T<%jZreZ% zggox=#LzdGefz(z44S1 zs*1bg?x-p;MqXb2fICh*?b*$+78^wb)j$XrfEw$#*(Di}`MW!`xR_F+UJ)~^fdapN zo!s`J$>H;HTmh=6Dg%Sr`ZDJ z?sbd?czykrs4AqCxVqX9W90LvFLYf8fVopj!OiM@A)}6_szebb1SO@8$FGm17(t|} z(Sod$npg^`f;+q2d!}hZw%e`85a{}z6ywq&?h8;Ug`6`vXWX6r-JWqA8OM?6?wA>Q znxHX0%P1m9W8BOrW>p2ZOU&{3;3*|Gn>YOU{*1J$v}77U&Y99i5mk1(cT7`8Ye8q4 zGIxhPr4&jdZLVx9=XtAqI{ltq8weqys)z{p4<8rTt@W2Cv98_$v|70uCxl1{f#dPM zjvxZWFU8GbZ8()Nlj2>E@cM*00G8HL_t(I%T1F(Z`&{o zg+Ee~-MY8@h<1mzw**V`!?ywJX{V!q?9msN-4NmeRnYgX{|&NB?Kj6H2WoZ0TS zlqT9**)E*tt+KiE@$nC>F08h#hJpS5Yp=exByGfc@hyN>D{CKN2mw{$>9DWK?f+^n z4FMIYOrVO`bZ?3q;D{)qTBp)n2Vjl9h=4n4W|U$ak4NTtW}at`$Az3v>~`CpuomFr wask9;S^5=rH=t5ZDG@?dew}^4NEg=r4~6YD<~{ltE&u=k07*qoM6N<$f(X0^CIA2c literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png new file mode 100644 index 0000000000000000000000000000000000000000..4c62f98a231e0ff7fee7743810b2311ed8a9aae1 GIT binary patch literal 606 zcmV-k0-^nhP)WFU8GbZ8()Nlj2>E@cM*00F{DL_t(I%UzS*PTVjQ zgugkqv)T<^o}#E+K&5tzU?0Eqt`tF0Uxl(s?9&T7X@sRH{y9J6nXz`eolC+bWQG7F zfMtGp`H5+oD5W3?Nt99;$B_ttJKp}1aQC_m$Q^I{A%vv>2x&rReeVEfhRm?m-CH6O z0lwwozuj&rrQi-`bDU!r7atp>cITE9LLkOSOo@~d z&riQOJNrQ2_iVR2Hk%D8CCuItN9!0uAjC*&1-h=|;pYSA=X?5o*OFBWTwPybX7yWj zPbm>Y_`i;k`|m$UsUrkKGITuNdDnGxUB~0EM^RXUzv|IoIcR$J@m#AwWFU8GbZ8()Nlj2>E@cM*00Fv5L_t(I%T1HbZW}QS zgukJ*KG=qn$7qnExiz+%K6~3+b83L*S>hl4u!p6#USP43mK>2YL#@|qmxM{k3;{?0 z2zdPbNbj9mE4_ClA&K5Qr4%v%?s$A9;qLP>;NI~#Pbn<`Af$@6n~ejQ88XA-c6XnF zB%YqW08ZdyW|UI7UN2;s&E*EN#eP&FiS2enYmMGJ?qD|J9PM^HAN`uyTuFc_crl5W z?=K4v0GG>!)9Hkb}XLU#(WW|9xM2&N-8FURWo{R47ww<$AeLTO$v$y89An zz0aC2QhG=?uLl?IPHwI7_U8>GJP0BrY(tS7j~u@pIiF8_e4Hqy+^8@N26a kKGRyGloB>}BwNP$9|Oew>`nk6RR91007*qoM6N<$f|V`@QUCw| literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png new file mode 100644 index 0000000000000000000000000000000000000000..9139afe928fed9a7fc62b7433fd1f23fb75cd39d GIT binary patch literal 556 zcmV+{0@MA8P)03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00EFmL_t(I%Vm;1k`yrv zg+Ix%*&b@LxeA*A_Xo1&E<-Tg)+4apI}56EVoUE&w%6A$YOUe!m>H7D>_`w%C?x=p zl1#DhJCDbMeczEp)LLn+QHldbX41O>Mr)1M8WDxwlYQTDAAM#{W+&Vocc-;a0364G zyHjhhZ5x-%XWX5Ae{jG5A+wX2WOhJ=lmMp%5R&uqvT?m$*|rM+_xtF}6q$*nVPVJ_ zXV@r6P-_qo)EY>ll$a#UOeVmx01Fx1N7n)d!`+DZ2;%M|#E62~0CBeugOd+4$K5EU zOu%6|-rjyw+%b2Q$+z!c$3qk%%JiLQct3yq;^-YD%pJSkZYrhVW~2nuo4eC$#Y-VI z_TP_#<2dNOBf!mw6@~z1l9{aPnd4qUGx?RxnpxkBl<0lP6yTYd4X>JSlHT)~V6i0I zjCOqGL}p+{aUVHMd#h{`$0-pwpWl~#?t58V{W(b^GtYqqbjqCfIR}=4l?e+#PXIPq u>?s?q?fes{U~Iwozfyw9vYMYuli)A7A2>5+ouSPD0000WFU8GbZ8()Nlj2>E@cM*00ELoL_t(I%UzRAa@#Nr zg+G808@c0E&eAN}-hY`khjC|Yns`}|RPAs^8xijplD)nCP^}er$IOsKW=DdELMZ`& zlw^w58n@ex)*6zCZQH1|Qi=mcX41O>My-`vD-ng>lhzvUW6sRU?1a1H?$r7XfcyQ9 zyR&VI0!}^59CxFX zG6_fIC}pfFA^;uA5rv2{bLT^OtFy6*cz^#xDFrv<*YBT5ApI|^_fBh#>-Ea**62O? z`1^qXH^W|EU$qFH6`XC`aCanezu)P-)BAKH4X3kGQaUaLcqV3c5cJ;B1ew{e2?TQ; zHme<UtP)XlmLfurlbD+?y_r=M0D$~)?j2o}e6nuLgheTvb)|N&`4(oqbCgV?1%&4%h1dSe=~mrnT>TVp1vB!Yw_Iv|LBm>pal_ kXc!VRt19H+`<^EH1EUU%z9;g9B>(^b07*qoM6N<$g1V84`v3p{ literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pipe_end_empty.png b/mods/pipeworks/textures/pipeworks_pipe_end_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d09697bad03fdb930a7936ce8780569ed7a36e45 GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E+ZQgmtOp#M`A#sSDr48AsXjfCmOD6G2n5zIaT*&pUc6eJ2~1P_;`qz+)!DN zGqJUW^`HMkrAo=_W9uazZ_8bkmG(U}^lV6I=-%%IOD|jItyv%_XcYcny9q-F$CK^# zTO5xV8r%3STDC1)nTuOc@Z#^ncdD2BX3m)L^Y+8`xM``g)QnfJ;$oO%AZRRX{G4y; zH;ca9+hwuh$tC9mRUa3sctr{&Fh)_zXbkCW+2 zY3)_NuOhF_^UE|3-nK8e%lFo7eM#TdYX05d)?R-s)b;kn#<}XVIuu$&1zlUd<^FSJ bu3=d4YFcWsYT7NJuNgdD{an^LB{Ts5t_*@p literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pipe_end_loaded.png b/mods/pipeworks/textures/pipeworks_pipe_end_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..49514846af4ddae9038f67c818ada35c9bdbf4e2 GIT binary patch literal 347 zcmV-h0i^zkP)SvjkrC{h{L5>h6*d2C7giu37P8qy|HA3S~*?R;DAPJJNA8S6rwFoGLh-?|$!Q(i> zT3c$agMbvs@&UMblHu(v+HUhv*O!X&RY7N4aqR^7oOvNiEMBy+$se6Vr$c~f2kp5Ri# tHYDLNB%ffCa5?|Mdyfznm_NYI;UA>}kPrKqbnXBE002ovPDHLkV1jVTjiUen literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_plain.png b/mods/pipeworks/textures/pipeworks_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..736e5a02022370d8acdc04e13e9da75ebd0b0447 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E+ZQgm%hf)OASDwjh-%!AsXjbJm>g`+QuN-Gfwpo7&VJ;}|spr30pg*a=+Vjea z`#HwbC#zWgUEJ*w7-X+FGv)e*M@p)JLY{xVRLqk8@F>M!y>gfHveRv4w(lmG%y?ON zXzRg{$#eR)maUD}NS#Jzr4T2nvQ+E?iFA2Z|f<$kr#rG7B%emw2e UFVdQ&MBb@0I))AasU7T literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_plastic_sheeting.png b/mods/pipeworks/textures/pipeworks_plastic_sheeting.png new file mode 100644 index 0000000000000000000000000000000000000000..810ea2aa36bf372822035dda39af75f15334b429 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jVU-U|r9h1MVUd?{ q+etLVF0xGenpFO#UB5i|A21isa!OBlrELzhkipZ{&t;ucLK6VmwLl*L literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pump_bottom.png b/mods/pipeworks/textures/pipeworks_pump_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..5237f0e102e88bcf76dcd6f7a778c394e73cd194 GIT binary patch literal 6739 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 F{0|M-03iSX literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pump_on.png b/mods/pipeworks/textures/pipeworks_pump_on.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2ed7c37094879310dd8417f3a0d4a0c6f307d8 GIT binary patch literal 5848 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 i_>-R@!T`i^%)bBvO9|fJg*XWS0000D^ literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pump_sides.png b/mods/pipeworks/textures/pipeworks_pump_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..d479e533b57dd8d888940b54675e34941e158265 GIT binary patch literal 5116 zcmWky2{@Ep8-B++SxO8h&1Vbo8KTgn$-b}I%Gj62K4pmvVoa!Pm3%|ivZoNT?|ZT( zWztv%Nk#UxA^-WWYu@u-GiT<^bMEJU?)y3K!>eZc+#Et25Cm}>8t7PpyT<=7I2#yC zy#uDf?U=s-E(n4+`Tl>wpo}ae_>ld!p{XwW6byzqrKo~41PkzG8tQ0ThkhNh_kJXM z{aNJj%b}Wjzq)YFe)dR?qqq|X>=F_PR(T0Om{6qn|4ecn$xn?9N}NFX4m1xOxUSwev38`3p1)W-rHqmoAlkk z5?fagv)r(E*s1;yEt+c$Z!V^-dJ~D}gENu`3@z9ZM|=3W*<2m?fmL<8x;^;S$*{Rj zngF^XcgiP_Ngg;OZ+n&<_@f%LT%AAKq*zQl$1}PDf7(GR?g(mljQI zP_vvolk`&!-gRAo*XzH|_0h^uFSu9Pi~r($ltXfDA7p#B8K+Opn4DFzZC$w>AP32M zGxA?NYC5MnlV0{uW6)rD|A;ygV(WAmDE(UIu^hWz)-C%H-5| z9&|S7er$PgB*C0Qye@XxOsu?+&tvK9+;`p4-4t3y?YvE)>U`n+x-YlS!FR5< zSnR#iS7V|E&o;_u6h$ktQSco|W@>PyQ^mAV;8S$@CaR1q4KodcD1?AhZ4` z>VP?a6s~L0UQ0me!pf9mc#y~MOAqk6A~z0Sm3DS?z&jA!syImjy_xkL+f#+2&5 zO&G(nj%{6oSsJ~j`hFuO_un8_p#j+T=L~sKA|mc8nH|B7C}ClMN2UHrSDAP+>%%;_ zcgDt*d5oR~!XL$+ImA}JD#E*X^!4>$4@ww<0Kj%|lytLV0G45j zC|8&L#&Q~Ks@o?C-;cY&j@s~OQMgNDM}Pk@?1;9F4QebcEv;lJgI_6kBp^6Ac0F{E zYFl>Aiza}_b#7vNDIl|b0hn?EEe?-^lSy)~YT_1&%gS1Cbei$bb5S^k<>vcpX90yc zi)wS)^pJ7ys<@KppQDZ65;#XT z>6qhwG!H*f>TneoNVx^VRWP*oZkZDW2z8mp|Id zNZQ|b!@)aFs0lxsB?_ln0&X3MQt*J7+P+DnUNPta2m&-N=A>;fe?o1Qe zJv}{bE2wV>na+@ZSXjK0X}D3*(_+v6^PqdtC}jv1SPV~nW1|*A7mRb( zAz@+fS5C!=qqH zy-KG0s>GZ#aHbo$-rcRcx%{#*q*Vr>fjYNPY%L>#?+vQ2V|G?-1KYR0uGmyIj{$2^ z@GsED--yR$B;QxXj0@fCfGiL%2=>?h{l^)>D$+FJca^GKUS5ug?F|^LTw$o8`et8i z<8IX0&2DV)dS{5oi^sTz8t3S*k$%4-*n{9i;kIv-OfOMeLCg`;fekm_O6BRudna~; zwSY?Xn*iBKoJEPmiG8ibC$MXhs?bmHr>;NAS#+(Qc=KPELbspF{J%=^;`QYT05Va7 zjpba{MwmXT4}fVfmO2%rnjQF>(K;fEWP$aG&ytrK(?=Eu`5v5rToR?@$t^BQLSiF9 zIuGHxpto` z8k6y;J~cMqSib)yb7OfCW~b>rWlBW!EwZbv!K`h1yziqmNj6mFL`7th9$+Q z091kZdsI|ifYz)gF}vzM9>?X@^fOfO><0G!DkFW!BXO;If(zu9f}f?+=@jhldCfxp z#II(zto5y6TbL`}Q9u{ZKYK3C;o#(?1&@CEluyF&qik{v&s8I^{rYmwncYh|?+#_= z4P*iW1DPP8r>0|X{O@&;3~|Ufe@8)G3$QSx1y9sFla-r$#?%S`E@61HKd6menw!v= zqwxy!7anj=lunMhdd=t|&<^SN^oZ_&LhscnO^U6)5hIJS;W8R8e|Pjs!^IviUb4@bqt+5` z;Nm0(#R3qzNG`U}UoVU6Em28&UKw!}`89w!7z{?k0%4N%;Pw-7!%G&3 zO5S%D9zA*#5E}X*PnzDiLTQ+Oyco%vK82jhyS(5?4R)oe^nC{!Ol5i6AM+%~3uyFX z%RGWT5KuGcZsfz4teWi(WDc=1Wvj0ehR6#J)CH4KCGNDzm;;20wdzc&=PFu*UhN=n zK~=t&wA6S&7Zen9D0_1GnoaDhSF+_FO5QxNJbzOBPH|%8gkOE=!@LKuM1=7HaDz|5 zL(gL4rRSur$*Tgs7Z->Hb|f=6`8oBa7?ZZJ;xiMVoo~l6SnLgo0bc1d_qQsbsaZ#N zUYY*;Fd>iblcHtpo3tM>ObKyJo6q_p%I#yYzGZT8VZs?^!5zlepeId6Xz%ET5m+A@n-X7rY92kL#wm1bX^NpV3VvG1aHU`o#Jd{4_)jeBp zi&j7#Zy=)wQe^hZv5(qW_}@-A*~-L982X2X!lB9d_&i{4E|si_zq?lZW$FTxWZoSsbeY%5PsWi8$@ z=;*-rO2W=$m6XQI8J;jz4tJztNn$Tzc?Q`Z1n|;mW#SL_fKh>Us=0chZ8*nOANz}Z zfxJBu9{NUAgwp}2t^gE(Ie>r@*kvlYj1@}qCldR|^RWNKiBY*)SI>+D-3-NUf3nJQ zgkLXN54?T58%i&d>75U#=nyZAna4QdC(=A0@zhW6DfNmDoHvo;1Bn}4466O(qR<|p zwwRI*PaMy9h0XiWWOPPK|NjNng|E9XSt|!zF%;Vi%ty*(ObNBrz3Hv9h&i4^{C;Xh z@Z;YNP#_AYCsz)5KiW}ZffyEf?`b|{zG@Df0Q9Y&eLkNKu+UBoW3fJ#l4-THJU7P# zD)0O=|7cyvP-BTG4BU=lX!L@|zJe+}kkaz22peuSTbp3P5e;N@L&~tThcl_R|Ia6p zFE!*;ULXfpF3A(1wL&!kXH?DJC`gCWRgH2Mfm=&m>}LL8&)l)&e>SM<_3MOaJFn?1Mn17EfGU6~FR7kd0)Bv`1iN(Xt|ME98#2~9_8==W!yE7{zwyYVK)mogSDRP(VWKNI!b3A8F%t62Sm ztnaKW)}N3TMgTg{-3FusdHkClFa7HRZy_5AJ93GY&xKbrVIG;#!vw0i?ps5f-0E;A7gye zQiQdOxBChzsl`)B;?Bh92|}f6^kB$^<*;++lXfnMFP00AQ+~SB4Qg__Dd%GwUaEbN znpz=*R5Zvo*XQ?d8vOIZOlPu%zu`=?=z#O-!rd4>KPppCh}_MlAn8B<7IOZc9N3Z{ zC+eU55>k`A!^N;Kq)+wIWDgm|9V;$X-KI;N={HY)^t&ZB$W6<%H{yHS`aZI;>EEW$ zML*2=dM5)3$N=|~R$IC6x40!&Y=5?GuEs7pD?n@X4rXR(Xhv;Y3_aDMY&PRW!U}As38BFw?i*$wPb!~@bFjCv!?Fu&NFF490 zp}l#LqdutJ`R|4xGjyxvaD3;mtd1LM-v6FiG>?kgd4Abn`5)qiIjh_-7c?!-hd=+) z6aKlMG4GUmtI(X~^EVf7PJO35wwJX$G|#V=+q8OYsgQd%-YBNfTWIB<4{dk)oPac% zT1{Jg4UCJcIMt_U_qj9J!5SZ{z(L2zr_JCfv%nJbq1 z4}EnXh<+h=-(-~`=o~Q$wF|cG_2l&2viq~-eAEadT~|$rV$hDj&KNUCk*kNr>WAK| zho7(iAF0flgCftLRHyJEsQu{g?^^)KsKf2))u_Llx!jP0V~cNNPgzcnXZ5q6S}#D` zxKzdt@%DO6Zv&rpcxhp}LKMCptt68tCi6tn$9#0H;HB?dNB94v)Nzz`GV5nfB?nOC z_ZKv|l_O$wbzj=n^iT$l&^_H50w!=&qsUl)QmJMp%si`;x?Ty#9 z;vxD>)1CNzk;5PQEw)D!Ba!0?>mo;cec6RaG^o8Ia$A-eiuyB_TPqNG*LOA{!5F+f zV$9T~uk{M>4G)i~o~Zwo+@t`#nea2Yp0TY!o=h^5buYY7z^_jz zgxtBEYWb!hwum6MAn=lQ)0_PM8v!pvq#I3%m+}Lh_EP%QsLkz1BQIgr?#Z=U>qeK* z{(d=}k!n@fpe3z)52}E^W>+Je85~~&P#0Q?h7k~*FPoj`&(p%Tt-^EL)6S9mg*iQ7 zToC>hwc9i^)w{RbdZ&27`R=wlH*|2&7CEhbCw`q8xqF!zYCAey4Y$?sii`}Hu3kHR ztJxKD$$lL!tRY}F_6cfl?jkjo-y)JjcP2cOqN8srqiMhXdyG(znXV;tZDVaM#RmdY z@zJyX?-Gu;uI88fNSB2wDGMcq;*;x}@%ETYYOb84&AFRc&7ePwpT?T{E3> IEf@0t02s!rlmGw# literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_pump_top.png b/mods/pipeworks/textures/pipeworks_pump_top.png new file mode 100644 index 0000000000000000000000000000000000000000..11b5c3fa3e0d124f351328909967bc8c033a5a97 GIT binary patch literal 7531 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 f?OAY8#VJFSW}GOE>xwz}q7E literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_red.png b/mods/pipeworks/textures/pipeworks_red.png new file mode 100644 index 0000000000000000000000000000000000000000..1275e5df68d1844cd621cf488b5c39e499654503 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~9`jyG5Da3qGKbWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyvF zl&6bhh{pNknk@Ab4qORI3W7aZ5?2jMOc)p*zGMu!e}G33sEWbU)z4*}Q$iB}9t|d? literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_end.png b/mods/pipeworks/textures/pipeworks_sand_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..a7816a43fefb9bd595c0f4e2678689713cf4bcaa GIT binary patch literal 2561 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 XCO#F1qFSBM00000NkvXXu0mjfCK0z4 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_inv.png b/mods/pipeworks/textures/pipeworks_sand_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a4b6a65dc2997e88266148cc317a81839b467b GIT binary patch literal 1209 zcmV;q1V;ObP)Fg&2Yp z-)h-$WJ{JWNgT_Pc1|9Y*^EcCtCeKrS#`e`vAd&T&pF?@&H@P%BuJ1TL4yA)Se#$J zwzEWyi&HqM92jFDA~43l-7LJuIk=m}#Me*QNLuc2eU`$WpT2ocCwnV2a)KZ4E>mr1 zDO9lP)&c=QtyCN>1suNmt3x1N$fNB=|N7+hzoVl7-RhOic{+IcCxt0!WEc=d5M3Fn zD~ufNqpmsLU5>8;%4^f4`g4#~t6P6lkkFOQ`FJYe=)Zr+6a#eOD;skZ_TTc0XYo@& zRI8cdf*J>6X?;^5i;@vK_nC<-ylaKkH|9uqEoAcJsO>D#<@+kQn?)u+4k21-UYsG7 zD}aOtkihuEpP3APx4-+nqttcNV=?k~L!b-7$=(X7)HlU|SW&;1JS}T~8RSfLeyj=~ zlOI>N7O1+lK)Pks*dP_4XNp(}uhR73;8{^suQjH72zko`Gr}nfW!4!`s&-KkzcaBHci57_}BIK6>S9v0PL?$4J^Dhm7VS; zDy{V(c(^`GgVKH|ln+ZwwNjBfySmTUvcogQ4ZZst6xZ$oy3gu0x|<%u_=BIAF8t)9 z-~4+-Ui(*g9ebp5h4_`V$GgiEl&ejRi%e}gi>#jTbQ@EfecnuG(}c&`d@sw_ekMLq zpY_t-THDD5QQ5SIDsVr{8VXL|Jg2Zg7(`k9zNslXE3eY9e7>(NP}!WPFYkWOf-D=9 z1!|=t=@~#RdL%B+%JvR6Oo7Xk*Q5G;&;T@yVK?UQZx3G3btx^Zhqo@`57KXkmBZ#r zZ@9VM?JmF!G48ajLIO@Y57DZFJ83lQXUOCy(Q14EAU-uJ!atv9+<{u*>ELem%Ju&0 z6osw7nbB3L=rGQR&49FGk^uM{2 zHVPlqELo|5#)sp+f>ry-yU~&BZ4$ocG#EtbD>+?Bed_wK36RwcAfnGN&vlH{cEKn$#Xs%!J=3( zmH7hocL$J^mWP{Q9E>{v33$y5q_PEEo>!48+;1OZGLBpKei+Tq)e|I0kRU;V1hL0Q X#wUi9VF|2L00000NkvXXu0mjfqvb>H literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png b/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..ddad54a16b0bf88993eda7f5d25fad58e08fd8d6 GIT binary patch literal 1969 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 Tal>Np00000NkvXXu0mjfvYMHF literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_spigot_sides.png b/mods/pipeworks/textures/pipeworks_spigot_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7d90a2510cf3f323ca3139a1eb5af24f248c94 GIT binary patch literal 338 zcmV-Y0j>UtP)$?OKt=)2t<_uiu>Q8 zFKIqj7TAOyg+&Xsi{h32^E^*xM!1=~yO~*a?$z`kGs{fgduOJZM}*%pvxw-)s=YT6 z@jPy)QrwxSo`?W&sn=S)y;e>8i1>Uy008jBsI#@!n6Zc?BDuvAqi5_^af^tmiU(4yduB2b zU%$z7ZfPz1;ub(eh)7jSH>ud{ACgv-eeVIlZsrkR>Vtcm7m^h>^Ca%X=gC;0XNEKP ke0cx@5q`ymqVS057pSL}P-Ko6Q~&?~07*qoM6N<$g8u)D{{R30 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_spigot_sides2.png b/mods/pipeworks/textures/pipeworks_spigot_sides2.png new file mode 100644 index 0000000000000000000000000000000000000000..65332040b9774460140b54a1b11246858be21ac9 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E+d~XH~SsyRg-~2t2|vCLo80eo#4%PSb@i7`9|LF=X3uymQ9>t5!f$~@8EIX znE%1t^ZVY%m$%P6c;>;og7OtwN{jYLE3tKOC^cP^ipqY_GB3ULEKl({*6;VO3w_&h z>A1vpw#xa%Nw>F6-Ib8GVU^;!BT?25I~W9Gr_Q{7vzp!g<9SulbtgGfnFV+LTX1M) z@Z`&LJ1(p`^mlpx6GOHc95IvTeRX}3u^_8{?o*b|7X`Kpmmjk}z+Y2$I&h|Um?hBF N44$rjF6*2UngC|~YV803 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_back.png b/mods/pipeworks/textures/pipeworks_storage_tank_back.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6ffba6f28668067ad035c95609942a4d9412c GIT binary patch literal 483 zcmV<90UZ8`P)fqC4A*2Iyy_c+Cb4}?_uOQ5m5+%h+>SbHJq6lH`jI5TEE|~JRT2h-FuHQ z%nVY!cQZTZsH&N%s)+2pC8bnrb@#Q_7{lE|2q6S_hp`wVY`4}*DWa-GRBOHO`<%1) zCL$s-Gc$v+bIw{Tr9?!MQetK^%Q+KKYt77h?}#KKF-CVMA`zK$3U)sp4@7kL-uo|) zyCViOgM^e)AX;m^t_zc6jJ=bZ2gsWAr12_cvnGhd^bbHOg_-}c_THHpljw1+h001Pd++BMn002ovPDHLkV1l^e$X);d literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png b/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png new file mode 100644 index 0000000000000000000000000000000000000000..5d54de52ffbbee46853a37ddda9303fe55b67d78 GIT binary patch literal 631 zcmV--0*L*IP) z4qcX8a1l;jg!^$3CQclgo|>ph$AaSTpkI+U;}b5Ib1&lQ>8UHFu-4+7;}~0O(OQo+ z=NwvVthLPZjI|aiC2E=`YOTZ=0kGE6d#ANV?;R;6T5E(5lv2n!v#u*41WuojbB@d9f?Aek+*nE>#z<>zxY_re)*7`|thKb(u-2lK zqLhM~=Nac5y?1iX#2ANQt#yb=DVe5;!{Edb6rLI`8?;o$)(CFk>*udgq> z_W;yd$vHF6Gr-k>l#p+~42x`T5EF`#UKmT5Ft6CrT;w-meFhBBg{pVp^63 zV+@C*x3@PQA0K&sejXsVZ6n4=DFyF6IcJnHW>|C1(OTo<rC`&_x5T7OcQjP2) zlqr;D%EVYgnyf=Z$p8MI=bn3>=iKMq`#bM%d*7R4XJaA2FToE2fdnv@%pHK)`2PdK z1Kg`|p)Za~Eb`vLV9~taAfiwWaStg6IS@#=9Aj>BC2|U1 z;2OLz*_ z`rez^zpUaj>E0h%wZ5(|8S7futX_>PF!0oB_`h@~*BoW2nXhXFF8>NV5m={%rIua_ za}Pl9><}9cV;YdDaP*@JoI{T9Q1gf3_s!NOFn_wXK;N^r`hL<~$>Y3r%xV<&Reg4AbC7>!KHExvw!G; z9YbEDIreGjOCkoFN|B!__zQ(LfMI|Q)MkH43k6K67Xp?3Un!C-KOLm=*te>!9-B;G zRm2Q6TQl2KFhYr5{$kSi-vbUMIapn7iKqXJ z>QsSnV#msmsW0nm>S;BfQI2H!KYw;=@+<7&==^0@M@MDJBolkMGDfKVoo>1t&C#8P zYoX)v6#?|Z+*dhR`c~u$oRIXL3x&Xy?VBfGh2#gG(N`~qPd9kHW(|}r%&54YFBERYNh%om`LXlSb zf1gnk8qfyI?_TVE_fScC$ruVS<`q6*(uQnKr{LV3Uwo(FmzL<1l|GUn;6U=7)@#2$ z;PS^&X-fnrvb^)65BeUjzp2nNxQKesG5R}8?VZ|-{i3@R

qrzvAEbDLam!ng#|Z%W^1rY}6#fI2!p9tgdX2D_T+CRabiaV?c9*!PT3ge_>Hf2_^-%>zKtAF&)8 zKWkbWe-f9kl6p$mjohjh45J_!}b<43Up^^ohw6IqQvy!;E z&B*bcs8@lS*sOS2J30mUHoTYQSI?|&tDj(ZHmhAG%LAK$sLQ4HL&w4jxAdK1U?5D5 z4!5(sIQi#UgEFy*$iX-WryBJ}s0}}VpB=T?C1+L>@=%*d0gdYV)^7LtrK!W z0>Eiu|D)g^%ctB622!GUM3hPD0|Kv#d4X#%%zcM7V#JKp|JlCYb-76F&%s{oHnX8y zqDSU9Z@;f={?3VnC%^V*YQLh=n$`ZP-6-~TRco;w^GVLoq~OPN)2G(iKih0D)Uu_5tuP|KJG6v&M+RNm+q3Wwlnr&I93;yz8q z09vI;4>M||?mXNVMoZw>OgVOc(jG2u@~CV&$ZzJJX(L%sp+~4?@kM>jWZ1-EOl-0@ z ztF*crnq7hW9Mi4Ceg7X=K5H-V%ej#kCr*PANhV_`AZWC(EaO~`_6pn#9QMZqPtdCZ5%S+O~hTjD(r zT?Q|}AdnNanP0$VjX^N*MLQ1<59{-!zBltPko+ugWN%wNkc&yP7;=YG!0;Bctr~yz z!KNA&$dqX%2&V|TM2%{Fp4o;efVSB2Z@ncl=rZ2!wU{^YaT}3;b*Y*_acY-@Jh&B! zIO~~H-c~<$7}L@rl~gj+jCw<-Xu;m5(kbH7f%M;JNQ0Yw>@{}#Bk471bO}6=Ki(N_ zXkdVI6&Nuq? zsHGrL?kR}Idzvh754bcTSX$Dh`f#~87AUy`q0w3(ki`d4v{$q&MuqElPA+z zo(>egy4pc|1xNgSPi^(i~9kx=D ztg4;G-)TzSQ1i=g8M8$Z3vNp{>OU-=PvCi$R4z!m&zD9Dbz-oWCc7dw1y()tPW4Ne zLmqOR{Mj~{tM2*h=|;5S)uvvqQHi69H+$RLJ`$w9(@&3#15z*=9A%0@#D)w;=wAx{ z-~5X}@t-#S0aW%(%@gBUYVbI(flw5BG7N7l5%pa#-Z;!%b>y}c5%j%T&51YiEpKR( zXimw6ZKKm`*HaBIR`I`=)j)qfD>s2k^Mwrm#yZI4bk(5!f&OurfXnx|8*dNK^Bt9) z;?~z^43sB(Y4WZ-T7yn1%)oeN%a!N%ctzwNOXXBJzmp=qB5@oPZh}CE(S}B-+jE+7 zN4k>7EyuP?%Fa+fTV8!_bf}#wE3+<*!ovHW9ob z3L*}?kpnJ{6K1H4~@Km@tmemXIJ#OQwl2+T>iRXlj{Nk>uVZFxXB81^<%R&jk$A=%93OB(Z$Q+42m>LuE05E z!`=Nv%YtV2yH5UMLQSb7C-ctt>YdG{szNCE{bvR@_{1thHh*BaNsn<3zljai)j)f0 zEmv;%Tyj}d}o;26c!v&X-kr9ArIO!&~Pp^et z+RYh;CB+ntwBquAE(~TYby?$f*XBYr*uO=@6Zqodk%WVd7pB9Y0}aTXTs0Hwx7_Z? z!NCj}8N{hr7Ml@!60ns$CBmZ%Lofj{u(0WWM;CjU`8x7tqPB3bG@(k-;1P$N*By7- z*JzOK)<2*TZKCL`jStwRRQ{0NeWaE5LpU=C_eu#UL?K`GGC z73F3A#6Df{JB~6p4lxRpI}+@>KAS|!l(3g{m-UPoea)R2yF15wS#x?$H+^T3Dn@k* zo(S{@CwF+{l$RnkL*8xyogX3RVw|{~$c>_fIlAVAyLP;}D*TeYs4d5d@7MD$ltc6+ z^Ol%PNRwZ76$*pr%t&8dRL-JZADY5=>SQu3yo3MWq9kkT1I!2zzC9^xxfqkkX7i$D zZ87;XZ+<0vNAZ?f^$MN74(W(51SOS`Uw+6a>Qy{ea>7*VlVUQHpjQR3>>3DB!uu!J zsKys_9m(n%Kcy#f-_y1@m$Pnb776;r&2AVy))Aho`UQ+fqN}cb+mXH(~ z7(JsR*}$0V`oew)Pcl^lszTi=xovHDbL)=2G~PM+Nn%+?v5!9iG@&e1j}@(3U5^{m@!Hc_nYtXN3m#&#c-G9XO8uX0%JuZj6%_!!Uhh7dnHN)i zv;=#tX2m7FtNY9%>wZp~t#=G!exDDneIWIf$EzbZPOxivT?r%Y8C`NwG?hq)w8+=l zO>vR|qD*5tlKSSn_&;0%uq}{t;4Zz^4ZBBO_}mq>jfPnoUuquEO`jZ})oZk9JXQ-3 z@iATHv!2CVk4y(L0a`Z&GDjiKqo|q&Mn+dz@!8AnQqnyKqs~DtC*rw6>LOyPfv8iAQ+sakiYciRF9^ zlAp`SXmxs>t*FK|0l2~g+!!xDJ_pz8a=+;I_VPiSfDdU@?o6|BVrAy3v_hUJL?_A1 ze|j0vYPWEV&%INBmmAL;O)CCQ!PahVE?6w^X20v2UgA}WIi1*OD%$~tEqQd&GD

pyJ|h{oDg(G?pCgpK|)>i5VE$Im$Tw+qxwUAJ3_Bn8poO6?cK;!C`Tiqwq$Z+ z+6QuSOt~hU78o#Jv3 z4!IuDJ`GfWRc0ptiKIluVD9dopj7lI0h;`k14tBw!oJ&nZp^Iz^QA@{50|hC=*#p+TfroPs&A$()_) z&Uq9Re>7s-bcmE%2bBG}s+5n^dSjsVopD<2aINHVU$Eckk3&HH>`>La5f*%{8zey)YtT3GKdovH z1cZ@M@1PK_q|u6{tw@MD=|<|W9@TSrdUbt3A81%fz_gXHa*xs)do)Y*b|m*k6sqKu zK}s?Wj7BHAg?LZ*ozhQ^2>HS`vj=%e4*uEQ{11D(v2=Cm{LIF|K`kJP1w`Ppw5?5> z?)y(Fs?Ko$q3FRXk(u2hPoh< z{%o&gO@P(a)hU0IA_!Af!^_Z{i6HIeeHt-3X@iBWz$Vyk?6H>9hN0Py!$miLIQuAT z147#gwZbdb|1ssCW>7F8L|Q!l?5b{hR8&;+W4CawL#ln(YC3JV+%mzictks4b7B$D z6B$N-cURB6V8k8~y;aBAAbq_2(SBZGY+72;bWAsG<&I`|0gtQ_)}zxL{VKNf?@%U)7OI!aGp>l#dWT^|6jHtGqu ziFL~1DA(+boyEhm9HCZyB7$321In!9M%6L)DSsS_wugP_;V@!Q`R03YvNfotZ#DG% zja1F-Co)MUgd+Nl^2+y-yy6Q{of2n$_X{^+W!?mr+Xe56>CNj>9uZR-&C2Ipfk z*#`gvmIlw=@EKrja(0Jp86MlM($w5lZ1DUlU>N(iqd&Bkx$`eUVopx%VYz-|N371E zA5ZNmJ0005$NklXrn42B;AA%s?) ze!J*;x|%MslMbpbqEZe46W|VxK)N%Gt(W)5$mi$haLy4zAjZf%hY;}Iue%r{-g`m_ zY}>|h9Eb?cT1#tjBz%n>r?xTZ;Y|h0T!EO;-qP#ue$1aZ7tJ|`a}HJI YKU^V^Tz+A}@c;k-07*qoM6N<$f~QsszW@LL literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png new file mode 100644 index 0000000000000000000000000000000000000000..a628d5b563e2cf8e9796a6ae85ede685cdb35ede GIT binary patch literal 541 zcmV+&0^dgC*63n)Y}3qNXXZG?DIkr|nCpP!#A#z@YYQVM&Wb0(!^d!-aoO5~h*JRTg! zK?s2uLSW8G?;U`gGixnWm9-Y$ds0d`=eX}15#jy)-S%QBh2A@33;>*S0E7^@uFIai z_jVT%K0ZF&_xJaT=Xu(R_kGiQM^#NtYYkOp&PmQ0Ri)MnK&_SdcswYju-0OXLGPWl z7S1`GbF8(@N(g}vg4q=jV$KRW&PfPP1bQy!WUoDJ1}|>q1p& ztr?dXBOwG-mE$-7=)M0ythI8Ur$Jh4(OUb%WUXZ!HUkkM?rC#QN+~>_PaD>I=e}>8 zbBM^FgtpR{Qew`@+uIu=!kp70_1@EaH)zf|RMi-~UN7Q4?Kk!9eaE-fvUGCJHqan$ znIQy=Z4ZbsTA^BN)<}Rc#{U>wYk2Q%*e=%?!wPg92V)FV_AhoS^xkpKv92p3!gXELT6uka<@@`ax3@Q3N{MAzxUP#* z3Z)cktz6f|aUA5FQB`WK)LQAi^ZEJ7`};fFwh{JypC=9xGn;O5&X^gkHDZha)LMCY zdExPR5SC>jr9|(YS}Ua#dhdt`B0}$dM)BTHw*aLS!ca{qah@lwwYdSn%rG-VWUlY` zJKlTF^L#pR&S7S(>k7be9GDq7XMkthA>h5A5u9`6oC)LPecu6a&e3}(=lowMy?0t` zq?9P7AOfmN*tQK|4)6E-6f320T^AyPsv;sd=TKEZo+Ym9N^6bV?S`t-TBFuF-3+uN z$`BS2?)Uo>;~0+CNA`iQ_de;c#MR z)LMx#VrFdHhN^PA-T3O2j^p4wPvA*Getv$sneli$ zP*qfQ-hWl)JWo`W<2dH}JWq1Y?E6j#A<$Z5+cv!S(<(6g7%y>Lv=9Oz1XPuOnU0i4 Tn+;!e00000NkvXXu0mjfTNwt@ literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png new file mode 100644 index 0000000000000000000000000000000000000000..038fcbd3ffa86321288f8b5303b5e35133b163dc GIT binary patch literal 579 zcmV-J0=)f+P)mJ0005vNklDIx zDYVwO@0;to$T?GMrL{(D4OQjwc<}Z0h4&tJ9LMT7LB<%1P0pDy2EBJe2mrL!cz=KA z`F!HGZ6n5rs?u7cl!B@vB8Uj8x};cZ7h8Z*3T~pt7)dG7dtU_rV+_U^h{)QX=ZUqJ zl+ufVF@`Y)`@REkT^C~va?SuRx1GaUyCfK6$T{O?=i@j4Fvg&&+(F$1y)MozHdZ?S}P)gF@{-y9_<5Sg@j;i9l=ka*R-`}6Q8HBV+_3awAL2G^E_WM&a7wgOl6FLwRXuXrEp!>zb3v?kl){59b@o(KB=`* zYhCkSYbB*bt#v(2DUnhl=ge^&IOiO_cf9vlYZp~u`7wXu95m+~&N*tW`~#ojkx)`b RNech~002ovPDHLkV1lzg1MUC- literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0e254ccc017afcb7844d294b84c72c21e0bcc8 GIT binary patch literal 582 zcmV-M0=fN(P)sblJH2;AWS)=X zz*@_Bo(~7c7<%ul>k2@Ok={EgC4k4Yox@r?BN$^yDd9%vecu5v#-OUCl>VEEs?u5` zgh0+25h$hLwrvBLm&b8Tv79s4bs-{@QV@~ZS;P=y#I5T}YmKL;CrT-_)~K~kHv{d6 zqN=>UzVi9`DL+3y>PEMJr#`X|e5yL>sOrQyF%Fy7+F3LNoO8q&5s^REWm2lO{>7M5 z!Wc8f#&XqK@!r#WXWKSvt<&Lg91jPB^(Y=xdhb|kXS|#cNbI#FPW7{^YwbLpv=P`1RMRU&KoTHS&F9V>I UeKh{WVgLXD07*qoM6N<$f|p1Mk^lez literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5c1e4eeee90047ec4dd1c7299b9d9fe01cd083 GIT binary patch literal 577 zcmV-H0>1r;P)_CG+j?wuvEQ+=wc&Bw>b@ZJ++B&EcBjxiEKSl?1ggb;`^ zvTYm3abS$WJLl-VQ)>kv#>f~0Rb`BUwU!V9#u)DVMnrgddExu}o42<&Y)Xl3+qmzW zS}V0yM1=dkxvq;+3avFn1QB73!RO~E@9*#I`;I@3V@;eQs=8=ODX1#FcVdhHhzQTm z&paLv{I+eRlo(?mBGg(LV_=NI7{eH2S#i!ST7X(BeyXOF$T`z{Ul#yW6;;I;v)<41 z#5qUK`H#R_i>eYr0N}bVRFzT+z+c+lFJ5q8ohT!WYNrO zrxjJjS_|;k!kqTs)Tj4Z-xy=H6JuP0E5wQEoLjX`0q;H6bzzL5l(IH*hPi4irC_aH zVsp7fgcu{L%D(T2$Ra$?^N(P5JulBzR2ApkvR7;6x-MF40Dr;${QL}6*joT5J3Rvel8HF#un9 P00000NkvXXu0mjfqb&>( literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png new file mode 100644 index 0000000000000000000000000000000000000000..280bdf6dfbace220f1e674aa08eb311ed443c33c GIT binary patch literal 576 zcmV-G0>AxNIL8y_DZXzxASw$WN6 z=Sjstt1=bAW0L}byVln@bm?>OfGsI~I? z`pV<+z;4@y_nt8ZwN`S@j4@D3p_F2bv8)(l7A-)|89P@ zcYc0;)bH=_u*Y!#(0j*w&vji(EayyX4W$&Nlx1U*gb=X%zSDc><>iG^3cYt~t&3(> zJJCf1tu?^Y!kqSR>eKtIZ;Y|pan3El72?D+#;n?=fVGwo0!k@TN-My*539zM5?bpe zHkYf`igOMT;W!Rzt&8xwt|!6ldS0HbhzQ1*WiRJU2!T=xz%$tU{XRs5$KydMg;L7e z|56GuMoKB`VT_R&BPk`$^Tb+f>AiCt2gaC%3amV)@40B!TCBB{QuqUmV2-(bs6o^K O0000 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d7522ad7fbe2fc8420885ec5e9544ea2cfb3ad GIT binary patch literal 581 zcmV-L0=oT)P)iDMAV zgz+#MrpX6_DIlS}{dW6&Y}vXuUrrQPSJi6u@$oUOwRrCdA+XNgdyeDS-$Do+$AR}A z=N#8{p_IZJV;EylN&&!o&zutxVa|!xn&UW7O3{0#wZ_ZK3twMfyuH1lLkKwM=)F@) zp_D>vjov#kMsm*7T4}A(T4T=1=jSKy@9&)FiM_6CPh27*vfbpI5fR21c<%vdt?~T) z%>91HI_C%>Fz2MTMk$3kCrT-lQp`Db6k`m|Ia+HdrKq)Hmud)sloDeMdhe`9L=X{_ zQv2OG$Is7?`u+W#);WjP8WG_*4gg||hzL1nfJfWbVvIpVczt~Z;P3AbyCz@P1%TF? zIVU;i|8+9w+&#n?cNg|NPXNXkgb=vhZdNtZDykePv(x=A4_3_kIhelpYwDO=HZ)wgjxT#28UZk#pV~xjR@G zbIxe3x7b>))*9Y>M1=D^X{~LCx7+REV6k35FDfE}F=odrr4VDJ)(Y?__WS#LiU{}n zomwlk*1i9=R#HmTTKC125-BBe&Ro}pwbnAm;5^U0C=2cCW943pX063qORbfE^(Bt5 Trp7Vi00000NkvXXu0mjfXx|EH literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png new file mode 100644 index 0000000000000000000000000000000000000000..80c858ad7c22bed048caffc5d6547fc5851b2df8 GIT binary patch literal 581 zcmV-L0=oT)P))}BeHTK&IfwV2 z<2bmk3#Am+7{eHYQVIaxd*+;o2y;%f);Q--O3{0#wZ_ZK3twMfyuH1lLkJwlLGPVX z3Z)cUYxLfUF_Lqp)=F!Q)*5q8K0iNse}CsZPwaJFd*Tuik?khujEFGCzLjED$1XMjiB)?$o7M0Vk&6zrOOT^9gaYv!Ef zod4@&&bfO?DFIMx#h&N6t%VS{-ELc~ltS+vr4+T+9b-j^F=Cx_j4^n6dZO0K7=zZ@ zcC*l~C?bN^`fmqo+P|%@>))*9Y>M1=D^X{~LCx7+REV6k407Znk~7_;M*Qiw59Yuyyo_xJY{5$^Xp zwN`4ad;e>#q?D+&?jKW1q?E`xb6pqKTFV%N^E~&WEVQeSm3u9kwH9kFwO0NBhcb@2 T2c^pY00000NkvXXu0mjf0v`hE literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb9993729543516235b36a5bf2c54808111fc41 GIT binary patch literal 579 zcmV-J0=)f+P){OK#;L6hsdn`(Yww zAsJ*vSxZ)#+0&av$_AbdT;S4!2wJW7$nvMCs#E6k^K*Fb2_X<;WZs7m*!O)si!rkA zJ0S$NZR0o&j4^oU9KCl+DFB2J7-OKSj4`m*vhO>_7+P!8T6uka<$k~O{{D`QF|utN ztu;z1lv1d*(puxXE^^L@2(?yftpI#|eev<}K?nhV9LG9wim2*xlXFH@>Ae#|p!d$( z+Z#VWKj!=Ud-!eJh%qw8pw>z$g)s)k7>qHDF;*1k9L_n;^8}!^h7TbC5Mv~zMDLx} z8uLYe&H%q{dyjJtRpoZO0Z>Z8&y$bi z0Ki(y7=xViKb?#*Ru3s907L{o)q3y57oJBUS3`h z5qj?nm$i1Gol#VEb#R{NFUI+Dwm!2@d}EA7CxoyBSBcZ6b8caq0^WPB>%tgA&Uq~o zpw{{qW6l|C?Gl^gsNGTyA>&KK5DJ62w9LIt8-qU;McDwyIl-bA3J%{GK$9s>6@CTW;i}kI4 RCdvQ+002ovPDHLkV1h+T0UiJV literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_end.png b/mods/pipeworks/textures/pipeworks_teleport_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..e1157d243bfb995d3115507720e444c66546ebcd GIT binary patch literal 3348 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 elOc literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png b/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4d323358d03fbdfd29c5f44275a8bb1fd068de GIT binary patch literal 1319 zcmV+?1=#wDP)g$;KO6-z{x9&2J|N?JAZ{E2V`LZjPe;If z{ry}|o*b=AW7zkiv5v?p*mJ;^N(w zcN~E9ss{{OQ%K9_J=f^BQ=ZQ~69Gu)BZ2sx(Q;A|dot_;;C(0WM8NiU>2&}tO(N16 zR1uu>d1V$=pwXI2rvup9*C^uvwshGGe({3jzAMf(>*|;3a{#+`Db_>tjfEii<`>xQ z|L7I=-xT73kI(^hJ|7$W0WFBmDj@qFz&thFlDEfx2ext;%u~Z4>i57n_9uv&Pk}LN z0pIQia{RrVO^~^Rp9Q3@`PO4;DseNhPm9-=5$PO;azL7hubVn;Yk!*{`HxGOL@#Ko z?CcVURuTOt>*fZV<=t$bKJczErSo}2tAJMVG{))r57Qm#~|#_cuDN2B(6l z%z3|pi@aY#aIyx+-Tfu8eJO*qT14_n4%p%aB(LoOTLCanFyOTzASaH3XxszinO)%P zeL#-i1#x4zQ|ed+bLP8FsWYCt?E!C2e4zKlCu(xzH*5BsCrzx`b5iZE;tajOOIp;> zuy1R9&rrk4`*J>y_Z#;6qU>Y@)?w|rU}NLr2&5NLr4#(!pMKz(x(BE8`FJgEyOEJ9 zJ-)2315~mW*#gSyx2kcmOPgEvYCqxe=W48+SA?@{!lP}yZ^_r`t{=|N?%uxsjQ8Z5 zXEg<%kd3{B7fc&>S|o|AeKGONruqa~1yvIn|8?1L19`1o1*SDUc@?;&%b{9ds_iBB z+ua|pYsmOA;zCvq)b#+Ul6<_a8i0z%x?bRs&Y<|Mjt|Od0P?|RScE-9@X7n_FgYyC z@u*08&=%PZV)HDDok2ir3i*0JkclDSH40?B57^=zFyDR>_$CE1MuA@+05V2FG!B9B z{4VgVAu!+kSlO+K#$j)1ES^U5V4Mk%)+A`Wz?_HY8wUZI`t1z1T0-*;;fNy9c*1ew;D?{5^POGQG&fcn zw4IeiM`#lP^fr$VB literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png b/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c8b10fdb4dd0a61b93cd73c8db6e62ab7736d3 GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_short.png b/mods/pipeworks/textures/pipeworks_teleport_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..1cc7233189c3b141f80a11f90786d0b593e7a506 GIT binary patch literal 1628 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_tube_noctr.png b/mods/pipeworks/textures/pipeworks_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..a654bba94f10928588216af7ecb530142932ff84 GIT binary patch literal 1979 zcmV;s2SoUZP)$Bvz* ztq?*&`~Y?!B#7ElSb$iA_>C+pu_)?>cY*STMHh6#3bCMVn#Pa#HS?`zzP32e#-hHP zNQpC^Ilgnxy=SfoDzc4@4Mi!%{QNwwU%yVK8Do2UTkY)Z008dazfY=|C#?#AD2kBh zIUL8CdW`-3eGo#Rl&Wf))d4U+KaVJiFgG_>`ume7Pe!iF^E@!dkY!o@0O)i&5JDgb zg3{k@+a5WFWm!;4oyv>;82~~EaL!Q_Md|N%?%W|ypFSPx1-5O25CY4x>IXm=hEPfk zebTK~Yv>qhnnFs6JkRR~fbaX*-Q9(ha^N*dl8gkPC<=I-GNn&UM{m+hmv*ooN8FECZ#(Z?U?% z`d5OZX)lgr^m@Iq7~{+V(C_!Lu&^-IF~$mZszT3lR&Wm)yi1B4Lh^?GLVZ{EC_ zD4la%*Tj!nW`as7FvdX0=oDTDy`#3fy9-Jw2qBoCpRXSPj4?KQi{F3z4`$lrG(=+$M)|aI$K#;AunFMP-U55ZD~*lfiMh_rm6XE*mf9{ z?n)^uO@(0&|9c>9#9koY}+1K44t&Hs*!V!JkO7TSgS-x z2m#;s$GZOR-Mi%F%a`ipw(xzwo_T;$3Q8#)9v)6TMwVqzN{vOOXVL?bB!LiO?El=l zb&H&g0Z|my698SqkE#VmjBh_d$P!xrs8_v1mUf=hzx3_09vN(=S zhNmO6E_@hcI6OQAAq0ewQ&SjY%ml#4j~^@Bwqe^gI-L$I%L1j;dNRk9f zDN~Iy#?Wjw5k(O==je93ux%Tj=Yg!RudAXc;JPk)y&f#fLLA3vG#aK1wQU=Do}0*S zSr)=Dgy(rkk_41e#BmJUw#|*REW^Wx4`<@L>+9<(iXu~3F~-asgCKxy+hB|#O;a?R zO-L!tBK7>^I0mH@jYb1`o+HaLSe6BT`SN9SIvu2G3g7q9YPFCg3GzIL5CW7^q-lyc zjt#vLTfaU3H}Q={K$9blGr{``5gS}g=Y0L!w_@Au7Obgb|^5BvN3a2y9w6yegP zOUHDHlb)4jSvk9W`}VE6(yIa+C9F;y1g8-oCoOen8pNhZl0JR3jlB5z8(IbXV0FgD&26_HgZ7& z;=n-P9d;g9hWOFC|6ka!;9aIf4LY+N%bq`fUMs5n@ZrPk=exDFRVxq%F%_M3?`Z3G zyR~|ngP4s@Qm!7gDofO9_xdo4qNp5zYuB!k&!0a}jOw^b&#Y}}X^Bk3I71ItrUBqz zW`G+T8&lo)%a<>zv=*3_!m5<3huOly!pyb-+1lDtoO2^C*CL!Kc-bD3`3LKXz@k}0e*0BfH;nii3E%>{QUXToXqM*rADKH-@ku@ zQVPZxD5XXqDT)GVni@f5mW@q2J3H_^4{;ou;A`79e*O9d&NAxG|L{eEp$~=IF1p=@xcCo zcDqf=l%_6t9^@l{2Nu2-y N002ovPDHLkV1kN|p&eeTkH@ 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 KMNUMnLSTY1#Yd_D literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_tube_transparent.png b/mods/pipeworks/textures/pipeworks_tube_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4ee1fcb28be267ec2229b3f3f22a7f3908a6e9 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=I14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sf9S#Y8Gli|Uw;Tlu@p!s8hHzX@PFNrV~5 A3jhEB literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_valvebody_bottom.png b/mods/pipeworks/textures/pipeworks_valvebody_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..05f20e37dbc285a7895eb25efc037342830fb796 GIT binary patch literal 5321 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_valvebody_ends.png b/mods/pipeworks/textures/pipeworks_valvebody_ends.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc3ecbd730ff4697034cc5084489b1a6361cdd6 GIT binary patch literal 6138 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 aLGXWXcye`3*oN2u000000009a7bBm000XU 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_valvebody_top_on.png b/mods/pipeworks/textures/pipeworks_valvebody_top_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e36eb94a2e31443c0b0bf6b89f8ef86baa483341 GIT binary patch literal 4559 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_yellow.png b/mods/pipeworks/textures/pipeworks_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..e6672bde70e084009a751df1642de05d4da43b17 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~9`jhv=5f6S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zQl2i3AsXkC|NM_?XcRec#6d~os==zn7a0r;_N+`&o10d+097$~y85}Sb4q9e0HUBM A^8f$< literal 0 HcmV?d00001 diff --git a/mods/pipeworks/tubes.lua b/mods/pipeworks/tubes.lua new file mode 100644 index 0000000..f5f68ef --- /dev/null +++ b/mods/pipeworks/tubes.lua @@ -0,0 +1,466 @@ +-- This file supplies pneumatic tubes and a 'test' device + +minetest.register_node("pipeworks:testobject", { + description = "Pneumatic tube test object", + tiles = { + "pipeworks_testobject.png", + }, + paramtype = "light", + groups = {snappy=3, tubedevice=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end, +}) + +tubenodes={} + +-- tables + +minetest.register_alias("pipeworks:tube", "pipeworks:tube_000000") + +tube_leftstub = { + { -32/64, -9/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -X face +} + +tube_rightstub = { + { -9/64, -9/64, -9/64, 32/64, 9/64, 9/64 }, -- tube segment against +X face +} + +tube_bottomstub = { + { -9/64, -32/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -Y face +} + + +tube_topstub = { + { -9/64, -9/64, -9/64, 9/64, 32/64, 9/64 }, -- tube segment against +Y face +} + +tube_frontstub = { + { -9/64, -9/64, -32/64, 9/64, 9/64, 9/64 }, -- tube segment against -Z face +} + +tube_backstub = { + { -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against -Z face +} + +tube_selectboxes = { + { -32/64, -10/64, -10/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 32/64, 10/64, 10/64 }, + { -10/64 , -32/64, -10/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 10/64, 32/64, 10/64 }, + { -10/64 , -10/64, -32/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 10/64, 10/64, 32/64 } +} + +-- Functions + +function tube_addbox(t, b) + for i in ipairs(b) + do table.insert(t, b[i]) + end +end + +-- now define the nodes! +function register_tube(name,desc,plain_textures,noctr_textures,end_textures,short_texture,inv_texture,special) +for xm = 0, 1 do +for xp = 0, 1 do +for ym = 0, 1 do +for yp = 0, 1 do +for zm = 0, 1 do +for zp = 0, 1 do + local outboxes = {} + local outsel = {} + local outimgs = {} + + if yp==1 then + tube_addbox(outboxes, tube_topstub) + table.insert(outsel, tube_selectboxes[4]) + table.insert(outimgs, noctr_textures[4]) + else + table.insert(outimgs, plain_textures[4]) + end + if ym==1 then + tube_addbox(outboxes, tube_bottomstub) + table.insert(outsel, tube_selectboxes[3]) + table.insert(outimgs, noctr_textures[3]) + else + table.insert(outimgs, plain_textures[3]) + end + if xp==1 then + tube_addbox(outboxes, tube_rightstub) + table.insert(outsel, tube_selectboxes[2]) + table.insert(outimgs, noctr_textures[2]) + else + table.insert(outimgs, plain_textures[2]) + end + if xm==1 then + tube_addbox(outboxes, tube_leftstub) + table.insert(outsel, tube_selectboxes[1]) + table.insert(outimgs, noctr_textures[1]) + else + table.insert(outimgs, plain_textures[1]) + end + if zp==1 then + tube_addbox(outboxes, tube_backstub) + table.insert(outsel, tube_selectboxes[6]) + table.insert(outimgs, noctr_textures[6]) + else + table.insert(outimgs, plain_textures[6]) + end + if zm==1 then + tube_addbox(outboxes, tube_frontstub) + table.insert(outsel, tube_selectboxes[5]) + table.insert(outimgs, noctr_textures[5]) + else + table.insert(outimgs, plain_textures[5]) + end + + local jx = xp+xm + local jy = yp+ym + local jz = zp+zm + + if (jx+jy+jz) == 1 then + if xm == 1 then + table.remove(outimgs, 3) + table.insert(outimgs, 3, end_textures[3]) + end + if xp == 1 then + table.remove(outimgs, 4) + table.insert(outimgs, 4, end_textures[4]) + end + if ym == 1 then + table.remove(outimgs, 1) + table.insert(outimgs, 1, end_textures[1]) + end + if xp == 1 then + table.remove(outimgs, 2) + table.insert(outimgs, 2, end_textures[2]) + end + if zm == 1 then + table.remove(outimgs, 5) + table.insert(outimgs, 5, end_textures[5]) + end + if zp == 1 then + table.remove(outimgs, 6) + table.insert(outimgs, 6, end_textures[6]) + end + end + + local tname = xm..xp..ym..yp..zm..zp + local tgroups = "" + + if tname ~= "000000" then + tgroups = {snappy=3, tube=1, not_in_creative_inventory=1} + tubedesc = desc.." ("..tname..")... You hacker, you." + iimg=nil + wscale = {x=1,y=1,z=1} + else + tgroups = {snappy=3, tube=1} + tubedesc = desc + iimg=inv_texture + outimgs = { + short_texture,short_texture, + end_textures[3],end_textures[4], + short_texture,short_texture + } + outboxes = { -24/64, -9/64, -9/64, 24/64, 9/64, 9/64 } + outsel = { -24/64, -10/64, -10/64, 24/64, 10/64, 10/64 } + wscale = {x=1,y=1,z=0.01} + end + + table.insert(tubenodes,name.."_"..tname) + + nodedef={ + description = tubedesc, + drawtype = "nodebox", + tiles = outimgs, + inventory_image=iimg, + wield_image=iimg, + wield_scale=wscale, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = tgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = name.."_000000", + tubelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("tubelike",1) + if minetest.registered_nodes[name.."_"..tname].on_construct_ then + minetest.registered_nodes[name.."_"..tname].on_construct_(pos) + end + end, + after_place_node = function(pos) + tube_scanforobjects(pos) + if minetest.registered_nodes[name.."_"..tname].after_place_node_ then + minetest.registered_nodes[name.."_"..tname].after_place_node_(pos) + end + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + if minetest.registered_nodes[name.."_"..tname].after_dig_node_ then + minetest.registered_nodes[name.."_"..tname].after_dig_node_(pos) + end + end + } + + if special==nil then special={} end + + for key,value in pairs(special) do + if key=="on_construct" or key=="after_dig_node" or key=="after_place_node" then + nodedef[key.."_"]=value + elseif key=="groups" then + for group,val in pairs(value) do + nodedef.groups[group]=val + end + else + nodedef[key]=value + end + end + + minetest.register_node(name.."_"..tname, nodedef) + +end +end +end +end +end +end +end + +noctr_textures={"pipeworks_tube_noctr.png","pipeworks_tube_noctr.png","pipeworks_tube_noctr.png", + "pipeworks_tube_noctr.png","pipeworks_tube_noctr.png","pipeworks_tube_noctr.png"} +plain_textures={"pipeworks_tube_plain.png","pipeworks_tube_plain.png","pipeworks_tube_plain.png", + "pipeworks_tube_plain.png","pipeworks_tube_plain.png","pipeworks_tube_plain.png"} +end_textures={"pipeworks_tube_end.png","pipeworks_tube_end.png","pipeworks_tube_end.png", + "pipeworks_tube_end.png","pipeworks_tube_end.png","pipeworks_tube_end.png"} +short_texture="pipeworks_tube_short.png" +inv_texture="pipeworks_tube_inv.png" + +register_tube("pipeworks:tube","Pneumatic tube segment",plain_textures,noctr_textures,end_textures,short_texture,inv_texture) + +mese_noctr_textures={"pipeworks_mese_tube_noctr_1.png","pipeworks_mese_tube_noctr_2.png","pipeworks_mese_tube_noctr_3.png", + "pipeworks_mese_tube_noctr_4.png","pipeworks_mese_tube_noctr_5.png","pipeworks_mese_tube_noctr_6.png"} + +mese_plain_textures={"pipeworks_mese_tube_plain_1.png","pipeworks_mese_tube_plain_2.png","pipeworks_mese_tube_plain_3.png", + "pipeworks_mese_tube_plain_4.png","pipeworks_mese_tube_plain_5.png","pipeworks_mese_tube_plain_6.png"} +mese_end_textures={"pipeworks_mese_tube_end.png","pipeworks_mese_tube_end.png","pipeworks_mese_tube_end.png", + "pipeworks_mese_tube_end.png","pipeworks_mese_tube_end.png","pipeworks_mese_tube_end.png"} +mese_short_texture="pipeworks_mese_tube_short.png" +mese_inv_texture="pipeworks_mese_tube_inv.png" + +detector_plain_textures={"pipeworks_detector_tube_plain.png","pipeworks_detector_tube_plain.png","pipeworks_detector_tube_plain.png", + "pipeworks_detector_tube_plain.png","pipeworks_detector_tube_plain.png","pipeworks_detector_tube_plain.png"} +detector_inv_texture="pipeworks_detector_tube_inv.png" + +meseadjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} + +register_tube("pipeworks:mese_tube","Mese pneumatic tube segment",mese_plain_textures,mese_noctr_textures, + mese_end_textures,mese_short_texture,mese_inv_texture, + {tube={can_go=function(pos,node,velocity,stack) + tbl={} + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + local found=false + local name=stack:get_name() + for i,vect in ipairs(meseadjlist) do + if meta:get_int("l"..tostring(i).."s")==1 then + for _,st in ipairs(inv:get_list("line"..tostring(i))) do + if st:get_name()==name then + found=true + table.insert(tbl,vect) + end + end + end + end + if found==false then + for i,vect in ipairs(meseadjlist) do + if meta:get_int("l"..tostring(i).."s")==1 then + if inv:is_empty("line"..tostring(i)) then + table.insert(tbl,vect) + end + end + end + end + return tbl + end}, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + for i=1,6 do + meta:set_int("l"..tostring(i).."s",1) + inv:set_size("line"..tostring(i), 6*1) + end + meta:set_string("formspec", + "size[8,11]".. + "list[current_name;line1;1,0;6,1;]".. + "list[current_name;line2;1,1;6,1;]".. + "list[current_name;line3;1,2;6,1;]".. + "list[current_name;line4;1,3;6,1;]".. + "list[current_name;line5;1,4;6,1;]".. + "list[current_name;line6;1,5;6,1;]".. + "image[0,0;1,1;pipeworks_white.png]".. + "image[0,1;1,1;pipeworks_black.png]".. + "image[0,2;1,1;pipeworks_green.png]".. + "image[0,3;1,1;pipeworks_yellow.png]".. + "image[0,4;1,1;pipeworks_blue.png]".. + "image[0,5;1,1;pipeworks_red.png]".. + "button[7,0;1,1;button1;On]".. + "button[7,1;1,1;button2;On]".. + "button[7,2;1,1;button3;On]".. + "button[7,3;1,1;button4;On]".. + "button[7,4;1,1;button5;On]".. + "button[7,5;1,1;button6;On]".. + "list[current_player;main;0,7;8,4;]") + meta:set_string("infotext", "Mese pneumatic tube") + end, + on_receive_fields=function(pos,formname,fields,sender) + local meta=minetest.env:get_meta(pos) + local i + for key,_ in pairs(fields) do i=key end + i=string.sub(i,-1) + newstate=1-meta:get_int("l"..i.."s") + meta:set_int("l"..i.."s",newstate) + local frm="size[8,11]".. + "list[current_name;line1;1,0;6,1;]".. + "list[current_name;line2;1,1;6,1;]".. + "list[current_name;line3;1,2;6,1;]".. + "list[current_name;line4;1,3;6,1;]".. + "list[current_name;line5;1,4;6,1;]".. + "list[current_name;line6;1,5;6,1;]".. + "image[0,0;1,1;pipeworks_white.png]".. + "image[0,1;1,1;pipeworks_black.png]".. + "image[0,2;1,1;pipeworks_green.png]".. + "image[0,3;1,1;pipeworks_yellow.png]".. + "image[0,4;1,1;pipeworks_blue.png]".. + "image[0,5;1,1;pipeworks_red.png]" + for i=1,6 do + local st=meta:get_int("l"..tostring(i).."s") + if st==0 then + frm=frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i)..";Off]" + else + frm=frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i)..";On]" + end + end + frm=frm.."list[current_player;main;0,7;8,4;]" + meta:set_string("formspec",frm) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return (inv:is_empty("line1") and inv:is_empty("line2") and inv:is_empty("line3") and + inv:is_empty("line4") and inv:is_empty("line5") and inv:is_empty("line6")) + end}) + + +mesecons_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=1,y=1,z=0},{x=1,y=-1,z=0}, + {x=-1,y=1,z=0},{x=-1,y=-1,z=0},{x=0,y=1,z=1},{x=0,y=-1,z=1},{x=0,y=1,z=-1},{x=0,y=-1,z=-1}} + +register_tube("pipeworks:detector_tube_on","Detector tube segment on (you hacker you)",detector_plain_textures,noctr_textures, + end_textures,short_texture,detector_inv_texture, + {tube={can_go=function(pos,node,velocity,stack) + local meta = minetest.env:get_meta(pos) + local name = minetest.env:get_node(pos).name + local nitems=meta:get_int("nitems")+1 + meta:set_int("nitems", nitems) + minetest.after(0.1,minetest.registered_nodes[name].item_exit,pos) + return notvel(meseadjlist,velocity) + end}, + groups={mesecon=2,not_in_creative_inventory=1}, + drop="pipeworks:detector_tube_off_000000", + mesecons={receptor={state="on", + rules=mesecons_rules}}, + item_exit = function(pos) + local meta = minetest.env:get_meta(pos) + local nitems=meta:get_int("nitems")-1 + local name = minetest.env:get_node(pos).name + if nitems==0 then + minetest.env:set_node(pos,{name=string.gsub(name,"on","off")}) + mesecon:receptor_off(pos,mesecons_rules) + else + meta:set_int("nitems", nitems) + end + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("nitems", 1) + local name = minetest.env:get_node(pos).name + minetest.after(0.1,minetest.registered_nodes[name].item_exit,pos) + end}) + +register_tube("pipeworks:detector_tube_off","Detector tube segment",detector_plain_textures,noctr_textures, + end_textures,short_texture,detector_inv_texture, + {tube={can_go=function(pos,node,velocity,stack) + local name = minetest.env:get_node(pos).name + minetest.env:set_node(pos,{name=string.gsub(name,"off","on")}) + mesecon:receptor_on(pos,mesecons_rules) + return notvel(meseadjlist,velocity) + end}, + groups={mesecon=2}, + mesecons={receptor={state="off", + rules=mesecons_rules}}}) + +accelerator_noctr_textures={"pipeworks_accelerator_tube_noctr.png","pipeworks_accelerator_tube_noctr.png","pipeworks_accelerator_tube_noctr.png", + "pipeworks_accelerator_tube_noctr.png","pipeworks_accelerator_tube_noctr.png","pipeworks_accelerator_tube_noctr.png"} +accelerator_plain_textures={"pipeworks_accelerator_tube_plain.png","pipeworks_accelerator_tube_plain.png","pipeworks_accelerator_tube_plain.png", + "pipeworks_accelerator_tube_plain.png","pipeworks_accelerator_tube_plain.png","pipeworks_accelerator_tube_plain.png"} +accelerator_end_textures={"pipeworks_accelerator_tube_end.png","pipeworks_accelerator_tube_end.png","pipeworks_accelerator_tube_end.png", + "pipeworks_accelerator_tube_end.png","pipeworks_accelerator_tube_end.png","pipeworks_accelerator_tube_end.png"} +accelerator_short_texture="pipeworks_accelerator_tube_short.png" +accelerator_inv_texture="pipeworks_accelerator_tube_inv.png" + +register_tube("pipeworks:accelerator_tube","Accelerator pneumatic tube segment",accelerator_plain_textures, + accelerator_noctr_textures,accelerator_end_textures,accelerator_short_texture,accelerator_inv_texture, + {tube={can_go=function(pos,node,velocity,stack) + velocity.speed=velocity.speed+1 + return notvel(meseadjlist,velocity) + end}}) + +sand_noctr_textures={"pipeworks_sand_tube_noctr.png","pipeworks_sand_tube_noctr.png","pipeworks_sand_tube_noctr.png", + "pipeworks_sand_tube_noctr.png","pipeworks_sand_tube_noctr.png","pipeworks_sand_tube_noctr.png"} +sand_plain_textures={"pipeworks_sand_tube_plain.png","pipeworks_sand_tube_plain.png","pipeworks_sand_tube_plain.png", + "pipeworks_sand_tube_plain.png","pipeworks_sand_tube_plain.png","pipeworks_sand_tube_plain.png"} +sand_end_textures={"pipeworks_sand_tube_end.png","pipeworks_sand_tube_end.png","pipeworks_sand_tube_end.png", + "pipeworks_sand_tube_end.png","pipeworks_sand_tube_end.png","pipeworks_sand_tube_end.png"} +sand_short_texture="pipeworks_sand_tube_short.png" +sand_inv_texture="pipeworks_sand_tube_inv.png" + +register_tube("pipeworks:sand_tube","Sand pneumatic tube segment",sand_plain_textures,sand_noctr_textures,sand_end_textures, + sand_short_texture,sand_inv_texture, + {groups={sand_tube=1}, + tube={can_go=function(pos,node,velocity,stack) + return meseadjlist + end}}) + +minetest.register_abm({nodenames={"group:sand_tube"},interval=1,chance=1, + action=function(pos, node, active_object_count, active_object_count_wider) + for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2)) do + if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then + if object:get_luaentity().itemstring ~= "" then + local titem=tube_item(pos,object:get_luaentity().itemstring) + titem:get_luaentity().start_pos = {x=pos.x,y=pos.y-1,z=pos.z} + titem:setvelocity({x=0,y=1,z=0}) + titem:setacceleration({x=0, y=0, z=0}) + end + object:get_luaentity().itemstring = "" + object:remove() + end + end + end}) + +modpath=minetest.get_modpath("pipeworks") +dofile(modpath.."/teleport_tube.lua") \ No newline at end of file diff --git a/mods/places/depends.txt b/mods/places/depends.txt new file mode 100644 index 0000000..de09df5 --- /dev/null +++ b/mods/places/depends.txt @@ -0,0 +1,2 @@ +default +inventory_plus diff --git a/mods/places/init.lua b/mods/places/init.lua new file mode 100644 index 0000000..26f7437 --- /dev/null +++ b/mods/places/init.lua @@ -0,0 +1,160 @@ +places = {} +places.places = {} +-- places.places[player_name][num].pos, .name, .desc +-- Save/load functions +places.places_file = minetest.get_worldpath()..'/places' + +places.save_places = function() + local output = "" + for user,places in pairs(places.places) do + for _,place in ipairs(places) do + output = output .. user .."`"..place.pos.x.."`"..place.pos.y.."`"..place.pos.z.."`"..place.name.."`"..place.desc.."`\n" + end + end + local f = io.open(places.places_file, "w") + f:write(output) + io.close(f) +end + +places.load_places = function() + local f = io.open(places.places_file, "r") + if f then + local contents = f:read("*all") + io.close(f) + if contents ~= nil then + local entries = contents:split('\n') + for i,entry in pairs(entries) do + local name + local place = {pos={x=0,y=0,z=0},name="",desc=""} + data = entry:split("`") + name = data[1] + place.pos.x = data[2] + place.pos.y = data[3] + place.pos.z = data[4] + place.name = data[5] + place.desc = data[6] + if not (name == nil + or place.pos.x == nil + or place.pos.y == nil + or place.pos.z == nil + or place.name == nil + or place.desc == nil) + then + if not places.places[name] then + places.places[name] = {} + end + table.insert(places.places[name],place) + end + end + end + end +end + +places.load_places() +-- + + + +places.selected_place = {} + +places.create_places = function(player) + local formspec = "size[8,7.5]" + .. "button[0,0;2,1;main;Back]" + .. "label[2,0;Please only use this for interesting places.]" + .. "label[2,.5;They may be added to the server's website.]" + .. "label[0,4;Add a new place]" + .. 'field[.5,5;7.5,1;name;Name (e.g. "My house"):;]' + .. 'field[.5,6;7.5,1;desc;Comments (e.g. "It has an original architecture");]' + .. "button[3,6.5;2,1;new_place;Add]" + local name = player:get_player_name() + if not places.places[name] then + places.places[name] = {} + end + for i, p in ipairs(places.places[name]) do + x = ((i-1)%4)*2 + y = math.floor((i-1)/4)+1 + formspec = formspec .. "button["..x..","..y..";2,1;select_place;"..p.name.."]" + end + return formspec +end + +places.get_placeid_by_name = function(player,name) + for i,p in ipairs(places.places[player:get_player_name()]) do + if p.name == name then + return i + end + end + return nil +end + +places.get_place_by_name = function(player,name) + for i,p in ipairs(places.places[player:get_player_name()]) do + if p.name == name then + return p + end + end + return nil +end + +places.create_sel_place = function(player) + place_name = places.selected_place[player:get_player_name()] + place = places.get_place_by_name(player, place_name) + local formspec = "size[8,7.5]" + .. "button[0,0;2,1;main;Back]" + .. "button[2,0;2,1;goto_places;Places]" + .. "label[0,1;"..place.name.."]" + .. "label[0,2;"..place.desc.."]" + .. "button_exit[2,3;2,1;tp_place;Teleport]" + .. "button[4,3;2,1;del_place;Delete]" + .. "label[2,4;Position:]" + .. "label[4,4;"..minetest.pos_to_string(place.pos).."]" + return formspec +end + +minetest.register_on_joinplayer(function(player) + inventory_plus.register_button(player,"goto_places","My places") +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if fields.goto_places then + inventory_plus.set_inventory_formspec(player, places.create_places(player)) + elseif fields.select_place then + places.selected_place[player:get_player_name()] = fields.select_place + inventory_plus.set_inventory_formspec(player, places.create_sel_place(player)) + elseif fields.tp_place then + place_pos = places.get_place_by_name(player,places.selected_place[player:get_player_name()]).pos + pos = {} + pos.x = place_pos.x + pos.y = place_pos.y +.5 + pos.z = place_pos.z + player:setpos(pos) + inventory_plus.set_inventory_formspec(player, places.create_places(player)) + elseif fields.del_place then + table.remove(places.places[player:get_player_name()], places.get_placeid_by_name(player, places.selected_place[player:get_player_name()])) + places.save_places() + inventory_plus.set_inventory_formspec(player, places.create_places(player)) + elseif fields.new_place and fields.name and fields.desc then + local name = string.gsub(fields.name,'`','') + local desc = string.gsub(fields.desc,'`','') + if table.getn(places.places[player:get_player_name()]) >= 12 then + minetest.chat_send_player(player:get_player_name(),"Sorry, you can't set more than 12 places. You can still delete existing ones...") + elseif name == "" or desc == "" then + minetest.chat_send_player(player:get_player_name(),"You need to name and describe/comment your place. If you have no comment idea, just copy the name.") + elseif places.get_place_by_name(player,name) then + minetest.chat_send_player(player:get_player_name(),"You already have place with this name !") + else + pos = player:getpos() + pos.x = math.floor(pos.x) + pos.y = math.floor(pos.y) + pos.z = math.floor(pos.z) + table.insert(places.places[player:get_player_name()], { + pos=pos, + name=name, + desc=desc + }) + places.save_places() + inventory_plus.set_inventory_formspec(player, places.create_places(player)) + end + end +end) + diff --git a/mods/protector/depends.txt b/mods/protector/depends.txt new file mode 100644 index 0000000..87ab2ff --- /dev/null +++ b/mods/protector/depends.txt @@ -0,0 +1,2 @@ +default +moreores diff --git a/mods/protector/init.lua b/mods/protector/init.lua new file mode 100644 index 0000000..06582fe --- /dev/null +++ b/mods/protector/init.lua @@ -0,0 +1,112 @@ +minetest.register_craft({ + output = 'protector:protect 16', + recipe = { + {'moreores:silver_ingot', 'moreores:silver_ingot'}, + {'moreores:silver_ingot', 'moreores:silver_ingot'}, + } +}) + + +function isprotect(r,pos,digger,onlyowner) + --[[ + if pos.y < -999 then + return false + end--]] + local ok=true + for ix = pos.x-r,pos.x+r do + for iy = pos.y-r,pos.y+r do + for iz = pos.z-r,pos.z+r do + local node_name = minetest.env:get_node({x=ix,y=iy,z=iz}) + if node_name.name == "protector:protect" then + local meta = minetest.env:get_meta({x=ix,y=iy,z=iz}) + if digger ~= nil then + local owner = (meta:get_string("owner")) + if owner ~= digger:get_player_name() then + ok=false + if not onlyowner and string.find(' '..meta:get_string("members")..' ', ' '..digger:get_player_name()..' ') + then ok=true end + if not ok then return false end + end + end + end + end + end + end + return true +end + +local old_node_dig = minetest.node_dig +function minetest.node_dig(pos, node, digger) + local ok=true + if node.name ~= "protector:protect" then + ok = isprotect(5,pos,digger) + else ok = isprotect(5,pos,digger,true) + end + if ok == true then + old_node_dig(pos, node, digger) + else + minetest.chat_send_player(digger:get_player_name(), "area protected") + return + end +end + +local old_node_place = minetest.item_place +function minetest.item_place(itemstack, placer, pointed_thing) + if itemstack:get_definition().type == "node" then + local ok=true + if itemstack:get_name() ~= "protector:protect" then + local pos = pointed_thing.above + ok = isprotect(5,pos,placer) + else + local pos = pointed_thing.above + ok = isprotect(10,pos,placer,true) + end + if ok == true then + if itemstack:get_name() == "protector:protect" then + local pos = pointed_thing.above + --minetest.chat_send_player(placer:get_player_name(), "this block protect ( ".. + --tostring(pos.x-3) .. " to " .. tostring(pos.x+3).." , ".. + --tostring(pos.y-3) .. " to " .. tostring(pos.y+3).." , ".. + --tostring(pos.z-3) .. " to " .. tostring(pos.z+3).." )" + --) + end + return old_node_place(itemstack, placer, pointed_thing) + else + minetest.chat_send_player(placer:get_player_name(), "area protected") + return + end + end + return old_node_place(itemstack, placer, pointed_thing) +end +protect = {} +minetest.register_node("protector:protect", { + description = "protect", + tile_images = {"glo2.png"}, + groups = {cracky=3}, + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "protect (owned by ".. + meta:get_string("owner")..")") + meta:set_string("members", "") + meta:set_string("formspec", + "size[6,4]".. + "label[0,0;Protect owned by "..meta:get_string("owner").."]".. + "field[.25,1.25;6,1;members;Members (put spaces between each name):;"..meta:get_string("members").."]".. + "button_exit[0,2;2,1;ok;Save]") + end, + on_receive_fields = function(pos,formname,fields,sender) + local meta = minetest.env:get_meta(pos) + if sender:get_player_name() == meta:get_string("owner") then + if fields.members then + meta:set_string("members",fields.members) + meta:set_string("formspec", + "size[6,4]".. + "label[0,0;Protect owned by "..meta:get_string("owner").."]".. + "field[.25,1.25;6,1;members;Members (put spaces between each name):;"..meta:get_string("members").."]".. + "button_exit[0,2;2,1;ok;Save]") + + end + end + end, +}) diff --git a/mods/protector/textures/glo2.png b/mods/protector/textures/glo2.png new file mode 100644 index 0000000000000000000000000000000000000000..8651311cc329d2858b238423d1694a4554d9edb5 GIT binary patch literal 805 zcmV+=1KRwFP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00NCkL_t(I%T<$2Zrnx?g+Df% z-AxW>hR|ZP)kSof7((P2h!M+iY^@y!u%tLvtQ<#|&>^(2W(M=eX*T;Oi-Cw_`>OD& zUcFb@+1XjzZntQyDT)Fi1X4=cw#7LIFyP*MoO6T_2qB=9Lax_qPESv<&Y}xV*LD1t zFr~zPzaI#ireV2UVvOP8;Q|zYr0eB%9Y@A2M~Wf{)7Ltl&$DJ8}j#^W*9H`k<;5JC__;JFTP^XCm0 zZ!TCam&6z;iUL_x6-V;+z|Ff4%+6Cf^Kw;(4X{e9mgMVm6ym z*ELmD(f2*u?G~jJF-DwobX`YX*TX<*ttEs&(=-@k02q(Q!!ettA*Dpub&N(MthMBM zP6**3RqKQI0E@+f$HzyWo}O5**Mtyw_0ub)l%$l9QZgEi&{{K_%?|dKWl5gry#Dz$ zP1A6Ee2mr_DJ4oN?*6&s{Ks=*j2L6^-qUp*`~9BPYISfyDaGyIx4b-miIkEM0#Zu6 z_oQ^l$h%+PvE6RTvWyrbF-Gz{KOE6}PY8i;ci(vN!;2w--h2AKC(ANEUwy_}OI1~5 zS;l6wA%uW6D|RBUY;wyWNiIbo#${?z#?R j3^7K$_vCp_Q55_OYCm!n{q^uN00000NkvXXu0mjf>E&-z literal 0 HcmV?d00001 diff --git a/mods/pulverize_all/depends.txt b/mods/pulverize_all/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/pulverize_all/init.lua b/mods/pulverize_all/init.lua new file mode 100644 index 0000000..0a7b6c3 --- /dev/null +++ b/mods/pulverize_all/init.lua @@ -0,0 +1,25 @@ +minetest.register_chatcommand("pulverize_all", { + params = "", + description = "delete all items in inventory", + privs = {}, + func = function(name, param) + local inv = minetest.get_inventory({type='player',name=name}) + for i=1,32 do + local stack = inv:get_stack("main", i) + if stack ~= nil and not stack:is_empty() then + inv:set_stack("main", i, nil) + end + end + end, +}) + +minetest.register_privilege("say", "send a message from server") + +minetest.register_chatcommand("say", { + params = "message", + description = "send a message from server", + privs = {"say"}, + func = function(name, param) + minetest.chat_send_all(param) + end, +}) diff --git a/mods/sethome/COPYING b/mods/sethome/COPYING new file mode 100644 index 0000000..5a8e332 --- /dev/null +++ b/mods/sethome/COPYING @@ -0,0 +1,14 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/mods/sethome/depends.txt b/mods/sethome/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/sethome/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/sethome/homes b/mods/sethome/homes new file mode 100644 index 0000000..f0dc9ac --- /dev/null +++ b/mods/sethome/homes @@ -0,0 +1,6 @@ +38.732002258301 25.5 154.54499816895 rotor112 +-15.024001121521 18.5 106.81300354004 rarkenin +646.00299072266 42.5 -254.31101989746 Lilly22 +61.289001464844 19.5 -679.05999755859 Kenneth +-28 11.5 -202 DS +-341.20901489258 1.5 -366.55801391602 jac diff --git a/mods/sethome/init.lua b/mods/sethome/init.lua new file mode 100644 index 0000000..4676d09 --- /dev/null +++ b/mods/sethome/init.lua @@ -0,0 +1,141 @@ +-- Some variables you can change + +-- How often (in seconds) homes file saves +local save_delta = 10 +-- How often (in seconds) player can teleport +-- Set it to 0 to disable +local cooldown = 0 +-- Max distance player can teleport, otherwise he will see error messsage +-- Set it to 0 to disable +local max_distance = 0 +---------------------------------- + +local homes_file = minetest.get_modpath('sethome')..'/homes' +--local homes_file = minetest.get_worldpath() .. "/homes" +local homepos = {} +local last_moved = {} + +local function loadhomes() + local input = io.open(homes_file, "r") + if input then + while true do + local x = input:read("*n") + if x == nil then + break + end + local y = input:read("*n") + local z = input:read("*n") + local name = input:read("*l") + homepos[name:sub(2)] = {x = x, y = y, z = z} + end + io.close(input) + else + homepos = {} + end +end + +loadhomes() + +local function get_time() + return os.time() +end + +local function distance(a, b) + return math.sqrt(math.pow(a.x-b.x, 2) + math.pow(a.y-b.y, 2) + math.pow(a.z-b.z, 2)) +end + +local function round(num, idp) + local mult = 10^(idp or 0) + return math.floor(num * mult + 0.5) / mult +end + +local changed = false + +minetest.register_privilege("home", "Can use /home and /sethome commands") +minetest.register_privilege("home_other", "Can use /home command") +minetest.register_privilege("sethome_other", "Can use /sethome command") + +minetest.register_chatcommand("home", { + privs = {home=true}, + description = "Teleport you to your home point", + func = function(name, param) + if param ~= "" then + if minetest.get_player_privs(name)["home_other"] then + if not homepos[param] then + minetest.chat_send_player(name, "The player don't have a home now! Set it using /sethome .") + return + end + player_name = param + else + minetest.chat_send_player(name, "You don't have permission to run this command (missing privileges: home_other)") + return + end + end + if player_name then pname = player_name else pname = name end + local player = minetest.env:get_player_by_name(name) + if player == nil then + -- just a check to prevent server death + return false + end + if homepos[pname] then + local time = get_time() + if cooldown ~= 0 and last_moved[name] ~= nil and time - last_moved[name] < cooldown then + minetest.chat_send_player(name, "You can teleport only once in "..cooldown.." seconds. Wait another "..round(cooldown - (time - last_moved[name]), 3).." secs...") + return true + end + local pos = player:getpos() + local dst = distance(pos, homepos[pname]) + if max_distance ~= 0 and distance(pos, homepos[pname]) > max_distance then + minetest.chat_send_player(name, "You are too far away from your home. You must be "..round(dst - max_distance, 3).." meters closer to teleport to home.") + return true + end + last_moved[name] = time + player:setpos(homepos[pname]) + minetest.chat_send_player(name, "Teleported to home!") + else + if param ~= "" then + minetest.chat_send_player(name, "The player don't have a home now! Set it using /sethome .") + else + minetest.chat_send_player(name, "You don't have a home now! Set it using /sethome.") + end + end + end, +}) + +minetest.register_chatcommand("sethome", { + privs = {home=true}, + description = "Set your home point", + func = function(name, param) + if param ~= "" then + if minetest.get_player_privs(name)["sethome_other"] then + player_name = param + else + minetest.chat_send_player(name, "You don't have permission to run this command (missing privileges: sethome_other)") + return + end + end + if player_name then pname = player_name else pname = name end + local player = minetest.env:get_player_by_name(name) + local pos = player:getpos() + homepos[pname] = pos + minetest.chat_send_player(name, "Home set!") + changed = true + end, +}) + +local delta = 0 +minetest.register_globalstep(function(dtime) + delta = delta + dtime + -- save it every seconds + if delta > save_delta then + delta = delta - save_delta + if changed then + local output = io.open(homes_file, "w") + for i, v in pairs(homepos) do + output:write(v.x.." "..v.y.." "..v.z.." "..i.."\n") + end + io.close(output) + changed = false + end + end +end) diff --git a/mods/signs/README.txt b/mods/signs/README.txt new file mode 100644 index 0000000..66e3b2b --- /dev/null +++ b/mods/signs/README.txt @@ -0,0 +1,43 @@ +=== SIGNS-MOD for MINETEST-C55=== +by xyz +modified by PilzAdam + +Introduction: +This mod adds signs to Minetest, wich you can read without pointing at +the sign. The text is integrated into the 3D world. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a sign like the default signs and place them. Rightclick it and enter +your text. You can use " | " to create a newline. Hitting enter or +clicking proceed will save the text and add it to the sign. +If the text of a sign disapears just rightclick it and hit enter again. + +License: +Sourcecode: WTFPL (see below) +Font: 04b-03 (http://04.jp.org/) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/signs/changelog.txt b/mods/signs/changelog.txt new file mode 100644 index 0000000..271575d --- /dev/null +++ b/mods/signs/changelog.txt @@ -0,0 +1,10 @@ +This mod is modified by PilzAdam + +Changes: +- Remove shadows under signs +- New input system: - There is just one text line that automatically will be splitted up to the lines on the sign + - You can force a newline with " | " +- It overrides the default signs +- Make it stackable + +License of code: WTFPL diff --git a/mods/signs/characters b/mods/signs/characters new file mode 100644 index 0000000..83d6505 --- /dev/null +++ b/mods/signs/characters @@ -0,0 +1,279 @@ +A +_a_ +7 +B +_b_ +5 +C +_c_ +6 +D +_d_ +6 +E +_e_ +5 +F +_f_ +5 +G +_g_ +6 +H +_h_ +6 +I +_i_ +1 +J +_j_ +4 +K +_k_ +5 +L +_l_ +4 +M +_m_ +7 +N +_n_ +6 +O +_o_ +6 +P +_p_ +5 +Q +_q_ +7 +R +_r_ +5 +S +_s_ +5 +T +_t_ +5 +U +_u_ +6 +V +_v_ +7 +W +_w_ +9 +X +_x_ +5 +Y +_y_ +7 +Z +_z_ +5 +a +_a +5 +b +_b +5 +c +_c +4 +d +_d +5 +e +_e +4 +f +_f +4 +g +_g +5 +h +_h +5 +i +_i +1 +j +_j +1 +k +_k +4 +l +_l +1 +m +_m +7 +n +_n +5 +o +_o +5 +p +_p +5 +q +_q +5 +r +_r +3 +s +_s +4 +t +_t +3 +u +_u +4 +v +_v +5 +w +_w +7 +x +_x +5 +y +_y +4 +z +_z +4 + +_sp +2 +0 +_0 +4 +1 +_1 +2 +2 +_2 +4 +3 +_3 +4 +4 +_4 +4 +5 +_5 +4 +6 +_6 +4 +7 +_7 +4 +8 +_8 +4 +9 +_9 +4 +( +_bl +2 +) +_br +2 +{ +_cl +3 +} +_cr +3 +[ +_sl +2 +] +_sr +2 +' +_ap +1 +! +_ex +1 +? +_qu +4 +@ +_at +5 +# +_hs +5 +$ +_dl +4 +% +_pr +5 +^ +_ca +3 +& +_am +5 +* +_as +3 +_ +_un +3 ++ +_ps +3 +- +_mn +3 += +_eq +3 +; +_sm +1 +, +_cm +2 +" +_qo +3 +/ +_dv +5 +~ +_tl +4 +< +_lt +3 +> +_gt +3 +\ +_re +5 +| +_vb +1 +. +_dt +1 diff --git a/mods/signs/depends.txt b/mods/signs/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/signs/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/signs/init.lua b/mods/signs/init.lua new file mode 100644 index 0000000..9d2254f --- /dev/null +++ b/mods/signs/init.lua @@ -0,0 +1,300 @@ +-- Font: 04.jp.org + +-- load characters map +local chars_file = io.open(minetest.get_modpath("signs").."/characters", "r") +local charmap = {} +local max_chars = 16 +if not chars_file then + print("[signs] E: character map file not found") +else + while true do + local char = chars_file:read("*l") + if char == nil then + break + end + local img = chars_file:read("*l") + chars_file:read("*l") + charmap[char] = img + end +end + +local signs = { + {delta = {x = 0, y = 0, z = 0.399}, yaw = 0}, + {delta = {x = 0.399, y = 0, z = 0}, yaw = math.pi / -2}, + {delta = {x = 0, y = 0, z = -0.399}, yaw = math.pi}, + {delta = {x = -0.399, y = 0, z = 0}, yaw = math.pi / 2}, +} + +local signs_yard = { + {delta = {x = 0, y = 0, z = -0.05}, yaw = 0}, + {delta = {x = -0.05, y = 0, z = 0}, yaw = math.pi / -2}, + {delta = {x = 0, y = 0, z = 0.05}, yaw = math.pi}, + {delta = {x = 0.05, y = 0, z = 0}, yaw = math.pi / 2}, +} + +local sign_groups = {choppy=2, dig_immediate=2} + +local construct_sign = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "") +end + +local destruct_sign = function(pos) + local objects = minetest.env:get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + if v:get_entity_name() == "signs:text" then + v:remove() + end + end +end + +local update_sign = function(pos, fields) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "") + if fields then + meta:set_string("text", fields.text) + end + local text = meta:get_string("text") + local objects = minetest.env:get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + if v:get_entity_name() == "signs:text" then + v:set_properties({textures={generate_texture(create_lines(text))}}) + return + end + end + + -- if there is no entity + local sign_info + if minetest.env:get_node(pos).name == "signs:sign_yard" then + sign_info = signs_yard[minetest.env:get_node(pos).param2 + 1] + elseif minetest.env:get_node(pos).name == "default:sign_wall" then + sign_info = signs[minetest.env:get_node(pos).param2 + 1] + end + if sign_info == nil then + return + end + local text = minetest.env:add_entity({x = pos.x + sign_info.delta.x, + y = pos.y + sign_info.delta.y, + z = pos.z + sign_info.delta.z}, "signs:text") + text:setyaw(sign_info.yaw) +end + +minetest.register_node(":default:sign_wall", { + description = "Sign", + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + node_placement_prediction = "", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, + selection_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, + tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, + groups = sign_groups, + + on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + local dir = {x = under.x - above.x, + y = under.y - above.y, + z = under.z - above.z} + + local wdir = minetest.dir_to_wallmounted(dir) + + local placer_pos = placer:getpos() + if placer_pos then + dir = { + x = above.x - placer_pos.x, + y = above.y - placer_pos.y, + z = above.z - placer_pos.z + } + end + + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + if wdir == 0 then + --how would you add sign to ceiling? + minetest.env:add_item(above, "default:sign_wall") + itemstack:take_item() + return itemstack + elseif wdir == 1 then + minetest.env:add_node(above, {name = "signs:sign_yard", param2 = fdir}) + sign_info = signs_yard[fdir + 1] + else + minetest.env:add_node(above, {name = "default:sign_wall", param2 = fdir}) + sign_info = signs[fdir + 1] + end + + local text = minetest.env:add_entity({x = above.x + sign_info.delta.x, + y = above.y + sign_info.delta.y, + z = above.z + sign_info.delta.z}, "signs:text") + text:setyaw(sign_info.yaw) + + itemstack:take_item() + return itemstack + end, + on_construct = function(pos) + construct_sign(pos) + end, + on_destruct = function(pos) + destruct_sign(pos) + end, + on_receive_fields = function(pos, formname, fields, sender) + update_sign(pos, fields) + end, + on_punch = function(pos, node, puncher) + update_sign(pos) + end, +}) + +minetest.register_node("signs:sign_yard", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = {type = "fixed", fixed = { + {-0.45, -0.15, -0.049, 0.45, 0.45, 0.049}, + {-0.05, -0.5, -0.049, 0.05, -0.15, 0.049} + }}, + selection_box = {type = "fixed", fixed = {-0.45, -0.15, -0.049, 0.45, 0.45, 0.049}}, + tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, + groups = {choppy=2, dig_immediate=2}, + drop = "default:sign_wall", + + on_construct = function(pos) + construct_sign(pos) + end, + on_destruct = function(pos) + destruct_sign(pos) + end, + on_receive_fields = function(pos, formname, fields, sender) + update_sign(pos, fields) + end, + on_punch = function(pos, node, puncher) + update_sign(pos) + end, +}) + +minetest.register_entity("signs:text", { + collisionbox = { 0, 0, 0, 0, 0, 0 }, + visual = "upright_sprite", + textures = {}, + + on_activate = function(self) + local meta = minetest.env:get_meta(self.object:getpos()) + local text = meta:get_string("text") + self.object:set_properties({textures={generate_texture(create_lines(text))}}) + end +}) + +-- CONSTANTS +local SIGN_WITH = 110 +local SIGN_PADDING = 8 + +local LINE_LENGTH = 16 +local NUMBER_OF_LINES = 4 + +local LINE_HEIGHT = 14 +local CHAR_WIDTH = 5 + +string_to_array = function(str) + local tab = {} + for i=1,string.len(str) do + table.insert(tab, string.sub(str, i,i)) + end + return tab +end + +string_to_word_array = function(str) + local tab = {} + local current = 1 + tab[1] = "" + for _,char in ipairs(string_to_array(str)) do + if char ~= " " then + tab[current] = tab[current]..char + else + current = current+1 + tab[current] = "" + end + end + return tab +end + +create_lines = function(text) + local line = "" + local line_num = 1 + local tab = {} + for _,word in ipairs(string_to_word_array(text)) do + if string.len(line)+string.len(word) < LINE_LENGTH and word ~= "|" then + if line ~= "" then + line = line.." "..word + else + line = word + end + else + table.insert(tab, line) + if word ~= "|" then + line = word + else + line = "" + end + line_num = line_num+1 + if line_num > NUMBER_OF_LINES then + return tab + end + end + end + table.insert(tab, line) + return tab +end + +generate_texture = function(lines) + local texture = "[combine:"..SIGN_WITH.."x"..SIGN_WITH + local ypos = 12 + for i = 1, #lines do + texture = texture..generate_line(lines[i], ypos) + ypos = ypos + LINE_HEIGHT + end + return texture +end + +generate_line = function(s, ypos) + local i = 1 + local parsed = {} + local width = 0 + local chars = 0 + while chars < max_chars and i <= #s do + local file = nil + if charmap[s:sub(i, i)] ~= nil then + file = charmap[s:sub(i, i)] + i = i + 1 + elseif i < #s and charmap[s:sub(i, i + 1)] ~= nil then + file = charmap[s:sub(i, i + 1)] + i = i + 2 + else + print("[signs] W: unknown symbol in '"..s.."' at "..i.." (probably "..s:sub(i, i)..")") + i = i + 1 + end + if file ~= nil then + width = width + CHAR_WIDTH + table.insert(parsed, file) + chars = chars + 1 + end + end + width = width - 1 + + local texture = "" + local xpos = math.floor((SIGN_WITH - 2 * SIGN_PADDING - width) / 2 + SIGN_PADDING) + for i = 1, #parsed do + texture = texture..":"..xpos..","..ypos.."="..parsed[i]..".png" + xpos = xpos + CHAR_WIDTH + 1 + end + return texture +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "signs loaded") +end diff --git a/mods/signs/textures/_0.png b/mods/signs/textures/_0.png new file mode 100644 index 0000000000000000000000000000000000000000..b0308799ad48a511ff432f8342fc753302f7f18b GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEpyBfQg~uJR5U*IC~{frD}<5 zL`h0wNvc(HQ7VvPFfuSS(ls;yq7Xw9D-g2KH88Ov6rT>}#<1A|uA6^l_czopr0GEtCP5=M^ literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_2.png b/mods/signs/textures/_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7375c6800a42f151197ec85a4715513535d46394 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEq&!_5LpZJ{Cmdk=XZ)uzm0Xkxq!^4042^UR4S*=b(8LOaEOZS_tPBiVT~{nd(U6;;l9^VCTf-L#0ePSX ec90D@iAkwB3`U_BXPpKLF?hQAxvX9x4`ZU|{GD=lanqdR!T( zR<*=6q9i4;B-JXpC>2OC7#SEE=^7dUQHY_56$n}A8kkra7__>sSd5|}H$NpatrE9} kFA@UsKn?658*&npQgaxLm9DLd1qv~Ey85}Sb4q9e0RNmoRR910 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_4.png b/mods/signs/textures/_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0fff433cbc86c0fe7a48061dcefb211f6f634fe9 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40%r%#}JO|$q5J8{}~$?9F!;!bP0l+XkK@y0pL literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_6.png b/mods/signs/textures/_6.png new file mode 100644 index 0000000000000000000000000000000000000000..1eba38ca46032d363f68889ca61720771170de1a GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqER6SiBLpZJ{CpfV8@bK{bSM2OC7#SEE=^7dUQHY_56$n}A8kkra7__>sSd5|}H$Npa otrE9}FA@UsKn?658*&npQgay0g7(B+0tzvBy85}Sb4q9e00+Q84FCWD literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_7.png b/mods/signs/textures/_7.png new file mode 100644 index 0000000000000000000000000000000000000000..dbcd2d18918071b4c9b3ce6c638b27eda973fa25 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqElssJ=LpZJ{CpfV8@cd6a^WQ_I>EryyM$X8?^=xb=f-(#Y6Th=Dn9T3^ z0aUG8;u=wsl30>zm0Xkxq!^4042^UR4S*=b(8LOaEOZS_tPBiVT~{nd(U6;;l9^VC lTf-L#0ePSXc90D@iAkwB4Cbo4^IU*J44$rjF6*2UngDqnKEwb3 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_8.png b/mods/signs/textures/_8.png new file mode 100644 index 0000000000000000000000000000000000000000..edf6ef528cf12f110d9bd641364d6059ba47a685 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEq&!_5LpZJ{Cmdk=XZ)u! zC8<`)MX5lF!N|bSNY~H+h(ZiatU$;@*TBTez@XK2#bOip1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3|UVX#}JO|$q5R)f6{;SpGr+=3@ET`;tu>hf5A+KKl3>LOl9*n11eN4 zag8WRNi0dVN-jzTQVd20hDN%E20#>IXkrCIX1WF@Rt5%Ft1kaT(U6;;l9^VCTf-9d iY$u=wc90D@iAkwB42jD(&uRq-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3@uL=#}JO|$q5Qv21W)3f7&-oNG!PXpF@rLa6KEFn2O#i9^pwZ>e(JK zFueEX{QoJcO9`k;wZt`|BqgyV)hf9t6-Y4{85kPr8X5pmh@puU2$|^`m{=JYT&=qN v4@E<6eoAIqC2kE%)U%y{8rVTLgTe~DWM4f%h5s- literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_am.png b/mods/signs/textures/_am.png new file mode 100644 index 0000000000000000000000000000000000000000..75d0287bea62b77a76a036502ff9dba1a61b39d5 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwIgI$D?fo->aB2Y-v)5S4_<9hCCLp}xthC>HF|LXo8<2RDW)WEcNc~RchdzzAi)BU$YLPv z0mg18v+aNkVNVyw5RU7~2@MVZeRz0$cy2H<$mB7yyz4(J0hCrPag8WRNi0dVN-jzT zQVd20hDN%E20#>IXkrCI7PKG=fILtGJIIEd#H7?5 V26YRbIt8E*gQu&X%Q~loCIA-pHG2R6 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_as.png b/mods/signs/textures/_as.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7a25a03fdd29e096979815204dc958abe2ea0d GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3|UVX#}JO|$q5H|{}~$qfzhA#$sBcptHiD0i-dqY fPy;*2hMdHt)Eovax4lerfkF(Pu6{1-oD!M<$@)2z literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_at.png b/mods/signs/textures/_at.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9841cddb02c6eda1543c7e3570e5760f544050 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3|&tb#}JO|$q5HoB_t();Ggo1{|klwOG^GTHc(>ur)(g+ic#a#1PKYZ zWOjxptla+(9D9Eos8O}VHKHUXu_VKd3>85k%V wEfz=7kei>9nO2EgLr}i-YM=&okPSJBNvSyu4zF)@fh=Y4boFyt=akR{0DAvImjD0& literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_b.png b/mods/signs/textures/_b.png new file mode 100644 index 0000000000000000000000000000000000000000..baf4eaa9cc78549409ee99a74e239d789c2a9273 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3=K~g#}JO|$q5Je{u%#qe`Wv%hi3M0T>S6DQR?C2wxiCC&541*-jki_ zvC2tfpdQr{*NBpo#FA92heDn4Y~O# pnQ4`{H7rrj2HM5I4zeL9F)1~NA<1snX?vg$gQu&X%Q~loCIDISK==Rv literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_b_.png b/mods/signs/textures/_b_.png new file mode 100644 index 0000000000000000000000000000000000000000..b00a3783a9090e36b1eb3f8d967b0952cb094c4b GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40%r%#}JO|$q5P!5|aN8NAmCloU3=U5RRO}x!i0I1H+s3>`Z%hhUx*8 zs+PD$l%yn&hpI6%nYaYv9g3nIynQ?sg}4# zl%ynMQ-BujrWSHQ>{(Itj_NPE)swJ)w zB`Jv|saDBFsX&Us$iUD@*U$inLJUo;K*(Izz{JYHpqTfD7m9}5{FKbJO57Tl0usIf fHL!zh$Vp5}&0$FP-1~baP>8|P)z4*}Q$iB}A8S6; literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_c_.png b/mods/signs/textures/_c_.png new file mode 100644 index 0000000000000000000000000000000000000000..cab6518a7ae7fe2ee1edff3ca6da4690a0466405 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqE}_WM>(?~lHc+K% ziEBhjN@7W>RdP`(kYX@0Ff`INGytLyLlY|yGS@XQu`)0y=Dp#Cq9HdwB{QuOw+5zw igl|9%>>wL*5|dJM7@UhP-%bPyF?hQAxvX1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3^7j^#}JO|$q5H||0x^)Q||tgzCewE;mBE*KNcOnOMog=OI#yLQW8s2 zt&)pUffR$0fuWJEp#czu7@AmtkfpAHiIstYve9C36b-rgDVb@NxHSajORolMUSFSLpb&$ntDnm{r-UW|Ru4Kf literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_cm.png b/mods/signs/textures/_cm.png new file mode 100644 index 0000000000000000000000000000000000000000..28beedf35619802f5b5e7149ddcdeea2918552b6 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-T!2%>7ZC!F7B#`9o?!wUEZn{7S$m1;Vh%5%u z9$@TtGTRQw5cG6$4B@z*oS-20C%x%XfE|N`6BA=;-o<4=N!1e9h?11Vl2ohYqEsNo zU}Ruuq-$sZL?MPIRv=`lYhYq!V4!TYSR6$|ZhlH;S|x4`LHW|Ffg0FBHsmBGrRFf` UtiQK>1yG2=)78&qol`;+0MK_h3IG5A literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_cr.png b/mods/signs/textures/_cr.png new file mode 100644 index 0000000000000000000000000000000000000000..ac466a95ac65634a99cda40053d28e27f341c408 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y;!2%K~KmQO&F(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEBt2amLpZJ{CpfVFpD5uYAST>qBewIuM;61mU92oQYyM9IDpD1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3?)w&#}JO|$q5H|{~7;re`c`3LBm4c$w={vLE`2A^BV;i7;4Ko8H(=S zr~|52Epd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLgu;#CRPRp#k@DXP&DM`r(~v8 m;?}?vknjztfgNN+PGVAO4nxZIn|UDbF?hQAxvX1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3^`91#}JO|$q5P!5|aN8NAmCloU2!BVS3|Zl3T&Zp!bJ`omoH23aC=G z#5JNMC9x#cD!C{XNHG{07#iss8URsc90D@iAkwB3@&fB`yB!bF?hQAxvX710V`9G_e99OI-sKD+2>%qs8JV8glbfGSez?YY57h hUJca14zeL9F)1~NL1iJU{w$yngQu&X%Q~loCIA@1I`04g literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_dt.png b/mods/signs/textures/_dt.png new file mode 100644 index 0000000000000000000000000000000000000000..61c1e4a4780fec5d9966bd13b9a5fc128d63e57f GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2%>Xo8<2RDW)WEcNc~RchdzzAi)BU$YLPv z0mg18v+aNkeoq(25RU7~2?x0T87met@ai)%U7u&c29#1Qag8WRNi0dVN-jzTQVd20 zhDN%E20#>IXkrCImbwNeRt5&jMvKK!H00)|WTsW())160y&9;29b`jJVp3`jgP!As RV=X`-22WQ%mvv4FO#p{ZG&ukO literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_dv.png b/mods/signs/textures/_dv.png new file mode 100644 index 0000000000000000000000000000000000000000..996d7cd70faa2c03a59555c3378f0db6cadc1a2e GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3@J|+#}JO|$q5G-|26Dtrh*EKM)GB7CSz2SwTAvZrIGp!Q02Bv_7 hZ$J&~ARBTLlTvdSQWxBdn*$VL@O1TaS?83{1OSVZJq`c> literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_e_.png b/mods/signs/textures/_e_.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f19c127b30fd3ecdcb1a2b24961bd03b60cbe2 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3`I{D#}JO|$q5P!5|aOvixubm?IXkrCImbwNeRt5&jMvKK!H00)|WTsW())160y&9;29b`jJVp3`j VgYD70_9&nbgQu&X%Q~loCIG26H4Oj& literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_ex.png b/mods/signs/textures/_ex.png new file mode 100644 index 0000000000000000000000000000000000000000..b5da8e9440c546db5ca12b735826dbd77c7f1724 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2%>Xo8<2RDW)WEcNc~RchdzzAi)BU$YLPv z0mg18v+aNkQBN1g5RU7~2@MVZeRy~ZSOgOr7#Y+yF|ki#Z?gd^P%UwdC`m~yNwrEY zN(E93Mh1pPx`qZo6k=#%1wxj(1}0Vp2FgZ@#Zffm=BH$)RpQnVlrOy+sDT}1Lr!8+ XY7T?q#r)f%Kp_TCS3j3^P6LpZJ{CpfV8@PNR7NdXb%9(M7>rjIiOcKtIJU}A7N%*x#Kzbpr+ zT(!hCq9i4;B-JXpC>2OC7#SEE=^7dUQHY_56$qK@8kkra7!>o~@Iuj$o1c=IR*72! jQ$WHupayo34LONPsW}X3me={!fI1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{_7T#}JO|$q5P!5|aOvixubm?1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3@uL=#}JO|Q%@TTF(~jb9qj%8-`LFR(Kp_TCS3j3^P6RdP`(kYX@0Ff`INGytLyLlY|yGS@XQu`)0y=Dp#Cq9HdwB{QuOw+5zw igl|9%>>wL*5|dJM7~D(u$yWe{7(8A5T-G@yGywo(+&vKh literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_gt.png b/mods/signs/textures/_gt.png new file mode 100644 index 0000000000000000000000000000000000000000..f30855a793d25154ab60cb63a3cbc9931996a393 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y;!2%K~KmQO&F(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEggspxLpZJ{Cmi7Vmz@5`UGNYq!=pl$KgxSHe*;RZmbgZgq$HN4S|t~y z0x1R~14AQSLjxcRF*LCPAxm8Y6DtD)WuwL7C>nC}Q!>*kacc<5mtGCjzz(t@Cow5C Whruo;{n`Vd5QC?ypUXO@geCw85jrFQ literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_h.png b/mods/signs/textures/_h.png new file mode 100644 index 0000000000000000000000000000000000000000..1a66a9e541c7a6d938346fd41b552ccadef016eb GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40TTz#}JO|$q5H|{~7;rf9k}jJm+wS&gc1!jhvCTTi_@% literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_h_.png b/mods/signs/textures/_h_.png new file mode 100644 index 0000000000000000000000000000000000000000..87beafcbe02835e5aff1ba53e39bba71dd02a83f GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3~f&r#}JO|$q5Qv21b9<6A}_q5)yv!3;y6&j-0S#g^|w*HUmY?pXVK9 z7#Qw}b27Q;$vp>ZQ!R0gC`m~yNwrEYN(E93Mh1pPx`qZo6k=#%1w!V!1}0Vp2F1KL vyihdc=BH$)RpQpb6p-)@sDT}1Lr!8+Y7T?PQ%0tjKp_TCS3j3^P6uz literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_ha.png b/mods/signs/textures/_ha.png new file mode 100644 index 0000000000000000000000000000000000000000..4618ced4970ad4249fa2c21927194d4ca8034e35 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3<*yc#}JO|$q5Ho|2Z27JGD%FXy3}UftkUygM;xF*YbFv8r2flh?11V zl2ohYqEsNoU}Ruuq-$sZL?MPIRv=`lYhYq!V4!TYSR6$|ZhlH;S|x4`LHW|Ffg0FB cHsmBGrRFdw+b8a_1PU>Dy85}Sb4q9e0HqW+?f?J) literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_hs.png b/mods/signs/textures/_hs.png new file mode 100644 index 0000000000000000000000000000000000000000..6f12becb730e3f6aa28bce06501d58525717fade GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwIgI(C#eBOhgNkAc4PZ!4!j_b)k{{OdUW@bKIpE7G= iW8*`6W~&80stlHbN)J}<|0xAj$l&Sf=d#Wzp$Py?C??MU literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_i.png b/mods/signs/textures/_i.png new file mode 100644 index 0000000000000000000000000000000000000000..f00114255342403b197d4aa8c303f26c5a435ece GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3>i-s#}JO|$q5H||0Rq5?qAlxdC)z{DCugiECWNm5i8?oZRaSUI@J=_ zh?11Vl2ohYqEsNoU}Ruuq-$sZL?MPIRv=`qYhYq!U{K6^!wW@2ZhlH;S|x4`OaTes gfEw6AHsmBGrRFeXuFMeH4isYWboFyt=akR{0DHGPXaE2J literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_i_.png b/mods/signs/textures/_i_.png new file mode 100644 index 0000000000000000000000000000000000000000..fc658b85325ac5c00ddb6210ed08ca110e1f79f4 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3^`91#}JO|$q5P!5|aNGbNxwA00O5E8;uROJY;0JcZivd@$KxTK$WT` zt`Q|Ei6yC4$wjF^iowXh&`8(N0Ej{iO{_r3T-U(F%D|wQ_l6gWhTQy=%(P0}8khnS hz5z9`gKWr2OiImR@SMbER1Xwl@O1TaS?83{1OR5*JYfI; literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_j.png b/mods/signs/textures/_j.png new file mode 100644 index 0000000000000000000000000000000000000000..87d2f26d71b0e7cac62bc931eb38f510fefc1911 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y;!2%K~KmQO&F(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEUO_QmvAUQh^kMk%6I+uAu=Cg&3Mxfsnbbfr*uYK{4+QFBA>A`6-!cmAEx9 j1tfd}YG4Q1kdv5{n!}J~km$?{6k_mn^>bP0l+XkKSUEj1 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_j_.png b/mods/signs/textures/_j_.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d9ac20049e97f8d648356a624f38d79d2faded GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3?)w&#}JO|$q5P!5|R=U{}yxoO;1R0`Y=P_lFy4*|BMBg8SGqHnID+H zl>(|(Epd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLgu;#CRPRp#k@DXP&DM`r(~v8 m;?}?vknjztfgNN+PGVAO4ucmrfAUeF5QC?ypUXO@geCw2N<7m5 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_k.png b/mods/signs/textures/_k.png new file mode 100644 index 0000000000000000000000000000000000000000..34f9336884854ae4e1de97ebd98114913f521cd1 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3^h*|#}JO|$q5Je{u%#qe`Wvz8x(f<6j-{MT>YQO^>1<3F=mFfU0e)B zw`>D}I#f$sBT7;dOH!?pi&B9UgOP!uk*=Wu5QP|;Sb>nau7Qb_fk83v4KEZ8x%nxX oX_dG&Fa;!h18QIg*^rZ%l$yhk?VeUV8z{u!>FVdQ&MBb@08>mrrvLx| literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_k_.png b/mods/signs/textures/_k_.png new file mode 100644 index 0000000000000000000000000000000000000000..86b623d1bc8d991cfeeca8a1fb301cf07e512195 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3?)w&#}JO|$q5QVf6{;Ot4m5OkP)$DTVoV3N$^yP%QRI6hPHLQU+0~S zQ~|11Epd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLgu;#CRPRp#k@DXP&DM`r(~v8 m;?}?vknjztfgNN+PGVAO4uf|MM{qDuh{4m<&t;ucLK6U$r#tlk literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_l.png b/mods/signs/textures/_l.png new file mode 100644 index 0000000000000000000000000000000000000000..defe7ec8d6f87aecb4525a562d2f6dd6deeca444 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3|UVX#}JO|$q5Ho{~7;re`Wv#ia%Ip_MF(o$-oe`h=q-fZ}k+QLe&!2 zh?11Vl2ohYqEsNoU}Ruuq-$sZL?MPIRv=`qYhYq!U{K6^!wW@2ZhlH;S|x4`OaTes gfEw6AHsmBGrRFf?++=!Y0Tg2JboFyt=akR{0H0?&r2qf` literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_l_.png b/mods/signs/textures/_l_.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe1de2fc3e64f374b8913e7a908391ab9fed976 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3`I{D#}JO|$q5P!5|aO%GuePZqrH)HA%pg3dmm{-py_{E*mk_n(*i11 zEpd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLgu;#CRPRp#k@DXP&DM`r(~v8;?}?v iknjztfgNN+PGVAO4uj95oMRt=LJXd+elF{r5}E+b$vVUU literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_lt.png b/mods/signs/textures/_lt.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7219d2b44ea4c8156ce907db72d32d2639ba50 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y;!2%K~KmQO&F(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEggjjwLpZJ{Cmi7Xw^-&42$WSVag8WRNi0dVN-jzT zQVd20hDN%E20#>IXkrCImbwNeRt5&jMvKK!H00)|WTsW())160y&9;29b`jJVp3`j VgUzPQ?Pq{O44$rjF6*2UngHggIw}AF literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_m.png b/mods/signs/textures/_m.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fe0398fc2018c4e0b623a32b8df0a962e5e544 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40%r%#}JO|$q5SVf6{-PKXBlK{ISMlwG>wi%m1BQSQ!G|volPSTVn!L zs#@Y2QIe8al4_M)lnSI6j0_BobPWxFD8$gj3WUsc4NR;I42pSgc%f*>%}>cptHiB= kDInn+Py;*2hMdHt)EtJ~b*$Ic0fiVmUHx3vIVCg!0FXI8>i_@% literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_m_.png b/mods/signs/textures/_m_.png new file mode 100644 index 0000000000000000000000000000000000000000..9164da6a50dec297f557d634e3c03d3b738e7027 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3}sIj#}JO|$q5P^{|;xUX*{=Q7J6(i?4;Uqk|X(_`=uU!28Mb+PDU5L zDONz`swJ)wB`Jv|saDBFsX&Us$iUD@*U$inLJUo;K*(Izz{JYHpqTfD7m9}5{FKbJ nO57Tl0usIfHL!zh$Vp5}&0+AJn*A*eD8%6D>gTe~DWM4fljc0Z literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_mn.png b/mods/signs/textures/_mn.png new file mode 100644 index 0000000000000000000000000000000000000000..935a2feea827815e082ec21dbcb70af4d1339afe GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEggspxLpZJ{Cnzu)82wRqwX|Yju+3v+T&X401C&-Rag8WRNi0dVN-jzT zQVd20hDN%E20#>IXkrCImbwNeRt5&jMvKK!H00)|WTsW())160y&9;29b`jJVp3`j VgYJ!+(?M=x@O1TaS?83{1OW3kHRk{T literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_n.png b/mods/signs/textures/_n.png new file mode 100644 index 0000000000000000000000000000000000000000..ac10fd94dd693a90dbb96b966513d03011d548b3 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40TTz#}JO|$q5SVf6@~Yew_axKlAi~5Az!vIU@zR+67m22rleaU|`VU zVQ1ht7^w}^qFUk_QIe8al4_M)lnSI6j0_BobPWxFD8$gj3WUsc4NR;I42pSgc%f*> r%}>cptHiB=DInn+Py;*2hMdHt)EtI9bDnk)pb&$ntDnm{r-UW|_d!0p literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_n_.png b/mods/signs/textures/_n_.png new file mode 100644 index 0000000000000000000000000000000000000000..d4355c12fefd7f11eb4d32d20acdd9addd760421 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3~f&r#}JO|$q5Qv21b9{C-VS7z_EHZHZ>K!Da@hASgxNwaNt181uqi@ zhJrWjY!hdy`~_-LEpd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLgu;#CRPRp#k@DX uP&DM`r(~v8;?}?vknjztfgNN+PGVAO4uc<0((*e%AqG!ZKbLh*2~7Z(*+8}c literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_o.png b/mods/signs/textures/_o.png new file mode 100644 index 0000000000000000000000000000000000000000..080e99d236877c0752ca4a1b0de682cc500a04c1 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEWIbIRLpZJ{Cn)g!N&msWPyz`486Rw!xnadYP6i83*8f{B`T7DCs+PD$ zl%yn8|P)z4*}Q$iB}BceT& literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_o_.png b/mods/signs/textures/_o_.png new file mode 100644 index 0000000000000000000000000000000000000000..2d1905198ca7c33b692789b0e9575d33c7e07a59 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqE!C8<`)MX5lF!N|bSNY~H+h(ZiatU$m;w^M f0X49LY{*GWO3h*LuTGr~GK0a>)z4*}Q$iB}&K^9? literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_p.png b/mods/signs/textures/_p.png new file mode 100644 index 0000000000000000000000000000000000000000..3050959037785abe8101e5d262dd05903e3a21d5 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{6iL#}JO|Q@b`YGAQsIa{B*Yl0COjH@M+|8e32BfvLZpdl&3j@o=3! z`&|hRMo;z6>_APbC9V-ADTyViR>?)FK#IZ0z|ct7&;W=+3{9*+$XwUJ#LB>+nD>Sk uiiX_$l+3hB+!~ky621X7u!C&KNlZ%3VJJAuysI22#Ng@b=d#Wzp$Pyti9!kh literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_p_.png b/mods/signs/textures/_p_.png new file mode 100644 index 0000000000000000000000000000000000000000..0cca01106fb1287a8cb37e6b9a34ea6eb92dec7c GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{_7T#}JO|$q5P!5|aN8NAmCloU2z$VKoR;VJ*n*X*rXgkift&UzCk` zlC~5NNJEKhL`h0wNvc(HQ7VvPFfuSS(ls;yq7Xw9D-bf*H88O-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3_VX5#}JO|y{8?y7!(AYE{1>Kzd3iAVv~Y-S6yYMhvhRqj+MH*PN!Wy z&%EoPzOHvA@2`n3H*f=Ws+PD$l%yn8|P)z4*}Q$iB}W7|W0 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_ps.png b/mods/signs/textures/_ps.png new file mode 100644 index 0000000000000000000000000000000000000000..1f4b5c11c0fb2de09fafd9a2b92380d0fad50931 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3@J|+#}JO|$q5Qvf6^0x!0CgeqS6l02}}%6xtW=ZE&OHzRjHP^MwFx^ zmZVxG7o`Fz1|tJQBV9uSAPO-wu>v7WT>}#<0|RBF#o{O$a`RI%(<*Um2+EgU4b;F6 cvLPoiDK&>d+i;f=H&BSd)78&qol`;+0ITyiT>t<8 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_q.png b/mods/signs/textures/_q.png new file mode 100644 index 0000000000000000000000000000000000000000..945b6cf040222dedc0751296629d51e3564e1068 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3@uL=#}JO|$q5R)f6{-PKXBl~{Kkj&Q%)afnc$LSWOQJPfzlSIoBuDK zVPUu`!oi?D`_V<9F4Yp(h?11Vl2ohYqEsNoU}Ruuq-$sZL?MPIRv=`qYhYq!U{K6^ w!wW@2ZhlH;S|x4`OaTesfEw6AHsmBGrRFdc?qcbB2oz%QboFyt=akR{00?eIr2qf` literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_q_.png b/mods/signs/textures/_q_.png new file mode 100644 index 0000000000000000000000000000000000000000..f3bf455aa9dd5180b06e43053b902cd9109a39e3 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqE6g^!WLpZJ{Cmi7ZXZ)uUO_QmvAUQh^kMk%6I+uAu=Cg&3Mxfsnbbfr*uYK{4+QFBA>A`6-!cmAEx9 j1tfd}YG4Q1kdv5{n!^y-n6*k1D8%6D>gTe~DWM4fAId(i literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_qo.png b/mods/signs/textures/_qo.png new file mode 100644 index 0000000000000000000000000000000000000000..5d261e34675722e40b2db238e2dffab3b8ace764 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y;!2%K~KmQO&F(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqE#64XcLpZJ{CpfVFmz0qBXY6>xhvx|+L(4uU=3SLfnoV2wqHvpE*A!>Q7v(eC`m~y zNwrEYN(E93Mh1pPx`qZo6k=#%1wxj(1}0Vp2FgZ@#Zffm=BH$)RpQnVlrOy+sDT}1 bLr!8+Y7T?FcEYnVpb&$ntDnm{r-UW|WqvyV literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_r.png b/mods/signs/textures/_r.png new file mode 100644 index 0000000000000000000000000000000000000000..39e9fce5b1377db21b3832fa8baa9e1a48766d91 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3 kzDNkj12wRNY{*GWO3h&?Qs%uK4HRPVboFyt=akR{0Ll-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40TTz#}JO|$q5Qv21b9{H%kD)f;<0tczjlzN-%nHN@C)X|HcCB48C7E z7&obIlK^T_Epd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLKeCPCRPRpt*$E;qiD#@ qPsvQH#I50rgn&Fy13SouoW!Km9EKo?1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3?)w&#}JO|$q5cj{}XxC*w}O)Wh@FP?)FK#IZ0z|ct7&;W=+3{9*+$Wqt9#LB=x*=VsiiiX_$l+3hB m+!})NrB?$ru!C&KNlZ%3VTk#E``Q$s5QC?ypUXO@geCwOm^`xp literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_s.png b/mods/signs/textures/_s.png new file mode 100644 index 0000000000000000000000000000000000000000..a0ada1ac7d33e494c101e9f3343772b70a2e15b5 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEcjbDr^EaMAxji=F^EWw~Mo&6}+M&QERo2UMwA z;u=wsl30>zm0Xkxq!^4042^UR4S*=b(8LOaEOZS_tPBiVT~{nd(U6;;l9^VCTf-L# i0ePSXc90D@iAkwB48RdP`(kYX@0Ff`INGytLyLlY|yvd}d!u`)1dbzQL-MMG|WN@iLm mZVg`~1muAl*g-brBqpWiFa+nPoMr_IF?hQAxvX7ZC!F7B#`9o?!wUEZn{7S$m1;Vh%5%u z9$@TtGTRQwkoRwe-%#e`yAP`Ur2OC7#SEE=^7dUQHY_56$n}C8kkra7$_Sp7Dv&Lo1c=IR*73fP`>nP fpayo34LONPsW}YMiTj<+fkF(Pu6{1-oD!M<{GdAM literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_sm.png b/mods/signs/textures/_sm.png new file mode 100644 index 0000000000000000000000000000000000000000..385c64fe05462c1e8e0ec210ab8a337a29397692 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-T!2%>7ZC!F7B#`9o?!wUEZn{7S$m1;Vh%5%u z9$@TtGTRQw5b|_!4B@z*oN$2opK;>Tf9;hk0T6{4nplC5rLKXAm4Sh>(PD8F4Y~O#nQ4`{H3a2LuLf#h2icI5n3S5s VV6DTeln)eQ@O1TaS?83{1OVRaH~jzr literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_sp.png b/mods/signs/textures/_sp.png new file mode 100644 index 0000000000000000000000000000000000000000..4f38a354ddded3a7b2049268d3f10b7a9cceff82 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^93VC$kYL!eQ)nuXVk!yp3ua&_n|#&+#7pvacVS?> z+a7ZC!F7B#`9o?!wUEZn{7S$m1;Vh%5%u z9$@TtGTRQwkoI(O4B@z*oY27N*7jfESiKq>5X@nTk!5B`N@V6Sk8eu>DpM_SjVMV; zEJ?LWE=mPb3`PcqM!JRuKonwVVg*8$x&|gz1_sJTi^Wki1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3PCT`~RWU2S$d*LN;bLgVj7h zwW=kq5hW>!C8<`)MX5lF!N|bSNY~H+h(ZiatU$;@*TBTez@XK2#bOiFVdQ&MBb@06B;}VgLXD literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_t_.png b/mods/signs/textures/_t_.png new file mode 100644 index 0000000000000000000000000000000000000000..773e666c4ffb7b56d43caaea950f682f2099e8c8 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3=K~g#}JO|$q5P!5|aN8&+y^l;pquDbKt-MhKY$zD^i`Vu}yVbag3AU z(rRW-8D++sKs~A@t`Q|Ei6yC4$wjF^iowXh&`8(N0Ej{iO{_r3Lf62=%D|x2b;V*7 s4Y~O#nQ4`{HGGi}kOyjD2icI5n3S5s5b}{B4&)aGPgg&ebxsLQ01MMU>;M1& literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_tl.png b/mods/signs/textures/_tl.png new file mode 100644 index 0000000000000000000000000000000000000000..059fe681302e0ee570644a222ca3fd2319e6b11e GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEggjjwLpZJ{Cn)g!X;08_m1AJ|S;YLe>to{?psZ?%YeY#(Vo9o1a#1Rf zVlXl=G}1LR0HP2>6Dtt1)HN`%GB8j!S}cyDAvZrIGp!Q0hM;`u)j$pGARBTLlTvdS V>a=!GF8~TLc)I$ztaD0e0sx(TIPd@f literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_u.png b/mods/signs/textures/_u.png new file mode 100644 index 0000000000000000000000000000000000000000..98bf8e69d452c0851bcc9f8361da388155157b1e GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<40%r%#}JO|$q5SVf6{;Ot4m5OxKhu?rk3LBv*W8EJHtjbjz5QO_p}3* zs+PD$l%yn=BH$)RpQq0 jMM6LxsDT}1Lr!8+Y7Rr`-b}wAKp_TCS3j3^P6-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3~f&r#}JO|$q5Qv21b9<6A}_q5)yv!3;y6&o;hLa!)FId{;Hp|V*>$( z-710V`9G_e993ta;fD+7a8*A9_Kpv=p9b`jJVp3`jLuea&o&ivZ!PC{xWt~$(697}&K-T~O literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_un.png b/mods/signs/textures/_un.png new file mode 100644 index 0000000000000000000000000000000000000000..01f547ad0d13bc2e469b639ff51bf1de8d5dd70a GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3_(v9#}JO|$q5n}2TpvDZ|7lKd3>85k%VEfz=7kei>9nO2EgLr}i-YM=&okPSJBNvSyu U@oAUZ^?*VQp00i_>zopr03+fylmGw# literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_v.png b/mods/signs/textures/_v.png new file mode 100644 index 0000000000000000000000000000000000000000..b692d1185dfcd70d3a4863ca06f35e333976da0a GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3=K~g#}JO|$q5Rw21b9<6A}_q5)yv!3pNCuxbvTf$LGeEf9fd~K<$c8 z*#50Odio-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{_7T#}JO|$q5Qv21b9{C-d+aaLxQZzYz#HBl(4w8UB~_U}UIqU}s>n z68R6(P~sXqdU0( literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_vb.png b/mods/signs/textures/_vb.png new file mode 100644 index 0000000000000000000000000000000000000000..7fed7dc5af44413fdf2a99244b5e06fca6bf88a3 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2%>Xo8<2RDW)WEcNc~RchdzzAi)BU$YLPv z0mg18v+aNk5l$e!75QC?ypUXO@geCwwQ8ktT literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_w.png b/mods/signs/textures/_w.png new file mode 100644 index 0000000000000000000000000000000000000000..6a58b07eab0025f942a0dfdff415b56c08ea1230 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3|UVX#}JO|$q5SVf7&1a_whK?o=IjdTqSfGEV!#0rEgbPY_b3=CRbS1d-+kei>9nO2Eg!xsqw gd7uV%kPSJBNvSyu<-zItSAaqcp00i_>zopr0HH`dH2?qr literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_w_.png b/mods/signs/textures/_w_.png new file mode 100644 index 0000000000000000000000000000000000000000..64904dec23e20ee4b4dd633589b365fd1f1da920 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QcOwS?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3^h*|#}JO|$q5Qv21b9{C-d+abUn0ZW)|MWAiQhee*;T3C$j`bhWwZ8 zOv^G3{{`w$Epd$~Nl7e8wMs5Z1yT$~28Kquh6X?sVrXIoLKeCPCRPRpt*$E;qiD#@ qPsvQH#I50rgn&Fy13SouoW!Km9ER`=PJS7n5QC?ypUXO@geCyPWjy2n literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_x.png b/mods/signs/textures/_x.png new file mode 100644 index 0000000000000000000000000000000000000000..b769e136ea60eec2f5a50e721dcac8bff3f79960 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3&QUD2sr!$5h8}}#8^<3#yIJ`_ zwW=kq5hW>!C8<`)MX5lF!N|bSNY~H+h(ZiatU$;@*TBTez@XK2#bOi1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{_7T#}JO|$q5P!5|aN8d$O^${SV-IZeXx*Rl8O~)9PRTC)n5+LSAzG zo1kLx3#6gMHKHUXu_Vu2_tsAvZrI pGp!Q0hA$EV@<0vjARBTLlTvdSB7STW>IDihc)I$ztaD0e0sy)BKu!Pv literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_y.png b/mods/signs/textures/_y.png new file mode 100644 index 0000000000000000000000000000000000000000..777b55e5468b08e9f59602df651c47638793e990 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3{_7T#}JO|$q5Q_21b9{C-d+Gys{T|Viexh_upVE4~Or6!!xW5dy6>! zmDe@#fi#r3MwFx^mZVxG7o`Fz1|tJQBV9uSAPO-wu>v6rT>}#<1A|uA6^l_czopr0QI>)Bme*a literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_y_.png b/mods/signs/textures/_y_.png new file mode 100644 index 0000000000000000000000000000000000000000..0c40de9119d12685ab8b15a8bc0d1c2092a3c664 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7l1xe7?k)@s?xqWbfIQ9ukH}&m z?E%JaC$sH<3?)w&#}JO|$q5P!5|aN8dvY)?{;$mGAmMZ3R>Gv7mYf6zhQKrI|2ZTs zW&u^JmbgZgq$HN4S|t~y0x1R~14AQSLjxcRF*LCPAq!mt6DtFQR@W7aQ8eV{r(~v8 m;@0p*LO>p;ymI2 literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_z.png b/mods/signs/textures/_z.png new file mode 100644 index 0000000000000000000000000000000000000000..ae010fe106e4da87c3ca42e5cf6ac3e5136bcb4f GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEBs^UlLpZJ{Cn)epNd8kU{-3Q^S2;Tx!qgvt`QIe8a zl4_M)lnSI6j0_BobPWxFD8$gj3WO|l4NR;I3|d`REJo3go1c=IR*74~7YPA*payo3 b4LONPsW}W)y4Qj;fkF(Pu6{1-oD!M<{3|?Q literal 0 HcmV?d00001 diff --git a/mods/signs/textures/_z_.png b/mods/signs/textures/_z_.png new file mode 100644 index 0000000000000000000000000000000000000000..1c3e053974cf51f79366ca0640e36d8d0df7f394 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|0V3b8zA^(yF(rAsyD&7kn=TLn@;D1TB8!2v z2N=7Z%(eqEq&!_5LpZJ{Cmi6EkoPYp&F*9JOF%*l5T8n|*rjC7>$R64!{5 zl*E!$tK_0oAjM#0U}&UkXaGbZh9*`ZWT9(dVr5{^>bhbviiX_$l+3hB+#0?}2*?99 eu!C&KNlZ%3VTcmjQM?c+#Ng@b=d#Wzp$P!{+da(y literal 0 HcmV?d00001 diff --git a/mods/signs/textures/signs_back.png b/mods/signs/textures/signs_back.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fa19a6c38f09f9924dd9fd1b542bdaeba28b0a GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5he4R}c>anMpdfpR zr>`sf9S$xoS@HI>8)JY%TRdGHLp07Oujw#ORbVwRoWK#WrX+RZ&+G4OQxg&%JbC0Q z7Bc05bHLshet<# z-@oL9gdZQiD!cHVJHTRJXKY|#u)(A2Q}Wcdh!sm!c+1a!&!2C(vm$bWEerei_?jk- zCW8s4#$_q99)HxEmeBg6v9a;tji<*=IxUX<|NlR^E9}^8Lj!{?`Zlht(rgRa7;Gjv V?VFvwS_|lY22WQ%mvv4FO#lHuZX^Hz literal 0 HcmV?d00001 diff --git a/mods/signs/textures/signs_bottom.png b/mods/signs/textures/signs_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..604a0fce99dde0aa648e9d9bd3081711f418a1d0 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5he4R}c>anMpdfpR zr>`sf9S$xoCH0@DR-XY1DSNs&hG?8m*6A`yQ(!ePoWLRR|NnpgXlb^EY{xDp$j&;* Z#o!pvDKJBc%@C-Z!PC{xWt~$(69A6sA-Vtn literal 0 HcmV?d00001 diff --git a/mods/signs/textures/signs_front.png b/mods/signs/textures/signs_front.png new file mode 100644 index 0000000000000000000000000000000000000000..e426bec9164ce2ab91cbffec64d64b8f9b74cbe8 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5he4R}c>anMpdfpR zr>`sf9S$xoRT0kU7+IjuGEW!B5RLQ6YdVZm6<7@nCvZfpDM@`e=eNF{;_2G|-)1&8 zI(mCbxiZIG{GLDm;u8sp9|pdOjS`<9i%(v_pg&7ylkJ?CJpyc}+t>e>0D*tD^?wEX zFWc9&p4#Nm^{F0c#N=-AcdN3$&vWWI@-EZF^?Q6xlXmEo2Zt9iJ__V{zlgb`lZS^# z=eVBzvfLwv|Nj4%58h&QucxtbVeLarts4d$rVI?OFI}&Dwj2lqx|qS!)z4*}Q$iB} Dmyu%A literal 0 HcmV?d00001 diff --git a/mods/signs/textures/signs_side.png b/mods/signs/textures/signs_side.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd809d4d3ae0dffc3d582e94e52178b05f161cd GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5he4R}c>anMpdfpR zr>`sf9S$xoc?&tMckMtSRZkbk5RLQ6YdVZm6B07wE4mmtLypaUD3p?7an+#2 agn_}VgnLWAxLbv9Rv$nsE6t9>O-Z|b~w%~(5R8Bc8ydEV&zSQ9{u{i zPlo^ZBYyt)^B;cGdaE!-BLN{L&KWubH+L@x!P5^D)@ghK8dwdxkIWAjq!7fMn0mpw zY%FUgrAz}5g?TA-wldF&&cW~h@>&4sp8?ZRV+2SAS}JVcvp#tAbmp=oBpu6#jqkp{ zL$ttk_E@VZab>%Dq!e_vvCNqt-|ZYMG+k+}kwZn*%zCNBm?`ng1pW(PNX60_Fv_5m z;`sd?G{~hg-+$zId*u4?fD(o2;P5`+6x^LHH5WpNAmCRoHCq+*x)5WfIPgLO1tkPZ zwa0)OCDvwY)`XV82du61<46%OetV1TI*e+>B&nj}Zf{9GFiwpk8fRHq*T8o5j5&}} zCge!hE6%;ZE|L%n%UT`-LW^`&B1)x&f)EOGsMs#!P#n)EKD?i)SjLm1H;^l+-jLUo zv}b<$Jad``4ki)EC;>TSVubmc=thawjpHC515O9W>MJkqM#37I?v4oI$SHBS8F~1) zVw}S&uomWzS6rtNM$xpQ)xgc^K#mb99a1*d>qe^rOCqa6ixnD__QVe4P2^RW!F@2?9Sq&Uv3*`Rzd92Aj=u_q4pL6+-r$Bp z&WX!4(RK1MU^r=74h*BBcbZZfd0nW%QETQJGyT}3I)kW*lqxj{UiO9D3?JX_y!iG= z-UHfbtX0(3lOHO!llYL3s*p;<=qCUV4?CrRY67bj$CE|NMh=nTFi>;k{$CrdHjYz= zH4Z%(cHa=%qw384n+v9Qw6yW*e#07g_jYA3jm~CXogKXutUf=n15<~wmd#htisLr} zaTnB7S$yJfwA>vm()O%tz}`;y*)xoi6b0^lORr&{SCkpJxs`l)Kl9D20VOJ%4=k~w zjiGPpi4?@ja$V3?(tP91b?1C?Tpv6ye=!nMK%_=3m9aA{_aEqQMrPlzt&shO(u%ex zL?>uDGj@f3>_{QdYe|)oCK{!CVhO|I8K)j&3=Cj|!cCUWLh?H)N!-a%_Zd5VM+%Xl z?|GO%ak}Yd>rZ*f;9o;lyx}KB^eP@tXk(vT4kXqrKdOQK4B&9@z5L_>j94pXlM#0HF7HCTpt70t>QY%dI@Nw zIGqRlvXeTCUlT&WI(x2j#MuUI#U32W3J8+52tpL>N}`n@Hbrid9m#N1)NM!9N}3bx zsV1zgaJj5>ou%(2IYq3~#_I;NYR-3M&nBWS!?GNGH!H*9aqZ(3Yl#&P(O-K}i@hH${Kt*`{X{7<3UVw(7^0&RB zWTu2bDT0s+QdXibT(^Xvl2gTWn#~uq`yc(!{poianMpdfpR zr>`sf9S$xoMeW;xTU3BT%APKcAsXkCb53tbQ(!ePoWLRR|NnpgXlb^EY{xDp$j&;* Z#i0C-b4pTdZWB;BgQu&X%Q~loCIF9#BRT*8 literal 0 HcmV?d00001 diff --git a/mods/skins/depends.txt b/mods/skins/depends.txt new file mode 100644 index 0000000..eb98431 --- /dev/null +++ b/mods/skins/depends.txt @@ -0,0 +1 @@ +inventory_plus diff --git a/mods/skins/init.lua b/mods/skins/init.lua new file mode 100644 index 0000000..d793e5e --- /dev/null +++ b/mods/skins/init.lua @@ -0,0 +1,150 @@ +-- Skins mod for minetest +-- Adds a skin gallery to the inventory, using inventory_plus +-- Released by Zeg9 under WTFPL +-- Have fun ! + +skins = {} +skins.type = { SPRITE=0, MODEL=1 } + +skins.skins = {} +skins.default = function() + return "character" +end + +skins.get_type = function(texture) + if not texture then return end + if string.sub(texture,0,string.len("character")) == "character" then + return skins.type.MODEL + end + if string.sub(texture,0,string.len("player")) == "player" then + return skins.type.SPRITE + end +end + +dofile(minetest.get_modpath("skins").."/skinlist.lua") + +skins.file = minetest.get_worldpath() .. "/skins.mt" +skins.load = function() + local input = io.open(skins.file, "r") + local data = nil + if input then + data = input:read('*all') + end + if data and data ~= "" then + lines = string.split(data,"\n") + for _, line in ipairs(lines) do + data = string.split(line, ' ', 2) + skins.skins[data[1]] = data[2] + end + io.close(input) + end +end +skins.load() +print("[Skins] Done loading !") + +skins.save = function() + local output = io.open(skins.file,'w') + for name, skin in pairs(skins.skins) do + if name and skin then + output:write(name .. " " .. skin .. "\n") + end + end + io.close(output) +end + +skins.update_player_skin = function(player) + name = player:get_player_name() + if skins.get_type(skins.skins[name]) == skins.type.SPRITE then + player:set_properties({ + visual = "upright_sprite", + textures = {skins.skins[name]..".png",skins.skins[name].."_back.png"}, + visual_size = {x=1, y=2}, + }) + elseif skins.get_type(skins.skins[name]) == skins.type.MODEL then + player:set_properties({ + visual = "mesh", + textures = {skins.skins[name]..".png"}, + visual_size = {x=1, y=1}, + }) + end + skins.save() +end + +skins.formspec = {} +skins.formspec.main = function(name) + page = skins.pages[name] + if page == nil then page = 0 end + local formspec = "size[8,7.5]" + .. "button[0,0;2,.5;main;Back]" + .. "label[0,.5;Your current skin:]" + .. "label[0,1.5;Choose a skin below:]" + if skins.get_type(skins.skins[name]) == skins.type.MODEL then + formspec = formspec .. "image[3,.5;2,1;"..skins.skins[name]..".png]" + elseif skins.get_type(skins.skins[name]) == skins.type.SPRITE then + formspec = formspec .. "image[3,0;1,2;"..skins.skins[name]..".png]" + formspec = formspec .. "image[4,0;1,2;"..skins.skins[name].."_back.png]" + end + local imodel = 0 + local isprite = 0 + local smodel = 0 -- Skip models, used for pages + local ssprite = 0 -- Skip sprites, used for pages + for i, skin in ipairs(skins.list) do + if skins.get_type(skin) == skins.type.MODEL then + if smodel < page*8 then smodel = smodel + 1 else + if imodel < 8 then + if imodel < 4 then + formspec = formspec .. "image_button["..(imodel*2)..",2;2,1;"..skin..".png;skins_set_"..i..";]" + else + formspec = formspec .. "image_button["..((imodel-4)*2)..",3;2,1;"..skin..".png;skins_set_"..i..";]" + end + end + imodel = imodel +1 + end + end + if skins.get_type(skin) == skins.type.SPRITE then + if ssprite < page*8 then ssprite = ssprite + 1 else + if isprite < 8 then + formspec = formspec .. "image_button["..(isprite)..",4.5;1,2;"..skin..".png;skins_set_"..i..";]" + end + isprite = isprite +1 + end + end + end + if page > 0 then + formspec = formspec .. "button[0,7;1,.5;skins_page_"..(page-1)..";<<]" + end + formspec = formspec .. "label[3,6.5;Page "..page.."]" + if imodel > 8 or isprite > 8 then + formspec = formspec .. "button[7,7;1,.5;skins_page_"..(page+1)..";>>]" + end + return formspec +end + +skins.pages = {} + + +minetest.register_on_joinplayer(function(player) + if not skins.skins[player:get_player_name()] then + skins.skins[player:get_player_name()] = skins.default() + end + skins.update_player_skin(player) + inventory_plus.register_button(player,"skins","Skin") +end) + +minetest.register_on_player_receive_fields(function(player,formname,fields) + if fields.skins then + inventory_plus.set_inventory_formspec(player,skins.formspec.main(player:get_player_name())) + end + for field, _ in pairs(fields) do + if string.sub(field,0,string.len("skins_set_")) == "skins_set_" then + skins.skins[player:get_player_name()] = skins.list[tonumber(string.sub(field,string.len("skins_set_")+1))] + skins.update_player_skin(player) + inventory_plus.set_inventory_formspec(player,skins.formspec.main(player:get_player_name())) + end + if string.sub(field,0,string.len("skins_page_")) == "skins_page_" then + skins.pages[player:get_player_name()] = tonumber(string.sub(field,string.len("skins_page_")+1)) + inventory_plus.set_inventory_formspec(player,skins.formspec.main(player:get_player_name())) + end + end +end) + diff --git a/mods/skins/skinlist.lua b/mods/skins/skinlist.lua new file mode 100644 index 0000000..4d1f7a6 --- /dev/null +++ b/mods/skins/skinlist.lua @@ -0,0 +1,22 @@ +-- Skins mod for minetest +-- Adds a skin gallery to the inventory, using inventory_plus +-- Released by Zeg9 under WTFPL +-- Have fun ! + +skins.list = {} +skins.add = function(skin) + table.insert(skins.list,skin) +end + +id = 1 +while io.open(minetest.get_modpath("skins").."/textures/player_"..id..".png") do + skins.add("player_"..id) + id = id +1 +end + +id = 1 +while io.open(minetest.get_modpath("skins").."/textures/character_"..id..".png") do + skins.add("character_"..id) + id = id +1 +end + diff --git a/mods/skins/textures/character_1.png b/mods/skins/textures/character_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0dd9915193a88b7203098ef30231a163db0ef2 GIT binary patch literal 2055 zcmV+i2>ADjP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBU(VM#eFBqF03Htj3oBQ+n z%|P_;dS8DqDR*qpce6jpibR5IeK&)=abtqxy?@=>zqsp0l3vO4aW3VaFxFeJ=Wut=I1z#RTvp{h8$cc+2#;kvA3w5Pg+`WzGS{@(=-N{N4q_at(-%80MquDrAY8qCD#%ij3jz5jTnoa%`Tp zG{1>5yaHe5Met{W8w3#Pd0A2%z{&9d<>iaD5ep!P=a`2qde#vy7?UP(9dj2Yff|Bm zYRd{Nee!+W%P>6u_PiV~j`aZq0Dxm9$Y2gdKnj+1wE!gW93V_7dd+hHM={(-DUbjm zG*rQUWE9jyt>Ayd46ootcqyzOn;Zh>#hfLb8#wv)9BemV$AV5BJcm0#5<~))!s#I; zk$oWss{@>S%)5Y^VR-)S3ssuP6U#Yk0tRdG@wl31ZjG@>F+> z`JC6(2T-1Y0LFkbiK~?XPTT-Iv8J*xS01UEqT^gs0rP$nWq1V=Cy1Hl67nUj0rvd9 zR=J`n4Hb~ndyjO=IVFI~5Afal+pKpk#Nj9e9cGjeWav(iLqqy5E{qBVAayM70u==f z)!jw4JOvE|^c-l{+`d~*f3V)#B_#kCfDG19@)8eF0qOyy1MUhbTm_||5Z1X2l41M$ zw|9k5VUr$=-VK6i)mDjB?~rKKCW*y&N_~C3EM2-(8X6j8)v8su9c|MUQInq!goZk3 zs0BA_IFL1@HdtW>8urmOwio>wHP%;~R?8`^M!(*?+WUT~``>XIj8$(}@LQ!M-eUcN z1q)=^vSqSj#R?1JEMK)v z!Ee#FS?0}~X9O%+vPA0Y>bzgz2nf#yZDxJ4$Vd^8s(_Q*pEWo9Lcvpp`wZkIAXeR^ z1iUTLN+m*F!2!n&7A{=q{Q^e-mcc5$iA*w51SHF!J-^@fw5j0p#wRQ;4V!>yCHkDT!tz(u_gfP|P~$*NyO9viH7CX`;eAyI^H`y7R~X=u`-j&>tY*L!9{)Z4 znsm<&wBOy%dkFw^!L&!MF~;vp;%ycH0Z&l;Cos0#J&3Vhv&3K)D>)npZ8%mP&e{=C z06q_J8bA%aS{EY1Y!F&Mw7ROHrXz99T+@IGa289aj=`*Xx0W90Ij;f?sK$Y)20o&{ zv$*Ra#KvlE)-oPo5fLRp_llE*38DR#% z%2b5bTi|1yTq$n;KPUj}x=61+ZgBt-RPu>pC=7f}iJ+*d(E{Wa3z$Bi{I?1ql~PmC zQ|VFc@Y@7u0OmQoUHEu|bbs`g^z3PrQ}3_4^*;$J(ILcu9hT0B_Rh~;76=2N%3fV0 zbOCJ^3?VIahfK$SbgzFHm7~b7^*EFGzK5VQ$;(T^NUusZRg^ literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_10.png b/mods/skins/textures/character_10.png new file mode 100644 index 0000000000000000000000000000000000000000..97a7be73369fece931f1d4d6fa33a54485f399a5 GIT binary patch literal 563 zcmV-30?hr1P)J9}<=8`zZhb0l-N_ zK~!ko?N~8R!!Q(mMj1E+GaSH{x-sSgiBtu34hJY|7H+_hIhkQV3KC0~j))2&ITAB7 zQ>TnAnBH|91&$z&RIa0LBjDlKiK0Cm))Qjt058{+s~-9`E1LHEh-3BuR38 z!F)c?t%qSqRQ-P-^ZOKWo)C-4-cz8}b6X z|0P13DR46$|2qZR6u`Fa_8dSdHQHIWZR73Z4nIGPr>5NW_cs6l002ovPDHLkV1iZ7 B=%WAt literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_11.png b/mods/skins/textures/character_11.png new file mode 100644 index 0000000000000000000000000000000000000000..637b85b3e4f3ce39ab78f395210ede29d03f68b8 GIT binary patch literal 571 zcmV-B0>u4^P)IDh?r?+lc@G0mw;2 zK~!ko?N~8S!ax-M9%%F4;L35*d2)f!DujXVZay@ zNt~PvvxI@+IS`OGy}QwNQ4#?ZriR6uC`vJofGE2f42%Qz5)t!nEFhA4mH}%a zfE9^UCsMP3>@-kGn>8xH%3AIc`D?KQLBBjn=fg`VIILLyK7RqOcZFwv9wD{BB5*pq zpU)qT!sp3|Al)Qz=&00}gPFP3`@L4{ftlI2MtC3fFwg>(I{H`J*x#$ow`i*YpuVC2 zfKD6B`P1+V?F#_kANjU`sWUsNdZm@ash}Zrn?CKOv z*Da<6?CKP=ak;oTU^Xtpu1jLc@eh)|*_@)ln5Re~OroW(@ zu!b0oMsfl~m7FPfzdcC!Z9+_d=XvX~K-jLihE;=}=izyHi63cvrYcUba~=Qy002ov JPDHLkV1g?C^2GoE literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_12.png b/mods/skins/textures/character_12.png new file mode 100644 index 0000000000000000000000000000000000000000..b4896137c9d5f0492d3cf6f1479c7d51e132971d GIT binary patch literal 3331 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 N002ovPDHLkV1jL3R=NNH literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_13.png b/mods/skins/textures/character_13.png new file mode 100644 index 0000000000000000000000000000000000000000..b430afaf03c0b932594893033cd1cc380b3c0010 GIT binary patch literal 591 zcmV-V0lAx?BJN0o+MM zK~!ko?O4A{!$1`Nu5?fgs33MyC!yjP_d5xCCamDi~>Yb zFOu+96~N29YVj)zouV==3Ic740ye4a9Ql{B9f)q9*F}6zsH_6Adi~GYJ?f4Qb{uK} zFg*;%{`zt__5sstL;#d(z&5u)rD_06G)|Bu8@Cm`S9t}{sg0KB2)xQ{>EWVPKy5J^jr7~#<7>wK69e<*005-pvC literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_14.png b/mods/skins/textures/character_14.png new file mode 100644 index 0000000000000000000000000000000000000000..13e6f94a89d2f381e99e1f77a2ff0298c58b5996 GIT binary patch literal 676 zcmV;V0$crwP)eAz2RvrR#RLrQM}8OhU?Lhu!&RzM0Mh0);f2O(xs#o=>H}Cl!~>zcYXlfXMV2 zzyLs{mzES@P@;k|1>UFw7{KPA#Yl^yFWS>3R;m%MxIU0^Ll{*)1$dw$om{0r7}ZSz z*2(};KoTH!3_A*k`bS;DF-Ut-CGs|KW2 z^*0R269Zl!{O7^Rh5>nJKyn9M)wKc-8?4frHm$~8J<$bjQEYgrU7Ago{=@t5mUG0T zzERk=ZIJ3tvOgkAXAZ(zY0vxXBOS+C>ip~4w-yH2wvGGeHhuu+EEPE@i%}u~0000< KMNUMnLSTY9LnfI3 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_15.png b/mods/skins/textures/character_15.png new file mode 100644 index 0000000000000000000000000000000000000000..3892edb2c13377ac60f63e0afb9ffe27cf9fc328 GIT binary patch literal 3121 zcmV-149@e3P)h>=iK+)$8cwcc{mI(yaX8pEETcE7PJVptxxoaHfduUZB1KSV{5C?kU(mh z+SasY14iCEXr@*w7#eT zyY?L{I=t*tkPNBs(+;chPf?QzeRxpLIei{`F2@dgOM*7K1d0zS{3}vwtqQ-Q2MB8wrXq-M*;m`Vg z5(20=4Wc0yvA|)|kw_JW%;a-$J8baTG;xU)Ly;u1c_Bodbux%&q^&q6o5`G~qnStW z1Np=hGmkLeFUDQhtvXUEnQlwL0K$QeNTwL}WG2NCPu_nI?1l|ahZpham`u9`!@b?u z@#=m=<0+&CBDz%r+bSn8WM(zkY*vMc3&|rchVdNJk`Y)F(spr#QeNI^2xs4BGw|3w zcOsY8Ff<%NPyY~Fd-~-)hmr6YzQ19us>8Z$la;pYgMAf3W(Jpf9#IH`T2`Pb%F0Zp z1O=a1 z^hud2k2p7_RuwPO&o~JpFK`v;+H5v#U0sLL51bQK|+P;YYvgs)cIUpx=+dkrCvxNfqjJn;m&AEo;7Sd=Iey z!=tbo1&2lAStMmiys5Ql+hbOUdyvRmRFpBl@lNM42Vn?qZf-8x|5LwvI-g1=kw_%a*WZtSzV4-BLk5pVqe#j?S~iWGBt2On$Y?6bDn(_Y@uuOo-gXNH2Zyk4 z?<>ez4An0kPosI6&m4CqDJu)2qrC%NU0p~E0#__vf}DhBjI_7KOwj%Z(dNvVlh4X7&*TEP z+YP7FiC9b`KqR7^VfJg*@%emkI2;1OG`4K{rbLN$RnP5mtGi7M40gSTxfNct_7xOM zF4~AUU-}c4U-u2fW&K`OQ;X8l0Cv6ftc>S?$6JcfK(88VRm0_ixCB0KYQ{s4?hprA zMVBaQYO2R|J9?xM@BHf>rAIs-Q+(xgI1va0uxj;Hm?uu6U7K&*RFo5B*ONev*M*8e z8CnNIh)N?G&W<=cqS=Dc)ecH!-9(P zaxpw4Tri5L=*Q%X#&h}gN!_%(kBZZ(s;XwPA39-e)$DM(oruTd(rn9R5R1hnm(USh zdo@Chjaam89rpg}FzS8HXdAl&vJ)STm*e-I7@8E#$~-{5=ciz#UWN~`PR+Yxw8OabM|?s^2?Sj z!`Y_O&@&}yJKL(tICytYH-f=3g@V0%_Mq$dyW=xY;7vCQRd7?C*gBB z$E^(37Rp($Tz+e#0H#!{F&d3LV@W(UC+{RdoTPS5_ZF^CJgP*3f{l zqen5{`Z`WLxErf4Yn)Q=!Lk3Qk3N@8IcCa=7f`4ZI>&kjq4f?aLkMxs=0xaISvrBU zPY2KdekTd>ncsMM+#YmycOlzkHr3aL_D5@Cjfv>f78l4Up?L1|e9Vsh%T zsQg2me!`9UmRC{kvP)z-pvB^|lyNk2Dw*hriQmogpm*lHK&z~*%qOA|AsIQ{ahE7~ z(kX-~jpVGGC}25xfsuetq0F0KuZYqmWu>!%XnFs@xbb)X@Rx!LH{SirHdVJ}I1X?9 zYAGv0Wo4BjGxoD@_lx*wa1E9{wHb}~??+AcC1ij8M80dsN$ue^$MM49b{OKcS$?k| zE{IMcx{kJXB-K)i3G>V3NT%wN6DuC#a4+U9@yc@sEnU6E!(dVf!{c_y8J{F2lKLmJ zf&iK6w1h`!#yH_oQ6hk1$iP}ADZ4&hmWf}5O@>Z7jiHW&cg6af(An83{Tc{fa~pne z-@Vwr<4MWjB7y*ipdyT3sUH*PTO1N{(_?u5yMMzqSH^`WHsIin6Iwo(#DR_^8kR4E zOPof6ol{$jlP69{ik`!8co+jA#tX?Zjlv$oPx;&q+i-C%1zIKQQetV3q z>qA-z+`4TO*FW)$vh&^&I&}pS-~3Nd@@js(S6A1zWK^K zsfp3kM;kl4Gge-@V06ux-2retE+ea;d zy}*8YuVZvyvDB;N73l#RY{+w+7AIyi{(Z+*9y@x1t?QdSd1{WkcW&pY#~$F&_wK)h z?ne*Z!~O^Fndbq;e4F=??|Z_kjb#n+qrajMXx2lXK6!?%jgVWnY~qHYkpDb# zj2CUnu_9u3yNlOL!#0jWR6Wys=O?^kk$FD}7RoEp03X@Dl^_1)3}64_i+tuEwsR~= z0l01R)ubK8I*ZQ>jz94wYH>uC7i4)(1c;d4D+&R0bRSIbWiYQiqga*fzhVPCeRhuD zotxt=qwD$nkr#O9woQC|*LG-Ur0bNk&QXg(O7HPrvDVOVF`XnOOY_U}UFaEA_Fokv z{1Eg(tZLKg_dr{5tWQ`}*N^H$pr49kJ%Ck>(c_?c)h1Pk{$}%LRZz87)uBqPzX1JT zhdu-P-0BqY>#|V@j{&>2>j`1dE zS{c)G8N03-=J21-bM5*XrC0uPHd)mwAg>y4YAY>RTMsxjmmz>P!bme@dNxG_YN4ep zmCzaHl7bCGAw{WlvI4K53d6CZl@`Q-Ar35gsfa+DS4|RBe9p8oMj8Rm2ubcaI^AB~ zG8kAPFO|8Z>f#irhn7?4QyP)Qh!8nLV1@HZ&M*J#EByF7575m^;=p1A6s4V&7!hir zrIVEu-V-^4qGW}qm6oU~_0SSngI6#{SoILtI25V?!!<`Y_o!ALFkExA(}E`-`4Um! zXm=B$Fhmf#X+j)D?B4S)1jdkiPgyEi>4^hN=nS)+oO)Cxg4s?^BeE!hGjOg`5IRF% zdZuR6)%Ac4&5%aqaK_M#Dny%+3w#r_BH zWwx6$*R8rdRXE$uDN4_pdce7M&P+R_5m}PLQ>tfOGbC_^kw!o>va9a_o7TqKj4M|U zta*!|9b z#W_c3W}31+g8~zK?%?rV5r=AyF%8tG7-J9-oO2{evSP-HQjbH7F@%Bpo1nGW$D5%>jaujkti}5)@2f7k z4XUOHg7;m(QxsK#%k!LWx4UA-MN!g8GV-E8_2p~$&P@K4_`26}>JNvw`ZYKG^#%|L zt4o=BL?UXn8trx)V+_u%9LeEk9aY6zOJ0;On*oZlq*<@wy;7F`%5%Wj)-R|?jQ4Yh zxawA-Ibxy}F*rN>=}T`|H%{@w#~-HMO$eO>fqy&v&+NZ*Y|*m-yC>lI;T-@RnVuZ{ z|LmhPf0cpO+&d-97~mdFlcSX|!Bqs|W>kwR57-92n8ny3R7=!%Ft*v7Cm7pg?55AL zW!L0@;qk*e*s^Pqg9qSu|M3mH_k8ro`#5;u(wA=^trWf-{q6}kc%V9WWP0)?(Lc3* z=^LhO-27=xJHH1Ys_(?Q5sYc#eFwBaOx(*21;#Y0i>pZ0^-%J<55M=a%nu%b;?Nkc zzHMY6RDbjlo-h1j^nFENDt%+m(grXt7$vIjB&zSk1!I-+FJ zPcSA%RZ#5?Vs=sHH%{^Fqwwn6Mi!tsuZk~8U(rmmeRRi5rf=+7rV5CJh^YY{F;Vp= z5#D!EE%AP?3IU%~#t=(cwoz>ZvS@7gEngfO+VxA zG3t|E34|;?2|yTb=(RN3+baP}mR3qd@i=2Q-92D-WO{Otu=+ymzjL7x`Yt;^(=SE8 zSe#!8{c=gr^lLuqQOyBE5RMSlHdla~2oZyrpqCGPwI6TlHA~g#m#f8;zZj+d+4<{z zCFj%k*B3*1rSvQCfcsU%^)h{iU_k;@)2bOVF=8UL7ZS!adSM|L)8KU(edeSTdgrP=_Zjxfs^LXzO5z;J2 z>gxythbp{w>ULQs2Ly=N9=d|!QQrj=V}}5bY6e(DLX@Ic72Kc-^bxrEt|^K`V+)j@ zp8)&HFE+O9np}WlKbF1sbd!{3J*L}DDasNNK~?D_DcU(p=9-ws2*J<>qA;LYuaV^i zx`Lk>-Hz+_4SMw`iU@*$ZnsOVRwGFgRFxnIP*uvZ#5qTrrichZ5G-g|c26*f_k#zj z`TjfM=DXnd;i?+UchULfs!xCMUKlvMDruGz$06z!69$yMU!hB55Nm1u`47b7H_+)M zG@^_~Ev6`!Z^7l3TW-;IyG!4O-9t zn$vR$8;0Ubo{xNa8i0TL!02VqT>JzUtbPBhcM}ATFmROK)9I#z+og!$+cT8W8UklY rvz#EGqX>s_*5cLk`sw#983O+g?Rh7Uion@w00000NkvXXu0mjf?Is4B literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_17.png b/mods/skins/textures/character_17.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc6974aa63d1e4641586b67762034fc063eaa52 GIT binary patch literal 539 zcmV+$0_6RPP)S|}1`R?Nh^V9}}gFjsTNgtsBNQ_i7{NWL%(4>MjlTLI7(5sZaFg0;+7FlQw%) zK;&BP3i*3+2ZDcjlFyG%5I7^?bZ7~=U)wI d{L9BJegHwV!PnPA0C4~S002ovPDHLkV1g?L=l}o! literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_18.png b/mods/skins/textures/character_18.png new file mode 100644 index 0000000000000000000000000000000000000000..3892edb2c13377ac60f63e0afb9ffe27cf9fc328 GIT binary patch literal 3121 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 HoD!M<<}ZwS literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_4.png b/mods/skins/textures/character_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ceec00d22f5f526fb27f0bbd52772b9869a199 GIT binary patch literal 939 zcmV;c162HpP)GClG3}6+nJq7vbUS_UbVaP=EwKF@4b160fn8o121m; z+IIZ>#tsbj>;ayE@w>=8`1`5+lCm69G+j_>fgkNPn*v^6Sc{#1ZoO^rk!1iyYM?%8 z5MZVmeF~Zf97oK5lL9iSrwKR{0%)Y?$#PlApAeLp0?f4K9wYxu(!o$w`Te#ZkFtw? z=0)(()PQ+5Q`XwvzB_Jk&faL@$csAOe}4l2IDcvddsk}s@T3~}Jbu^)06Z-pECNC` zfOT~Y3{L_8eD3}P04x=chrUz)OYhnTrUsb0Ev*Q+sy&{Bh|CnQ(_9nY0wNXEH$MRY zYS+)i`thbBVQv(lV?1zOQ~p>&wknCRZ`H$n!Lg0-_?NHo5u@|ttlzbQ=X}ux0Jt^1 z^-C?FQw4S}-U_jB26U?a#D3QY?Ua4?oN`$1JaB#^Spl2{D2uENcoHdOuzR)A^FM43 zqIa_>=SwXhf7w4Qn+y2wjEJZ##ek{NHTXSQU}V=U-9yz^n6fHP^O_yhDX6b4)ip}x zOu>tQ>)bMea}Bkx!Tu{hqCr%Sx^M&s6G@JOVe`=g9ECJxM5t1UlGyKBaLPa)L9jfh zfWOKVSY3ff8Pv@uzG#YMEhJ__;Ii&gly1r;P)HDi2p!fhYg~0nSN8 zK~!ko?N~id!!Q(nP6A6MMmPZzLS;q*Apu#DH~OETMvN5#z3VM29_$K zE1ZB82?@2dW(X#+aT

ah&Fx8t2va_q`uK2SExBw*W&9JiGxSzcBzt5IysNAzUxb zP8KW~llZR39Y5-JsAo}9Ws(0`D_;Z<^2P;Cb}{%JM{&;*g1l&8ZM2C1QLnP3!b${SJzXV8O97JeqT$a7gtQkRYh~wzzmjx7dC&R0i1!J#tpQbra0;-^ z4%_7D3ZV!X4aZ=#deNU+Js1tg^^E}HZQ^Ad_^<#cs`wuc;J{C`*IEG4zMg02yPkF; zSfb>8*8{k@4+qXq5{c?20$L2b#A8sDNRn_O5kxLa3fplS=FWr? z2%85k_uc%lo4TR3K2DvV+Ap(KRzX+34`>8n2X;57DF737s(hpS4sDT0jv0x7W3-Ua}G_sOgB4JH*-Ve~uM1*ih?CIxgq1{XE)7O>#4v&bKyxy*s_H{s^ubwWBAsP4H&e+I%$UwmL|H3P4 zoF;Q>7%>_zNoG)6uwd~SgDoZ^IR`Y{nJ00xOH0m|{j*<0Q}fZ2dH?rYh_x*Bm~6qk z(&D-?|K;nxOw4N&R@_*$rpuglLBl@&@@2J~*S}o%``)~3f*(XR8;%@F*(f+;^RCo` zt_%@TySx|_v$Gx9XMAgrQq{=!|M{Ea%9>}4C4sSj%zo{??f=#yVf)>R^V9Xr9L)|M zQ=QlL-B9R~zvAgm~exzFi0|x{xh%H^o{O0=cHTo6%Y%Ya4 zHpZ@ACTqaMyldy*eHDk=_wXH{XE)7O>#4v&birA4=Eu>k`Eql~AEV@Srmx6=dpniY83{;$%1 zXLPTr{QTC#6+L^;ozCgM+b!WfBf%lzhP~p&EpER8Z+jJFyl{7Gc=p}p*DOZ0hHrl) z6Br799u0afc|_kLu1xp-f*@9Y2H#cUh6k#0{cn~1GK;>()1k<8;t$Iihg`d>DF@rv`(OiRKkiP=2uByenu2KO*BoY^Zh1tto!Zxrz{3{ zj+s8l{Sd!x7UPaH$QK> z@Yj>KAhp5slSbt9`WGw`yY?^YO8BOdN00f?{elF{r5}E+@R-Y9B literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_8.png b/mods/skins/textures/character_8.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b0c4201828dfdd07bf766c040f43c5a45f3d38 GIT binary patch literal 436 zcmV;l0ZaagP)H5hbuur^WyP0YOPb zK~!ko?N~t$f-n%AMKsZiXA%y)KtIDjj4$yce8v~FcN0Hg%zBZeU@1kQK+7Z~bZJO- zc6OOUXhD``j2@6uQhCn+6F{c@3@`w+?HdXa9Ktp!SIIjifB`NqwbHuk>z<8;*k$$W zEl^KXx5uj%Xp*|igeM`urKD#`K%2CALIuRG>e`h?lGfDi&gh{pAj zVMPEDS;f31fSIjgOGNN9!0Ib-zsjH3`Id##0=^{M%Ln*M0=1q0>+(Nd%tmF%{|EoP zzw1ni5IBM-AnxA#(ytjXmJcY3qO#8Oe3m{Va*=#fY@Go<5@4$I996I?U?m_-P^bhD zfQ?ZBrT5nzfjuLDDo#*MSVw{fr$GX60PqIz8m$FPj&CYAs9>wMK$0XB(hS%G*nJ70 eG)?L8JmCW!#A}@{0H*o?0000K06QDO2kZa<0aHmt zK~!ko?N>n#f-n%AHN3&Ar=nLs!O4$s)Nh#R(U0&4k9rkOo=p72dLlvv3SzreI|+$~ z7MSTwcS|rpDaBp)^DOP0PxB3xzZqZxsB1g}3;?EapTYzV(U+7f@=gU{fXl18(oL)1 zbk7zdm#eQwKquNX=BFaiW_6c@MFenZX)gsZS(^nN5V^K{hy6w3K&Cox8%0r&x`BQx7u1R?UKJ;h!Gs)RjUdHW9Vg`k)NLKO%C1Ob8oL4ZH#1PxVY wH2AW!EI?b^`UgmoWPAje+3IDJ{PDcS13PK1d|heH;s5{u07*qoM6N<$g1<((rT_o{ literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_1.png b/mods/skins/textures/player_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c055d9b6fce6340b2a7397798466da0b4dc953f2 GIT binary patch literal 21512 zcmXtfWl&pf*L6a0ch^F3cXusT3Pp-E6nA%r;_hyxSaEjf=XqJ7+s5 zb31!V1t}>?dq+D{3u_Yqz_3%s)xd?h_s&Iu}=W7 z!~$Sf&@z<=R5t-26PPHq07O&(yINQ<0|3?w03M>Ib_aY<2jI$HX$fC4Rbn16LM@eE zE8IdOAQPaA$l`#YrNv54KcPUtgv)CPW0)b%+T)Q<#2LViv2{HL0OZBvL2rBg;y!_1 zIWfT-(}@0+<+uy}?cKL;JFk0_W%l9#z_zpR^eZ!49kIUt!w*#wvow?Ygu02+udFI&?l*DIHKkAYS!}=qV;0^;4A!mce~a3nGLV^PTU?5GysxeY0Hi!rSNaqDGR!flFbQ3Z|;7PmT*1A!i!MxukY5IC3 zF(r|W{Yf3c4CR56^daNbWQ<_8IdL*>h?;pwqCGlm&*x@z5qpeBL&ThJ`t|@MScxG- z97C#=FyOZcZR!|Ag7n~fs&08$>_{5Q;V@jacZ%^m@*JNcG$=pIlU<28!U%-w$+pG| z4FNaCuF_=vyD{y>>BcIL>4#m~!}a;zs7iQ>&am?|^JScw&t z8f1qY5+ZQ*S+lba^h(z7Gb1G$jn=#?M=cv5uGTCEwT0grP1d-e%~)q3dOC6*}G)3#zg^bvmJTca^a_*e zgECR;=}8a+TC6t(nmyxx>^$(2W}^S_odyV3-*_ zQ6?b*p&5}IVO5$^5z%ZU(Vzx9AIC}BK{`gd-DhpaMn-SE_z~pf56QI2B#dktrN4@P zZTv#{eEoS;Bev8)-KSFaGne{KDbid@+2>!`A5YXt)XhqTNU&MHU;^u?*yz7ZR^7Yx4{NQ$_XS~yJftbV1Wrf8SRm#LM>opkV4 zo)u>ob;z{oJO!Xj41S=~qmwg>oq)?eP+wMGFGeoLR~8Yxtz`XWRY;QGChgW`TYR3D z(`n$JqhwdS;n8vMNb1A(qVZz$SbQsostsRpkUN%}5Bg$exZ--{bX252kfEJ#XidIqiSou8TlX6QDLy?e@kka7z z*!Yj}g>;@w5spR9gUo}>#mvnn@E7+l%#9_D%_a)9yI+cQ&KuipgTDyq6l#C|qF*Ol zkzMhAp{=5=7^}ENB~hg;XThwu`m%Ajv9yV(dT$ASwX)Hs(Z|s28-ZC59b(uY9C975Eyyq6@p=-Hg z+_?-nI$Tauy+cx4YJ1aSD7ne(R-5I%s#2-}W(^0_Y({MHS`~}cO@(g1?hG#oME{C9 z=I)5@2=i@lZs>d+{`is?4c!jT(yH#v} z)l_F}UOQV`!CH}2fR(Y5*Vejo^ZD#L^mq1elpQaEG`1mqdyo8yo}1ue{8CnIX2BG3 zr7#u#q(2gvj3xL{@2_y&-p3$&^pN$KyE|kB z-fQ_zR~px@gr>BfDVT$w;Yw-4DI(ax5tI-g=OFouN;$F7?AUDI)OEDnB)Imq-!`&| zjXW7)*s3nB98QM?xlyv{P~!{zA|pbrnTeKZ*Le7dKuTE-)A-p~-N5S>o{sv2qE_%wZ)csU+TeRhsdbCZ=`m@`=GOKK<WWhr_V{e+W&H&&adjW-@S+qcdmX0epa40oi}+> zc&fV-s|^2jbf5BMqhFz7<8U?zngP8aP@^|4w#?0w&4_4xid|qjkwYJ(=zPt-aAQH^ zMf)6`HSn9-UfN^#=niS~jvP&J#Wl*Sd>dhw!j;U7jLlLq<0?ZoQ$6EJ_nU63>X_*C z!tsXZv)n2LMi#fQj>m^%NY3FB79}%Wib%7453+UvI?EB$lPt zL+8bGU)Po{*8D6XZh6 zjVEby2ws1@j#d)jv-#f7pDa#Hr%mUlUZo~>*?1Se979fss#XVj2FN>y-MKgnZZx0H zy4}{?$Sw*tF;sWGDgEf*%pYoQ)u)P|5{VKM-(W#$*Uv^=EUN&3g0q6OgogXdnGaGF zUjJV{q;RD0VMQgSXVKTmyD=%XBr>F@YA$xeB_b0acI)2i-bBOArqH44$?DP}^uRx6 zn@KXLLot-d5?GjU@DI`fYFpm7WvlZ|t*xzgcO4>SYrEgKH_m@K`F72IE>>aD|2Z@} z`QJx1{{huTt7~q`6)ndrqVMZ{;zH-PH?2<^F4{mTar@9uV4^WCUV7ro8NQO7yJs8Le1<{+HrMEr)}x5}Bg-Yj zx8TU<)HE870Oz8TiW4C7%K%O$9$8$UI_MyTESq3TD7n9v>|vJKJ% z4?oFLs61#)5D7{yI;y5e#++g+t#BxqIcg(q36CCDMq5Z1%W@<}aDLQGx)bBHmglo( zyi77=T4p1ZstlLia^WM+8>HbY8jH6vzkX(Qwl<<@_2rMQWs51y?Ie|DDr$_(@Lr4L z{D?myy<7rv$)BJf?XX%BoUVQe?m}Lk{C3|@6FnSa{&eQBo;lSsZDTPSSeX?^A}48V z<|mXwZV9{j_0gG~g>ZVniL4p_t~oheP>s*opLGhURptm+3sq?bH7bWisn3Z1uMRgP z>LOk|a)8FcU)6gi)mKn(EZLf`Tco(@rho{PA+!*>X|G(rcdZ$Egs7j-*Gf?jzlgX0+z-o1H`-UX*mVeQXSjnw$y z9MJ~HDbSzfJ0Snl91XOkIPiY@Z}9MQc$YlRO6+V8UtxaKNA_e>`^etS#-%3+%Ow z=cAX5sZgAZ>4hjwXJ;Sm?Dd5l*3)yzO^QPqzL>wo$ z!&v)cRWp9nm;6cll`ioU@$7Go@OldaMZxwWmh6>h{8TR8RUOg-N+CGs)bJ3S9+f53 z)c|1iA0o>AT-I)FX$Srk(x`0SMMC`H}*f`YKt+_;Mlz^PpmA1G` z=bq*4kfalYb2u8CsANBJaVpIhi^1ruEM^_}zeSClVZga@n;FkfN`HydD+O%fnRD01 zV0X*T$lRTDmW%*Ph`Pb+5K5R~CsgJ;;-!6?)I5u;Dnh3dZ8Xnq` zk<;rczv)z&?t(W?H8JQ--_Zi_A$=yIRLVUKKLTzo-)ClA>%){$ZfJAfex+qe!*xsh zrN6y9o#@54@3VEpVmF%{#BlSpSnyigE4GA=>JP^bH)RqNCnNSI#pcNjSVR6FJ;y!BTYsg#6F0@sT*B;WtSK%U@(Q9X`|YIY(feOvPy` z+o^1xD;Kqyg^Ijim+(hphtY(LbtCyZ%s;0f+&9fyW=!joOmARp?hnTn(|F;4;l}*4 zgKz*Reg_D@BU@!2hs^a?76%jlzU(~R9mZ0aioE}V1@$BI>=LR_YIz_R- zEo-!0xQUU1!69ze(zz@brAmLJs2@#mxc)fGpP%JLKEXeMPJYAw*u1NG>e_iT{hE{D zN9&ZvT5CHsKluWINlUwDFZWMBMTFok3GxG*>60^;yS!9p+c(e2jH$$)+DfG{#4tz( zcZ(HsrwFXPy!>iAb0uyL92AM92@WqOM@7~rb#sJB7@lT+4jI>4*;hQ%v?4*17=Jyj za%#EE2fBs!2sjNWw2b6mFGS0F>^ zm(YvvhVJi!$rGZ}&MLgC3h`l|VtwtC>%;Fy+^Xl+Q-Uy^y>_(er{oU|^+J1Iyn~G+ zi+XOV4}g$=ZcpJPbcK9$g#n|M>$iTd&-xPDHBmZqdz5|n3U^|e@iEtR8h%WU3w}1| zmg^|?qDTgoR%75jK^z;&cOOO7+65~lujgw{7J+8brx|J1d)))$X03yd`6pcsVh_A6 z#sfl?ETp|KX#f&0A_5kZ?+fTr+i7k5-K~(n41~kkiH}LP!gig^%A%ko-!~1Ep?n(@ zbN6C*&-+ydPiK+Yj;=QwRapCA@BSdV>6=#%m&&V~TxXvT`U=K(BPzkQz53I9vg_o| z#*NMWaHJ?9|9ri|NmvBYbcF?Dpp#~88IP438V!!3`Fv<%@aggka|v^MzmE0Ciok8U z8a?_j@x9T*Tke{{&L3_iy2l+wFCss3Bk}WEzqj3}?65Xn0qy)(ozB-Rgq}{dF9Ca0 z#ik}Jq_K+?2^~y7%N|AQkQ$G4TX~*||COrbL@5}fWh4l&*eq*=nye$U|fER+O4dkLj zfLo}=@kg=$oxpue7!A^!!V8PW!q~fPE2yC|$$f53#E(+?cE_8CQFMzUr0|zup?GV- zQhCfihy10P9W_ZfiTm+QSM2n+^s~1sC&;u^sGIWcu7efbe&ZYv(VLGx7cA(pZb{G+ zYCj;=?c5}EBV$|E4?vcS!5!IKJDn|Mvcg8D}JR8Ll;eEDx;T*3xJ%?>K2@2ggc zCTvgaQaG-&(Pa~fVvYrL{7C1eJ5K6--jAeKz3dJ8aJw1PiDn~zVsEe<871O>vPI=prUm^A-#W#GQd|r2 z%b!*E8@W@pU)+D@-jct!^`8(9FNk@tt3ZzaM*8T4ID&thr!t2|#;i&+J1sKHueQ0D z?wDc(HwNnq!A`T3Q=Uq9(9<-*uy2HfCmH3W}!wV5bce!l*Bfb4TIWgJK|fm7jV0 zHg36{%$07m3w$-3iQ@!@r(@NVUv8t1y0fK1Kv_+29KMeG`3rP6Nj^q#-*L!Q^5|yg&c=iPW zqW*LUYbRUN_eD53Ze8(9Cah0KS)I|VLELB?SHT;ej>7Xkca=Y<%tOhjHB~zLR50IJ zn$yRSrg)Pq?8NU*s1TI_?4?Hrk~IeOKXz>BloXi*d>oHDPn~}|@KZiKOieobqYS_f z29^}*A9YhL9E|UF6Nb6lf!%BRYQx8wGuhg$8Mh_g&(bAO|6p#ho_l{BjDC+UD8Y9~ z7;V!Y{5!l1h1MXS%8*bId}1~U+pJDXIU5PeLbcnp9C54lEInPU3b{snsEaKpDxGW^ z=Rxy)KC#_c9BAE=#N@2e;vY&+SXq*s>GxT0ALrg!J~Zs?%q+B?GdZ{XCOCvnFdB#l zt+TKO|6K#d2z*v5JV3^ubb!#F_1my=?!Sndeq@U7~loFdKRrHK}UQk@e zS0HhqNu5I5F!wnwH0Yf!!RP?a8dGi5@gG(ELzwJ5UFJq02^d#}Tj$9S&y4L7z^`#b zw!II??6GD>2m2>+^#a_HM*v zxL53iup{`$eu_i$iVC81_VzieqYt!&sW%d8*d_oO|5HlNLJjY)C8pZIP#6hHQMIsr zU?HZ16n!Ad+9ta#Gu+*#gjF@=Mi2F}uhL5qey(Hv-XPersa(nU;5~bow7>HD70(`% z0TVX$isRlEfjfi1Hf^5a8=yp#s#YoPZQ4w2#$;hqgzy2p=T*97LS|e&`e&@gLId^Do4ii2uTGkI0JWqj*S4sn9tz z`b+=Rex9LFcBG({`^ThK)9o4TJ(}14Zl#HmW7>1gu(HKpNRy4R(#dLCOu1rhAI#J| z(?hf7`I8#{h{lP;`V^Hn*o0b99c`U@xtN*)`U-8rios-a4N#Q1qsa#S93|K`9y2Ec zUq7d07;XJNnqs_A@i*5N)d2ybPRQAK+AeQ&_7NW~&omyv8nvzjR|HlSw}$t-ytw^# zSN8aUoX%~oYIMgT=u_{#<4oFvnV0fNUijlNpisewN@cW!44}ujS9n6Y73NJ`oC+H! zEJQmx;}DKs>^*QDCXj#wp6+iUBV$p`%eo1$_HLrc*5w;dYDiRXIKVv0A?2QQ^tsnP zH#IJv&E5=Z-EGZ}+#4b(DqDl;#`oZ>$9aIrx;pCkm!ey-Js{YZW_|ONZaQ7ndkgJF zt@D95tqpsz-f5%btYK9mTxBsJnMS4)msLjZtTy?wPSNBpO@IQFY@8$>d;INgQum>~ z@d?PV^c^WaTiG^*j{e|2&w4Juj6|^X>0N#sX;cp{-BkcmbxnN+st}ldWY+NP{T6KM zmWB?Uw$l2FjX|}O8sBDoOWY1g;#kFadavMgjmeJrw^-B0?Uhc9GZp{+Pv>5$-dFhJ zq~`DaWWVz68*s@e!Wh5xV5RsjS3Egj>vKhMsx_*2KzrTcJ8`!q%E5QX0cx1wd~~(| zqH0jcw@8ud=m8+*mWIXWUnA)3@~@X=XD=eEuO-N5Ur5OreS|C65Du2)b}SsL@Eala zlQRo3G~h87Gh8?%dPVrxDb1&`|A<#HUIuXw<(S1d4EuBCh znOpnL3=v1W_fM|IA&j^Pu;Cu2MCAWW3XVGkr09!vWsws#fXcJ*$-72W$1eA9%p)X` zC;HU}&m`@Ab6m>FRC7&Hn*hEh*Iv@0T=Y*6?@XL51D^C5gm#k?-@j~bt}xFLv*TrPD4ZB($+$;bl05-zX{?LT2tgYD@VBNP5Q%4l z#yse{Pub>+9{VD~xhve5R_{HEe=lD-m!+qs*`hsmu5t(EkQ#{J$iNe1-K{o+mACApPEIDGdNr2qM4{>XBve4h*2#C@{CbU>?)UI0QE znv*wEX(%|QeL4LdEf*L-_qMsbMOd5G?y0P{-l=asj(gG>IV&ssu&V?ioEBE5OX}^G zQ=zrwe&n>9&VfPK9{QGV?WUjXo=V?;nt}H#^I<<%82Tc=#=;VY?KjY1ig?*0~JHZ-@W0{d0X8*iABYgX{CN(A;t3z z?79b+TR@`ExLCy3m*OY7#OgdFSUx%-KTcHT%69qj^1Va4!YOrvIpirVeyO0kS6R@Z z-K^+WgA|93^V-JZT_SbIkD{$5dNCd$$_pvfg?Xx3F1z5VmmuuK`ue3 z{8aSElc+D(t!UN1wZkjr2)5O`lTZ@*!DW+ll1ADQ=B9z`DHMnLUiYS}CXNlZb!2Zy zO2C6$A`XLjj?+I~FT`BIzeWoI;I=gt@T|mxa%x&;Aeu{;+%SB@^$=0`Ih~^r0P3%RFX1M^DFB2{vPTaK9T0J%fn5iLobMq+Vj7 zSW~Jvk$j6x>m551SOsDa_ySf9`?wGq^PaxOh93gLtoudEXm4uiFN|q+Utc|LZU<)t zkem>j4yLP>!dAFtsbdM_33ybtXqx}3q3)LHXWR2H!INC_L8&N}I~Xn(?P)l49rFBDYEW;|IGJntVV99u zeXy62?3FQhQCe8xoT|}y1<~l{wIvr&(vZCa8diI>?BOOzGhT5Qle>)s`@c3&+^&SN zp4D~9sWOAV4+(fRi21mKJBy1RXXv)`CztVdEUxca>wPs4BAE}@=W>5?7p|@rg=TFz zS&_M3nf(5{vks|}t$MftJWWvQ$d6@4_d%eL}DI87mQ;)`@TAh9PzUpM=nfx|8w9mU`xJ^Ckt8uq7MN|+oMP5X4Bio zzpSG{VBS$-QB!TY%-_ySnbTSe(FL*aO-QKjLol?xWw3m(>N!`ok9e878+u<6$OHh@n-M=EvJAj>1B9RQ{wJI4L1iqgc3&9 zXLoBYQ3TP}$POWGfeMj3{&L#@>~ELfZQ(Ih(QET5akzn>poK2)CIb2|M=zsS1k-O&qToN9`E+JdC2ljGKBS@ zP$iQtcC*Q&VDljnnu;)n+XCn;`XcJFL2Ya(G?-}!RPvA3Yiiw+&LP5O3ho9rPdUJz z+ha5*kx~wi17E3Gh123qHCv6Pwa!L!F0#lCb%4y1fa85&=U1VW6f{dkrVv_(Aiq{p z;Ull04BRXV<6(>o-ow^A^eD9 zVJ^he?f{lUBfW4B_#7#)-UoE{!EqpOFicWPV*~~(d13Z^g41~GGIy~DU`RO@-9GU) zziXpi!OibAz1H_RepDHQqo)Eux|M=};Lj?_c8I8N=NV;aYv5vAIQIZ>G5wf&fFQRu z(rB6PV95`GmKFZ+NX^*8lJTS?(}vv^uXPdIYk-0O%h_KW&#NuqbZ_XFZacr%za*(o zZs$`Sx=n|vxxPPE7prEg_$vEP0Z=rMuap!mDD4w}6L@Yw+I`~fFUSSuKL}Z2vxw2{ zXU2iG_R}#I49;eg)}GaV! zF9e@Y?vEfvUM5k!<6 zL%2>5MCd@iH6$tbn_{zzf@sY;x@2*!jjRon7iE5|3Ck-W08{;k^WUo6ZJ+_9W}qBK zl8&r>OJ9Z+Ly?pJfeZ>jXQ>J9rP{YWp?Nqj@`P5cmG)S}3_v{r@_q<_gPrUnaXi^4 zBhKgyA1!IowU~bF#n-9XBh2P^U^PV$C!$wmp>T`gitjn4IvCp3N^qKrmwNnaXfMtE0zsvXP%9#((|!Jd)2}IT9mI~N7)<*f1R;8z0j?LyHbmftQhfpOSmgM`)^@LdaMz0 z<@wrcvTV`L{llMwNOb}hV;53PsH;$0l;)`X@<7hv4BBw`m z>Mc(Ux#&kN5HJJ&j|S>9Mya;{qTT9K#5Ax4F$5y>d(p;e4HBWqaL#||i^@-=Og%$9 zcMCOg1IS8SEx-mPdD@}nUp45ew=}2FswwzDe@LPlk@_d&@$misV|_@q+6Nh{nLd6u zZe@KA>&7a&cK|eb03NrsDbXp1N@q<0$)(d#kbsR$C*K>DD?~WVEjIooJj4Zd%|3~ngVyFFQj6cnz z@_6=?@o!xMuUF=p3K^#kUS=4M8WS#Jkfx_^uKpXdyy{o?E^{7p$RFg%?Xc%uA;QPp zjsh-ZUH?le6qAT6wg2c#D${?5IRH^Y3_KoZ9eaVl_dXEZ+DHs0@2Izr!8$&83QfOk z{&4mW<@VXZBkuak8LjIR->Rx@hs_P1@Fi|L)+KJ*|1<_YB2?tW-78?73vbO2N^JpD zKwQCFpSotFDA~WxY3VDb6Mm)P6TRxe8j7fQeI65D-yfliPx+qvr6AY-k`mz8(|XZz zlhc_TpEy+bR_?QZ=SOOQ%k$8zl@#=k-ct0QB%>t0GUT#$E2UUE;%$Pl0$0X~70cWD zaH>B{{Rw+7#$M6%7VjTtG#XZ0`2g?mccF|H>t*K79BJg$+hGpf-^&F(q_yvEs+;ej z8jn}5WYYo`P>y#M>!0|p<$+@#^?ao5D>@sog*v_vSmX>eoSWiD!T`e z!Y3`_oR@-iA!-n|M-We618S3%Ffk(d+mN3um;eG;*fn!r``&pxsO&|8`NpsF z9piy8C9+(x^{R67ju@kybYX*+yYDyrW+IRUrM3P?QsN{zU887@d!Vha9Md~cznFjLu&Oh*ZJqDb+Rp?N|5um zAks@-S+At(;;eMzGDr-ZcJb&_bqNSz`pVphfkx4s6^)}fvp*2*=>7P50nNF*(24)OY_~d681M73*TGFH^el9 zE)_qCy(>4&(uDSK<=1t=L$1x!9%N&l<^z8Hn(}OIazX%=sNib>WhTPAmY9OmpDQ$gNRwXy>m(&!yGAeRx1q0=vAmflf{ejZn9JB@LYpGFNGwmK|iWE(LuR^Z`F}U_>1fBp85f1q0 zZ&NUmQskc7l`eZrIq}B?59bP3mr{pZQ*Q3hqRcggd+fi;fH~;r3_jjq*3`9fb%R6T zYGIuh|36tOxxNub(%&ZXS>Bt0c9jQNy?-FNRPBShEg?<7Fz)b<7Mk5;EC&upKvgic zTEgquh}v_r=4p25mYsL%>;xsgCqxsf$d6b2Rl-J%qJ*F>9kKINvnEr7`K1h_(k}l> zsQT;`bnI*iCZQ_*>`f5I0>(Ml>5(1T6 zJt5BJP{5q&tewaJ1)Yc0Fd>jnJFv^}e<%0x9>~(yKH@Q{o#Xw=(vJSEehWYE-G<)r zr4W~=Tz%vAyIodcTee90(uuEI@!K$UR-M~+0am>WjO!TZjJkK$>3EgRz=aGE{pg(r z=Pc2`PT;re6@N8=79tx;R1FK&CU+3G@{DY;zs3w3>d)SIj&o|T2^d&OuUAGNMt?D3 zS-i7W>%ES@7=>>t?3neM?*CkH^eTG6u#1p8@!Rb3cbaQfM!?H8!i>7bNuTj`A^JVZ z<~E;Rkd*_*`Rx}B=Rn&jtX5AEOLD@YGypZYuorU)#wgSln3Xh&hENUX!KOv8@L6|Z zj&Z$O3+8i}U*hX$R&SQ5^0}YL^B;aG53iHV((i8{iEaX`EtgiE-EI9;QalH2E2Xc? z|B+I8k-2Ut|9J)4YCvxlVl+|>V+v6TWvJ$@`W)D|X77*ZSZJbsJ)b9s)AplWtYVrs zW@Mp4JQ@4fM>NwC^%KgUXo(xAoztjU%c5l8W}8``ku+nQP@I2*_LwfQ+CwcOdsp9v#2-hR=WNR_u12f#<5O{d4&xt3 zZnGXRUFn0Sje#j>L9Eq7^ruMTD{3{;DfE%_o5_mqbC~PRHs*8mMLTv(>qoj{TZ(Xd zS2AcBuVzVjfhLnjH?GNt-JrxDEj-vu?-(nm4wbdull-;rL9H?(zBiryCA`J3nfLBZ zs8(t&Uobme>c-wJj8;jIQxcv%JuQRq5GD72!$$=QG(G8+Q#y^S3jY6`$VuKzu+(CR za{3-&DIrs;o7)2xbFq_r-c~RK`2X+{SK2AhVu}1{aw6%Orn0sYI)2_02+J31u%rO z2tue0ax$TbOUXpXq+^N^r%5Q*vek?>D82tROPJz(jj+aW%vB7=s;L}1uCTgn7Z4A> zsiz^-9}t&4)# zH0_zLs?R>zdQFJhk#g#}7Q0{b_^P%%;@vN`SdJ3&hKAvw zZ?lJ_=!P|hNPG4`3E-$%Omwn5lz&+@9m&$ZXVkbuKJN={C!MunjKDSw71>DIMW^Twg1@SP$^1!UMSd>~Q z=(;JRb2CupLtvikL$6HbfGt8Frr?Kk>*b=jmpX_4U`uAenl$E6r;H32;VB0q`Q);r zD$~C+zR7()N(c$1s%BExG36h*ob_q{#ITEtSc&N&M{FR7wrI~bvURKFIj+Suk)3da zPGVgAJ-R(vk~ByO+}27vT*as#Y;TLU9mfow6aee(K8#V~8ji4-I?f^y5`x&Lq6AIg zIM5;tF+=!;ODtJj-lP7ExU~C}F1UBtU|BUgx~C{h1M;c!l2k#ICUj!7HOp2P|abb86;rmq@q;34^$zi12XAzZ5V z-KQQ}I#|_Wd;clS8y-b)aHl3Mmfwz$0JvYIS&JVqGG-&>PsU!4`b0PY5$uZJl$$^S zv#wtJl#L5iN}mF?xVX?q(6w1c9%s3$h(77sGW21h-d#1Io(d(UYyAZ%=7$pAfv%s$ zpShIM@A@$@kX9Yblsu|+rxXkRnWUQQx%iTR)FkY zhMbJMajZ;xpFq+ ziOuv5HA-lqS$U2sW3L?)5jS6penNps@?asjRUH0ByTAZR0Ga;rW~O1ZUk@F6D1pZt zF6O>d6Yjep6#Gv25 zQIw>^4WEs*!_p-;ce$_>54)AKr}jxsX?tX4IrmCR=57ICfAoz5xV zc*nXm^Ynr~1PHfOT?;&a5GXQ}+BqUflm5cUhEkndsk089Aki7?Bcbyt96w9`qwQO8 zzksxDG&=YgcFd8opU88|n0B)6JZ^|d4TrjEP<1JLiVhhGtN$}^^}XukZ(plIKzOcq zueL>*2!H%0uC09v{w3E>uc>KXGMuV?kl)uGf5E+{kj^?Bx9JvzW|@jA_clqMd7 z6@t{Prb6&OsMlRgRV2oBHIJ8xMAog|`d4$47cC3f)W~y3Tj-h?YG{1eubTP~P5Ue* z3`Wuy$(j8*DY8ToQM7#;RTHLAjpk2Nst^8pA&W}q9iFtcWwVb+Q@p76>tpRNY7RuP?SryaCGwSaEA_*tBL+qv&p1MjqUR=G<3+1jTn==)vacuS z*E9F){uy^B<1AKAIFo{a>x*s}7Zh7xd8skqPsmZo03%W5liS6bXWhxH7!xcFpf8%q z{sWT&(Lf(~AvFN9c9+JSylVwds%~Fxcsx938;r?k<7gzS^g*cPe?R3NAOw=OA!H+L zL1%T^_JZ6G|{sYY6;dMG=2&n?}pkIK-|Tpkg%r><-vp93lc?+c|7 zHcHsTR@$IfXWe2+kPSCFn%}Rj-g&JDil^eJ#%t z2|k@rFB`e5m0nT$C3`Nx<`^(83`kmd2Sf6|;Wn<#o&k2WV$Mh3im6KDZv85~nXyLzX##QF}O&PH{c%*STu>OnXRi5!vD#io0^2JzyOk z7YZJBZ-m&jHB%p+DTL+)3LkN*wpO`1~5aXYIP{H&3|=jQPI-@ z7I_i)`O8%Ec2OR#dTZ)GMj+UK|FSAji0+0q-Wr9w#rWb|l-Zna0It^~mWnc573{%{;QBM~57c;#bq{+k# zWCT4(fRup}upt5+(&LJ$0P9^hCSaR*mcIj%N`D*jKO6r2iBaFVbh&fnZ1kkmO0g}{ z<)$|z)@hx!N9JxcHP#sOa+o479#Lu@kFjNip{;H(%Wueh_)`T_5UNmf$r8T;g}{g3 zFR~F;0OycxxV`Azt(AR1?l{?RZ7c)(?{{m)6j>MP-tAAC=m0wQtF~nhW3po3TC`r@?ol z@uzHlGEGM}m}`QoI=uO%pr)1Ae$St&pl>=QEihYHiO{!=;>#P6XD26qAZI_&xw_`h z+`Islb{8mmG;g&tKPdkyVb~6bOh7(9!PttysC1vbGjRxWl|T%PJ)2e6ei$gJGkCU5vS{FD_|b&DHlo!n7#Bkh()b~_f6my(a*+#L_F@Hg1m2E#u&B=ZMk;b^{X3wDh;{;wrH zjLK|xP3kxmTW#c~o8Sks@u>|R(D;YK%@}ru{pxPqi{_ouMQu%xR%%i5iL-6m0Xl%} zyQr@U_G|?@Jg=+{7pbci9vAz*dt@k<9{qY1<3-S{`Cs@HQ$9Nf#`~ZEn_cb;BHBrz zxLC?RIT;9HrabH_2RG}x`+ufcBq*_EK>G3 zj(GHv&V$B5iZrW0SNp^|wp8B0c;jIZi8R07x2zTn%8f@!B(Vcf9u(TW`3|gGo|7d? z2!^}bO3sg}F49aOu-_r|>283yS$jas;+6r4F5PYu0x&4@X?-%3Z+6gsDXE?sc@U+! zXSXlzsgImY-y@TqY)|JeHgA=aDODn>sS?~#H*2w?m|Txnma_`j2eU5V^nbl;7^_IB z_k$q>G8Hg`@0t*W`%DC3Hy*Zk|4d&oefqJC7(w?lDT#V;=7^ESQkq|(J-p=;za|2^ z8$Z*}Rh3I)!C}RX{JKSam38)C?UJU>@qzao1}wSn#fXkabN^_x@T4Lp?BdmF|H2#3 z5YALLZ#2K=i69?#T~}bXx$!@@4Pdm^+I)X+8fc?J$uwzzMKM>lH->8;6!Dl{rO;r5 zAeARJ5J@DR!E<<~)5GxNz0gb}cYI|Cnx!>R*GjNnX^&WAt}tU3nfPJy(17eZ#1vcJ z#_;>f$k5$LD?@jO zqzn(;-QXkXfJm!|FnkAn-}m?Z181MT&)IveeXsjkH;vlrVpH_m2HZk+SC>Pp`Xj$l z?$IylTx-Fs+QD#i;&o-$-8A5EwXtWb;X?27Q233gHk1&XB+RIiMpkawYn z420q-QKXLnXm&V1?{mcPG_KGfuy3l@I z*gu|$R9u!0SU0SN>TqOsZrs1MOdg2I^SGiHmoJJ6F`Lynp|fy06%xJNytsWfnCUqUpuW=s7v77#;z!q@e{aoFO!PMv10Y$SH;dRku%uHZ(t$ z8HZnMZd6$O`gdB}dMv|4NxLaeZs#{OCDz$?LCS8`#aY-5kO5%J=8#J{Y`EVEN#sDy z!D&j*#A1rr_T!q$7c4)WlP#L}fZLPYWVrUN_<3cqdmMQq4i30Y%u7!t_`!$>NEaOm z^d#0{D)KF(W;bQ07|UDn7;H`X?}Nf}&nD5+*WKR7O11BGjD99jy8z=*ApW_OpZ^M- zN-r@N)Fe;?)Jx1m#<3^U8R>_yTnE_|*~Yw|U_BI>`uILNqD4>bQHS8+Dw7_fIZn!| zGJa8Ln6Pi>1#Kz0L>S7WOx* z9v_}$`ks;u7jCx|9wDQkZ->1P3a4+VS2_%HhswY`sXxZ~bkpW`=e*Fo&Js07-%y_BKt-GRD(5fl=k z%EYKPs8PcrA!|RM>Q}`A?O81@9dqKG-j?B*O*fTvWBKhjFzdb>G3VR}FEnB`{G%7* zHt+n9t#Xrd$Gn_@A@4CV#%3=B(ybfbi9(s)bUfPgB;2i3B70m~W|6=t&ZkcBzW(yfAXCb!vfBe;0TL2% z>;j$e@)>cE@@p}Dej&$xVF-`4w77P>&fZ9~P?#o{(kByk(0Fotc0E4^r}7enJaLdi zV+QPGGEyitN-rF^3@;oLZQ`S@t8%`Qk1z?eKZ=LQa?w44s_0S3an;RW#JnI583cHL z*s<>N{yQ;YtJ%%)L_r5kd=EI`Y7Qi?G~}$-E^&;X|KrW9Gg(55-Dp4cL!?s-QKY~J z$sWIISA}6tZ1zTa=8)Qc7j^9)mjL*w1|R=~sH`{eDs9cx?gusXCqaEOCBl^K!BM1V z^*!$xuK5<mong zmfx4?IgsaayWKt6;@NDh_sLk~QHvJY&m341drCCm7~UY`QAhk{7FY0?L!wSo|DIQs zC!j$hMZ(2>lXK!bJz}VhF&@gaEYw04WXGXDkC-c4w!Z`@FZEc@5xK4q$@63?Ewa2rh zw{$qXhSr@!BuCzgKbigfzdg-)sQ=sYhq^Jmy?kAgGJ{}qul&705}Zmcd)H(^`&$Uv zu?L%jYmdMK)$*x)YGpo2k|88CXaRidIkl>hiiUOTWMFBTvnm zSwC2*Z;vI6MujP*LR40s5}(O3>o0CGZ6vnn_h^M(l6B1x&X{`kkX1-XjFs2RUMXu# z!eIvHtnBe~B-`xAP(hY^-em0JuWg!`jr{U`O7{6z%+)^ zj&(wg@IOa4UH6^#-Vb-QesqLGJtn($BOt=QcRistrvb*$?LXL%?0-I<-Z#wOO#)D} z4vqX}kGQ;e2Ie(NP|eV@obdmCx3{sHBk(p8`i z3h#;-|C>^TL^5CdW7*>e0hI6wGd&Hj7QM_+6$8KP(dO`yjjq#DquiH~ce#O3szZC} zvwa197B#~vjNoLU_GVIilGvL*-5)0R5);7NCJ8CwHGi_I+y7hoqFUxz`kzCbtz_7t zAp*ba)(-`+3m^Iu(+>)m+jZlm#s*?kJxt-9uo`o_HAOpHe!N;IU}`e zrZR2-KlFz|_o$_~G+BY4M!BBSp`i2}xP^8<8E2yQv%@E+r(Y|XvtS&*c3bxF$6J%= z&p0sQn8)nnQa{+c>oZ6SZI$!KZ300bAOsT6WOkl#a)3Yc+EV>c0BSTs+eVriSp;Daf0%#% z5t?IO0tr%cUP?{KM+r9hc!~S2hq>pu1c>yvmFmxa&uu4}i#{)L*DX28(i*ydDJEbWt(tXri<2QA~!i_gV!D=!f~ z+rb>&>e4A7W}K;X=_P9_f)A`HQ3v`RbSTYj6W>HyPq`IfrOrnM^6$v~syAs-5!L(=xi4?4&HI33=ZG2T z1Ql}TR5s5XffDi=eFdI7%H*W7@<>c~&!+nuYn#Q`|9+qrbI1-RTXXalGQ%v?JM2ed z>P|v5b5D*beF?(rx8b9`R#&m^qS@5~PQw49ry2?LJms()>0y|NQ`C$ zNm-`ZIl)JTQYg?FPw|TLpl5kaLLr#Zxd!W7xyOe^3v6o#sTjFpZUJ+m0Oq9kby9fT zSRc=G9Ll?AQ}OD?r3UN?NhLA@z#4grb(p+4OIBMhJ5Mi^&A>6X8Q7rN zElY)+4VEHd$1J!BGHVymgS@XDn$?*u7_}O$#nT_rqEUvE<&62$6^`-Qsi1NC@VwA; zUdfXYiKOw8x8K4uEW2pM)B4}TG~tZm-K}-xR$;(u0rZusV?0*EL8I0ukcr3?nY&61 zV_ktgNUA{)s}XFP0vLG2zo(B!=(!8zUL%$O@3Ofj4)xj7VIXy{zPjEcbC}y$F%Q?p zg|A-84Sc-K_B?^1%uihK#iJO80F)!-$h%#36eTx*?fwsbCKh(kZ*2h5>~*-0Kjx}Z zosELBe`Zq*uf>^MqjZsbfPV9J2HmIZ^lv0f)qH2V63l-SVZX^}{Am5WYhBe~*Mp3O zbms;+(cYj{ZiS(yC>TiFUPmDxsK7dadK42toKlWGk5S(sIJy<8*GZ6AP{J7Gzc#z) z6Q?g>^yQEbJ|3NoglS~!tz&c0e87T@n3D-yaG z-A@7Y#jY!VTTq-XRK6j-+mP5UrQFkg>eJ^g;sZaQcc*P(DjJHH+I;gPZmUIH!%&7bqS4tFIndy66ZO!uWdEt5Xas zu*Bz?;zL4gqk4l_C*7>ON^t%{moR>Na;Jffx^eAgt)^xluQH;_*)p0wRKk}~E?KAo z-5{HRaA%hakppX9Lg8je$EaY_ZeAD2qNB4;DVirhmP{L41G83xyMC!Twu*NsVQc%I zsNxaGv`H-dw6%1bY}v{PnPJDrukjMB$Mpt>#w-S;UE>(tOzt>%!y!zR#N8wf-Su_s zdMnw*F8zUmz(y4%nV8twiU|p~J_Mya%bEUl0m;7Ixz(UKV*zyd1gR>jKdO*N2K*l< C2;_+X literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_10.png b/mods/skins/textures/player_10.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6784230498dd9db9171d0a77c9d0187475efe5 GIT binary patch literal 2326 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 JPDHLkV1gvE7b5@w literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_11.png b/mods/skins/textures/player_11.png new file mode 100644 index 0000000000000000000000000000000000000000..845ca18d7daf38b99093f28d3583fa5000e27933 GIT binary patch literal 471 zcmV;|0Vw{7P)5;0W42IBw#0c1%; zK~zY`%~U;0#6S>z6AmpbP6J}AKR_f32ijg0tt_nk0Tyys=GwHT6$^iWHWpSIQ0xRf z!P~+g;2%&?1iND_@?mx}A<4z!rrNx`_jYz>c7cXL5_q&tEa8J|&hf1xvDX`=Sh6lM z&KYp1*uI}-4wbf+46Guf_wPq>U0ee{lf{#qs@EGW($IO!YFegPJNN5D^s%yu;CLMX zW}0=O!(?t|6%matj0YX2(mCKzF|Hh7N68h7|B>rZE&~n~YeY#baH*0w8=36Lb;xRZ z7j%Oche{O&r*;PPQ*o3hJ3`IiQ2loXtE#p^%bd#P^XC-UKezw@oSp9dvHBYcmrVm+ zaBrz?cT+$U8pn?ZDKem8)Z2Lk8td!hjsT!-cRBk8kT2W?DL#F#Vh#KWTj1+8s3n|^ zNt_M??QREKz}ynjo*%A(f*S+7)HP`rPIkdnc1(DQkrjib?GlUt0Kavce!FD+*rEUc N002ovPDHLkV1h^4z0?2z literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_11_back.png b/mods/skins/textures/player_11_back.png new file mode 100644 index 0000000000000000000000000000000000000000..4abc788d17e72b9f2d7ddb8393c88e7bdc1654d0 GIT binary patch literal 416 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9F5M?jcysy3fAP>{XE)7O>#4mT5zDEHkS&uI({jJlpKjv*e$lM@yQ7$gb5`I7Xf z-*->V?RvK+wg;DbP7A1c?LFYK*C4~;(=p9A_cTu1s-LR3^nrJioLb3Q76$2E4BTPN zdkQSRFL`KOvNhuHf;(^QlOx|*rY!%jYySJZhk@*$`*r{94~IE(9RF>z%1fot&EMIL zhxuQ={eO8^MLh;ni8K!3t~4PAAO5Mrmr|YGnyfBdnec|`Sbm7#DG|vJ^}j2#b~}8x zImxzR!E&$G)bx+9PZ+nYJnF&zpVhWp_-$=QR?Citk18s8tP;BdLTYQaPoLNb1o0<+ z+80S4xY6LjUBUd(*;#U8;su8^5t9XMN}f{e{wr-}ykcczYtz$aW6LXKtC*Ai+Ss7% zt&?zc|0;Gl?qFug4y|hmuM*e{9a%Zu#KoE=K!Bm8EF`AQQI;JTmJFV*elF{r5}E)L C{h4e4 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_12.png b/mods/skins/textures/player_12.png new file mode 100644 index 0000000000000000000000000000000000000000..b85851508723ce40e4fe98338df2b43e76c8a050 GIT binary patch literal 4121 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 Ef>Xb+6#xJL literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_13_back.png b/mods/skins/textures/player_13_back.png new file mode 100644 index 0000000000000000000000000000000000000000..b93995622407f48f72b32687bf72b1b1055f9707 GIT binary patch literal 316 zcmV-C0mJ@@P)4M`&kK+wi1rg>qM5pI<3GA%#H68gDVI} zdAn`jLDZO}{rWP`TBiws_s1g>q`Z>3@U)4gu*FyRK+c&e6RK%YLoEBUK^#O)18X$s z_pkHW(0y43*;qF-#t{K{pG@o%{waeP)cXyD8sh_K7zV|6A#siK5=;j9PF=FJsM8z(s1mG#_bS6Hb|6dZ`m@uM`ugefmo*8H zZ#&Rzs)PxCl)VDr&9jfT32ho01jow7>t_|g@?v8Xx4vFpY@DVBFxcB4UY~}DNgVag zPETC3Aec1yg2|u&mf$3g9&AM{{vS&AB#yQM&R)wtekO6$Qvm)n%z;mG*RJrVp$n`X zfZ2H7nE!{b@2sHNc#f!ZToY6QWucif>*N#~yPG5?ScYqB)g{ArkV87PS(7x+_}$tj$;2#};Flm6q4|a` y%;c2d`@jkq0V_1$h5JVSBJ@ff(vmbslm7+l9kWg&=l$gX0000k$9)c^Ze4_K3Ii_YEz-SE zC`4TNw=F5gxG>e^Hcf9F=B#r6eBb@fcTVnw{~D4ulJ8YpjCBi6SEPlB<`$#tsi8%% z057j@ofwT@jA9DKZ|%r~ zI$tJ;!od9d=dzZ9C=3qs3IuRe^YHs949um8Z6I~JVqU|q_d{K4(|G2Ji}C{qhU}U=6$-VD6s#Z4Ct{*1!`>^&-1ao&d1< zra>_OP%mk!Rd`ayTfjE(koN#d0wiTs*jC1eC3~K$%BZGrw>+sNg;j##q<^DqUZ|a? zV#Ef+79|QyYFwlZSa}=G^1hb*0OII(Fw3pCGLn3YA6o-2M7}qZk%9MtDR2Nxk=!a5 l=z%rxn%TP%XJt*1q;GWcg|*utTqOVi002ovPDHLkV1jFd>vjMD literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_15.png b/mods/skins/textures/player_15.png new file mode 100644 index 0000000000000000000000000000000000000000..9042fac82aed9c2db9abfc05ee077e11f32f8edf GIT binary patch literal 1106 zcmV-Y1g-mtP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3mF0?Cnr@Kyd~wcX|FHgD$7g9RO8B0Godj`{7HL(P8Lox6oIQkzQFs zAi#`sO`0@m(xgdVx=Wp22Vf#_dL4j?!0B}WCIY87KUWEy-uhf2uzILLBJgSe7DBgE zI|8obcmq{dtpoZxjt0V}bs>Q3Xa|fp0ssIQC(!^%?TLWR1FH+fhibqH5Ar@_07D`Y zZGhWqe!1I~UWtf~~C*<->H09W09Bai`&(nPjL zkz@dx{hn|H==M9p0bsGm1PZX(BLV^Z813)(^d}1#?q-QuK(Yf;7Vv8aJobR8;0$K~ zaaY2+vmsc5aKRo7=?q}*Nd!1&zYsPLeoorYxo}w{Fx*c|oTJd4&4GO`T+ZhJ&4trB zKytxBVF;F7aHSzwg5XL+umr)ChF}STD-OXN1jmLTrTlLa1jmIS#cg=t-!up;AR^CV z-b)eih+Ay&Z#w`ze@Hs71Jt@u9mM)>G$fJ&Fpj1Mco`sN#SYjl2Kgl%4~Y4_%3uXN zIKZzJz-^b_2dH(SI*9e%Se;01G=3Q%r8)ppQp|u9rDeDdm{OW0sDNcia0Cso4Jn48 z71yY3skQPB+NNFv&?zBDcnAy4SA6qsM9_Kczv>=B{g(R9FUzgp4v(EzJ` z2-5@dJ{kbo?*LhXlkF!P>X8iC*%Ls9;AH#B2MWvqs2vA5kep&4*jA4Lygd(?2@be- z#Qi8VJqI9oK>P8~WCI9cbczQgnU76x00=(V074jz0KO;R2JjyTgmQrI>i~Z4zEXgP zO2FEEp8`xN+!uG_G>8He1Li@v6!tPe?_rs~PXp#Ygn2?K26$fzz+LzmK(!0iL9Fh^ z`b4TuK_Ayj{`m*gH{(>U1)Wo)rBvs3q4x$mMpgG0AV`-3gv*ReWM5Q ze8RBh@#6V}WzPhl^z+LBUOFCl3m|Ca|2crZ%mx2E0F-qjJQ2{Bq_Q_0#z}+88;%1# zf6Pda1IwiW{wn}~KUrya>iuM;-Rbv}<#yp-n)bO+zn7+bur%CDlRueS?xo2eZIydz z`e)wg0@z&{2^Wq|a&tG3mbeXFk<*I#%ZN^Xruxwu;Yje;%jn#8t7Y5*jE Y0c5rE;pyW7fdBvi07*qoM6N<$g24IHtpET3 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_15_back.png b/mods/skins/textures/player_15_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a07a1d37adaecceda86294860fa20047d4d39f86 GIT binary patch literal 1014 zcmVPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3mF0?Ep}{F&j0`b7*I@9MF0Q* z000000RKQhKTiiLB!Tn>%z&mb7V4Hzr4nf>`Kj8hJ$#V$f zIAHL}n9G2{PsvyX9gyd5f(`)rFQEWcCfS=JE^!cff&p^sggmZa*E|lhHLUbLNR3o}h zxRSq({ts7~zX?t{{iPphvB5tU;1G<@$?sd7_NE=mPK&YORy}00R|XgfB^;= zV1NPN7ihlGY`)cPzS(ZR-EV*3Xny2re&`Bc|0y2%z++$K!#4t0As0JXmc$9Mz}p6 z34~XOdSEF~)c|8yBI_%Gtw>h^jPF8a6s`q={3;;KkLPd{5EhH$IUEE;GpLzDD-h?G ze~n3gF_7jLpUTZZ{1qlMI0E2jZ~!3Wi-43b0b>4_1N>Kb03grctAS(&H{!WZ3!r=+ zV0N;D0D3e3BLJSkkpK~N9B`|7dfye`V)g-g;?6JxsF-~K;w+6@4vCnZ0OCbb1Q0O} zzT_G6hE6KR(XZLE)>9bcv`wvDSN2BJfPWGgq~2sI29`+HPvbUh9D|EA%cl`Q#1Lho zsJoeZUC;KV`8fta!9eIs^FPDK-5Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3mF0?Cnr@Kyd~wcX|FHgD$7g9RO8B0Godj`{7HL(P8Lox6oIQkzQFs zAi#`sO`0@m(xgdVx=Wp22Vf#_dL4j?!0B}WCIY87KUWEy-uhf2uzILLBJgSe7DBgE zI|8obcmq{dtpoZxjt0V}bs>Q3Xa|fp0ssIQC(!^%?TLWR1FH+fhibqH5Ar@_07D`Y zZGhWqe!1I~UWtf~~C*<->H09W09Bai`&(nPjL zkz@dx{hn|H==M9p0bsGm1PZX(BLV^Z813)(^d}1#?q-QuK(Yf;7Vv8aJobR8;0$K~ zaaY2+vmsc5aKRo7=?q}*Nd!1&zYsPLeoorYxo}w{Fx*c|oTJd4&4GO`T+ZhJ&4trB zKytxBVF;F7aHSzwg5XL+umr)ChF}STD-OXN1jmLTrTlLa1jmIS#cg=t-!up;AR^CV z-b)eih+Ay&Z#w`ze@Hs71Jt@u9mM)>G$fJ&Fpj1Mco`sN#SYjl2Kgl%4~Y4_%3uXN zIKZzJz-^b_2dH(SI*9e%Se;01G=3Q%r8)ppQp|u9rDeDdm{OW0sDNcia0Cso4Jn48 z71yY3skQPB+NNFv&?zBDcnAy4SA6qsM9_Kczv>=B{g(R9FUzgp4v(EzJ` z2-5@dJ{kbo?*LhXlkF!P>X8iC*%Ls9;AH#B2MWvqs2vA5kep&4*jA4Lygd(?2@be- z#Qi8VJqI9oK>P8~WCI9cbczQgnU76x00=(V074jz0KO;R2JjyTgmQrI>i~Z4zEXgP zO2FEEp8`xN+!uG_G>8He1Li@v6!tPe?_rs~PXp#Ygn2?K26$fzz+LzmK(!0iL9Fh^ z`b4TuK_Ayj{`m*gH{(>U1)Wo)rBvs3q4x$mMpgG0AV`-3gv*ReWM5Q ze8RBh@#6V}WzPhl^z+LBUOFCl3m|Ca|2crZ%mx2E0F-qjJQ2{Bq_Q_0#z}+88;%1# zf6Pda1IwiW{wn}~KUrya>iuM;-Rbv}<#yp-n)bO+zn7+bur%CDlRueS?xo2eZIydz z`e)wg0@z&{2^Wq|a&tG3mbeXFk<*I#%ZN^Xruxwu;Yje;%jn#8t7Y5*jE Y0c5rE;pyW7fdBvi07*qoM6N<$g24IHtpET3 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_16_back.png b/mods/skins/textures/player_16_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a07a1d37adaecceda86294860fa20047d4d39f86 GIT binary patch literal 1014 zcmVPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3mF0?Ep}{F&j0`b7*I@9MF0Q* z000000RKQhKTiiLB!Tn>%z&mb7V4Hzr4nf>`Kj8hJ$#V$f zIAHL}n9G2{PsvyX9gyd5f(`)rFQEWcCfS=JE^!cff&p^sggmZa*E|lhHLUbLNR3o}h zxRSq({ts7~zX?t{{iPphvB5tU;1G<@$?sd7_NE=mPK&YORy}00R|XgfB^;= zV1NPN7ihlGY`)cPzS(ZR-EV*3Xny2re&`Bc|0y2%z++$K!#4t0As0JXmc$9Mz}p6 z34~XOdSEF~)c|8yBI_%Gtw>h^jPF8a6s`q={3;;KkLPd{5EhH$IUEE;GpLzDD-h?G ze~n3gF_7jLpUTZZ{1qlMI0E2jZ~!3Wi-43b0b>4_1N>Kb03grctAS(&H{!WZ3!r=+ zV0N;D0D3e3BLJSkkpK~N9B`|7dfye`V)g-g;?6JxsF-~K;w+6@4vCnZ0OCbb1Q0O} zzT_G6hE6KR(XZLE)>9bcv`wvDSN2BJfPWGgq~2sI29`+HPvbUh9D|EA%cl`Q#1Lho zsJoeZUC;KV`8fta!9eIs^FPDK-5JihFQ(x8hJ-i?=ugcPLh%IK?S$!5xabdy5vk`Tm#tG&%ds z9?9(4vQ`qKp{9U|Mur9h1B0mulGTE?5EvL(FbWd%)7c-+dT0adsihzdQ#(a*0s|w! ztSBp`JRBjMz z;!L3-MfznKAqc=rJJ>5;;K*nSHR3N6*Bjz^l<+hYqTzmN*0g2gmvCl?q#wIz z6Zma{qF2Eg&7H=Er7RMu8U-f%tlC$f6G=nxN7#|Do)p&#{*afb^3y^+Lz+px`x`A9(NSEl%&a|Pmxh(Ojt!_G>AAYpH||&&@|P65F_b*zH!C2 zXXGd2p-^>ckm$*2kyeKJQ6gH-Ptl0sw3|_-i8R`RaIfTO(O`}gaF%W`(0Uy@!@O=d z(&kBh$))~?2*!qX#Wvkgoy+WY+QNb;FZTTNeL3iH2R_n#Zc6IWprA4o(gJmod_{Qp zeNUUvgw8JUGRSlB4AfE#G>AkXp5y@JH+^Xo3Wyd@;gd9SKwe8;C|*-6O&8EWpYKQ+ zqHO?i-dQun%J3uuX}T5?JU}+1HMnysU5^;3Z0(a$IhDjG$7bBzk!Z8nG2;{RbQ=p% z?={n>WY zS(j2!P!N!Fc{G(Vp94P{$j_g?i02nMA=Ilxak19Qc=;{l{VgS<%5J(qtvx8?aX(ev zU?G=^nT0c}X48APx$$5QlJ?&d%67v2kh#qz;8#@*iP%WR7!EWqP>X9BT`tSaN zRk0ljlT20=7DxfC?NkM6Kg}ekORD96I1oUU(pgzqX&j+i0v8k{{yZfc&SV>$ZE-Pf z4GL1eJ)V`h)tuDs72|i?G&%hcgj&ght@aZKa=kMULjnSUaGFiFLf*TW4sy7yzb<$` zvTNyf!dK|=#lpqJa?+ip0r&oHN%;l{y5CLlkOhLN$6+_Y#-e*hnR?^jFRLzcy zc+Do$Vh?#~cLt$ewn-rkI1uQ8$H4XuY;8uD< zdPXkOZ3UF$g>en^Xo z2x0nssVKzHTH7mjg?AMu)1rUlfd{8^WpQa|jkVf;rB)jUTq+fkrp2FC@MzVtd4@_n z?k+csQ#@4jKj@xHb`i|!$uMt1?L$d=@NBs*P^XrVRWF)|7`4Iw@5jnBK0JqUB=rUy zkdaZ&u`Gf0O)-Hx?soqdbgktRn^F$)7h^~FG}CE^_V39A^;{IJ`i53Wje~^y1 zjDd~)U;rp^eL=d3D;qz&y5hV;@j!H7quk6e0xS_B1awqN85kJEIQ0h`7oZ_5h5Ku9 z7?j(#cTZ3*V{3Pf^}$qzh`d(8`?K)!_9ZIGhwE0#9$k+6F2 z85)m{*Toa^Ub`(-XOAq09?gp}`rzgX9-FhMqHx%hPaumq9cvR|F{GuXm0s}Zld;;y;;GmJLZ=d< zkCOc0b-X=$=eSgDxSMmSA{xsdH)U*LVbO5b7s(V6BMrKHi`L0NTKPcwan96q$jPDp zpn^nM)q++XMIC$Jd85NSri@|Rhr7aB=_tlarWks;=klboTCWBAYH&G7|Z)7e&y0 zS2k%ZJulDXJOCg`bQkAIGY8PH6a8lPXV|zW_%k=p055UDZFLkDCCg!BzWC?W3lG$~ zy%SW;jN1K`pLT|5rNUZ9COY5mv*h+L$pusvgprjejGG$mH_M!vwdfX-_-gmmi*pdc zi7pY*-G%@MqgK&M-IXMS3{In9ahF5s*^Hfm2euvidF14a9*~2(W~%O9*Ud0FJ%l&# z-nq5*ZWK9r|80~LwA6IShJ?~Zwr93bE=}w|=540Zb5?k;Y`BZn! z`|>8v|F|BpAe7R~8~YqQd>Jx#_L{r?>VQMKvDIbE^>Q^)JnB!Gk_iJZ zih3SR6~*;UonC_{Z(4+zV~efk5>;^S%ch?5jo`W6U3R?$WaVzllUA^}e~2qXQqnJ# zaJalcU~^hhVu#jT?0`@#3B)|N*klbv`y`wa=&u@sn^GhM&vO`s{G{5siwSG4>mm;;iG9i zIob*4@fl9e!@XlsTBg7gyf8-8&JDIuHk0x($x_X*wCLxuR)Zia| zWrk=7Qy7)8O+?ssWz@o6rDy26kUe;JA5>JaYffe3)Q-h*ye%y`4&C%^9-yTbLOVRr z1_(_@E($jDB9YR$Gttdx5`GDGBOd)B9kM)l=G&fLBUk?SOEbR;S)R6UKuj)jAJfO# zlGQUQ@ABJ-K+0I}N@4C=_LkjmI+}=N;D!!|UxV;2(RF6x_Z4Fij8e}i4X76#V8BJwR}=9Nfy$*Oxf4~2EKWs+a%nuq$%v|>uGEdqybUz7+?2emoLrAzT3 zNTn@8j}i^!j7&3`qQ!kei4<7z!}N$v1x9>e8{Vib@apb1dIR~<#F&6jgkICGJJCe* z@u!u};v-4fKn=(9C~weIEeSzr9P_?mp?D0OCQ~qOl@#3T=XOPYubOp~RbRPOMwS@y zYyns35j8dE2l9WfF)fnfH3;luW&t#%bmA0r5;T$4(okV_yn2=L5DjHjMw`QY6G zsis%ILML(?lZq%f_Yg~9Ggb{t3^Ujjc8~@Uc@H#%R?Pm<cu~=U4{}E=^|N$9eS%fM;YRS_r2i_rKzxxE`3!P@xXCksb1Y36sz--_objD5+9j-%{y6zXP4pTuq%#*!HD{UF`-WCL_mbg0R#*{~ zxRxkY>*}DO#_4o<=Lu9e}=xR>m&eAPz4CrbiS}}rp@+o9m5^Lld zef^IHw83xPE%Yg+Q}(?z>&=WfejlmjZE)9+T4}uDZ7U99nZfvRMk{&9uv=vE;FVX_ z@j&bBewhQGWU9>12hb<(S}^X!CNX9-9~Z_#hFelOZe(p{2D4w!hbEnBCej zrA`W%dgj3$lQGm_Z-GKO-;A*$(%h|WOe9sV+0${1{Ml6sy2$4bs8lyWZ4y&ONtnTp zrSBPZCCu(V@pY5!W=3R+@vgeFkOr@7{QX3HcVctFVB4TU*US=-@3MvzSz{kJ#^;P1Gmy&PWH^{k~s^k zZfL!f5A|pAI(r}lft&X+cZV5_bfl}G>=5(i98YS-mvRbU^C-KhHPtgT%odn{vv!U3 zUsABgz;sCq?2TNJTeWt4oDen&5@&|_WiLMA=F;|49+M#FJFx`b;cNu#x~lH#-KOmw z-jM2~K^ZZ^a9lhA1kx3;iOL9 zKg#7Awq^YHmhZZw`CGPT&L~xI46n;uI!lco-Q&xz-dBGw(YyEBmEYEJdgpG7cd60F zev$0m9u+E&k(PK^Th+6vt`t0!>+dO?`zd-iYdp??wi#@=J|WbPDvz-P@wGNia}xPI zfFFsxni{Y;uDC%Jm;7&P$661L^u?^k%J@yhIz-zy?kbsG4vuatUL4jYBnaMB@87+e z1F<+6rH)O$#u#E?0d>EasTOFXdR_l8f5_A{hZO}9lT-xoK)vpA23oeT% zWhPei{A?_u)CNO`+DUv>)-L%5FOgU={#Az|%1&?>1p^%*+}C#V9#1QfrB6A~Tx+9?)%t z54b$gfsvFH=e0SRyEd$wy~;eaN*|1|%tQBbFm<}jMh66DjBbmeMDxBqeAh%-FOI7+ zPR2*i0kc~>rI5bDjq2a#?6D1MtmpH*xf%3_j3lJPygUK&cMB}MDU5Tl)Vp-$LtPy@ z%jMccQ?5tSUz;kJmjjbprSzQkzf2Ecyk^ywjh14Mr?$hhxK}v{CRHj51nWlJKdOTb zsde`m7!~HHFpS9BmN=6mt0=ej<+hw3YLU?}pY#a0w&8A)A`575i3Y z9+=@{*c{BTsKpH$#aoP5x2xV`WF!J-lhMZZUG*>rL)_H)l8e~Mz9F3Np+ohS>c3)- zZj?OOe!XM`_!W^h+^Nkq*IPWG>}2eIncX=Gd%06tqdHo)$ExV;OffF7y>VKu ziPX{{h2`!At?_NP+7Bx=IuROc{t(vk3Qe z(2uShJf(s^alCZ>{E3oOS_<5~x|%iuUTC5%-Jp-dP@dl{n;%7M7#KjhK2pDe5K>4Z z9>>qtKJ`8AQysKt`}vwMjQeAVe+?V4)}LuR_<*?$MbP3J%UD|Z4xR;L7m>Gb_C|n0 zLRrlqX-zC1)}?y{Okm7pZ#{-Sw&mj@PsB5-RZN!o zeL46WR6Epb_;KuSY5lf)LkA98nd?Re+ZrSCfd<90L9F%5;|)EE1%q54d`iLGEQkV^ z;h!Je-#Ga9_1_tJ=1&B|-QQ4Gc$>vnZgo}vP$p1+f4~CpJ|lX>(a?x>y8TPt4?)jO zj$8N~9#8PD@)f9TbpJ~hjru56+KN&`-GYXOhE2``)7Em3BxBcptGi3pJqz`QDJc=i z=|PK|8-GGnW#g86DB7rPr6`a<*Yn$mWqEE!M>d^Jr-3=Oib2_RkU;ahQvy+qr&3g zQbt)vtG_3=kv_n)>!>`Tby)L|ot+&v)0(SasuYt39eS3QmaZ`}kNM9bSAf-z_fWxbR7h(0^cbeqHyYvneE#Z_*}munpl763PvR`%B+E0_aZKo>1tM$cEWW?y*0EXmE)& zh#edps(%`pHgP2KR5K#fnY2p}B7rY%UioVE1yVG!OHkvzl01TW)3c&E@Op{OgZhks zIc9fjNw&7b!^3#Yy-C0?h}fgAXMu|U5I2s5|_1>NWw_jiDxH~_WXYW^v-GiI=F&rVf0*b90a8Tr$s53{@}W33fCHNJf%QS6>+o*S8x1Zh` z7J~bvY#7^U8Pw}Gks?Pb(b`4tUAPOHx|voCUbWP^2IO|uaybAVUd_6LvYRCj9TWk+ z2E$Z0H#f41_2(Ow2j?XsnWGW6)QWGDulwSd6@P1;f$cr)MRnxI(;|v*2|AZoNtZ8b zXjBI)T?Ja#yK$V2@p6~;auo0eo%)V4G_y!8Zd+3U1f<{6e@Cnwb9)_YgoBZvo}N5J zM`|5qPe~-?1NR}gHb3Gm+U7Ee6-#pv8}LQrW#NZGMlH^xM!@_9AXv2;5$=*uS{Q73GRn|Ana5j|_i-|ZhK^7m zmO{iQzFAU-_vdEz-SO;CJ9V2fI9w7E2vl(q05&&7-{0NW;&J}d~C{|VAw)@R$_A6Aq)7Q-^~ znZ}GGS>yvyF*#J<_sY!X8(Qz97mJ*$woyd05EM&=+?_4E-_@dVS@t6cuUC^P;X!bg z2)ED9;wH3Fd3bpCaUeMKs5XdaXwfk-Qiqi=FDTR3LJpgHeiys4^_AM?w9h&S1{$X| zam2ZhgZOamf(|c=O^e$2$%Z z6&%_HWYR>Z)X&~-MOeg4w0Q{U9h~syXa{%-V#0&7-&M(Na+KU}k2Qr6q*Y986EhFm z41cR36`4VR;LHOYh_kRsH58Ag8P|!QnbCkgtayltLDq>lOrqJep%~pU%`#K*>jAw5 zF^7p{MkR^o(NwxJKqWK(Hdz^f;%)tKx#59Yimey2g&=#J`6Q;|Q%qpk} zHciZ>;ITpBQ8|E&kEbdFmJMU*3^*Rp)WQ8abx}kU(g2x*j=ueU8=Fj|nGSEKb_AZZ zFOn@|^x(abq&;2$ndJN1>j54_j|i?Em?;Uxbiba@!9cNThD=Eg2cK{p?O&^XC-db8 z@iM?6a*quINl6$UWxCJ}B3l9oc~0OP{P`DRGs%w*2-sAjU~6&!!*rC*I6Zi_M1k%n zUwC*poL0MsZ975=d%6(ZzTaCOwERG@$@r?#>EqIl@TYgs)Zrb0d;>oVH*lK zROnRV`QIMnHY&;d?*80qvJ2kNYB}`i&|mzaEAyaa-3GF zW5C1JmV$r-4m7kuAGTs>z$G5&2%&!gtMKPqbiA#JKcE)Jh}s;-Z9R;Gc&*&U>emPT z>cEO*i0416VZ!{H8hzW=1!w9lWo%O9lT%WP5yCJYWC5cdTcLdxk_-+6N7IE+J5LeA zg;0BJ^;Xq&$EwURZLfGCqU>Y)4(%wj>tB*TF892BQJLc+0Dw*Kmrdp6=xypde6JGO zq{Bcigd4b!aU~{EXYH674jZ8q)h1qya#kro1TwZfkpoErxu9OSBO6~rl z06~3mW>#Bmf!)j(q@Oh?7jTVfJf0IZb_-5SKtI~~@2WCTHE^UR%Cch{Ef`dWVgn6j z5L!&@?cOjYTu`Z_fI~04LKpJDS4{0#Nt4w<%U@au9{)Mr1SoKb z{VP^ZaKedjQuSZqGIMZJiIlcE&=C5_pcILIvE-#uYzanl5OmZ01oxsSZchxVS-7$n zxc~J)3oHh=DnJFAri#ic8i36RD51in3HZXG%5>CbM-c5RZP}UgTa@a9S|wcH=Z2;P zD3;Eu3viF!Kv%Yhrbo~Nm$4LKU0tU;LoY+ypUCF@&jfY{W0VLX#L{8a8b2iOueOq) zrwN6d%XGr3anSaO%g_)qXaP-eMKVz=x_}-gpDOC2zQbXZi(=oaP1(K|?WM5%C1+^5 zoHaVf)!}tgyx@=XQxYysG(4U{7|*cO(hHh?jMAal%joNm!acqGolce`lmGc~GK~#q z=4)+D3L=k1FAUVqG@-7E9vz{n=(#)v5$?#It_hvqbGj6BBUg!IKi92026{Chw%;&K z_34Qltw$0ev z$YrbhGgP!&)4HkEA=yTMwU)*KM#X0U` z*o`XW0m6%lJa4>643F zg{`j9Mm@T$Pyz_LZOZyMz*Oni>7`3HF3{qjEV$zf-@yy)YM>sq@m&!%qaXxOMgD_k zHx)!-p#olvi?leuk4cJLMg6WN*>?d9F2`6EWxe(L2t}@WLhjP4|Lvots-kyYj~nGq zy3Y>Jh*(AB4yEUS+13VfhF(}~Q=BB>m@(dg~c zNv}v3?>W>0=NRO>)Pf08eFLcDL1@ZXdH%sKp@~*2S#3m$+e}w=aOoWZX=Qy z%~zWO-Rs_6W=shc6;vx4DDv0zKq$6QrVK%!ibMM|EIt~-o z*;T}T@2R>5527nj`={jA_;?HoIf7_r?eFyjpnCiu6_2?Mv{vshbJLjf{Lrv3l4c>V z-g!bg7LJ)W9n5w+OxDj;U7Ug~#awT%aUYgv!Cxe=vjh%cP0YXUKCZ}_b=yZBB~X4A zUfqqW-){|{64SAy2Y z=7z>@Do+ZD7e}E`{PTX0Yfyt4Jotj3Dvp@bN`Vy*5_b1e5}%| zk(O5mB(}8)(Vv?xs-VLurnS>5F4vkSuh62xw}jN_)#PXi_*VTu3{%mNv`tY;XW6me z4ddE&?hAuQW^p)@DV|5MBG9VLlarMNFD&S|3b)Xs;?UnbY=xxC#St;PTelW^k%iOx zPMwFVZo3)ffD(i4g1+rHYOw&>{|M3yHbZG?8JYB7e|Id{QTN-zS#y-p zp{^kLbg?RRwb?24-`!a%gK7@=yK1iEX8*u|A~cm#tTAc^L1SInl8HglkZN1mr}jvTNVw0dozOv$Bl^Mg)-M-}Uyi*$g*i0&F=b zHzSHQXra;1Jt==Z9fO!1(<8>f-z3d1#aV! ztT{HhY^=gLrHo{d$%}wL%ZE%JKDNdlL7J?ML4I_9u84ow8)10=$e!Ejos(SX zAokiKkYcj-gVCX>fX7$*bujBJwyvDKsi4-`Ss~bT^Xm&&4}CUo1*|{)he+FY_$D?m ziV;~QQV0C-u20y4NVYK&fX5<+x z@BN83du_#uUFQ>xSt*hNG`0zNZYPLKV4oX?wp?X zo|i+?-tItAdg-OH62Z$36rb7@Gf3Q{%}J^8C^eJsZ+A+!Ehv^}ev$CVws_%(U25U& zYifO-FQ@YV5%wX&MyGmP+033;#YZ&(kc2&$T%FJ0p{%7ajQhb?ovmF>fegpmFRSO6 zaoUm6Sd?%$#H?1yL#ud_PWCH8@h4e?W8pfNgx!E~p0dvbj2IP+I3D7JUh*lTcL;S{ zDTOAhIrvJIT2xz^o8$;qpIXBYv0Xv6Zu6-saq{4SZ^VaN@2Y#b>RYvyD3*^}c$Wo4 zQm)y%?3MD17{n&rmv%;p%4f8r%3pDOH&~1R((bouNy&6B9R@gwYfOMONm}I7C{BZ= zc(%=XhM9RKKBvUx?~@qjQ)$|ZNqyQXRrA-sa?2G&9jx@k#l#KUKccUhy!nzsw$6fT zPulms`KHQ?r`OEZiTSqx^`OzKm5>R;m=bMJ1`HcPGCKMkf5#B^%b|{^x4dwD`dDK8 zgtqNUPZr;!Ud+GT+E(!k?zVYshxVkfggGW9Cv#hx5XG* zIxJXE4{mV81J#z0OQ^utl75C){7(F_)1-atuH;AZ7x;+Ljg1B~W-LDpz`)n9|!8Q-VbHRk`^vndE-*TQ3D2Yz3A7(1$U%l5hWbla|4;sj7 zhn53HE$IVS zrfYMFD&OzmDN!X>S-J{(y>Ckk;_2*EPs7R2P%mHCuwO?P*^~7$b9;XzOqkA=={9N1 zUT2h`g;QCL+No!;!jMt3=uZse%~L*Y?S8kpS0Eg{DBVTY>#*u%SmuA8w~)|i5b8Ku z@46VRPKtL$3PRqDGgY@Tvzt!)XX4X%d}|V+ycHE_%=^o+AsL>{!HUxO0dsuwU29Qx zXL7?ONX4n)y!Pw=8m;?rL(H9OOCRf^l;|^=m0Es)hZstMI;WGX z>$n`$I4*3KW#R5Rz#ftY>MvqjtCpYLthD8wBGB~zk}<4SQCJ5XtAD>|F;@ZN#0M-K zr+pIX;Z|emt7!7nqV%w9J+s-JzHj?g%g>0`9e<5xwIUyJ)FU95!o~{Zy413Id8Hu} zoVYZvj1=1TUIA-(syo$DfJb2k^&n9R8e<38&`DN29g8p8D+Hj z#j&+8mmt58H<#jm)(xitZ4|kI=UGl^|lipRxT%v7Ghp)xO3+aso8_C)mCZDvc z0HDaP&(xS`J+Jja4f4GBz5B#&q}r(z1&iQ3!_9CLqqQ6pllj;er9dqMygtGDdcl26 zSs(8>&lM38_U;nOC~(lH4f=?}Z(+eA#Fyibq#&$nD!uehq!4qk(%1bk-b%Zj=5Go2 zYBg?&scZ?kJ>QnqNX&CzggEo^jBf~@@_jxK>$lQMXk)|4`&TH8Yeuv_Q6sy1O42ue z9)8DO16}A|(6#Eoc%Jj;x#J&^7~#?f>R0d?wEK@U@k9Y1J++NX>NXi?9NjP@UlLOE zL7`sc%ZS{4{X&n4&GJ8iq4ll!DN`AJb{4ijSjG6`Y5V_V#i)ve&X3c^CRzAwMu1&n z3h02|&ukHvPUy-zV)5UgDJt>Vx=Bs>qj-x1djBp1l1rN&gKtOrYN2w^B@>Zi9*!QH zHBC_dohCr>A4B~5dhJoboyt7-h{a6cE0QfqP0= zmsQcnp2tjYdoK*~#A7<@*8!j}Tj_wJC6sj3ozI}S?JRAGI)9=76wpY=#zZ-pB+ktfYS z#G1e%e#oqRX+HOc>w*_0P=HyH*$^{ZU!qQ(xteo8Tv&8Wb+wy!6xZfkgon$h*cXQ_ zzIO$uKOJ;_9D>u-50r)27*Yzy3dnROPdzUQ$a=(fP|V9#GuCP!lLN+%QIIHmyHC_T zE|W#>5FT3chgq|i6b#;efeXEj;LpzsvTYy@3ZdHH`HISA1aBqRMizIMxc%pHQTH-? z?Bn5Wf2n*Co&WMD`|sn{LPI(|3!lr_OJ`-lX0f#Y;QOS}RW?t1?NfL4)AiIQF&MYe zc}c74GTNHTdxu9gOr*_n{#oZ!Wx@6xBu}1xFxiX%ECUVJ<+?WKd}&33e*7D1di&?G z<#}j{7yJtyxVn?1L=c{#K&~8^7=Vavc5!4oN_SpMEoM&?8%AlYi;4*m*)-}hqfsej z003{#FT`I~sO`Xc5%XAd9;KqJKZlP&(Joe5Zpim>r!g@+prfUk@@Q8WzqjtOn5P|S z6jp=|nGgcV7YyAz7dhNpMt~JH=LS3AP9?QTf6St05=d3Mcy_p(JnJ^WB||8lvCqh+ z2ODV2npT4>mW@iLfoha0i!6drs$AoG6h z-p}u%CefqI1xJXck0E&)aAQXk{@l0~7AoRxd7w>?hxh_yRUtuxcQIbxdsBNKwwVY72z%+^E1_0nH-HIBD}|BF%BoX^&@{Uk|enXQKTiPC+GGN6BQx z_8{7IDECi->e`B%+9%sNPe&AVc06+~zrT=jsFyh)6j*^Rq2T52t$cZ+9-KI|Hx=Po z7|+4g9FAcvrYb`yG;hp6_EL$xnWJaJ(gSPSkzSpM(v@LfW%NV^P6|9eb7Xn^ccK^| zfx58(^Wn!YkomM>TF=Z_xcICO@9ixgd#wy_M=j!Qfc6~zZF=SL=j5kLw67h+I$ZDH zWJweiA7o~a`;(|9?h{$~-lt`0EHOr#oT;^))W?lv3NS3wIN25Om0I*q&RUz;>|!Z> z_4hLxgwtEvaJJtM=RCq#HzJVM1OABza$SS(j`;Md8 zvgsx6xa<6zt%SUJ-ORFR@K()j>F%9&{JP@MS-rt$qR$KoW@miOVhein@BG$Nm>ORy@v#iGgj(BPmTz=cTy{=bp# cdkn#xOsX!(_i2ItgA7JdPEEE}+9Le_00<~S1^@s6 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_17_back.png b/mods/skins/textures/player_17_back.png new file mode 100644 index 0000000000000000000000000000000000000000..64957176313d59aa9da2aaa5c8c0de84d43c68db GIT binary patch literal 5686 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 OW$<+Mb6Mw<&;$U^B2BLV literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_18_back.png b/mods/skins/textures/player_18_back.png new file mode 100644 index 0000000000000000000000000000000000000000..b27b6154184026e3556bdde694a866ce5a96a567 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#4mYEKh=6Cc%R!(}xTlL_h{y5dgarZyi$4CJysCd9 z&smMCnHpaYtzbNSh+)+-mn7cABS#grHH{~&l+5E0ZZufvsbkQ$%tcD#!+fT{|5whN s>2Z#G@kNjJT@xoxkWpsrWmzo2kekhC@}&5w3D61#Pgg&ebxsLQ0N!FiLjV8( literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_19.png b/mods/skins/textures/player_19.png new file mode 100644 index 0000000000000000000000000000000000000000..9042fac82aed9c2db9abfc05ee077e11f32f8edf GIT binary patch literal 1106 zcmV-Y1g-mtP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3mF0?Cnr@Kyd~wcX|FHgD$7g9RO8B0Godj`{7HL(P8Lox6oIQkzQFs zAi#`sO`0@m(xgdVx=Wp22Vf#_dL4j?!0B}WCIY87KUWEy-uhf2uzILLBJgSe7DBgE zI|8obcmq{dtpoZxjt0V}bs>Q3Xa|fp0ssIQC(!^%?TLWR1FH+fhibqH5Ar@_07D`Y zZGhWqe!1I~UWtf~~C*<->H09W09Bai`&(nPjL zkz@dx{hn|H==M9p0bsGm1PZX(BLV^Z813)(^d}1#?q-QuK(Yf;7Vv8aJobR8;0$K~ zaaY2+vmsc5aKRo7=?q}*Nd!1&zYsPLeoorYxo}w{Fx*c|oTJd4&4GO`T+ZhJ&4trB zKytxBVF;F7aHSzwg5XL+umr)ChF}STD-OXN1jmLTrTlLa1jmIS#cg=t-!up;AR^CV z-b)eih+Ay&Z#w`ze@Hs71Jt@u9mM)>G$fJ&Fpj1Mco`sN#SYjl2Kgl%4~Y4_%3uXN zIKZzJz-^b_2dH(SI*9e%Se;01G=3Q%r8)ppQp|u9rDeDdm{OW0sDNcia0Cso4Jn48 z71yY3skQPB+NNFv&?zBDcnAy4SA6qsM9_Kczv>=B{g(R9FUzgp4v(EzJ` z2-5@dJ{kbo?*LhXlkF!P>X8iC*%Ls9;AH#B2MWvqs2vA5kep&4*jA4Lygd(?2@be- z#Qi8VJqI9oK>P8~WCI9cbczQgnU76x00=(V074jz0KO;R2JjyTgmQrI>i~Z4zEXgP zO2FEEp8`xN+!uG_G>8He1Li@v6!tPe?_rs~PXp#Ygn2?K26$fzz+LzmK(!0iL9Fh^ z`b4TuK_Ayj{`m*gH{(>U1)Wo)rBvs3q4x$mMpgG0AV`-3gv*ReWM5Q ze8RBh@#6V}WzPhl^z+LBUOFCl3m|Ca|2crZ%mx2E0F-qjJQ2{Bq_Q_0#z}+88;%1# zf6Pda1IwiW{wn}~KUrya>iuM;-Rbv}<#yp-n)bO+zn7+bur%CDlRueS?xo2eZIydz z`e)wg0@z&{2^Wq|a&tG3mbeXFk<*I#%ZN^Xruxwu;Yje;%jn#8t7Y5*jE Y0c5rE;pyW7fdBvi07*qoM6N<$g24IHtpET3 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_19_back.png b/mods/skins/textures/player_19_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a07a1d37adaecceda86294860fa20047d4d39f86 GIT binary patch literal 1014 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 Lu6{1-oD!MHy@S!mKvN(x9#- zEi6mGCu)`G58!kWxy}qB6@ew8d(7*CbNU^FK}ix8^I&rgX6F5xnYs3TtSt?)U`Zmt zc?5DQut%VanA29r$DAS_rwdZ&sY@e^E-`)^*JT>M?Oh${`<<0TH(^MfUI2I(JLlu~ z&8dNiLZ@)1?2lv7Xo6ktgA;T3R`%yy0$tGM-1k7A_yyo6OI25wzJ#AIN`r0B!GAA% ltQp(4jEE+FFV-aiz%L*4jE2eIN?iZ|002ovPDHLkV1o6gwVD6` literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_20_back.png b/mods/skins/textures/player_20_back.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7103e02b387103f8b81b825ff9e158392908c3 GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=DinK$vl=HlH+5kiEpy*OmPaH=DSK#gni@>_DL}o-U3d9>=eS81fx5;IVPfO=p{T z;8?QNCG`zc7xKSgw%Q`?->|XY@sS`;Dzl0Ro0W?1>zBaHtA}Hzby_S(epX%=~zS^|ptSZoI>TQ!BcQ#F|g1WX)a7c#!#Ki+F~n#x(iv zz?{wN|Lj-TeJIi;D)h;fg9Z+tuTK3c{nTfz5NktZ&_8FUMMFRXmiiU(Ah{l+h28{%PXcZx1BLNbi#?Vm0vxGjNbhq0= zyL0@pyY1}mbhhoZ+aI3fCUfsS_ndF;nfn}3Rfbbs!|L4$fC%0^>DZDh_jl$?aMXb9 z3^W9zrSS_z-i~Ek6e(}gg5NR%@Tgp!D`*uUrs7UP-?*$3za3J5sdBzlk>7!bEUFdQ zbb-mAsnRFI{Q{UJ)suh|K)}{0dhk9u%TH_By+H$*FGn7W;64tF>r(@`YmoTulnS!s5>71^91FV$&&ndD8c)FjCljSC`$Az(XpRR07 z3$RAMoFM2Yz;cIhJ08BWDl})Vm22F`Y`Z90>Bp8 zILC`|7|0s}$H{Ux{*VxYU9z^&g)vRgnTjj|p0a9vhalfk#Z?+m3<}8Saf+D74E*-| zbwoq3b&c+>PXS1luVuyaihKi1FqcaNC*S=UEsmYwaiAK?udpO?*p(}Jc9$?xf4 zJ7I1Rp%51v@Uo2DWVJ&9ZCEfMfUtPSx-bp^&)Pw@VZTZ#Ql6*b1J;$QsVSQ&n#F$g z(4ii55K@hSVfS!rya|x4~4QW&&1bAPYhARXR?S&?D2s(ff8FMcb z11HTBQ45+u0HRxGa}TrtV>1X~Bm($p$)Ix!052^WS&VulX)*F;7(kPIAfNgSx(7)O z!5^x8kTL(s0F8|t&&i<^$ch#H0u<593ArB<-}5B|SOmlGHvt3!8mh0Czk%66v&X~o z&Q8{gI0mQ^p)h0(o$_m0RV_Q2e@~SW|#B(^hSWX zIzBEeIuBR0F8F_wg7kU zg3}NfhQ%d9Ujf?N$#wci$1u9*mHq>?wvy}g8!!y}3r|~sP{=s|X>MH8je-eILm)!Y zfB`}wo^j?LfXM>}2nLxt)BwHS5zU`3fk=ew;CQ><5s6S#Ri&2Gdapgu+R9t1gK}2L zRb>^h&8pI}2TDsN(A7l^FnSOG0B#xvQ)+7TPFjGH67hw@90R5elJmHn8Zm+wYicxP zE=&L@D3E-&n}fvuX4uGW;4cxXRjD=%vRy7-16HPKchc=<(XCtBy*_jU`27-yL^ukR zS~Tng{sayg20wRn=tV2*Uau@vWe29yuZ3JyWo~=BUQPfIkzK%Iq95iJqJKB)fOEjF zs@j_7?c#Pkz%ru4Z(=NsCwdSG5#1krs;Wl;{sTdMF$VE}`Ii6y002ovPDHLkV1jZu Bmq-8r literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_21_back.png b/mods/skins/textures/player_21_back.png new file mode 100644 index 0000000000000000000000000000000000000000..88eef2341e7d45269fbe26d1ad9293d6f27aadf8 GIT binary patch literal 1370 zcmV-g1*Q6lP){R5H_-VHyb)8!JqbmUS$c06MHUg4VJt*jl=XB;5;|efWPE{-N6L5!3 zSb@!dGW!EnZmZ!j0W6T_D&Q9&l(A9t;7tnaTeRkS-T;=!;d>3dO~75Zbpf39U@kwb zi%&TMcu96o>SXF`f^G%^w`rbGAF#fQ(!ED@;n0`?R?EIe71;$mFh=84T>^G_Fn90K z)g4&@*2$-pg1!gTJ2Xz!E#Qctn;Z1ilK{Tt=qA}(uE?emSOXN~*_?QrO9j0Xc-#W8 zMc!E$!2A{{8VBQ4T}vETQm{kTmw7Pf3Hpd4%YggyY}`gH1zXqYC+(vEQuUdvdQ6ee zfl4Q?iZlqieUiEY(=Q|6$>Mi`ow>LR z`gNvwRset?(Z*cN0X&$89Rp0E+Ze)|6M&#o90U02e<&yS7{CIcIc+@KApBQm6cuo* zMbKOy$wMKHJe?Cjp9H3RFb@C^=V%UqB6UUDcfdZVI=U1vM<=mQeGI4%%|jVdAKNs3 z!^y=u20~Jf!9D^!<>ZcSSVn_H#K=O1lJoR0LsEU6_p&gL<# z1Z)5T%(tv@$4kPqh-@I<^&EgX$2^z+eLF5fB@aDyo^Sa@-hm#44|n!P(r(l_8_BE@Utp!y5^q>(9uCtVIhOS zq)C%ZG-+O2D6}^m=2vB?~|}tox52mrzZOb^=7BbUAfb zB~nwP7f+m!24F+H`fPQzMn(YuB+LP>U#H9C{Cj!_KwBGcmz8l^mDfdBn+RsyoZh%W zmpGgoM2G;aSfK{6Ctik?5um@HF4J@j(2*&g5#ZW2aGCjA&hKRTv4Jg;SF-}lnkB)$K8^zO@?@USACo8ZL~E-?(*l&1N{QFYLE?WiGUy8Mn+VOSG@B*` z9uLn0tFv5p%;RS%8<^*b{oQB-P69uuYEPECOSIzyo+I}7&5V~B#5N*PV(WwV cRrLtKf9je9ql&bdFaQ7m07*qoM6N<$f_J@WMF0Q* literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_22.png b/mods/skins/textures/player_22.png new file mode 100644 index 0000000000000000000000000000000000000000..776a8c0a6841a65eda9ce787880df1d266689cd3 GIT binary patch literal 1770 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyw; z3kDDtB8ag700wGFL_t(&-sPEpY}Dl$z(3#L_p{d?<$6$LMJmuC&8RTgK+*!SIum2G znTyfHB^r%c%!u1!TwIP2HWRb`Gm~XmT$YgS4`gUE5=Ns^H&&wpB0q}El@?mHKwEm( z@AZCuzwiF2UGICnUfa9&{@If}x$B$v$LF5+dEfVWp2GjTNTm*Je*}N%OJ0`*%20?` zI{!vrDf1|$0&H8!Z|)l5nVK}sp>ci~*v^^HuW+>@0QYyWYts;~OBxays0v2iIFHqA z1}9&0lB zom)_|5Q`-xqCFm7*!&X??O%;pFhKiDtY4AjU_+Ki|7R~N$8J^;yIRwqw=~XPQ#m*R z@4WXKu{iI@fksGVy2on(#o)_X_v*wK}&TE74TeW8{h8QQ6d)|<$V50g zKY+us!ey}wA$=cs0wiDgcb`ZDuM!l$7vytFTYxr0cwd*(6RpJ{`t=IO^g|8ZYPlxG!b6Hh}S06crZ$I^@IK_a$HWXR3~ z@NcXP03nDs1LyJps_H8Q0C-yp091#-T_J!#3-HH002fYxyvVYsgOL}d7K&PP=UcY9 zfD=}ECm|~02Ac{1_*IHOT#G4wUTqEVQde{u!1n8)Rjx2Fq16L90H)@qlA>v=fSw!x z+Xh)K>ylGu@xwyn+}bLq4@=vTsFIpzfz%jjS9QezbS2;f zNGES$1{x{`;E^>aKqmR6Bb;4o@kzQ9K%@qyQ^q9{M{U81<=uqwPbzAGbUuKTIPCyf zdHoo1-&&%hi{W^xEM!^4oPId1*#&m^yRp zu(mVNojmpKAb_T427PnXqvouX8R`D<5C7inUR(PocW>iU7GPCH`^|s7^PhsrsrmKd z0ETRhmHR>o#Tpw2q&o(mwbksHd*F`8CmOH*g0u6;j&;SJC^t$>DRvBCtg9;x>;v{q zEj~AZB+3RbWjj`KeZZjnI9bOQB?IU}@|5cXx-EN32e8q~wSWs*D;dCJEBSashl z_q*+FJN*l`fM-;CLeHc;kSgyOX7GA$OFsbqFz+ha?t3>@x13#b$rpF6T#VQw=1&Y< z+%mAK^W^#HoOQz1)<)NzS8Lu}KB8}iG>f4|S_H^un*%NGqy7D(*;y^H``&Ma*ZsTZ zNce_tN3mZt7D)CEh2w9<{h98xYF$%pxh8Pi=veo8@VR2+z6zVC`qoDu>3qNM)(n95 z?W?xjeKGj9-_+_0kX-&B0;gn&G#J$#a)0h1;?zPUO{PxMt_ix>p`R@j&9J$c< zTHCJLHv&<$!)L17{p0H0uB5z7Ps=ryB9fLO5-GzT)h9Arfhz$21u9%-n!ZsJFaQ7m M07*qoM6N<$f_#iwoB#j- literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_22_back.png b/mods/skins/textures/player_22_back.png new file mode 100644 index 0000000000000000000000000000000000000000..08a1948943429d83cf7049bba42b45e6afdb9f4f GIT binary patch literal 1656 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 M07*qoM6N<$f_#iwoB#j- literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_23_back.png b/mods/skins/textures/player_23_back.png new file mode 100644 index 0000000000000000000000000000000000000000..08a1948943429d83cf7049bba42b45e6afdb9f4f GIT binary patch literal 1656 zcmV-;28a2HP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyw; z3kLuaj;WLY00sC-L_t(&-sPEVY!p=#fWLX~v)e9ZTPY$40u^bbf}kLwV62bC7;V%T zNi@-Dj4=`)F(#TN1T``GM-zV-jS2A&BA7^mG>TQR#s`Qziipr6RSTu1yPfSmXRbdg z(%o*CcBb7wp5$bcJGu9KbLQN0&piwOcafYcu_0Eon$-peh(OgWOlOoKwes<=~V8tXof{ zp^sLNLI@o$sH~&ZCb_Hnda_45_-0A~njRs%z+`7wP(RZ61(kH9nk?&PE@gK326lDr z$C@;No1b9Tq6A+|7c41ee58g2*BY>9+G_Tk_<@+~U2x~q+*fb%j#p4M5s#%LVjVu7 zTJkJgHqJs!7@+wD7F?EM^Xwe={O2!ggx{C36;lpZQ?s9Sp2q)+*TvlFavIu6eN3i(qxJff`+-U1(=ry za7&aY=L_BfNKA41jYG2NC%7(3tw-WIL$Is@)`nq~c#*ydZ^NrMQ!^{eVI8WSy!AQwxIIdX<3!ZE zhlJk5kPf$JfQf34#M6CkV;@rE+G3_mt7$p=?n#ATOFdV|89cV>H1Kj5t^u+Z%bfz` zBhmjhkR)G&?SnG7}3lJ8xWTR{!AHY^w;iy=RknRN@ z1S#M?1&Ivs8e#DYPl@!{0Gm8>vDB@gG)_$t&TS`}xTiRPsFT>3Jpfw6)Sd+9N}{p$ z(LuN|+XNL2qm!vp;^1eT$#~?Lcm#?8;9Ca)rd~XE5Vd8ZJ$3;=a8Y>xh(MwNI8Xpk zQCB7az~5K|pfUp9G694df%gjlJmdouRF)+JjDjk)Sk*dmy=hB|1Yw1L7@{m;u($|7 zP^I+2HJK9RwKXALXp3D0u!A~i}ya-Q6;s&1L*-Wp31TT=t?LbAd~9F49zYZfKS%) z0kWyTFw6J}0+OB&AkwEvPO;Iv-hve`$b^ZX%j$tlA%K+pDGy-AA3I3|<`N6nyD}u% z7Lu^BmHafDwPOGm6Hi;~LA3s(m_Wj|ss8gt0%vz&f-9};-o^CJEu+S*Y)?J_U|e}J z>PHAq{n5>|?>=N0nXUlCWr|bv_!Av^^||*7$8{rhWYoI7MZB?>8wfBo|08P(! z2QJZ%x@4!!$aD>U|5>|tZuJM=6Z0Oj0IMR_Wq$kl??ta>=D)@P4A~lRdqN4t8W;qm z%ex=5)!cyh^yLo>%{%!r`^RxN)D?TkZIzf->^Q(cTU!R$0BpEm{L%oDa1CI}cHHsx z+`xUEtYZtu0J@NTZeu{VWuJ2Z8_lf;Jjj}30H3V{-2xawNX`Lr%5=8?ft-GsV}MY~ zv%oDtFs;pY4iMLu$u2v`p}4-R)blZ`;O3@P!N^(v%Hh7UbB&z!-`L!=DmY;e`1+*> z^=#S)X?NQ&i{E!%x*vFV++DJ@H!Z4c+&||?AmN!Y8MQ||m^^)W>FLF-UmlE6;%W=P znlh+M8A)ac#b)zzOH(*tX7x}tXeZ&llB&jePMdZU3* z>O@a%Vn-sFZO^FIDb<#%Lg$T^`NzYLmzwu?t+}^zLG13q8&+S!Z~b8ga=#?}*1mMm{<8I}-ZP{BZpfEyhdN(xT3!8KD5kaq zOm#(YP`$>JlBekzxyn*R%2Gr!ZP@+#P<9z`4B#JHeM+ri#FTFU0000JihFQ(x8hJ-i?=ugcPLh%IK?S$!5xabdy5vk`Tm#tG&%ds z9?9(4vQ`qKp{9U|Mur9h1B0mulGTE?5EvL(FbWd%)7c-+dT0adsihzdQ#(a*0s|w! ztSBp`JRBjMz z;!L3-MfznKAqc=rJJ>5;;K*nSHR3N6*Bjz^l<+hYqTzmN*0g2gmvCl?q#wIz z6Zma{qF2Eg&7H=Er7RMu8U-f%tlC$f6G=nxN7#|Do)p&#{*afb^3y^+Lz+px`x`A9(NSEl%&a|Pmxh(Ojt!_G>AAYpH||&&@|P65F_b*zH!C2 zXXGd2p-^>ckm$*2kyeKJQ6gH-Ptl0sw3|_-i8R`RaIfTO(O`}gaF%W`(0Uy@!@O=d z(&kBh$))~?2*!qX#Wvkgoy+WY+QNb;FZTTNeL3iH2R_n#Zc6IWprA4o(gJmod_{Qp zeNUUvgw8JUGRSlB4AfE#G>AkXp5y@JH+^Xo3Wyd@;gd9SKwe8;C|*-6O&8EWpYKQ+ zqHO?i-dQun%J3uuX}T5?JU}+1HMnysU5^;3Z0(a$IhDjG$7bBzk!Z8nG2;{RbQ=p% z?={n>WY zS(j2!P!N!Fc{G(Vp94P{$j_g?i02nMA=Ilxak19Qc=;{l{VgS<%5J(qtvx8?aX(ev zU?G=^nT0c}X48APx$$5QlJ?&d%67v2kh#qz;8#@*iP%WR7!EWqP>X9BT`tSaN zRk0ljlT20=7DxfC?NkM6Kg}ekORD96I1oUU(pgzqX&j+i0v8k{{yZfc&SV>$ZE-Pf z4GL1eJ)V`h)tuDs72|i?G&%hcgj&ght@aZKa=kMULjnSUaGFiFLf*TW4sy7yzb<$` zvTNyf!dK|=#lpqJa?+ip0r&oHN%;l{y5CLlkOhLN$6+_Y#-e*hnR?^jFRLzcy zc+Do$Vh?#~cLt$ewn-rkI1uQ8$H4XuY;8uD< zdPXkOZ3UF$g>en^Xo z2x0nssVKzHTH7mjg?AMu)1rUlfd{8^WpQa|jkVf;rB)jUTq+fkrp2FC@MzVtd4@_n z?k+csQ#@4jKj@xHb`i|!$uMt1?L$d=@NBs*P^XrVRWF)|7`4Iw@5jnBK0JqUB=rUy zkdaZ&u`Gf0O)-Hx?soqdbgktRn^F$)7h^~FG}CE^_V39A^;{IJ`i53Wje~^y1 zjDd~)U;rp^eL=d3D;qz&y5hV;@j!H7quk6e0xS_B1awqN85kJEIQ0h`7oZ_5h5Ku9 z7?j(#cTZ3*V{3Pf^}$qzh`d(8`?K)!_9ZIGhwE0#9$k+6F2 z85)m{*Toa^Ub`(-XOAq09?gp}`rzgX9-FhMqHx%hPaumq9cvR|F{GuXm0s}Zld;;y;;GmJLZ=d< zkCOc0b-X=$=eSgDxSMmSA{xsdH)U*LVbO5b7s(V6BMrKHi`L0NTKPcwan96q$jPDp zpn^nM)q++XMIC$Jd85NSri@|Rhr7aB=_tlarWks;=klboTCWBAYH&G7|Z)7e&y0 zS2k%ZJulDXJOCg`bQkAIGY8PH6a8lPXV|zW_%k=p055UDZFLkDCCg!BzWC?W3lG$~ zy%SW;jN1K`pLT|5rNUZ9COY5mv*h+L$pusvgprjejGG$mH_M!vwdfX-_-gmmi*pdc zi7pY*-G%@MqgK&M-IXMS3{In9ahF5s*^Hfm2euvidF14a9*~2(W~%O9*Ud0FJ%l&# z-nq5*ZWK9r|80~LwA6IShJ?~Zwr93bE=}w|=540Zb5?k;Y`BZn! z`|>8v|F|BpAe7R~8~YqQd>Jx#_L{r?>VQMKvDIbE^>Q^)JnB!Gk_iJZ zih3SR6~*;UonC_{Z(4+zV~efk5>;^S%ch?5jo`W6U3R?$WaVzllUA^}e~2qXQqnJ# zaJalcU~^hhVu#jT?0`@#3B)|N*klbv`y`wa=&u@sn^GhM&vO`s{G{5siwSG4>mm;;iG9i zIob*4@fl9e!@XlsTBg7gyf8-8&JDIuHk0x($x_X*wCLxuR)Zia| zWrk=7Qy7)8O+?ssWz@o6rDy26kUe;JA5>JaYffe3)Q-h*ye%y`4&C%^9-yTbLOVRr z1_(_@E($jDB9YR$Gttdx5`GDGBOd)B9kM)l=G&fLBUk?SOEbR;S)R6UKuj)jAJfO# zlGQUQ@ABJ-K+0I}N@4C=_LkjmI+}=N;D!!|UxV;2(RF6x_Z4Fij8e}i4X76#V8BJwR}=9Nfy$*Oxf4~2EKWs+a%nuq$%v|>uGEdqybUz7+?2emoLrAzT3 zNTn@8j}i^!j7&3`qQ!kei4<7z!}N$v1x9>e8{Vib@apb1dIR~<#F&6jgkICGJJCe* z@u!u};v-4fKn=(9C~weIEeSzr9P_?mp?D0OCQ~qOl@#3T=XOPYubOp~RbRPOMwS@y zYyns35j8dE2l9WfF)fnfH3;luW&t#%bmA0r5;T$4(okV_yn2=L5DjHjMw`QY6G zsis%ILML(?lZq%f_Yg~9Ggb{t3^Ujjc8~@Uc@H#%R?Pm<cu~=U4{}E=^|N$9eS%fM;YRS_r2i_rKzxxE`3!P@xXCksb1Y36sz--_objD5+9j-%{y6zXP4pTuq%#*!HD{UF`-WCL_mbg0R#*{~ zxRxkY>*}DO#_4o<=Lu9e}=xR>m&eAPz4CrbiS}}rp@+o9m5^Lld zef^IHw83xPE%Yg+Q}(?z>&=WfejlmjZE)9+T4}uDZ7U99nZfvRMk{&9uv=vE;FVX_ z@j&bBewhQGWU9>12hb<(S}^X!CNX9-9~Z_#hFelOZe(p{2D4w!hbEnBCej zrA`W%dgj3$lQGm_Z-GKO-;A*$(%h|WOe9sV+0${1{Ml6sy2$4bs8lyWZ4y&ONtnTp zrSBPZCCu(V@pY5!W=3R+@vgeFkOr@7{QX3HcVctFVB4TU*US=-@3MvzSz{kJ#^;P1Gmy&PWH^{k~s^k zZfL!f5A|pAI(r}lft&X+cZV5_bfl}G>=5(i98YS-mvRbU^C-KhHPtgT%odn{vv!U3 zUsABgz;sCq?2TNJTeWt4oDen&5@&|_WiLMA=F;|49+M#FJFx`b;cNu#x~lH#-KOmw z-jM2~K^ZZ^a9lhA1kx3;iOL9 zKg#7Awq^YHmhZZw`CGPT&L~xI46n;uI!lco-Q&xz-dBGw(YyEBmEYEJdgpG7cd60F zev$0m9u+E&k(PK^Th+6vt`t0!>+dO?`zd-iYdp??wi#@=J|WbPDvz-P@wGNia}xPI zfFFsxni{Y;uDC%Jm;7&P$661L^u?^k%J@yhIz-zy?kbsG4vuatUL4jYBnaMB@87+e z1F<+6rH)O$#u#E?0d>EasTOFXdR_l8f5_A{hZO}9lT-xoK)vpA23oeT% zWhPei{A?_u)CNO`+DUv>)-L%5FOgU={#Az|%1&?>1p^%*+}C#V9#1QfrB6A~Tx+9?)%t z54b$gfsvFH=e0SRyEd$wy~;eaN*|1|%tQBbFm<}jMh66DjBbmeMDxBqeAh%-FOI7+ zPR2*i0kc~>rI5bDjq2a#?6D1MtmpH*xf%3_j3lJPygUK&cMB}MDU5Tl)Vp-$LtPy@ z%jMccQ?5tSUz;kJmjjbprSzQkzf2Ecyk^ywjh14Mr?$hhxK}v{CRHj51nWlJKdOTb zsde`m7!~HHFpS9BmN=6mt0=ej<+hw3YLU?}pY#a0w&8A)A`575i3Y z9+=@{*c{BTsKpH$#aoP5x2xV`WF!J-lhMZZUG*>rL)_H)l8e~Mz9F3Np+ohS>c3)- zZj?OOe!XM`_!W^h+^Nkq*IPWG>}2eIncX=Gd%06tqdHo)$ExV;OffF7y>VKu ziPX{{h2`!At?_NP+7Bx=IuROc{t(vk3Qe z(2uShJf(s^alCZ>{E3oOS_<5~x|%iuUTC5%-Jp-dP@dl{n;%7M7#KjhK2pDe5K>4Z z9>>qtKJ`8AQysKt`}vwMjQeAVe+?V4)}LuR_<*?$MbP3J%UD|Z4xR;L7m>Gb_C|n0 zLRrlqX-zC1)}?y{Okm7pZ#{-Sw&mj@PsB5-RZN!o zeL46WR6Epb_;KuSY5lf)LkA98nd?Re+ZrSCfd<90L9F%5;|)EE1%q54d`iLGEQkV^ z;h!Je-#Ga9_1_tJ=1&B|-QQ4Gc$>vnZgo}vP$p1+f4~CpJ|lX>(a?x>y8TPt4?)jO zj$8N~9#8PD@)f9TbpJ~hjru56+KN&`-GYXOhE2``)7Em3BxBcptGi3pJqz`QDJc=i z=|PK|8-GGnW#g86DB7rPr6`a<*Yn$mWqEE!M>d^Jr-3=Oib2_RkU;ahQvy+qr&3g zQbt)vtG_3=kv_n)>!>`Tby)L|ot+&v)0(SasuYt39eS3QmaZ`}kNM9bSAf-z_fWxbR7h(0^cbeqHyYvneE#Z_*}munpl763PvR`%B+E0_aZKo>1tM$cEWW?y*0EXmE)& zh#edps(%`pHgP2KR5K#fnY2p}B7rY%UioVE1yVG!OHkvzl01TW)3c&E@Op{OgZhks zIc9fjNw&7b!^3#Yy-C0?h}fgAXMu|U5I2s5|_1>NWw_jiDxH~_WXYW^v-GiI=F&rVf0*b90a8Tr$s53{@}W33fCHNJf%QS6>+o*S8x1Zh` z7J~bvY#7^U8Pw}Gks?Pb(b`4tUAPOHx|voCUbWP^2IO|uaybAVUd_6LvYRCj9TWk+ z2E$Z0H#f41_2(Ow2j?XsnWGW6)QWGDulwSd6@P1;f$cr)MRnxI(;|v*2|AZoNtZ8b zXjBI)T?Ja#yK$V2@p6~;auo0eo%)V4G_y!8Zd+3U1f<{6e@Cnwb9)_YgoBZvo}N5J zM`|5qPe~-?1NR}gHb3Gm+U7Ee6-#pv8}LQrW#NZGMlH^xM!@_9AXv2;5$=*uS{Q73GRn|Ana5j|_i-|ZhK^7m zmO{iQzFAU-_vdEz-SO;CJ9V2fI9w7E2vl(q05&&7-{0NW;&J}d~C{|VAw)@R$_A6Aq)7Q-^~ znZ}GGS>yvyF*#J<_sY!X8(Qz97mJ*$woyd05EM&=+?_4E-_@dVS@t6cuUC^P;X!bg z2)ED9;wH3Fd3bpCaUeMKs5XdaXwfk-Qiqi=FDTR3LJpgHeiys4^_AM?w9h&S1{$X| zam2ZhgZOamf(|c=O^e$2$%Z z6&%_HWYR>Z)X&~-MOeg4w0Q{U9h~syXa{%-V#0&7-&M(Na+KU}k2Qr6q*Y986EhFm z41cR36`4VR;LHOYh_kRsH58Ag8P|!QnbCkgtayltLDq>lOrqJep%~pU%`#K*>jAw5 zF^7p{MkR^o(NwxJKqWK(Hdz^f;%)tKx#59Yimey2g&=#J`6Q;|Q%qpk} zHciZ>;ITpBQ8|E&kEbdFmJMU*3^*Rp)WQ8abx}kU(g2x*j=ueU8=Fj|nGSEKb_AZZ zFOn@|^x(abq&;2$ndJN1>j54_j|i?Em?;Uxbiba@!9cNThD=Eg2cK{p?O&^XC-db8 z@iM?6a*quINl6$UWxCJ}B3l9oc~0OP{P`DRGs%w*2-sAjU~6&!!*rC*I6Zi_M1k%n zUwC*poL0MsZ975=d%6(ZzTaCOwERG@$@r?#>EqIl@TYgs)Zrb0d;>oVH*lK zROnRV`QIMnHY&;d?*80qvJ2kNYB}`i&|mzaEAyaa-3GF zW5C1JmV$r-4m7kuAGTs>z$G5&2%&!gtMKPqbiA#JKcE)Jh}s;-Z9R;Gc&*&U>emPT z>cEO*i0416VZ!{H8hzW=1!w9lWo%O9lT%WP5yCJYWC5cdTcLdxk_-+6N7IE+J5LeA zg;0BJ^;Xq&$EwURZLfGCqU>Y)4(%wj>tB*TF892BQJLc+0Dw*Kmrdp6=xypde6JGO zq{Bcigd4b!aU~{EXYH674jZ8q)h1qya#kro1TwZfkpoErxu9OSBO6~rl z06~3mW>#Bmf!)j(q@Oh?7jTVfJf0IZb_-5SKtI~~@2WCTHE^UR%Cch{Ef`dWVgn6j z5L!&@?cOjYTu`Z_fI~04LKpJDS4{0#Nt4w<%U@au9{)Mr1SoKb z{VP^ZaKedjQuSZqGIMZJiIlcE&=C5_pcILIvE-#uYzanl5OmZ01oxsSZchxVS-7$n zxc~J)3oHh=DnJFAri#ic8i36RD51in3HZXG%5>CbM-c5RZP}UgTa@a9S|wcH=Z2;P zD3;Eu3viF!Kv%Yhrbo~Nm$4LKU0tU;LoY+ypUCF@&jfY{W0VLX#L{8a8b2iOueOq) zrwN6d%XGr3anSaO%g_)qXaP-eMKVz=x_}-gpDOC2zQbXZi(=oaP1(K|?WM5%C1+^5 zoHaVf)!}tgyx@=XQxYysG(4U{7|*cO(hHh?jMAal%joNm!acqGolce`lmGc~GK~#q z=4)+D3L=k1FAUVqG@-7E9vz{n=(#)v5$?#It_hvqbGj6BBUg!IKi92026{Chw%;&K z_34Qltw$0ev z$YrbhGgP!&)4HkEA=yTMwU)*KM#X0U` z*o`XW0m6%lJa4>643F zg{`j9Mm@T$Pyz_LZOZyMz*Oni>7`3HF3{qjEV$zf-@yy)YM>sq@m&!%qaXxOMgD_k zHx)!-p#olvi?leuk4cJLMg6WN*>?d9F2`6EWxe(L2t}@WLhjP4|Lvots-kyYj~nGq zy3Y>Jh*(AB4yEUS+13VfhF(}~Q=BB>m@(dg~c zNv}v3?>W>0=NRO>)Pf08eFLcDL1@ZXdH%sKp@~*2S#3m$+e}w=aOoWZX=Qy z%~zWO-Rs_6W=shc6;vx4DDv0zKq$6QrVK%!ibMM|EIt~-o z*;T}T@2R>5527nj`={jA_;?HoIf7_r?eFyjpnCiu6_2?Mv{vshbJLjf{Lrv3l4c>V z-g!bg7LJ)W9n5w+OxDj;U7Ug~#awT%aUYgv!Cxe=vjh%cP0YXUKCZ}_b=yZBB~X4A zUfqqW-){|{64SAy2Y z=7z>@Do+ZD7e}E`{PTX0Yfyt4Jotj3Dvp@bN`Vy*5_b1e5}%| zk(O5mB(}8)(Vv?xs-VLurnS>5F4vkSuh62xw}jN_)#PXi_*VTu3{%mNv`tY;XW6me z4ddE&?hAuQW^p)@DV|5MBG9VLlarMNFD&S|3b)Xs;?UnbY=xxC#St;PTelW^k%iOx zPMwFVZo3)ffD(i4g1+rHYOw&>{|M3yHbZG?8JYB7e|Id{QTN-zS#y-p zp{^kLbg?RRwb?24-`!a%gK7@=yK1iEX8*u|A~cm#tTAc^L1SInl8HglkZN1mr}jvTNVw0dozOv$Bl^Mg)-M-}Uyi*$g*i0&F=b zHzSHQXra;1Jt==Z9fO!1(<8>f-z3d1#aV! ztT{HhY^=gLrHo{d$%}wL%ZE%JKDNdlL7J?ML4I_9u84ow8)10=$e!Ejos(SX zAokiKkYcj-gVCX>fX7$*bujBJwyvDKsi4-`Ss~bT^Xm&&4}CUo1*|{)he+FY_$D?m ziV;~QQV0C-u20y4NVYK&fX5<+x z@BN83du_#uUFQ>xSt*hNG`0zNZYPLKV4oX?wp?X zo|i+?-tItAdg-OH62Z$36rb7@Gf3Q{%}J^8C^eJsZ+A+!Ehv^}ev$CVws_%(U25U& zYifO-FQ@YV5%wX&MyGmP+033;#YZ&(kc2&$T%FJ0p{%7ajQhb?ovmF>fegpmFRSO6 zaoUm6Sd?%$#H?1yL#ud_PWCH8@h4e?W8pfNgx!E~p0dvbj2IP+I3D7JUh*lTcL;S{ zDTOAhIrvJIT2xz^o8$;qpIXBYv0Xv6Zu6-saq{4SZ^VaN@2Y#b>RYvyD3*^}c$Wo4 zQm)y%?3MD17{n&rmv%;p%4f8r%3pDOH&~1R((bouNy&6B9R@gwYfOMONm}I7C{BZ= zc(%=XhM9RKKBvUx?~@qjQ)$|ZNqyQXRrA-sa?2G&9jx@k#l#KUKccUhy!nzsw$6fT zPulms`KHQ?r`OEZiTSqx^`OzKm5>R;m=bMJ1`HcPGCKMkf5#B^%b|{^x4dwD`dDK8 zgtqNUPZr;!Ud+GT+E(!k?zVYshxVkfggGW9Cv#hx5XG* zIxJXE4{mV81J#z0OQ^utl75C){7(F_)1-atuH;AZ7x;+Ljg1B~W-LDpz`)n9|!8Q-VbHRk`^vndE-*TQ3D2Yz3A7(1$U%l5hWbla|4;sj7 zhn53HE$IVS zrfYMFD&OzmDN!X>S-J{(y>Ckk;_2*EPs7R2P%mHCuwO?P*^~7$b9;XzOqkA=={9N1 zUT2h`g;QCL+No!;!jMt3=uZse%~L*Y?S8kpS0Eg{DBVTY>#*u%SmuA8w~)|i5b8Ku z@46VRPKtL$3PRqDGgY@Tvzt!)XX4X%d}|V+ycHE_%=^o+AsL>{!HUxO0dsuwU29Qx zXL7?ONX4n)y!Pw=8m;?rL(H9OOCRf^l;|^=m0Es)hZstMI;WGX z>$n`$I4*3KW#R5Rz#ftY>MvqjtCpYLthD8wBGB~zk}<4SQCJ5XtAD>|F;@ZN#0M-K zr+pIX;Z|emt7!7nqV%w9J+s-JzHj?g%g>0`9e<5xwIUyJ)FU95!o~{Zy413Id8Hu} zoVYZvj1=1TUIA-(syo$DfJb2k^&n9R8e<38&`DN29g8p8D+Hj z#j&+8mmt58H<#jm)(xitZ4|kI=UGl^|lipRxT%v7Ghp)xO3+aso8_C)mCZDvc z0HDaP&(xS`J+Jja4f4GBz5B#&q}r(z1&iQ3!_9CLqqQ6pllj;er9dqMygtGDdcl26 zSs(8>&lM38_U;nOC~(lH4f=?}Z(+eA#Fyibq#&$nD!uehq!4qk(%1bk-b%Zj=5Go2 zYBg?&scZ?kJ>QnqNX&CzggEo^jBf~@@_jxK>$lQMXk)|4`&TH8Yeuv_Q6sy1O42ue z9)8DO16}A|(6#Eoc%Jj;x#J&^7~#?f>R0d?wEK@U@k9Y1J++NX>NXi?9NjP@UlLOE zL7`sc%ZS{4{X&n4&GJ8iq4ll!DN`AJb{4ijSjG6`Y5V_V#i)ve&X3c^CRzAwMu1&n z3h02|&ukHvPUy-zV)5UgDJt>Vx=Bs>qj-x1djBp1l1rN&gKtOrYN2w^B@>Zi9*!QH zHBC_dohCr>A4B~5dhJoboyt7-h{a6cE0QfqP0= zmsQcnp2tjYdoK*~#A7<@*8!j}Tj_wJC6sj3ozI}S?JRAGI)9=76wpY=#zZ-pB+ktfYS z#G1e%e#oqRX+HOc>w*_0P=HyH*$^{ZU!qQ(xteo8Tv&8Wb+wy!6xZfkgon$h*cXQ_ zzIO$uKOJ;_9D>u-50r)27*Yzy3dnROPdzUQ$a=(fP|V9#GuCP!lLN+%QIIHmyHC_T zE|W#>5FT3chgq|i6b#;efeXEj;LpzsvTYy@3ZdHH`HISA1aBqRMizIMxc%pHQTH-? z?Bn5Wf2n*Co&WMD`|sn{LPI(|3!lr_OJ`-lX0f#Y;QOS}RW?t1?NfL4)AiIQF&MYe zc}c74GTNHTdxu9gOr*_n{#oZ!Wx@6xBu}1xFxiX%ECUVJ<+?WKd}&33e*7D1di&?G z<#}j{7yJtyxVn?1L=c{#K&~8^7=Vavc5!4oN_SpMEoM&?8%AlYi;4*m*)-}hqfsej z003{#FT`I~sO`Xc5%XAd9;KqJKZlP&(Joe5Zpim>r!g@+prfUk@@Q8WzqjtOn5P|S z6jp=|nGgcV7YyAz7dhNpMt~JH=LS3AP9?QTf6St05=d3Mcy_p(JnJ^WB||8lvCqh+ z2ODV2npT4>mW@iLfoha0i!6drs$AoG6h z-p}u%CefqI1xJXck0E&)aAQXk{@l0~7AoRxd7w>?hxh_yRUtuxcQIbxdsBNKwwVY72z%+^E1_0nH-HIBD}|BF%BoX^&@{Uk|enXQKTiPC+GGN6BQx z_8{7IDECi->e`B%+9%sNPe&AVc06+~zrT=jsFyh)6j*^Rq2T52t$cZ+9-KI|Hx=Po z7|+4g9FAcvrYb`yG;hp6_EL$xnWJaJ(gSPSkzSpM(v@LfW%NV^P6|9eb7Xn^ccK^| zfx58(^Wn!YkomM>TF=Z_xcICO@9ixgd#wy_M=j!Qfc6~zZF=SL=j5kLw67h+I$ZDH zWJweiA7o~a`;(|9?h{$~-lt`0EHOr#oT;^))W?lv3NS3wIN25Om0I*q&RUz;>|!Z> z_4hLxgwtEvaJJtM=RCq#HzJVM1OABza$SS(j`;Md8 zvgsx6xa<6zt%SUJ-ORFR@K()j>F%9&{JP@MS-rt$qR$KoW@miOVhein@BG$Nm>ORy@v#iGgj(BPmTz=cTy{=bp# cdkn#xOsX!(_i2ItgA7JdPEEE}+9Le_00<~S1^@s6 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_24_back.png b/mods/skins/textures/player_24_back.png new file mode 100644 index 0000000000000000000000000000000000000000..64957176313d59aa9da2aaa5c8c0de84d43c68db GIT binary patch literal 5686 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

U+lTuS}?)!oDM@0>t!exGPSdU|&h^ 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%0Ae;zPHvPYEcZDtYbjN3^%*+71Q~G24-&`##a)G-5 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 =A!`D6Z^HB9))ZztF*C9910Z>!Ax4fc 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%0A` zc-ycnyV+ue)9;|2fGf=GR!_Xgc&0r3PIi8Z%QSS?nqP4%r>8=f)sCT<;^+Y zvEz_^82;yKG=~w7QY6aSqG>v~Xl&Z`nZQeG(Bt!Kk}zp?M+zk>yGNN>w&xroo@~Na zS{z8i$jIS1z=gk)o^ow9mYRKm`8iaM!^`HjNqBPVU#G_-_~e}K?iD%a7?yq@<92vb zd(Dka&aG*YgatUxsxE~=#`NHemIlKBK@m9;+-n_+YtMaYFoJ%J%pFA^A0&dd z(hu*HB~x8}(wwIX_6a;P0v#iA%nN|-ktSO#Fa|kgQ%QKFDhW@2w|4RqS{0FiCcBB^ z4ivb&c?KPJQ)bz(3?w;!z4AZXa*nB)FMg)0HM^HNwTE!fS3(t*lOomtw-Uh{&X+ig z7W^~6diUA;;g>&8d>$*0vPZR&5?cPnru9Ycxi&XuBd-0iY)+NRNqx6XEnzL3Eiz0xYj{?{yD z+I9fP?-fNzM!uXc&4_t3dEBvnX)w(c1m29(?~?^z^ZCqCe=o;&$w*aTY(7bekL4Q+ zxSg#x=Nc|iJ#RtH7?^>%$)`0afmE+_if{3mlcAtq^ZRQ$lSB{3gqFc*lS*`%xojz za(n^pr~8>JFPgHUW>FL#tSmfdIxuMhepp;_i~&e`)W+h@n zY!=eQ?aXgcoQ_|L)cM*P_ZtGkS%Hdi{T1*p%Wnndsi=x14C(^{D5`Wu{viC%^5sq? z7OMLn6cj#LJ@{X8f7{YKW6FXcdb7xD-a?e?vB>tf8dOlfI_(a5d z!>^$ZK>9;&H3tKt{|}rhcKH9w`Y#kjY;N*yP$WUPj^22Aw3+$s0G4#Gomh+~L;%tA z0zDxNh(=eJp&#uuDGIuJzpkaw9!aAAxqtJ!H#4(fw9YNKJkKsxAzmEY{_ixDv+E1?oh^+ETao|yZ2Mr8H zGu#mt8dYjRQrd@wj2^Gks^Iz#akCeS1Dcx(z%?}W@r*vj-_l-;I|&F2(3P!Uc4JvP zSG}mx2L^T|;5HwMbTzR^;D+qgK(UcM&LEjoh>^ICwt|L})w4HpcWWLR;Z<}* z$9rwHdN|OsW3}W}A|8p?$5l?qa?Id^DS67={wr)}ebH(nSU`OCJR+%zdl}D?;JLDM z!fL-vF&+w!Uu#nZTM{fzpu(ywdx#vmggc;C=pwnuu^2p^v!#XzJCp9M6K7qtxPZm+ zkxKd#mwy6Le0hE!xd7_8K%eKC_sJ0wki*QMdh!9#jCP9vP3Lalp^>@&WPHzr+>6)p z?&w|@6d3q##8wWjhP&q3=`zV5P2pK_Do5JfkS6q7|HXLiBpGPR5WqQn4cKKaV=(*) zZD^_4n)L2@zVuY&3I$3&LAo|WK%?6|ZR?=tm%^g3^;%>z#^wzD73P(41A4 X*{E_~0hl-e^k-+i!|Kr%dgOlq&u{Z4 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_2_back.png b/mods/skins/textures/player_2_back.png new file mode 100644 index 0000000000000000000000000000000000000000..4ab4ec03ac710639509a58968da3e503306de6b7 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%$P6SK{r_qLDYgKg5LY10(7-V7iDC_!@pv(MATF~s8Z+sg-e4;k>ZCc4}Hcp)g!dU2L-L~EdxQ=g;LPs&uEoXm_*c^Ud-v-;BpJz3L)@3wwxn}57HQ`#=c@Abe@_|Eo#48dmhvj>EjPuMlM z3Ne;WVSMertyi4ecoxuX>kk%>*OAdso#amv8m@w2rMuiRme06My#o T%?ar@K_2vU^>bP0l+XkK0oZ6I literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_3.png b/mods/skins/textures/player_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4e48dc76efc1f0c329833750bb609c770b6f06fc GIT binary patch literal 594 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3-pO;^#*IDYF2d5LY10(7+(T(A8zdFg1|j ze;335?dRc0=m@*K(AlcWicT*^kZcaa|7p{Jviq9Ymjg9&l?3?(gG>Md5ve~pE5kJy z7#I(Fx;Tbp+o#-M{dG$Cd*cVk zWCiw)6xqg?`?(fy9PF2jnRoF{0$*^y@b=qWZ#Yc!853rE$TJJDzp4HGd1n5@?Yx`} zj5Bl-Y!rSm{A~EaaiEs{(D79Zq*#}HUCl7z`(0bp+rMOu7{C0Ne*Il3L3LB(-QWlF z7-t-8t5(~U{qfh9%m=?8FO7(0DPXx}x}moIsZhe^+y}otv##6s=C<&|886pc8#?k` zW{{LJP;IajG)Qe&$-uipWWl0_piGCA+>ENsR}>khxtFnO87$qt^1yS(#}7Cz?3aA; zySRb<)O!ATy$yH8m~0ts4*lc#@|^jKpv*?;4ek<`Z`lZS+663O*dzbJ<-F!8ecD2p|GX0TUg=wSMN{R9(3SHrWv47Ku`8LUKC zIIwDca6B-**G;nVuMX=Akp=5nxA-v&I%P{95QsX>ILU(Rg^hxMRh}?=$?dA?{3Ulg d9m3fx9?Azh{Eo3{`JV!cS5H?zmvv4FO#o7K_SFCY literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_3_back.png b/mods/skins/textures/player_3_back.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0feb205298d4031eb4bbb24a01863fdab447bb GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!VDxm*B3kyY1?BTxbr{uI7 zeWlOmJWiRq%_v!jl~!i0SZt6q>t0ELzORewD}Ms#vSNxBguD+kZ&)?d=AR&yl(z@%_mRT#UhTQ+7OW z5WU2n;&1S^d6WEvI)(Mzb7D6vdN60FLNqUPq;v}7g1U!-5(-Ch85MUOyuNh7tHTe@ zayC?Kbok)#h5evlkea9T1o<}Re(~n08`G~h-JKkHN3iF?{DVn>D;P|)#cg&!s8ukqWeT|? zp4-s+meWCrgG=tl;(HHud8RG%uT_Zs#=KH~N#Gamerc&RzQkSpplI=Q^>bP0l+XkK DAZyf_ literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_4.png b/mods/skins/textures/player_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8c5ccbca69f0e894eece967daa63bd6546876757 GIT binary patch literal 518 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⪼C84Gufr}EwH&9E6Rfu^c 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_6_back.png b/mods/skins/textures/player_6_back.png new file mode 100644 index 0000000000000000000000000000000000000000..63c3d8471af65866bd265a694409cdf9ed314d0a GIT binary patch literal 36479 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 Y0c5rE;pyW7fdBvi07*qoM6N<$g24IHtpET3 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_7_back.png b/mods/skins/textures/player_7_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a07a1d37adaecceda86294860fa20047d4d39f86 GIT binary patch literal 1014 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_8_back.png b/mods/skins/textures/player_8_back.png new file mode 100644 index 0000000000000000000000000000000000000000..66e5dd7178b387270eecab2a6a29d7795639e1c7 GIT binary patch literal 6666 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_9.png b/mods/skins/textures/player_9.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd471a8e05007b3e234403370f77f3cb46efe5a GIT binary patch literal 1499 zcmV<11tj{3P)MFRXmiiU(Ah{l+h28{%PXcZx1BLNbi#?Vm0vxGjNbhq0= zyL0@pyY1}mbhhoZ+aI3fCUfsS_ndF;nfn}3Rfbbs!|L4$fC%0^>DZDh_jl$?aMXb9 z3^W9zrSS_z-i~Ek6e(}gg5NR%@Tgp!D`*uUrs7UP-?*$3za3J5sdBzlk>7!bEUFdQ zbb-mAsnRFI{Q{UJ)suh|K)}{0dhk9u%TH_By+H$*FGn7W;64tF>r(@`YmoTulnS!s5>71^91FV$&&ndD8c)FjCljSC`$Az(XpRR07 z3$RAMoFM2Yz;cIhJ08BWDl})Vm22F`Y`Z90>Bp8 zILC`|7|0s}$H{Ux{*VxYU9z^&g)vRgnTjj|p0a9vhalfk#Z?+m3<}8Saf+D74E*-| zbwoq3b&c+>PXS1luVuyaihKi1FqcaNC*S=UEsmYwaiAK?udpO?*p(}Jc9$?xf4 zJ7I1Rp%51v@Uo2DWVJ&9ZCEfMfUtPSx-bp^&)Pw@VZTZ#Ql6*b1J;$QsVSQ&n#F$g z(4ii55K@hSVfS!rya|x4~4QW&&1bAPYhARXR?S&?D2s(ff8FMcb z11HTBQ45+u0HRxGa}TrtV>1X~Bm($p$)Ix!052^WS&VulX)*F;7(kPIAfNgSx(7)O z!5^x8kTL(s0F8|t&&i<^$ch#H0u<593ArB<-}5B|SOmlGHvt3!8mh0Czk%66v&X~o z&Q8{gI0mQ^p)h0(o$_m0RV_Q2e@~SW|#B(^hSWX zIzBEeIuBR0F8F_wg7kU zg3}NfhQ%d9Ujf?N$#wci$1u9*mHq>?wvy}g8!!y}3r|~sP{=s|X>MH8je-eILm)!Y zfB`}wo^j?LfXM>}2nLxt)BwHS5zU`3fk=ew;CQ><5s6S#Ri&2Gdapgu+R9t1gK}2L zRb>^h&8pI}2TDsN(A7l^FnSOG0B#xvQ)+7TPFjGH67hw@90R5elJmHn8Zm+wYicxP zE=&L@D3E-&n}fvuX4uGW;4cxXRjD=%vRy7-16HPKchc=<(XCtBy*_jU`27-yL^ukR zS~Tng{sayg20wRn=tV2*Uau@vWe29yuZ3JyWo~=BUQPfIkzK%Iq95iJqJKB)fOEjF zs@j_7?c#Pkz%ru4Z(=NsCwdSG5#1krs;Wl;{sTdMF$VE}`Ii6y002ovPDHLkV1jZu Bmq-8r literal 0 HcmV?d00001 diff --git a/mods/skins/textures/player_9_back.png b/mods/skins/textures/player_9_back.png new file mode 100644 index 0000000000000000000000000000000000000000..88eef2341e7d45269fbe26d1ad9293d6f27aadf8 GIT binary patch literal 1370 zcmV-g1*Q6lP){R5H_-VHyb)8!JqbmUS$c06MHUg4VJt*jl=XB;5;|efWPE{-N6L5!3 zSb@!dGW!EnZmZ!j0W6T_D&Q9&l(A9t;7tnaTeRkS-T;=!;d>3dO~75Zbpf39U@kwb zi%&TMcu96o>SXF`f^G%^w`rbGAF#fQ(!ED@;n0`?R?EIe71;$mFh=84T>^G_Fn90K z)g4&@*2$-pg1!gTJ2Xz!E#Qctn;Z1ilK{Tt=qA}(uE?emSOXN~*_?QrO9j0Xc-#W8 zMc!E$!2A{{8VBQ4T}vETQm{kTmw7Pf3Hpd4%YggyY}`gH1zXqYC+(vEQuUdvdQ6ee zfl4Q?iZlqieUiEY(=Q|6$>Mi`ow>LR z`gNvwRset?(Z*cN0X&$89Rp0E+Ze)|6M&#o90U02e<&yS7{CIcIc+@KApBQm6cuo* zMbKOy$wMKHJe?Cjp9H3RFb@C^=V%UqB6UUDcfdZVI=U1vM<=mQeGI4%%|jVdAKNs3 z!^y=u20~Jf!9D^!<>ZcSSVn_H#K=O1lJoR0LsEU6_p&gL<# z1Z)5T%(tv@$4kPqh-@I<^&EgX$2^z+eLF5fB@aDyo^Sa@-hm#44|n!P(r(l_8_BE@Utp!y5^q>(9uCtVIhOS zq)C%ZG-+O2D6}^m=2vB?~|}tox52mrzZOb^=7BbUAfb zB~nwP7f+m!24F+H`fPQzMn(YuB+LP>U#H9C{Cj!_KwBGcmz8l^mDfdBn+RsyoZh%W zmpGgoM2G;aSfK{6Ctik?5um@HF4J@j(2*&g5#ZW2aGCjA&hKRTv4Jg;SF-}lnkB)$K8^zO@?@USACo8ZL~E-?(*l&1N{QFYLE?WiGUy8Mn+VOSG@B*` z9uLn0tFv5p%;RS%8<^*b{oQB-P69uuYEPECOSIzyo+I}7&5V~B#5N*PV(WwV cRrLtKf9je9ql&bdFaQ7m07*qoM6N<$f_J@WMF0Q* literal 0 HcmV?d00001 diff --git a/mods/spawn/depends.txt b/mods/spawn/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/spawn/init.lua b/mods/spawn/init.lua new file mode 100644 index 0000000..5f93795 --- /dev/null +++ b/mods/spawn/init.lua @@ -0,0 +1,34 @@ +spawn = {x = 0, y = 23, z = 0} + +minetest.register_on_chat_message(function(name, message, playername, player) + local cmd = "/spawn" + if message:sub(0, #cmd) == cmd then + if message == '/spawn' then + local player = minetest.env:get_player_by_name(name) + minetest.chat_send_player(player:get_player_name(), "Teleporting to spawn...") + player:setpos(spawn) + return true --deds to sfan5 + end + end + + local cmd ="/afk" + if message:sub(0, #cmd) == cmd then + if message == '/afk' then + local player = minetest.env:get_player_by_name(name) + minetest.chat_send_all(name.." is AFK! ") + return true --deds to sfan5 + end + end +end) + +--Deds to Kahrl +minetest.register_on_newplayer(function(player) + player:setpos(spawn) + return true +end) + +--Deds to Kahrl +minetest.register_on_respawnplayer(function(player, pos) + player:setpos(spawn) + return true +end) diff --git a/mods/stairs/README.txt b/mods/stairs/README.txt new file mode 100644 index 0000000..716a677 --- /dev/null +++ b/mods/stairs/README.txt @@ -0,0 +1,26 @@ +Minetest 0.4 mod: stairs +========================= + +License of source code: +----------------------- +Copyright (C) 2011-2012 Kahrl +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + + diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/stairs/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua new file mode 100644 index 0000000..1b00ef3 --- /dev/null +++ b/mods/stairs/init.lua @@ -0,0 +1,146 @@ +-- Minetest 0.4 mod: stairs +-- See README.txt for licensing and other information. + +stairs = {} + +-- Node will be called stairs:stair_ +function stairs.register_stair(subname, recipeitem, groups, images, description) + minetest.register_node("stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + }) + + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 4', + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Flipped recipe for the silly minecrafters + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 4', + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Node will be called stairs:slab_ +function stairs.register_slab(subname, recipeitem, groups, images, description) + minetest.register_node("stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local n0 = minetest.env:get_node(p0) + local n1 = minetest.env:get_node(p1) + if n0.name == "stairs:slab_" .. subname then + slabpos = p0 + slabnode = n0 + elseif n1.name == "stairs:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_craft({ + output = 'stairs:slab_' .. subname .. ' 3', + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Nodes will be called stairs:{stair,slab}_ +function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab) +end + +stairs.register_stair_and_slab("wood", "default:wood", + {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + {"default_wood.png"}, + "Wooden stair", + "Wooden slab") + +stairs.register_stair_and_slab("stone", "default:stone", + {cracky=3}, + {"default_stone.png"}, + "Stone stair", + "Stone slab") + +stairs.register_stair_and_slab("cobble", "default:cobble", + {cracky=3}, + {"default_cobble.png"}, + "Cobble stair", + "Cobble slab") + +stairs.register_stair_and_slab("brick", "default:brick", + {cracky=3}, + {"default_brick.png"}, + "Brick stair", + "Brick slab") + +stairs.register_stair_and_slab("sandstone", "default:sandstone", + {crumbly=2,cracky=2}, + {"default_sandstone.png"}, + "Sandstone stair", + "Sandstone slab") diff --git a/mods/stairsplus/LICENSE.txt b/mods/stairsplus/LICENSE.txt new file mode 100644 index 0000000..d270033 --- /dev/null +++ b/mods/stairsplus/LICENSE.txt @@ -0,0 +1,13 @@ ++---- zlib/libpng license----+ + +Copyright (c) 2012 Calinou + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/mods/stairsplus/depends.txt b/mods/stairsplus/depends.txt new file mode 100644 index 0000000..3296b1e --- /dev/null +++ b/mods/stairsplus/depends.txt @@ -0,0 +1,2 @@ +default +stairs diff --git a/mods/stairsplus/init.lua b/mods/stairsplus/init.lua new file mode 100644 index 0000000..a1fefe8 --- /dev/null +++ b/mods/stairsplus/init.lua @@ -0,0 +1,1413 @@ +--[[ +**** +Stairs+ +by Calinou +Licensed under the zlib/libpng license for code and CC BY-SA 3.0 Unported for textures, see LICENSE.txt for info. +**** +--]] + +stairsplus = {} + +-- Node will be called stairsplus:stair_ + +function stairsplus.register_stair(subname, recipeitem, groups, images, description, drop) + minetest.register_node(":stairsplus:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_half", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_right_half", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.5, 0.5, 0, 0.5}, + {0, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.5, 0.5, 0, 0.5}, + {0, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_right_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {0, 0, -0.5, 0.5, 0.5, 0.5}, + {0, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, -0.5, 0.5, 0.5, 0.5}, + {0, -0.5, 0, 0.5, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_wall", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_wall_half", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_wall_half", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_wall_half_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_wall_half", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_inner", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_inner", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, 0, -0.5, 0, 0.5, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_outer", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_outer", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_inner_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_inner", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0, 0, 0}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:stair_" .. subname .. "_outer_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:stair_" .. drop .. "_outer", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. " 8", + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. " 8", + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall 8", + recipe = { + {recipeitem, recipeitem, recipeitem}, + {recipeitem, recipeitem, ""}, + {recipeitem, "", ""}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall 8", + recipe = { + {recipeitem, recipeitem, recipeitem}, + {"", recipeitem, recipeitem}, + {"", "", recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall 2", + recipe = { + {"stairsplus:stair_" .. subname, "stairsplus:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_inverted", "stairsplus:stair_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. " 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_wall"}, + {"stairsplus:stair_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_inner 1", + recipe = { + {"stairsplus:micro_" .. subname .. "_bottom", "stairsplus:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_outer 1", + recipe = { + {"stairsplus:micro_" .. subname .. "_bottom"}, + {"stairsplus:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_half 1", + recipe = { + {"stairsplus:micro_" .. subname .. "_bottom"}, + {"stairsplus:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_half_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_half 1"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_half 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_half_inverted 1"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_right_half 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_half", "stairsplus:stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_half 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_right_half", "stairsplus:stair_" .. subname .. "_right_half"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_right_half_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_right_half"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_right_half 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_right_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_half_inverted 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_right_half_inverted", "stairsplus:stair_" .. subname .. "_right_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_right_half_inverted 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_half_inverted", "stairsplus:stair_" .. subname .. "_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_inner_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_inner"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_outer_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_outer"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_inner 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_inner_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_outer 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_outer_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall_half 2", + recipe = { + {"stairsplus:stair_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_wall_half"}, + {"stairsplus:stair_" .. subname .. "_wall_half"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall_half_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_wall_half"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_wall_half 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_wall_half_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. "_inverted 1", + recipe = { + {"stairsplus:stair_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:stair_" .. subname .. " 1", + recipe = { + {"stairsplus:stair_" .. subname .. "_inverted"}, + }, + }) +end + +-- Node will be called stairsplus:slab_ + +function stairsplus.register_slab(subname, recipeitem, groups, images, description, drop) + minetest.register_node(":stairsplus:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y - 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "stairsplus:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname .. "_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname .. "_three_quarter") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node(":stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_inverted", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y + 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "stairsplus:slab_" .. subname .. "_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname .. "_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname .. "_three_quarter_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_wall", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_wall", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_quarter", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y - 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "stairsplus:slab_" .. subname .. "_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname .. "_three_quarter") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname .. "_three_quarter" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_quarter_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0.25, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0.25, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p1 = pointed_thing.above + p1 = {x = p1.x, y = p1.y + 1, z = p1.z} + local n1 = minetest.env:get_node(p1) + if n1.name == "stairsplus:slab_" .. subname .. "_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname .. "_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname .. "_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack("stairsplus:slab_" .. subname .. "_three_quarter_inverted") + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + if n1.name == "stairsplus:slab_" .. subname .. "_three_quarter_inverted" then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.env:remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + pointed_thing.above = slabpos + fakestack = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if not fakestack or fakestack:is_empty() then + itemstack:take_item(1) + -- Else put old node back + else + minetest.env:set_node(slabpos, slabnode) + end + return itemstack + end + + -- Otherwise place regularly + return minetest.item_place(itemstack, placer, pointed_thing) + end, + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_three_quarter", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_three_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:slab_" .. subname .. "_three_quarter_inverted", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:slab_" .. drop .. "_three_quarter", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.25, -0.5, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.25, -0.5, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. " 6", + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_wall 6", + recipe = { + {recipeitem}, + {recipeitem}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_inverted 1", + recipe = { + {"stairsplus:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. " 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"stairsplus:slab_" .. subname}, + {"stairsplus:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_inverted"}, + {"stairsplus:slab_" .. subname .. "_inverted"}, + }, + }) + + minetest.register_craft({ + output = recipeitem .. " 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_wall", "stairsplus:slab_" .. subname .. "_wall"}, + }, + }) + + minetest.register_craft({ + output = recipeitem, + recipe = { + {"stairsplus:slab_" .. subname}, + {"stairsplus:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_quarter 6", + recipe = { + {"stairsplus:slab_" .. subname, "stairsplus:slab_" .. subname, "stairsplus:slab_" .. subname}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_quarter_inverted 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_quarter"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_quarter 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_quarter_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_three_quarter_inverted 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_three_quarter"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_three_quarter 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_three_quarter_inverted"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_three_quarter 1", + recipe = { + {"stairsplus:slab_" .. subname .. "_quarter"}, + {"stairsplus:slab_" .. subname .. "_quarter"}, + {"stairsplus:slab_" .. subname .. "_quarter"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:slab_" .. subname .. "_quarter 6", + recipe = { + {"stairsplus:slab_" .. subname .. "_three_quarter"}, + {"stairsplus:slab_" .. subname .. "_three_quarter"}, + }, + }) +end + +-- Node will be called stairsplus:panel_ + +function stairsplus.register_panel(subname, recipeitem, groups, images, description, drop) + minetest.register_node(":stairsplus:panel_" .. subname .. "_bottom", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:panel_" .. subname .. "_top", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:panel_" .. subname .. "_vertical", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:panel_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_bottom 8", + recipe = { + {recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_vertical 8", + recipe = { + {recipeitem}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_top 1", + recipe = { + {"stairsplus:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_bottom 1", + recipe = { + {"stairsplus:panel_" .. subname .. "_top"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_vertical 2", + recipe = { + {"stairsplus:panel_" .. subname .. "_bottom"}, + {"stairsplus:panel_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:panel_" .. subname .. "_bottom 2", + recipe = { + {"stairsplus:panel_" .. subname .. "_vertical", "stairsplus:panel_" .. subname .. "_vertical"}, + }, + }) +end + +-- Node will be called stairsplus:micro_ + +function stairsplus.register_micro(subname, recipeitem, groups, images, description, drop) + minetest.register_node(":stairsplus:micro_" .. subname .. "_bottom", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:micro_" .. drop .. "_bottom", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node(":stairsplus:micro_" .. subname .. "_top", { + description = description, + drawtype = "nodebox", + tiles = images, + drop = "stairsplus:micro_" .. drop .. "_top", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, 0, 0, 0, 0.5, 0.5}, + }, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_craft({ + output = "stairsplus:micro_" .. subname .. "_bottom 8", + recipe = { + {"default:stick"}, + {recipeitem}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:micro_" .. subname .. "_top 1", + recipe = { + {"stairsplus:micro_" .. subname .. "_bottom"}, + }, + }) + + minetest.register_craft({ + output = "stairsplus:micro_" .. subname .. "_bottom 1", + recipe = { + {"stairsplus:micro_" .. subname .. "_top"}, + }, + }) +end + +-- Nodes will be called stairsplus:{stair,slab,panel,micro}_ +function stairsplus.register_stair_and_slab_and_panel_and_micro(subname, recipeitem, groups, images, desc_stair, desc_slab, desc_panel, desc_micro, drop) + stairsplus.register_stair(subname, recipeitem, groups, images, desc_stair, drop) + stairsplus.register_slab(subname, recipeitem, groups, images, desc_slab, drop) + stairsplus.register_panel(subname, recipeitem, groups, images, desc_panel, drop) + stairsplus.register_micro(subname, recipeitem, groups, images, desc_micro, drop) +end + +stairsplus.register_stair_and_slab_and_panel_and_micro("wood", "default:wood", + {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"default_wood.png"}, + "Wooden Stairs", + "Wooden Slab", + "Wooden Panel", + "Wooden Microblock", + "wood") + +stairsplus.register_stair_and_slab_and_panel_and_micro("stone", "default:stone", + {cracky=3}, + {"default_stone.png"}, + "Stone Stairs", + "Stone Slab", + "Stone Panel", + "Stone Microblock", + "cobble") + +stairsplus.register_stair_and_slab_and_panel_and_micro("cobble", "default:cobble", + {cracky=3}, + {"default_cobble.png"}, + "Cobblestone Stairs", + "Cobblestone Slab", + "Cobblestone Panel", + "Cobblestone Microblock", + "cobble") + +stairsplus.register_stair_and_slab_and_panel_and_micro("mossycobble", "default:mossycobble", + {cracky=3}, + {"default_mossycobble.png"}, + "Mossy Cobblestone Stairs", + "Mossy Cobblestone Slab", + "Mossy Cobblestone Panel", + "Mossy Cobblestone Microblock", + "mossycobble") + +stairsplus.register_stair_and_slab_and_panel_and_micro("brick", "default:brick", + {cracky=3}, + {"default_brick.png"}, + "Brick Stairs", + "Brick Slab", + "Brick Panel", + "Brick Microblock", + "brick") + +stairsplus.register_stair_and_slab_and_panel_and_micro("sandstone", "default:sandstone", + {crumbly=2,cracky=2}, + {"default_sandstone.png"}, + "Sandstone Stairs", + "Sandstone Slab", + "Sandstone Panel", + "Sandstone Microblock", + "sandstone") + +stairsplus.register_stair_and_slab_and_panel_and_micro("steelblock", "default:steelblock", + {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + {"default_steel_block.png"}, + "Steel Block Stairs", + "Steel Block Slab", + "Steel Block Panel", + "Steel Microblock", + "steelblock") + +stairsplus.register_stair_and_slab_and_panel_and_micro("desert_stone", "default:desert_stone", + {cracky=3}, + {"default_desert_stone.png"}, + "Desert Stone Stairs", + "Desert Stone Slab", + "Desert Stone Panel", + "Desert Stone Microblock", + "desert_stone") + +stairsplus.register_stair_and_slab_and_panel_and_micro("glass", "default:glass", + {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + {"default_glass.png"}, + "Glass Stairs", + "Glass Slab", + "Glass Panel", + "Glass Microblock", + "glass") diff --git a/mods/technic/.gitattributes b/mods/technic/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/mods/technic/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/mods/technic/.gitignore b/mods/technic/.gitignore new file mode 100644 index 0000000..5ebd21a --- /dev/null +++ b/mods/technic/.gitignore @@ -0,0 +1,163 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/mods/technic/alloy_furnace.lua b/mods/technic/alloy_furnace.lua new file mode 100644 index 0000000..fd0bc70 --- /dev/null +++ b/mods/technic/alloy_furnace.lua @@ -0,0 +1,424 @@ +alloy_recipes ={} + +registered_recipes_count=1 + +function register_alloy_recipe (string1,count1, string2,count2, string3,count3) +alloy_recipes[registered_recipes_count]={} +alloy_recipes[registered_recipes_count].src1_name=string1 +alloy_recipes[registered_recipes_count].src1_count=count1 +alloy_recipes[registered_recipes_count].src2_name=string2 +alloy_recipes[registered_recipes_count].src2_count=count2 +alloy_recipes[registered_recipes_count].dst_name=string3 +alloy_recipes[registered_recipes_count].dst_count=count3 +registered_recipes_count=registered_recipes_count+1 +alloy_recipes[registered_recipes_count]={} +alloy_recipes[registered_recipes_count].src1_name=string2 +alloy_recipes[registered_recipes_count].src1_count=count2 +alloy_recipes[registered_recipes_count].src2_name=string1 +alloy_recipes[registered_recipes_count].src2_count=count1 +alloy_recipes[registered_recipes_count].dst_name=string3 +alloy_recipes[registered_recipes_count].dst_count=count3 +registered_recipes_count=registered_recipes_count+1 +end + +register_alloy_recipe ("technic:copper_dust",3, "technic:tin_dust",1, "technic:bronze_dust",4) +register_alloy_recipe ("moreores:copper_ingot",3, "moreores:tin_ingot",1, "moreores:bronze_ingot",4) +register_alloy_recipe ("technic:iron_dust",3, "technic:chromium_dust",1, "technic:stainless_steel_dust",4) +register_alloy_recipe ("default:steel_ingot",3, "technic:chromium_ingot",1, "technic:stainless_steel_ingot",4) +register_alloy_recipe ("technic:copper_dust",2, "technic:zinc_dust",1, "technic:brass_dust",3) +register_alloy_recipe ("technic:copper_ingot",2, "technic:zinc_ingot",1, "technic:brass_ingot",3) +register_alloy_recipe ("default:sand",2, "technic:coal_dust",2, "technic:silicon_wafer",1) +register_alloy_recipe ("technic:silicon_wafer",1, "technic:mithril_dust",1, "technic:doped_silicon_wafer",1) + + +minetest.register_craft({ + output = 'technic:alloy_furnace', + recipe = { + {'default:brick', 'default:brick', 'default:brick'}, + {'default:brick', '', 'default:brick'}, + {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'}, + } +}) + + +alloy_furnace_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;src2;3,2;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Alloy Furnace]".. + "label[1,3;Power level]" + +minetest.register_node("technic:alloy_furnace", { + description = "Electric alloy furnace", + tiles = {"technic_alloy_furnace_top.png", "technic_machine_bottom.png", "technic_alloy_furnace_side.png", + "technic_alloy_furnace_side.png", "technic_alloy_furnace_side.png", "technic_alloy_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", alloy_furnace_formspec) + meta:set_string("infotext", "Electric Alloy furnace") + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("src2", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + meta:set_float("internal_EU_buffer",0) + meta:set_float("internal_EU_buffer_size",2000) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false end + if not inv:is_empty("src") then + return false end + if not inv:is_empty("src2") then + return false end + return true + end, +}) + +minetest.register_node("technic:alloy_furnace_active", { + description = "Alloy Furnace", + tiles = {"technic_alloy_furnace_top.png", "technic_machine_bottom.png", "technic_alloy_furnace_side.png", + "technic_alloy_furnace_side.png", "technic_alloy_furnace_side.png", "technic_alloy_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:alloy_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + technic_power_machine=1, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:alloy_furnace","technic:alloy_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + internal_EU_buffer=meta:get_float("internal_EU_buffer") + internal_EU_buffer_size=meta:get_float("internal_EU_buffer") + local load = math.floor(internal_EU_buffer/2000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;src2;3,2;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Alloy Furnace]".. + "label[1,3;Power level]") + + local inv = meta:get_inventory() + + local furnace_is_cookin = meta:get_int("furnace_is_cookin") + + + local srclist = inv:get_list("src") + local srclist2 = inv:get_list("src2") + + srcstack = inv:get_stack("src", 1) + if srcstack then src_item1=srcstack:to_table() end + srcstack = inv:get_stack("src2", 1) + if srcstack then src_item2=srcstack:to_table() end + dst_index=nil + + if src_item1 and src_item2 then + dst_index=get_cook_result(src_item1,src_item2) + end + + + if (furnace_is_cookin == 1) then + if internal_EU_buffer>=150 then + internal_EU_buffer=internal_EU_buffer-150; + meta:set_float("internal_EU_buffer",internal_EU_buffer) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if dst_index and meta:get_float("src_time") >= 4 then + -- check if there's room for output in "dst" list + dst_stack={} + dst_stack["name"]=alloy_recipes[dst_index].dst_name + dst_stack["count"]=alloy_recipes[dst_index].dst_count + if inv:room_for_item("dst",dst_stack) then + -- Put result in "dst" list + inv:add_item("dst",dst_stack) + -- take stuff from "src" list + for i=1,alloy_recipes[dst_index].src1_count,1 do + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + end + for i=1,alloy_recipes[dst_index].src2_count,1 do + srcstack = inv:get_stack("src2", 1) + srcstack:take_item() + inv:set_stack("src2", 1, srcstack) + end + + + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + end + + + + + if dst_index and meta:get_int("furnace_is_cookin")==0 then + hacky_swap_node(pos,"technic:alloy_furnace_active") + meta:set_string("infotext","Electric Alloy Furnace active") + meta:set_int("furnace_is_cookin",1) + meta:set_string("src_time", 0) + return + end + + + if meta:get_int("furnace_is_cookin")==0 or dst_index==nil then + hacky_swap_node(pos,"technic:alloy_furnace") + meta:set_string("infotext","Electric Alloy Furnace inactive") + meta:set_int("furnace_is_cookin",0) + meta:set_string("src_time", 0) + end + +end, +}) + +function get_cook_result(src_item1, src_item2) +local counter=registered_recipes_count-1 +for i=1, counter,1 do +if alloy_recipes[i].src1_name==src_item1["name"] and + alloy_recipes[i].src2_name==src_item2["name"] and + alloy_recipes[i].src1_count<=src_item1["count"] and + alloy_recipes[i].src2_count<=src_item2["count"] + then return i end +end +return nil +end + + +--coal driven alloy furnace: + +minetest.register_craft({ + output = 'technic:coal_alloy_furnace', + recipe = { + {'default:brick', 'default:brick', 'default:brick'}, + {'default:brick', '', 'default:brick'}, + {'default:brick', 'default:brick', 'default:brick'}, + } +}) + + +coal_alloy_furnace_formspec = + "size[8,9]".. + "label[0,0;Alloy Furnace]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;src2;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:coal_alloy_furnace", { + description = "Alloy Furnace", + tiles = {"technic_coal_alloy_furnace_top.png", "technic_coal_alloy_furnace_bottom.png", "technic_coal_alloy_furnace_side.png", + "technic_coal_alloy_furnace_side.png", "technic_coal_alloy_furnace_side.png", "technic_coal_alloy_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", coal_alloy_furnace_formspec) + meta:set_string("infotext", "Alloy Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("src2", 1) + inv:set_size("dst", 4) + local furnace_is_cookin = 0 + local dst_index = nil + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not (inv:is_empty("fuel") or inv:is_empty("dst") or inv:is_empty("src") or inv:is_empty("src2") )then + return false + end + return true + end, +}) + +minetest.register_node("technic:coal_alloy_furnace_active", { + description = "Alloy Furnace", + tiles = {"technic_coal_alloy_furnace_top.png", "technic_coal_alloy_furnace_bottom.png", "technic_coal_alloy_furnace_side.png", + "technic_coal_alloy_furnace_side.png", "technic_coal_alloy_furnace_side.png", "technic_coal_alloy_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:coal_alloy_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not (inv:is_empty("fuel") or inv:is_empty("dst") or inv:is_empty("src") or inv:is_empty("src2") )then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:coal_alloy_furnace","technic:coal_alloy_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + srcstack = inv:get_stack("src", 1) + if srcstack then src_item1=srcstack:to_table() end + srcstack = inv:get_stack("src2", 1) + if srcstack then src_item2=srcstack:to_table() end + dst_index=nil + + if src_item1 and src_item2 then + dst_index=get_cook_result(src_item1,src_item2) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if dst_index and meta:get_float("src_time") >= 5 then + -- check if there's room for output in "dst" list + dst_stack={} + dst_stack["name"]=alloy_recipes[dst_index].dst_name + dst_stack["count"]=alloy_recipes[dst_index].dst_count + if inv:room_for_item("dst",dst_stack) then + -- Put result in "dst" list + inv:add_item("dst", dst_stack) + -- take stuff from "src" list + for i=1,alloy_recipes[dst_index].src1_count,1 do + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + end + for i=1,alloy_recipes[dst_index].src2_count,1 do + srcstack = inv:get_stack("src2", 1) + srcstack:take_item() + inv:set_stack("src2", 1, srcstack) + end + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"technic:coal_alloy_furnace_active") + meta:set_string("formspec", + "size[8,9]".. + "label[0,0;Electric Alloy Furnace]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;src2;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local fuellist = inv:get_list("fuel") + + srcstack = inv:get_stack("src", 1) + if srcstack then src_item1=srcstack:to_table() end + srcstack = inv:get_stack("src2", 1) + if srcstack then src_item2=srcstack:to_table() end + dst_index=nil + + if src_item1 and src_item2 then + dst_index=get_cook_result(src_item1,src_item2) + end + + + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"technic:coal_alloy_furnace") + meta:set_string("formspec", coal_alloy_furnace_formspec) + return + end + + if dst_index==nil then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"technic:coal_alloy_furnace") + meta:set_string("formspec", coal_alloy_furnace_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + +end, +}) \ No newline at end of file diff --git a/mods/technic/battery_box.lua b/mods/technic/battery_box.lua new file mode 100644 index 0000000..f5827a4 --- /dev/null +++ b/mods/technic/battery_box.lua @@ -0,0 +1,398 @@ +power_tools ={} + +registered_power_tools_count=1 + +function register_power_tool (string1,max_charge) +power_tools[registered_power_tools_count]={} +power_tools[registered_power_tools_count].tool_name=string1 +power_tools[registered_power_tools_count].max_charge=max_charge +registered_power_tools_count=registered_power_tools_count+1 +end + +register_power_tool ("technic:mining_drill",60000) +register_power_tool ("technic:chainsaw",30000) +register_power_tool ("technic:laser_mk1",40000) +register_power_tool ("technic:battery",10000) +register_power_tool ("technic:sonic_screwdriver",15000) +register_power_tool ("technic:flashlight",30000) +register_power_tool ("technic:red_energy_crystal",100000) +register_power_tool ("technic:green_energy_crystal",250000) +register_power_tool ("technic:blue_energy_crystal",500000) + +minetest.register_alias("battery", "technic:battery") +minetest.register_alias("battery_box", "technic:battery_box") + +minetest.register_craft({ + output = 'technic:battery 1', + recipe = { + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + {'default:wood', 'moreores:tin_ingot', 'default:wood'}, + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'technic:battery_box 1', + recipe = { + {'technic:battery', 'default:wood', 'technic:battery'}, + {'technic:battery', 'moreores:copper_ingot', 'technic:battery'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + + +minetest.register_tool("technic:battery", +{description = "RE Battery", +inventory_image = "technic_battery.png", +tool_capabilities = {load=0,max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + +minetest.register_craftitem("technic:battery_box", { + description = "Battery box", + stack_max = 99, +}) + + + +battery_box_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:battery_box", { + description = "Battery box", + tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side0.png", + "technic_battery_box_side0.png", "technic_battery_box_side0.png", "technic_battery_box_side0.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + last_side_shown=0, + drop="technic:battery_box", + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Battery box") + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 60000 + last_side_shown=0 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + + +for i=1,8,1 do +minetest.register_node("technic:battery_box"..i, { + description = "Battery box", + tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side0.png^technic_power_meter"..i..".png", + "technic_battery_box_side0.png^technic_power_meter"..i..".png", "technic_battery_box_side0.png^technic_power_meter"..i..".png", "technic_battery_box_side0.png^technic_power_meter"..i..".png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + last_side_shown=0, + drop="technic:battery_box", + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Battery box") + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 60000 + last_side_shown=0 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) +end + + +LV_nodes_visited = {} + +function get_RE_item_load (load1,max_load) +if load1==0 then load1=65535 end +local temp = 65536-load1 +temp= temp/65535*max_load +return math.floor(temp + 0.5) +end + +function set_RE_item_load (load1,max_load) +if load1 == 0 then return 65535 end +local temp=load1/max_load*65535 +temp=65536-temp +return math.floor(temp) +end + +function set_RE_wear (item_stack,load1,max_load) +local temp=65536-math.floor(load1/max_load*65535) +item_stack["wear"]=tostring(temp) +return item_stack +end + +minetest.register_abm({ + nodenames = {"technic:battery_box","technic:battery_box1","technic:battery_box2","technic:battery_box3","technic:battery_box4", + "technic:battery_box5","technic:battery_box6","technic:battery_box7","technic:battery_box8" + }, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + charge= meta:get_int("battery_charge") + max_charge= 60000 + local i=math.ceil((charge/max_charge)*8) + if i>8 then i=8 end + j=meta:get_float("last_side_shown") + if i~=j then + if i>0 then hacky_swap_node(pos,"technic:battery_box"..i) + elseif i==0 then hacky_swap_node(pos,"technic:battery_box") end + meta:set_float("last_side_shown",i) + end + +--loading registered power tools + local inv = meta:get_inventory() + if inv:is_empty("src")==false then + srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + item_meta=srcstack:get_metadata() + if src_item["metadata"]=="" then src_item["metadata"]="0" end --create meta for not used before tool/item + + local item_max_charge = nil + local counter=registered_power_tools_count-1 + for i=1, counter,1 do + if power_tools[i].tool_name==src_item["name"] then + item_max_charge=power_tools[i].max_charge + end + end + if item_max_charge then + load1=tonumber((src_item["metadata"])) + load_step=1000 + if load10 then + if charge-load_step<0 then load_step=charge end + if load1+load_step>item_max_charge then load_step=item_max_charge-load1 end + load1=load1+load_step + charge=charge-load_step + set_RE_wear(src_item,load1,item_max_charge) + src_item["metadata"]=tostring(load1) + inv:set_stack("src", 1, src_item) + end + meta:set_int("battery_charge",charge) + end + end + +-- dischargin registered power tools + if inv:is_empty("dst") == false then + srcstack = inv:get_stack("dst", 1) + src_item=srcstack:to_table() + local item_max_charge = nil + local counter=registered_power_tools_count-1 + for i=1, counter,1 do + if power_tools[i].tool_name==src_item["name"] then + item_max_charge=power_tools[i].max_charge + end + end + if item_max_charge then + if src_item["metadata"]=="" then src_item["metadata"]="0" end --create meta for not used before battery/crystal + local load1=tonumber((src_item["metadata"])) + load_step=1000 + if load1>0 and chargemax_charge then load_step=max_charge-charge end + if load1-load_step<0 then load_step=load1 end + load1=load1-load_step + charge=charge+load_step + set_RE_wear(src_item,load1,item_max_charge) + src_item["metadata"]=tostring(load1) + inv:set_stack("dst", 1, src_item) + end + end + end + + meta:set_int("battery_charge",charge) + + local load = math.floor(charge/60000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]") + + local pos1={} + + pos1.y=pos.y-1 + pos1.x=pos.x + pos1.z=pos.z + + + meta1 = minetest.env:get_meta(pos1) + if meta1:get_float("cablelike")~=1 then return end + + local LV_nodes = {} + local PR_nodes = {} + local RE_nodes = {} + + LV_nodes[1]={} + LV_nodes[1].x=pos1.x + LV_nodes[1].y=pos1.y + LV_nodes[1].z=pos1.z + LV_nodes[1].visited=false + + +table_index=1 + repeat + check_LV_node (PR_nodes,RE_nodes,LV_nodes,table_index) + table_index=table_index+1 + if LV_nodes[table_index]==nil then break end + until false + + +local pos1={} +i=1 + repeat + if PR_nodes[i]==nil then break end -- gettin power from all connected producers + pos1.x=PR_nodes[i].x + pos1.y=PR_nodes[i].y + pos1.z=PR_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local internal_EU_buffer=meta1:get_float("internal_EU_buffer") + if charge0 then + charge=charge+charge_to_take + internal_EU_buffer=internal_EU_buffer-charge_to_take + meta1:set_float("internal_EU_buffer",internal_EU_buffer) + end + end + i=i+1 + until false + +if charge>max_charge then charge=max_charge end + +i=1 + repeat + if RE_nodes[i]==nil then break end + pos1.x=RE_nodes[i].x -- loading all conected machines buffers + pos1.y=RE_nodes[i].y + pos1.z=RE_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local internal_EU_buffer=meta1:get_float("internal_EU_buffer") + local internal_EU_buffer_size=meta1:get_float("internal_EU_buffer_size") + + local charge_to_give=200 + if internal_EU_buffer+charge_to_give>internal_EU_buffer_size then + charge_to_give=internal_EU_buffer_size-internal_EU_buffer + end + if charge-charge_to_give<0 then charge_to_give=charge end + + internal_EU_buffer=internal_EU_buffer+charge_to_give + meta1:set_float("internal_EU_buffer",internal_EU_buffer) + charge=charge-charge_to_give; + + i=i+1 + until false + charge=math.floor(charge) + charge_string=tostring(charge) + meta:set_string("infotext", "Battery box: "..charge_string.."/"..max_charge); + meta:set_int("battery_charge",charge) + +end +}) + +function add_new_cable_node (LV_nodes,pos1) +local i=1 + repeat + if LV_nodes[i]==nil then break end + if pos1.x==LV_nodes[i].x and pos1.y==LV_nodes[i].y and pos1.z==LV_nodes[i].z then return false end + i=i+1 + until false +LV_nodes[i]={} +LV_nodes[i].x=pos1.x +LV_nodes[i].y=pos1.y +LV_nodes[i].z=pos1.z +LV_nodes[i].visited=false +return true +end + +function check_LV_node (PR_nodes,RE_nodes,LV_nodes,i) + local pos1={} + pos1.x=LV_nodes[i].x + pos1.y=LV_nodes[i].y + pos1.z=LV_nodes[i].z + LV_nodes[i].visited=true + new_node_added=false + + pos1.x=pos1.x+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.x=pos1.x-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.y=pos1.y-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.z=pos1.z-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.z=pos1.z+1 +return new_node_added +end + +function check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) +meta = minetest.env:get_meta(pos1) +if meta:get_float("cablelike")==1 then new_node_added=add_new_cable_node(LV_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:solar_panel" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:generator" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:generator_active" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:geothermal" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:geothermal_active" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:water_mill" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:water_mill_active" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:electric_furnace" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:electric_furnace_active" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:alloy_furnace" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:alloy_furnace_active" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:tool_workshop" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:music_player" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:grinder" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +end + \ No newline at end of file diff --git a/mods/technic/battery_box_mv.lua b/mods/technic/battery_box_mv.lua new file mode 100644 index 0000000..053dba9 --- /dev/null +++ b/mods/technic/battery_box_mv.lua @@ -0,0 +1,322 @@ +minetest.register_craft({ + output = 'technic:mv_battery_box 1', + recipe = { + {'technic:battery_box', 'technic:battery_box', 'technic:battery_box'}, + {'technic:battery_box', 'technic:mv_transformer', 'technic:battery_box'}, + {'', 'technic:mv_cable', ''}, + } +}) + + + +mv_battery_box_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;MV_Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:mv_battery_box", { + description = "MV Battery Box", + tiles = {"technic_mv_battery_box_top.png", "technic_mv_battery_box_bottom.png", "technic_mv_battery_box_side0.png", + "technic_mv_battery_box_side0.png", "technic_mv_battery_box_side0.png", "technic_mv_battery_box_side0.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_mv_power_machine=1, + last_side_shown=0, + drop="technic:mv_battery_box", + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "MV Battery box") + meta:set_float("technic_mv_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 300000 + last_side_shown=0 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + + +for i=1,8,1 do +minetest.register_node("technic:mv_battery_box"..i, { + description = "MV Battery Box", + tiles = {"technic_mv_battery_box_top.png", "technic_mv_battery_box_bottom.png", "technic_mv_battery_box_side0.png^technic_power_meter"..i..".png", + "technic_mv_battery_box_side0.png^technic_power_meter"..i..".png", "technic_mv_battery_box_side0.png^technic_power_meter"..i..".png", "technic_mv_battery_box_side0.png^technic_power_meter"..i..".png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + last_side_shown=0, + drop="technic:mv_battery_box", + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "MV Battery box") + meta:set_float("technic_mv_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 300000 + last_side_shown=0 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) +end + + +MV_nodes_visited = {} + + +minetest.register_abm({ + nodenames = {"technic:mv_battery_box","technic:mv_battery_box1","technic:mv_battery_box2","technic:mv_battery_box3","technic:mv_battery_box4", + "technic:mv_battery_box5","technic:mv_battery_box6","technic:mv_battery_box7","technic:mv_battery_box8" + }, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + charge= meta:get_int("battery_charge") + max_charge= 300000 + local i=math.ceil((charge/max_charge)*8) + if i>8 then i=8 end + j=meta:get_float("last_side_shown") + if i~=j then + if i>0 then hacky_swap_node(pos,"technic:mv_battery_box"..i) + elseif i==0 then hacky_swap_node(pos,"technic:mv_battery_box") end + meta:set_float("last_side_shown",i) + end + +--loading registered power tools + local inv = meta:get_inventory() + if inv:is_empty("src")==false then + srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + item_meta=srcstack:get_metadata() + if src_item["metadata"]=="" then src_item["metadata"]="0" end --create meta for not used before tool/item + + local item_max_charge = nil + local counter=registered_power_tools_count-1 + for i=1, counter,1 do + if power_tools[i].tool_name==src_item["name"] then + item_max_charge=power_tools[i].max_charge + end + end + if item_max_charge then + load1=tonumber((src_item["metadata"])) + load_step=4000 + if load10 then + if charge-load_step<0 then load_step=charge end + if load1+load_step>item_max_charge then load_step=item_max_charge-load1 end + load1=load1+load_step + charge=charge-load_step + set_RE_wear(src_item,load1,item_max_charge) + src_item["metadata"]=tostring(load1) + inv:set_stack("src", 1, src_item) + end + meta:set_int("battery_charge",charge) + end + end + +-- dischargin registered power tools + if inv:is_empty("dst") == false then + srcstack = inv:get_stack("dst", 1) + src_item=srcstack:to_table() + local item_max_charge = nil + local counter=registered_power_tools_count-1 + for i=1, counter,1 do + if power_tools[i].tool_name==src_item["name"] then + item_max_charge=power_tools[i].max_charge + end + end + if item_max_charge then + if src_item["metadata"]=="" then src_item["metadata"]="0" end --create meta for not used before battery/crystal + local load1=tonumber((src_item["metadata"])) + load_step=4000 + if load1>0 and chargemax_charge then load_step=max_charge-charge end + if load1-load_step<0 then load_step=load1 end + load1=load1-load_step + charge=charge+load_step + set_RE_wear(src_item,load1,item_max_charge) + src_item["metadata"]=tostring(load1) + inv:set_stack("dst", 1, src_item) + end + end + end + + meta:set_int("battery_charge",charge) + + local load = math.floor(charge/300000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;MV Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]") + + local pos1={} + + pos1.y=pos.y-1 + pos1.x=pos.x + pos1.z=pos.z + + + meta1 = minetest.env:get_meta(pos1) + if meta1:get_float("mv_cablelike")~=1 then return end + + local MV_nodes = {} + local PR_nodes = {} + local RE_nodes = {} + + MV_nodes[1]={} + MV_nodes[1].x=pos1.x + MV_nodes[1].y=pos1.y + MV_nodes[1].z=pos1.z + MV_nodes[1].visited=false + + print(dump(PR_nodes)) +table_index=1 + repeat + check_MV_node (PR_nodes,RE_nodes,MV_nodes,table_index) + table_index=table_index+1 + if MV_nodes[table_index]==nil then break end + until false + + +local pos1={} +i=1 + repeat + if PR_nodes[i]==nil then break end -- gettin power from all connected producers + pos1.x=PR_nodes[i].x + pos1.y=PR_nodes[i].y + pos1.z=PR_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local internal_EU_buffer=meta1:get_float("internal_EU_buffer") + if charge0 then + charge=charge+charge_to_take + internal_EU_buffer=internal_EU_buffer-charge_to_take + meta1:set_float("internal_EU_buffer",internal_EU_buffer) + end + end + i=i+1 + until false + +if charge>max_charge then charge=max_charge end + +i=1 + repeat + if RE_nodes[i]==nil then break end + pos1.x=RE_nodes[i].x -- loading all conected machines buffers + pos1.y=RE_nodes[i].y + pos1.z=RE_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local internal_EU_buffer=meta1:get_float("internal_EU_buffer") + local internal_EU_buffer_size=meta1:get_float("internal_EU_buffer_size") + + local charge_to_give=1000 + if internal_EU_buffer+charge_to_give>internal_EU_buffer_size then + charge_to_give=internal_EU_buffer_size-internal_EU_buffer + end + if charge-charge_to_give<0 then charge_to_give=charge end + + internal_EU_buffer=internal_EU_buffer+charge_to_give + meta1:set_float("internal_EU_buffer",internal_EU_buffer) + charge=charge-charge_to_give; + + i=i+1 + until false + charge=math.floor(charge) + charge_string=tostring(charge) + meta:set_string("infotext", "Battery box: "..charge_string.."/"..max_charge); + meta:set_int("battery_charge",charge) + +end +}) + +function add_new_MVcable_node (MV_nodes,pos1) +local i=1 + repeat + if MV_nodes[i]==nil then break end + if pos1.x==MV_nodes[i].x and pos1.y==MV_nodes[i].y and pos1.z==MV_nodes[i].z then return false end + i=i+1 + until false +MV_nodes[i]={} +MV_nodes[i].x=pos1.x +MV_nodes[i].y=pos1.y +MV_nodes[i].z=pos1.z +MV_nodes[i].visited=false +return true +end + +function check_MV_node (PR_nodes,RE_nodes,MV_nodes,i) + local pos1={} + pos1.x=MV_nodes[i].x + pos1.y=MV_nodes[i].y + pos1.z=MV_nodes[i].z + MV_nodes[i].visited=true + new_node_added=false + + pos1.x=pos1.x+1 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.x=pos1.x-2 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.y=pos1.y-2 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.z=pos1.z-2 + check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) + pos1.z=pos1.z+1 +return new_node_added +end + +function check_MV_node_subp (PR_nodes,RE_nodes,MV_nodes,pos1) +meta = minetest.env:get_meta(pos1) +if meta:get_float("mv_cablelike")==1 then new_node_added=add_new_MVcable_node(MV_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:solar_panel_mv" then new_node_added=add_new_MVcable_node(PR_nodes,pos1) end +end + \ No newline at end of file diff --git a/mods/technic/cans.lua b/mods/technic/cans.lua new file mode 100644 index 0000000..2809498 --- /dev/null +++ b/mods/technic/cans.lua @@ -0,0 +1,125 @@ +water_can_max_load = 16 +lava_can_max_load = 8 + +minetest.register_craft({ + output = 'technic:water_can 1', + recipe = { + {'technic:zinc_ingot', 'technic:rubber','technic:zinc_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'technic:zinc_ingot', 'default:steel_ingot', 'technic:zinc_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:lava_can 1', + recipe = { + {'technic:zinc_ingot', 'technic:stainless_steel_ingot','technic:zinc_ingot'}, + {'technic:stainless_steel_ingot', '', 'technic:stainless_steel_ingot'}, + {'technic:zinc_ingot', 'technic:stainless_steel_ingot', 'technic:zinc_ingot'}, + } +}) + + +minetest.register_tool("technic:water_can", { + description = "Water Can", + inventory_image = "technic_water_can.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return end + + n = minetest.env:get_node(pointed_thing.under) + if n.name == "default:water_source" then + item=itemstack:to_table() + local load=tonumber((item["wear"])) + if load==0 then load =65535 end + load=get_RE_item_load(load,water_can_max_load) + if load+1<17 then + minetest.env:add_node(pointed_thing.under, {name="air"}) + load=load+1; + load=set_RE_item_load(load,water_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + end + return itemstack + end + item=itemstack:to_table() + load=tonumber((item["wear"])) + if load==0 then load =65535 end + load=get_RE_item_load(load,water_can_max_load) + if load==0 then return end + + if n.name == "default:water_flowing" then + minetest.env:add_node(pointed_thing.under, {name="default:water_source"}) + load=load-1; + load=set_RE_item_load(load,water_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + return itemstack + end + + n = minetest.env:get_node(pointed_thing.above) + if n.name == "air" then + minetest.env:add_node(pointed_thing.above, {name="default:water_source"}) + load=load-1; + load=set_RE_item_load(load,water_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + return itemstack + end + end, +}) + +minetest.register_tool("technic:lava_can", { + description = "Lava Can", + inventory_image = "technic_lava_can.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return end + + n = minetest.env:get_node(pointed_thing.under) + if n.name == "default:lava_source" then + item=itemstack:to_table() + local load=tonumber((item["wear"])) + if load==0 then load =65535 end + load=get_RE_item_load(load,lava_can_max_load) + if load+1<9 then + minetest.env:add_node(pointed_thing.under, {name="air"}) + load=load+1; + load=set_RE_item_load(load,lava_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + end + return itemstack + end + item=itemstack:to_table() + load=tonumber((item["wear"])) + if load==0 then load =65535 end + load=get_RE_item_load(load,lava_can_max_load) + if load==0 then return end + + if n.name == "default:lava_flowing" then + minetest.env:add_node(pointed_thing.under, {name="default:lava_source"}) + load=load-1; + load=set_RE_item_load(load,lava_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + return itemstack + end + + n = minetest.env:get_node(pointed_thing.above) + if n.name == "air" then + minetest.env:add_node(pointed_thing.above, {name="default:lava_source"}) + load=load-1; + load=set_RE_item_load(load,lava_can_max_load) + item["wear"]=tostring(load) + itemstack:replace(item) + return itemstack + end + end, +}) diff --git a/mods/technic/chainsaw.lua b/mods/technic/chainsaw.lua new file mode 100644 index 0000000..9f69fd9 --- /dev/null +++ b/mods/technic/chainsaw.lua @@ -0,0 +1,59 @@ +chainsaw_max_charge=30000 + +minetest.register_tool("technic:chainsaw", { + description = "Chainsaw", + inventory_image = "technic_chainsaw.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type=="node" then + item=itemstack:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged + charge=tonumber(item["metadata"]) + charge_to_take=600; + if charge-charge_to_take>0 then + charge_to_take=chainsaw_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user,charge_to_take) + charge=charge-charge_to_take; + set_RE_wear(item,charge,chainsaw_max_charge) + item["metadata"]=tostring(charge) + itemstack:replace(item) + return itemstack + end + end + end, +}) + +minetest.register_craft({ + output = 'technic:chainsaw', + recipe = { + {'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:battery'}, + {'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:battery'}, + {'','','moreores:copper_ingot'}, + } +}) + + + + +timber_nodenames={"default:jungletree", "default:papyrus", "default:cactus", "default:tree"} + +function chainsaw_dig_it (pos, player,charge_to_take) + charge_to_take=0 + local node=minetest.env:get_node(pos) + local i=1 + while timber_nodenames[i]~=nil do + if node.name==timber_nodenames[i] then + charge_to_take=600 + np={x=pos.x, y=pos.y, z=pos.z} + while minetest.env:get_node(np).name==timber_nodenames[i] do + minetest.env:remove_node(np) + minetest.env:add_item(np, timber_nodenames[i]) + np={x=np.x, y=np.y+1, z=np.z} + end + minetest.sound_play("chainsaw", {pos = pos, gain = 1.0, max_hear_distance = 10,}) + return charge_to_take + end + i=i+1 + end + +return charge_to_take +end \ No newline at end of file diff --git a/mods/technic/coal_furnace.lua b/mods/technic/coal_furnace.lua new file mode 100644 index 0000000..9727795 --- /dev/null +++ b/mods/technic/coal_furnace.lua @@ -0,0 +1,171 @@ +minetest.register_alias("coal_furnace", "technic:coal_furnace") + +minetest.register_craft({ + output = 'technic:coal_furnace', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', '', 'default:stone'}, + {'default:stone', 'default:stone', 'default:stone'}, + } +}) + + +coal_furnace_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Coal Furnace]") + +minetest.register_node("technic:coal_furnace", { + description = "Coal furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", coal_furnace_formspec) + meta:set_string("infotext", "Coal furnace") + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + meta:set_float("internal_EU_buffer",0) + meta:set_float("internal_EU_buffer_size",2000) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("technic:coal_furnace_active", { + description = "Coal Furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:coal_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Coal furnace"); + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:coal_furnace","technic:coal_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + internal_EU_buffer=meta:get_float("internal_EU_buffer") + internal_EU_buffer_size=meta:get_float("internal_EU_buffer") + local load = math.floor(internal_EU_buffer/2000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]") + + local inv = meta:get_inventory() + + local furnace_is_cookin = meta:get_float("furnace_is_cookin") + + + local srclist = inv:get_list("src") + local cooked=nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + + if (furnace_is_cookin == 1) then + if internal_EU_buffer>=150 then + internal_EU_buffer=internal_EU_buffer-150; + meta:set_float("internal_EU_buffer",internal_EU_buffer) + meta:set_float("src_time", meta:get_float("src_time") + 3) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + end + + + + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + if cooked.time>0 then + hacky_swap_node(pos,"technic:coal_furnace_active") + meta:set_string("infotext","Furnace active") + meta:set_string("furnace_is_cookin",1) + meta:set_string("src_time", 0) + return + end + + end + + hacky_swap_node(pos,"technic:coal_furnace") + meta:set_string("infotext","Furnace inactive") + meta:set_string("furnace_is_cookin",0) + meta:set_string("src_time", 0) + + +end, +}) \ No newline at end of file diff --git a/mods/technic/concrete.lua b/mods/technic/concrete.lua new file mode 100644 index 0000000..0a480a0 --- /dev/null +++ b/mods/technic/concrete.lua @@ -0,0 +1,74 @@ + +minetest.register_craft({ + output = 'technic:rebar 6', + recipe = { + {'','', 'default:steel_ingot'}, + {'','default:steel_ingot',''}, + {'default:steel_ingot', '', ''}, + } +}) + +minetest.register_craft({ + output = 'technic:concrete 5', + recipe = { + {'default:stone','technic:rebar','default:stone'}, + {'technic:rebar','default:stone','technic:rebar'}, + {'default:stone','technic:rebar','default:stone'}, + } +}) + +minetest.register_craft({ + output = 'technic:concrete_post 4', + recipe = { + {'default:stone','technic:rebar','default:stone'}, + {'default:stone','technic:rebar','default:stone'}, + {'default:stone','technic:rebar','default:stone'}, +} +}) + +minetest.register_craftitem("technic:rebar", { + description = "Rebar", + inventory_image = "technic_rebar.png", + stack_max = 99, +}) + +minetest.register_craftitem("technic:concrete", { + description = "Concrete Block", + inventory_image = "technic_concrete_block.png", + stack_max = 99, +}) + +minetest.register_craftitem("technic:concrete_post", { + description = "Concrete Post", + inventory_image = "technic_concrete_post.png", + stack_max = 99, +}) + + + +-- NODES: + +minetest.register_node("technic:concrete", { + description = "Concrete Block", + tile_images = {"technic_concrete_block.png",}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("technic:concrete_post", { + description = "Concrete Post", + drawtype = "fencelike", + tiles = {"technic_concrete_block.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + + groups = {cracky=1}, + sounds = default.node_sound_stone_defaults(), +}) \ No newline at end of file diff --git a/mods/technic/config.lua b/mods/technic/config.lua new file mode 100644 index 0000000..c53fba9 --- /dev/null +++ b/mods/technic/config.lua @@ -0,0 +1,2 @@ +enable_item_drop=true +enable_item_pickup=false diff --git a/mods/technic/constructor.lua b/mods/technic/constructor.lua new file mode 100644 index 0000000..1e58408 --- /dev/null +++ b/mods/technic/constructor.lua @@ -0,0 +1,297 @@ + +minetest.register_craft({ + type = "shapeless", + output = 'technic:constructor_mk1_off 1', + recipe = {'technic:nodebreaker_off', 'technic:deployer_off'}, + +}) +minetest.register_craft({ + type = "shapeless", + output = 'technic:constructor_mk2_off 1', + recipe = {'technic:constructor_mk1_off', 'technic:constructor_mk1_off'}, + +}) + +minetest.register_craft({ + type = "shapeless", + output = 'technic:constructor_mk3_off 1', + recipe = {'technic:constructor_mk2_off', 'technic:constructor_mk2_off'}, + +}) + +minetest.register_node("technic:constructor_mk1_off", { + description = "Constructor MK1", + tile_images = {"technic_constructor_mk1_top_off.png","technic_constructor_mk1_bottom_off.png","technic_constructor_mk1_side2_off.png","technic_constructor_mk1_side1_off.png", + "technic_constructor_back.png","technic_constructor_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Constructor MK1]".. + "label[5,0;Slot 1]".. + "list[current_name;slot1;6,0;1,1;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Constructor MK1") + local inv = meta:get_inventory() + inv:set_size("slot1", 1) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + return inv:is_empty("slot1") + end, +}) + +minetest.register_node("technic:constructor_mk1_on", { + description = "Constructor MK1", + tile_images = {"technic_constructor_mk1_top_on.png","technic_constructor_mk1_bottom_on.png","technic_constructor_mk1_side2_on.png","technic_constructor_mk1_side1_on.png", + "technic_constructor_back.png","technic_constructor_front_on.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +mesecon:register_on_signal_on(function(pos, node) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + if node.param2==3 then pos1.x=pos1.x+1 end + if node.param2==2 then pos1.z=pos1.z+1 end + if node.param2==1 then pos1.x=pos1.x-1 end + if node.param2==0 then pos1.z=pos1.z-1 end + + if node.name == "technic:constructor_mk1_off" then + hacky_swap_node(pos,"technic:constructor_mk1_on") + nodeupdate(pos) + local node1=minetest.env:get_node(pos1) + deploy_node (inv,"slot1",pos1,node1,node) + end + +end) + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "technic:constructor_mk1_on" then + hacky_swap_node(pos,"technic:constructor_mk1_off") + nodeupdate(pos) + end +end) + +mesecon:register_effector("technic:constructor_mk1_on", "technic:constructor_mk1_off") + +minetest.register_node("technic:constructor_mk2_off", { + description = "Constructor MK2", + tile_images = {"technic_constructor_mk2_top_off.png","technic_constructor_mk2_bottom_off.png","technic_constructor_mk2_side2_off.png","technic_constructor_mk2_side1_off.png", + "technic_constructor_back.png","technic_constructor_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Constructor MK2]".. + "label[5,0;Slot 1]".. + "list[current_name;slot1;6,0;1,1;]".. + "label[5,1;Slot 2]".. + "list[current_name;slot2;6,1;1,1;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Constructor MK2") + local inv = meta:get_inventory() + inv:set_size("slot1", 1) + inv:set_size("slot2", 1) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + if inv:is_empty("slot1")==false or inv:is_empty("slot2")==false then return false end + return true + end, +}) + +minetest.register_node("technic:constructor_mk2_on", { + description = "Constructor MK2", + tile_images = {"technic_constructor_mk2_top_on.png","technic_constructor_mk2_bottom_on.png","technic_constructor_mk2_side2_on.png","technic_constructor_mk2_side1_on.png", + "technic_constructor_back.png","technic_constructor_front_on.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +mesecon:register_on_signal_on(function(pos, node) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + local pos1={} + local pos2={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + pos2.x=pos.x + pos2.y=pos.y + pos2.z=pos.z + if node.param2==3 then pos1.x=pos1.x+1 pos2.x=pos2.x+2 end + if node.param2==2 then pos1.z=pos1.z+1 pos2.z=pos2.z+2 end + if node.param2==1 then pos1.x=pos1.x-1 pos2.x=pos2.x-2 end + if node.param2==0 then pos1.z=pos1.z-1 pos2.z=pos2.z-2 end + + if node.name == "technic:constructor_mk2_off" then + hacky_swap_node(pos,"technic:constructor_mk2_on") + nodeupdate(pos) + local node1=minetest.env:get_node(pos1) + deploy_node (inv,"slot1",pos1,node1,node) + local node1=minetest.env:get_node(pos2) + deploy_node (inv,"slot2",pos2,node1,node) + end + +end) + + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "technic:constructor_mk2_on" then + hacky_swap_node(pos,"technic:constructor_mk2_off") + nodeupdate(pos) + end +end) + +mesecon:register_effector("technic:constructor_mk2_on", "technic:constructor_mk2_off") + +minetest.register_node("technic:constructor_mk3_off", { + description = "Constructor MK3", + tile_images = {"technic_constructor_mk3_top_off.png","technic_constructor_mk3_bottom_off.png","technic_constructor_mk3_side2_off.png","technic_constructor_mk3_side1_off.png", + "technic_constructor_back.png","technic_constructor_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Constructor MK2]".. + "label[5,0;Slot 1]".. + "list[current_name;slot1;6,0;1,1;]".. + "label[5,1;Slot 2]".. + "list[current_name;slot2;6,1;1,1;]".. + "label[5,2;Slot 3]".. + "list[current_name;slot3;6,2;1,1;]".. + "label[5,3;Slot 4]".. + "list[current_name;slot4;6,3;1,1;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Constructor MK3") + local inv = meta:get_inventory() + inv:set_size("slot1", 1) + inv:set_size("slot2", 1) + inv:set_size("slot3", 1) + inv:set_size("slot4", 1) + + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + if inv:is_empty("slot1")==false or inv:is_empty("slot2")==false or inv:is_empty("slot3")==false or inv:is_empty("slot4")==false then return false end + return true + end, +}) + +minetest.register_node("technic:constructor_mk3_on", { + description = "Constructor MK3", + tile_images = {"technic_constructor_mk3_top_on.png","technic_constructor_mk3_bottom_on.png","technic_constructor_mk3_side2_on.png","technic_constructor_mk3_side1_on.png", + "technic_constructor_back.png","technic_constructor_front_on.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +mesecon:register_on_signal_on(function(pos, node) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + + local pos1={} + local pos2={} + local pos3={} + local pos4={} + + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + + pos2.x=pos.x + pos2.y=pos.y + pos2.z=pos.z + + pos3.x=pos.x + pos3.y=pos.y + pos3.z=pos.z + + pos4.x=pos.x + pos4.y=pos.y + pos4.z=pos.z + + if node.param2==3 then pos1.x=pos1.x+1 pos2.x=pos2.x+2 pos3.x=pos3.x+3 pos4.x=pos4.x+4 end + if node.param2==2 then pos1.z=pos1.z+1 pos2.z=pos2.z+2 pos3.z=pos3.z+3 pos4.z=pos4.z+4 end + if node.param2==1 then pos1.x=pos1.x-1 pos2.x=pos2.x-2 pos3.x=pos3.x-3 pos4.x=pos4.x-4 end + if node.param2==0 then pos1.z=pos1.z-1 pos2.z=pos2.z-2 pos3.z=pos3.z-3 pos4.z=pos4.z-4 end + + if node.name == "technic:constructor_mk3_off" then + hacky_swap_node(pos,"technic:constructor_mk3_on") + nodeupdate(pos) + local node1=minetest.env:get_node(pos1) + deploy_node (inv,"slot1",pos1,node1,node) + local node1=minetest.env:get_node(pos2) + deploy_node (inv,"slot2",pos2,node1,node) + local node1=minetest.env:get_node(pos3) + deploy_node (inv,"slot3",pos3,node1,node) + local node1=minetest.env:get_node(pos4) + deploy_node (inv,"slot4",pos4,node1,node) + end + +end) + + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "technic:constructor_mk3_on" then + hacky_swap_node(pos,"technic:constructor_mk3_off") + nodeupdate(pos) + end +end) + +mesecon:register_effector("technic:constructor_mk3_on", "technic:constructor_mk3_off") + + +deploy_node =function (inv, slot_name, pos1, node1, node) +if node1.name == "air" then + if not inv:is_empty(slot_name) then + stack1=inv:get_list(slot_name) + node_to_be_placed={name=stack1[1]:get_name(), param1=0, param2=node.param2} + minetest.env:set_node(pos1,node_to_be_placed) + stack1[1]:take_item() + inv:set_stack(slot_name, 1, stack1[1]) + return + end + return + end + if node1.name == "ignore" or + node1.name == "default:lava_source" or + node1.name == "default:lava_flowing" or + node1.name == "default:water_source" or + node1.name == "default:water_flowing" + then return end + if inv:room_for_item(slot_name,node1) then + inv:add_item(slot_name,node1) + minetest.env:remove_node(pos1) + end + +end \ No newline at end of file diff --git a/mods/technic/copper_chest.lua b/mods/technic/copper_chest.lua new file mode 100644 index 0000000..cf1ae06 --- /dev/null +++ b/mods/technic/copper_chest.lua @@ -0,0 +1,162 @@ +minetest.register_craft({ + output = 'technic:copper_chest 1', + recipe = { + {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'}, + {'moreores:copper_ingot','technic:iron_chest','moreores:copper_ingot'}, + {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:copper_locked_chest 1', + recipe = { + {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'}, + {'moreores:copper_ingot','technic:iron_locked_chest','moreores:copper_ingot'}, + {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:copper_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:copper_chest'}, + } +}) + +minetest.register_craftitem("technic:copper_chest", { + description = "Copper Chest", + stack_max = 99, +}) +minetest.register_craftitem("technic:copper_locked_chest", { + description = "Copper Locked Chest", + stack_max = 99, +}) + +minetest.register_node("technic:copper_chest", { + description = "Copper Chest", + tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png", + "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[10,9;]".. + "list[current_name;main;0,0;10,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Copper Chest") + local inv = meta:get_inventory() + inv:set_size("main", 10*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("technic:copper_locked_chest", { + description = "Copper Locked Chest", + tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png", + "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_locked.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Copper Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, +on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[10,9;]".. + "list[current_name;main;0,0;10,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Copper Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 10*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/mods/technic/depends.txt b/mods/technic/depends.txt new file mode 100644 index 0000000..bfbfdf1 --- /dev/null +++ b/mods/technic/depends.txt @@ -0,0 +1,5 @@ +moreores +flowers +pipeworks +mesecons +farming diff --git a/mods/technic/deployer.lua b/mods/technic/deployer.lua new file mode 100644 index 0000000..ce3b735 --- /dev/null +++ b/mods/technic/deployer.lua @@ -0,0 +1,91 @@ +minetest.register_craft({ + output = 'technic:deployer_off 1', + recipe = { + {'default:wood', 'default:chest','default:wood'}, + {'default:stone', 'mesecons:piston','default:stone'}, + {'default:stone', 'mesecons:mesecon','default:stone'}, + + } +}) + +minetest.register_node("technic:deployer_off", { + description = "Deployer", + tile_images = {"technic_deployer_top.png","technic_deployer_bottom.png","technic_deployer_side2.png","technic_deployer_side1.png", + "technic_deployer_back.png","technic_deployer_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,tubedevice=1}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[8,9;]".. + "label[0,0;Deployer]".. + "list[current_name;main;4,1;3,3;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Deployer") + local inv = meta:get_inventory() + inv:set_size("main", 3*3) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("main") then + return false + end + return true + end, + +}) + +minetest.register_node("technic:deployer_on", { + description = "Deployer", + tile_images = {"technic_deployer_top.png","technic_deployer_bottom.png","technic_deployer_side2.png","technic_deployer_side1.png", + "technic_deployer_back.png","technic_deployer_front_on.png"}, + is_ground_content = true, + paramtype2 = "facedir", + tubelike=1, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,tubedevice=1,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +mesecon:register_on_signal_on(function(pos, node) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + if node.param2==3 then pos1.x=pos1.x+1 end + if node.param2==2 then pos1.z=pos1.z+1 end + if node.param2==1 then pos1.x=pos1.x-1 end + if node.param2==0 then pos1.z=pos1.z-1 end + + if node.name == "technic:deployer_off" then + hacky_swap_node(pos,"technic:deployer_on") + nodeupdate(pos) + local meta = minetest.env:get_meta(pos); + + local inv = meta:get_inventory() + print (dump(inv)) + for _,stack in ipairs(inv:get_list("main")) do + print (dump(stack:get_name())) + + if stack:get_name() ~=nil then + node1={name=stack:get_name(), param1=0, param2=node.param2} + minetest.env:place_node(pos1,node1) + return + end + end + end +end) + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "technic:deployer_on" then + hacky_swap_node(pos,"technic:deployer_off") + nodeupdate(pos) + end +end) + +mesecon:register_effector("technic:deployer_on", "technic:deployer_off") + + diff --git a/mods/technic/electric.lua b/mods/technic/electric.lua new file mode 100644 index 0000000..2eb2bf3 --- /dev/null +++ b/mods/technic/electric.lua @@ -0,0 +1,268 @@ +power_tools ={} + +registered_power_tools_count=1 + +function register_power_tool (string1,max_charge) +power_tools[registered_power_tools_count]={} +power_tools[registered_power_tools_count].tool_name=string1 +power_tools[registered_power_tools_count].max_charge=max_charge +registered_power_tools_count=registered_power_tools_count+1 +end + +register_power_tool ("technic:mining_drill",60000) +register_power_tool ("technic:laser_mk1",40000) +register_power_tool ("technic:battery",10000) + +minetest.register_alias("battery", "technic:battery") +minetest.register_alias("battery_box", "technic:battery_box") +minetest.register_alias("electric_furnace", "technic:electric_furnace") + + +minetest.register_craft({ + output = 'technic:battery 1', + recipe = { + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + {'default:wood', 'moreores:tin_ingot', 'default:wood'}, + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'technic:battery_box 1', + recipe = { + {'technic:battery', 'default:wood', 'technic:battery'}, + {'technic:battery', 'moreores:copper_ingot', 'technic:battery'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:electric_furnace', + recipe = { + {'default:brick', 'default:brick', 'default:brick'}, + {'default:brick', '', 'default:brick'}, + {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'}, + } +}) + + +minetest.register_tool("technic:battery", +{description = "RE Battery", +inventory_image = "technic_battery.png", +energy_charge = 0, +tool_capabilities = {max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + +minetest.register_craftitem("technic:battery_box", { + description = "Battery box", + stack_max = 99, +}) + + + +battery_box_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:battery_box", { + description = "Battery box", + tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side.png", + "technic_battery_box_side.png", "technic_battery_box_side.png", "technic_battery_box_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Battery box") + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 60000 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +electric_furnace_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]" + +minetest.register_node("technic:electric_furnace", { + description = "Electric furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace") + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + meta:set_float("internal_EU_buffer",0) + meta:set_float("internal_EU_buffer_size",2000) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("technic:electric_furnace_active", { + description = "Electric Furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:electric_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace"); + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:electric_furnace","technic:electric_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + internal_EU_buffer=meta:get_float("internal_EU_buffer") + internal_EU_buffer_size=meta:get_float("internal_EU_buffer") + local load = math.floor(internal_EU_buffer/2000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]") + + local inv = meta:get_inventory() + + local furnace_is_cookin = meta:get_float("furnace_is_cookin") + + + local srclist = inv:get_list("src") + local cooked=nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + + if (furnace_is_cookin == 1) then + if internal_EU_buffer>=150 then + internal_EU_buffer=internal_EU_buffer-150; + meta:set_float("internal_EU_buffer",internal_EU_buffer) + meta:set_float("src_time", meta:get_float("src_time") + 3) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + end + + + + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + if cooked.time>0 then + hacky_swap_node(pos,"technic:electric_furnace_active") + meta:set_string("infotext","Furnace active") + meta:set_string("furnace_is_cookin",1) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + return + end + + end + + hacky_swap_node(pos,"technic:electric_furnace") + meta:set_string("infotext","Furnace inactive") + meta:set_string("furnace_is_cookin",0) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + + +end, +}) \ No newline at end of file diff --git a/mods/technic/electric_furnace.lua b/mods/technic/electric_furnace.lua new file mode 100644 index 0000000..6563efb --- /dev/null +++ b/mods/technic/electric_furnace.lua @@ -0,0 +1,177 @@ +minetest.register_alias("electric_furnace", "technic:electric_furnace") + +minetest.register_craft({ + output = 'technic:electric_furnace', + recipe = { + {'default:cobble', 'default:cobble', 'default:cobble'}, + {'default:cobble', '', 'default:cobble'}, + {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'}, + } +}) + + +electric_furnace_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]" + +minetest.register_node("technic:electric_furnace", { + description = "Electric furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace") + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + meta:set_float("internal_EU_buffer",0) + meta:set_float("internal_EU_buffer_size",2000) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("technic:electric_furnace_active", { + description = "Electric Furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:electric_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace"); + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:electric_furnace","technic:electric_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + internal_EU_buffer=meta:get_float("internal_EU_buffer") + internal_EU_buffer_size=meta:get_float("internal_EU_buffer") + local load = math.floor(internal_EU_buffer/2000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]") + + local inv = meta:get_inventory() + + local furnace_is_cookin = meta:get_float("furnace_is_cookin") + + + local srclist = inv:get_list("src") + local cooked=nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + + if (furnace_is_cookin == 1) then + if internal_EU_buffer>=150 then + internal_EU_buffer=internal_EU_buffer-150; + meta:set_float("internal_EU_buffer",internal_EU_buffer) + meta:set_float("src_time", meta:get_float("src_time") + 3) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + end + + + + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + if cooked.time>0 then + hacky_swap_node(pos,"technic:electric_furnace_active") + meta:set_string("infotext","Furnace active") + meta:set_string("furnace_is_cookin",1) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + return + end + + end + + hacky_swap_node(pos,"technic:electric_furnace") + meta:set_string("infotext","Furnace inactive") + meta:set_string("furnace_is_cookin",0) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + + +end, +}) diff --git a/mods/technic/flashlight.lua b/mods/technic/flashlight.lua new file mode 100644 index 0000000..f26a51d --- /dev/null +++ b/mods/technic/flashlight.lua @@ -0,0 +1,169 @@ +-- original code comes from walkin_light mod by Echo http://minetest.net/forum/viewtopic.php?id=2621 + +flashlight_max_charge=30000 + + minetest.register_tool("technic:flashlight", { + description = "Flashlight", + inventory_image = "technic_flashlight.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + end, + }) + + minetest.register_craft({ + output = "technic:flashlight", + recipe = { + {"glass","glass","glass"}, + {"technic:stainless_steel_ingot","technic:battery","technic:stainless_steel_ingot"}, + {"","technic:battery",""} + } + }) +local players = {} +local player_positions = {} +local last_wielded = {} + +function round(num) + return math.floor(num + 0.5) +end + +minetest.register_on_joinplayer(function(player) + local player_name = player:get_player_name() + table.insert(players, player_name) + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + player_positions[player_name] = {} + player_positions[player_name]["x"] = rounded_pos.x; + player_positions[player_name]["y"] = rounded_pos.y; + player_positions[player_name]["z"] = rounded_pos.z; +end) + +minetest.register_on_leaveplayer(function(player) + local player_name = player:get_player_name() + for i,v in ipairs(players) do + if v == player_name then + table.remove(players, i) + last_wielded[player_name] = nil + -- Neuberechnung des Lichts erzwingen + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + minetest.env:add_node(rounded_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(rounded_pos,{type="node",name="air"}) + player_positions[player_name]["x"] = nil + player_positions[player_name]["y"] = nil + player_positions[player_name]["z"] = nil + player_positions[player_name]["m"] = nil + player_positions[player_name] = nil + end + end +end) + +minetest.register_globalstep(function(dtime) + for i,player_name in ipairs(players) do + local player = minetest.env:get_player_by_name(player_name) + if player then + flashlight_weared=check_for_flashlight(player) + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + local old_pos = {x=player_positions[player_name]["x"], y=player_positions[player_name]["y"], z=player_positions[player_name]["z"]} + + if last_wielded[player_name] and not flashlight_weared then --remove light, flashlight weared out or was removed from hotbar + local node=minetest.env:get_node_or_nil(old_pos) + if node then + if node.name=="technic:light" then + minetest.env:add_node(old_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(old_pos,{type="node",name="air"}) + last_wielded[player_name]=false + end + end + end + + player_moved=not(old_pos.x==rounded_pos.x and old_pos.y==rounded_pos.y and old_pos.z==rounded_pos.z) + if player_moved and last_wielded[player_name] and flashlight_weared then + + local node=minetest.env:get_node_or_nil(rounded_pos) + if node then + if node.name=="air" then + minetest.env:add_node(rounded_pos,{type="node",name="technic:light"}) + end + end + local node=minetest.env:get_node_or_nil(old_pos) + if node then + if node.name=="technic:light" then + minetest.env:add_node(old_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(old_pos,{type="node",name="air"}) + end + end + player_positions[player_name]["x"] = rounded_pos.x + player_positions[player_name]["y"] = rounded_pos.y + player_positions[player_name]["z"] = rounded_pos.z + + else if not last_wielded[player_name] and flashlight_weared then + local node=minetest.env:get_node_or_nil(rounded_pos) + if node then + if node.name=="air" then + minetest.env:add_node(rounded_pos,{type="node",name="technic:light"}) + end + end + player_positions[player_name]["x"] = rounded_pos.x + player_positions[player_name]["y"] = rounded_pos.y + player_positions[player_name]["z"] = rounded_pos.z + last_wielded[player_name]=true + end + + end + end + end +end) + +minetest.register_node("technic:light", { + drawtype = "glasslike", + tile_images = {"technic_light.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + light_propagates = true, + sunlight_propagates = true, + light_source = 15, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) +minetest.register_node("technic:light_off", { + drawtype = "glasslike", + tile_images = {"technic_light.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + light_propagates = true, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) + +function check_for_flashlight (player) +if player==nil then return false end +local inv = player:get_inventory() +local hotbar=inv:get_list("main") + for i=1,8,1 do + + if hotbar[i]:get_name() == "technic:flashlight" then + item=hotbar[i]:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return false end --flashlight not charghed + charge=tonumber(item["metadata"]) + if charge-2>0 then + charge =charge-2; + set_RE_wear(item,charge,flashlight_max_charge) + item["metadata"]=tostring(charge) + hotbar[i]:replace(item) + inv:set_stack("main",i,hotbar[i]) + return true + end + end + end +return false +end diff --git a/mods/technic/generator.lua b/mods/technic/generator.lua new file mode 100644 index 0000000..c8ac802 --- /dev/null +++ b/mods/technic/generator.lua @@ -0,0 +1,148 @@ +minetest.register_alias("generator", "technic:generator") +minetest.register_alias("generator", "technic:generator_active") + +minetest.register_craft({ + output = 'technic:generator', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', '', 'default:stone'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:generator", { + description = "Coal Driven Generator", + stack_max = 99, +}) + +generator_formspec = + "invsize[8,9;]".. + "image[0,0;5,5;technic_generator_menu.png]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. +-- "label[0,0;Generator]".. + "label[1,3;Power level]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;default_furnace_fire_bg.png]".. + "list[current_player;main;0,5;8,4;]" + + +minetest.register_node("technic:generator", { + description = "Coal Driven Generator", + tiles = {"technic_generator_top.png", "technic_machine_bottom.png", "technic_generator_side.png", + "technic_generator_side.png", "technic_generator_side.png", "technic_generator_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=5000; + burn_time=0; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Generator") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 5000) + meta:set_string("formspec", generator_formspec) + meta:set_float("burn_time", 0) + + local inv = meta:get_inventory() + inv:set_size("src", 1) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("src") then + return false + end + return true + end, + +}) + +minetest.register_node("technic:generator_active", { + description = "Coal Driven Generator", + tiles = {"technic_generator_top.png", "technic_machine_bottom.png", "technic_generator_side.png", + "technic_generator_side.png", "technic_generator_side.png", "technic_generator_front_active.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + drop="technic:generator", + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=0; + burn_time=0; + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("src") then + return false + end + return true + end, + +}) +minetest.register_abm({ + nodenames = {"technic:generator","technic:generator_active"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + local burn_time= meta:get_float("burn_time") + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + local burn_charge=200 + + if burn_time>0 then + if charge+burn_charge>max_charge then + burn_charge=max_charge-charge + end + if burn_charge>0 then + burn_time=burn_time-1 + meta:set_float("burn_time",burn_time) + charge=charge+burn_charge + meta:set_float("internal_EU_buffer",charge) + end + + end + if burn_time==0 then + local inv = meta:get_inventory() + if inv:is_empty("src")==false then + local srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + if src_item["name"]== "default:coal_lump" then + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + burn_time=16 + meta:set_float("burn_time",burn_time) + hacky_swap_node (pos,"technic:generator_active") + end + end + end + + local load = math.floor((charge/max_charge)*100) + local percent = math.floor((burn_time/16)*100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "label[0,0;Generator]".. + "label[1,3;Power level]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;default_furnace_fire_bg.png^[lowpart:".. + (percent)..":default_furnace_fire_fg.png]".. + "list[current_player;main;0,5;8,4;]" + ) + + if burn_time==0 then + hacky_swap_node (pos,"technic:generator") + end + + + end +}) + diff --git a/mods/technic/geothermal.lua b/mods/technic/geothermal.lua new file mode 100644 index 0000000..8f3a7d7 --- /dev/null +++ b/mods/technic/geothermal.lua @@ -0,0 +1,135 @@ +minetest.register_alias("geothermal", "technic:geothermal") + +minetest.register_craft({ + output = 'technic:geothermal', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'moreores:copper_ingot', 'technic:diamond', 'moreores:copper_ingot'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:geothermal", { + description = "Geothermal Generator", + stack_max = 99, +}) + +geothermal_formspec = + "invsize[8,4;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "label[0,0;Geothermal Generator]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + + +minetest.register_node("technic:geothermal", { + description = "Geothermal Generator", + tiles = {"technic_geothermal_top.png", "technic_machine_bottom.png", "technic_geothermal_side.png", + "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=5000; + burn_time=0; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Geothermal Generator") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 2000) + meta:set_string("formspec", geothermal_formspec) + end, + +}) + +minetest.register_node("technic:geothermal_active", { + description = "Geothermal Generator", + tiles = {"technic_geothermal_top_active.png", "technic_machine_bottom.png", "technic_geothermal_side.png", + "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + drop="technic:geothermal", + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=0; +}) + +minetest.register_abm({ + nodenames = {"technic:geothermal","technic:geothermal_active"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + local water_nodes = 0 + local lava_nodes = 0 + local production_level=0 + local load_step=0 + + pos.x=pos.x+1 + local check=check_node_around (pos) + if check==1 then water_nodes=water_nodes+1 end + if check==2 then lava_nodes=lava_nodes+1 end + pos.x=pos.x-2 + check=check_node_around (pos) + if check==1 then water_nodes=water_nodes+1 end + if check==2 then lava_nodes=lava_nodes+1 end + pos.x=pos.x+1 + pos.z=pos.z+1 + check=check_node_around (pos) + if check==1 then water_nodes=water_nodes+1 end + if check==2 then lava_nodes=lava_nodes+1 end + pos.z=pos.z-2 + check=check_node_around (pos) + if check==1 then water_nodes=water_nodes+1 end + if check==2 then lava_nodes=lava_nodes+1 end + pos.z=pos.z+1 + + if water_nodes==1 and lava_nodes==1 then production_level=50 load_step=30 end + if water_nodes==2 and lava_nodes==1 then production_level=75 load_step=45 end + if water_nodes==1 and lava_nodes==2 then production_level=75 load_step=45 end + if water_nodes==2 and lava_nodes==2 then production_level=100 load_step=60 end + if water_nodes==3 and lava_nodes==1 then production_level=25 load_step=15 end + if water_nodes==1 and lava_nodes==3 then production_level=25 load_step=15 end + + if production_level>0 then + if charge+load_step>max_charge then + load_step=max_charge-charge + end + if load_step>0 then + charge=charge+load_step + meta:set_float("internal_EU_buffer",charge) + end + end + + local load = math.floor((charge/max_charge)*100) + meta:set_string("formspec", + "invsize[8,4;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "label[0,0;Geothermal Generator]".. + "label[1,3;Power level]".. + "label[4,0;Production at "..tostring(production_level).."%]" + ) + + if production_level>0 and minetest.env:get_node(pos).name=="technic:geothermal" then + hacky_swap_node (pos,"technic:geothermal_active") + return + end + if production_level==0 then hacky_swap_node (pos,"technic:geothermal") end +end +}) + +function check_node_around (pos) +local node=minetest.env:get_node(pos) +if node.name=="default:water_source" or node.name=="default:water_flowing" then return 1 end +if node.name=="default:lava_source" or node.name=="default:lava_flowing" then return 2 end +return 0 +end \ No newline at end of file diff --git a/mods/technic/gold_chest.lua b/mods/technic/gold_chest.lua new file mode 100644 index 0000000..29f1666 --- /dev/null +++ b/mods/technic/gold_chest.lua @@ -0,0 +1,611 @@ +local chest_mark_colors = { + '_black', + '_blue', + '_brown', + '_cyan', + '_dark_green', + '_dark_grey', + '_green', + '_grey', + '_magenta', + '_orange', + '_pink', + '_red', + '_violet', + '_white', + '_yellow', +} + +minetest.register_craft({ + output = 'technic:gold_chest 1', + recipe = { + {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'}, + {'moreores:gold_ingot','technic:silver_chest','moreores:gold_ingot'}, + {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:gold_locked_chest 1', + recipe = { + {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'}, + {'moreores:gold_ingot','technic:silver_locked_chest','moreores:gold_ingot'}, + {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:gold_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:gold_chest'}, + } +}) + +minetest.register_craftitem("technic:gold_chest", { + description = "Gold Chest", + stack_max = 99, +}) +minetest.register_craftitem("technic:gold_locked_chest", { + description = "Gold Locked Chest", + stack_max = 99, +}) + +minetest.register_node("technic:gold_chest", { + description = "Gold Chest", + tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png", + "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Gold Chest") + local inv = meta:get_inventory() + inv:set_size("main", 12*4) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + chest_punched (pos,node,puncher); + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +for i, state in ipairs(chest_mark_colors) do +minetest.register_node("technic:gold_chest".. state, { + description = "Gold Chest", + tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png", + "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front"..state..".png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, not_in_creative_inventory=1,tubedevice=1,tubedevice_receiver=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + drop = "technic:gold_chest", + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Gold Chest") + local inv = meta:get_inventory() + inv:set_size("main", 12*4) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + chest_punched (pos,node,puncher); + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) +end + + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("technic:gold_locked_chest", { + description = "Gold Locked Chest", + tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png", + "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked.png"}, + paramtype2 = "facedir", + drop = "technic:gold_locked_chest", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Gold Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Gold Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 12*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + if (has_locked_chest_privilege(meta, puncher)) then + locked_chest_punched (pos,node,puncher); + end + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +for i, state in ipairs(chest_mark_colors) do +minetest.register_node("technic:gold_locked_chest".. state, { + description = "Gold Locked Chest", + tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png", + "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked"..state..".png"}, + paramtype2 = "facedir", + drop = "technic:gold_locked_chest", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, not_in_creative_inventory=1,tubedevice=1,tubedevice_receiver=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Gold Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Gold Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 12*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + if (has_locked_chest_privilege(meta, puncher)) then + locked_chest_punched (pos,node,puncher); + end + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[12,9;]".. + "list[current_name;main;0,0;12,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) +end + +function chest_punched (pos,node,puncher) + + local player_tool = puncher:get_wielded_item(); + local item=player_tool:get_name(); + if item == "dye:black" then + if (hacky_swap_node(pos,"technic:gold_chest_black")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:blue" then + if (hacky_swap_node(pos,"technic:gold_chest_blue")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:brown" then + if (hacky_swap_node(pos,"technic:gold_chest_brown")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:cyan" then + if (hacky_swap_node(pos,"technic:gold_chest_cyan")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:dark_green" then + if (hacky_swap_node(pos,"technic:gold_chest_dark_green")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:dark_grey" then + if (hacky_swap_node(pos,"technic:gold_chest_dark_grey")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:green" then + if (hacky_swap_node(pos,"technic:gold_chest_green")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:grey" then + if (hacky_swap_node(pos,"technic:gold_chest_grey")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:magenta" then + if (hacky_swap_node(pos,"technic:gold_chest_magenta")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:orange" then + if (hacky_swap_node(pos,"technic:gold_chest_orange")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:pink" then + if (hacky_swap_node(pos,"technic:gold_chest_pink")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:red" then + if (hacky_swap_node(pos,"technic:gold_chest_red")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:violet" then + if (hacky_swap_node(pos,"technic:gold_chest_violet")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:white" then + if (hacky_swap_node(pos,"technic:gold_chest_white")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:yellow" then + if (hacky_swap_node(pos,"technic:gold_chest_yellow")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", "hack:sign_text_input") + end + + +function locked_chest_punched (pos,node,puncher) + + local player_tool = puncher:get_wielded_item(); + local item=player_tool:get_name(); + if item == "dye:black" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_black")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:blue" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_blue")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:brown" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_brown")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:cyan" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_cyan")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:dark_green" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_green")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:dark_grey" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_grey")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:green" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_green")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:grey" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_grey")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:magenta" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_magenta")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:orange" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_orange")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:pink" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_pink")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:red" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_red")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:violet" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_violet")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:white" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_white")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + if item == "dye:yellow" then + if (hacky_swap_node(pos,"technic:gold_locked_chest_yellow")) then + player_tool:take_item(1); + puncher:set_wielded_item(player_tool); + return + end + end + + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", "hack:sign_text_input") + end + \ No newline at end of file diff --git a/mods/technic/grinder.lua b/mods/technic/grinder.lua new file mode 100644 index 0000000..40c068a --- /dev/null +++ b/mods/technic/grinder.lua @@ -0,0 +1,320 @@ +grinder_recipes ={} + +registered_grinder_recipes_count=1 + +function register_grinder_recipe (string1,string2) +grinder_recipes[registered_grinder_recipes_count]={} +grinder_recipes[registered_grinder_recipes_count].src_name=string1 +grinder_recipes[registered_grinder_recipes_count].dst_name=string2 +registered_grinder_recipes_count=registered_grinder_recipes_count+1 +end + +register_grinder_recipe("default:stone","default:sand") +register_grinder_recipe("default:cobble","default:gravel") +register_grinder_recipe("default:gravel","default:dirt") +register_grinder_recipe("default:desert_stone","default:desert_sand") +register_grinder_recipe("default:iron_lump","technic:iron_dust 2") +register_grinder_recipe("default:coal_lump","technic:coal_dust 2") +register_grinder_recipe("moreores:copper_lump","technic:copper_dust 2") +register_grinder_recipe("moreores:tin_lump","technic:tin_dust 2") +register_grinder_recipe("moreores:silver_lump","technic:silver_dust 2") +register_grinder_recipe("moreores:gold_lump","technic:gold_dust 2") +register_grinder_recipe("moreores:mithril_lump","technic:mithril_dust 2") +register_grinder_recipe("technic:chromium_lump","technic:chromium_dust 2") +register_grinder_recipe("technic:zinc_lump","technic:zinc_dust 2") +register_grinder_recipe("technic:coal_dust","dye:black 2") +register_grinder_recipe("default:cactus","dye:green 2") +register_grinder_recipe("default:dry_shrub","dye:brown 2") +register_grinder_recipe("flowers:flower_geranium","dye:blue 2") +register_grinder_recipe("flowers:flower_dandelion_white","dye:white 2") +register_grinder_recipe("flowers:flower_dandelion_yellow","dye:yellow 2") +register_grinder_recipe("flowers:flower_tulip","dye:orange 2") +register_grinder_recipe("flowers:flower_rose","dye:red 2") +register_grinder_recipe("flowers:flower_viola","dye:violet 2") + + +minetest.register_craftitem( "technic:coal_dust", { + description = "Coal Dust", + inventory_image = "technic_coal_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) + +minetest.register_craftitem( "technic:iron_dust", { + description = "Iron Dust", + inventory_image = "technic_iron_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "technic:iron_dust", +}) + +minetest.register_craftitem( "technic:copper_dust", { + description = "Copper Dust", + inventory_image = "technic_copper_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:copper_ingot", + recipe = "technic:copper_dust", +}) + +minetest.register_craftitem( "technic:tin_dust", { + description = "Tin Dust", + inventory_image = "technic_tin_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:tin_ingot", + recipe = "technic:tin_dust", +}) + +minetest.register_craftitem( "technic:silver_dust", { + description = "Silver Dust", + inventory_image = "technic_silver_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:silver_ingot", + recipe = "technic:silver_dust", +}) + +minetest.register_craftitem( "technic:gold_dust", { + description = "Gold Dust", + inventory_image = "technic_gold_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:gold_ingot", + recipe = "technic:gold_dust", +}) + +minetest.register_craftitem( "technic:mithril_dust", { + description = "Mithril Dust", + inventory_image = "technic_mithril_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:mithril_ingot", + recipe = "technic:mithril_dust", +}) + +minetest.register_craftitem( "technic:chromium_dust", { + description = "Chromium Dust", + inventory_image = "technic_chromium_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "technic:chromium_ingot", + recipe = "technic:chromium_dust", +}) + +minetest.register_craftitem( "technic:bronze_dust", { + description = "Bronze Dust", + inventory_image = "technic_bronze_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "moreores:bronze_ingot", + recipe = "technic:bronze_dust", +}) + +minetest.register_craftitem( "technic:brass_dust", { + description = "Brass Dust", + inventory_image = "technic_brass_dust.png", + on_place_on_ground = minetest.craftitem_place_item, + }) +minetest.register_craft({ + type = "cooking", + output = "technic:brass_ingot", + recipe = "technic:brass_dust", +}) + +minetest.register_craftitem( "technic:stainless_steel_dust", { + description = "Stainless Steel Dust", + inventory_image = "technic_stainless_steel_dust.png", + }) + +minetest.register_craft({ + type = "cooking", + output = "technic:stainless_steel_ingot", + recipe = "technic:stainless_steel_dust", +}) + +minetest.register_craftitem( "technic:zinc_dust", { + description = "Zinc Dust", + inventory_image = "technic_zinc_dust.png", + }) + +minetest.register_craft({ + type = "cooking", + output = "technic:zinc_ingot", + recipe = "technic:zinc_dust", +}) + +minetest.register_alias("grinder", "technic:grinder") +minetest.register_craft({ + output = 'technic:grinder', + recipe = { + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'technic:diamond', 'default:desert_stone'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:grinder", { + description = "Grinder", + stack_max = 99, +}) + +grinder_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "label[0,0;Grinder]".. + "label[1,3;Power level]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + + +minetest.register_node("technic:grinder", { + description = "Grinder", + tiles = {"technic_grinder_top.png", "technic_machine_bottom.png", "technic_grinder_side.png", + "technic_grinder_side.png", "technic_grinder_side.png", "technic_grinder_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=5000; + grind_time=0; + grinded = nil; + src_time = 0; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Grinder") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 5000) + meta:set_string("formspec", grinder_formspec) + meta:set_float("grind_time", 0) + + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("src") then + return false + end + if not inv:is_empty("dst") then + return false + end + + return true + end, + +}) + +minetest.register_abm({ + nodenames = {"technic:grinder"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + local grind_cost=200 + + local load = math.floor((charge/max_charge)*100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "label[0,0;Grinder]".. + "label[1,3;Power level]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + ) + + + + local inv = meta:get_inventory() + +-- local grinder_on = meta:get_float("grinder_on") + + + local srclist = inv:get_list("src") + if inv:is_empty("src") then meta:set_float("grinder_on",0) end + + + if (meta:get_float("grinder_on") == 1) then + if charge>=grind_cost then + charge=charge-grind_cost; + meta:set_float("internal_EU_buffer",charge) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if meta:get_float("src_time") >= meta:get_float("grind_time") then + -- check if there's room for output in "dst" list + grinded = get_grinded_item (inv:get_stack("src", 1)) + if inv:room_for_item("dst",grinded) then + -- Put result in "dst" list + inv:add_item("dst", grinded) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + if inv:is_empty("src") then meta:set_float("grinder_on",0) end + + + + else + print("Grinder inventory full!") + end + meta:set_float("src_time", 0) + end + end + end + + if (meta:get_float("grinder_on")==0) then + local grinded=nil + if not inv:is_empty("src") then + grinded = get_grinded_item (inv:get_stack("src", 1)) + if grinded then meta:set_float("grinder_on",1) end + grind_time=4 + meta:set_float("grind_time",grind_time) + meta:set_float("src_time", 0) + return + end + end + + + end +}) + +function get_grinded_item (items) +new_item =nil +src_item=items:to_table() +item_name=src_item["name"] + +local counter=registered_grinder_recipes_count-1 +for i=1, counter,1 do +if grinder_recipes[i].src_name==item_name then return ItemStack(grinder_recipes[i].dst_name) end +end +return nil + +end \ No newline at end of file diff --git a/mods/technic/init.lua b/mods/technic/init.lua new file mode 100644 index 0000000..8933a11 --- /dev/null +++ b/mods/technic/init.lua @@ -0,0 +1,85 @@ +-- Minetest 0.4.3 : technic + +minetest.register_alias("rebar", "technic:rebar") +minetest.register_alias("concrete", "technic:concrete") +minetest.register_alias("concrete_post", "technic:concrete_post") +minetest.register_alias("iron_chest", "technic:iron_chest") +minetest.register_alias("iron_locked_chest", "technic:iron_locked_chest") +minetest.register_alias("copper_chest", "technic:copper_chest") +minetest.register_alias("copper_locked_chest", "technic:copper_locked_chest") +minetest.register_alias("silver_chest", "technic:silver_chest") +minetest.register_alias("silver_locked_chest", "technic:silver_locked_chest") +minetest.register_alias("gold_chest", "technic:gold_chest") +minetest.register_alias("gold_locked_chest", "technic:gold_locked_chest") +minetest.register_alias("mithril_chest", "technic:mithril_chest") +minetest.register_alias("mithril_locked_chest", "technic:mithril_locked_chest") + + +modpath=minetest.get_modpath("technic") + +--Read technic config file +dofile(modpath.."/config.lua") + +dofile(modpath.."/concrete.lua") +dofile(modpath.."/iron_chest.lua") +dofile(modpath.."/copper_chest.lua") +dofile(modpath.."/silver_chest.lua") +dofile(modpath.."/gold_chest.lua") +dofile(modpath.."/mithril_chest.lua") +dofile(modpath.."/electric_furnace.lua") +dofile(modpath.."/battery_box.lua") +dofile(modpath.."/wires.lua") +dofile(modpath.."/wires_mv.lua") +dofile(modpath.."/ores.lua") +dofile(modpath.."/tool_workshop.lua") +dofile(modpath.."/music_player.lua") +dofile(modpath.."/grinder.lua") +dofile(modpath.."/mining_laser_mk1.lua") +dofile(modpath.."/injector.lua") +dofile(modpath.."/generator.lua") +dofile(modpath.."/solar_panel.lua") +dofile(modpath.."/geothermal.lua") +dofile(modpath.."/water_mill.lua") +dofile(modpath.."/alloy_furnace.lua") +dofile(modpath.."/items.lua") +dofile(modpath.."/mining_drill.lua") +dofile(modpath.."/screwdriver.lua") +dofile(modpath.."/sonic_screwdriver.lua") +dofile(modpath.."/node_breaker.lua") +dofile(modpath.."/deployer.lua") +dofile(modpath.."/constructor.lua") +dofile(modpath.."/tree_tap.lua") +dofile(modpath.."/flashlight.lua") +dofile(modpath.."/cans.lua") +dofile(modpath.."/chainsaw.lua") + +if enable_item_drop then dofile(modpath.."/item_drop.lua") end +if enable_item_pickup then dofile(modpath.."/item_pickup.lua") end + +--MV machines +dofile(modpath.."/solar_panel_mv.lua") +dofile(modpath.."/battery_box_mv.lua") + + +function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return nil + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) + return 1 +end \ No newline at end of file diff --git a/mods/technic/injector.lua b/mods/technic/injector.lua new file mode 100644 index 0000000..0a6a19c --- /dev/null +++ b/mods/technic/injector.lua @@ -0,0 +1,325 @@ +minetest.register_craftitem("technic:injector", { + description = "Injector", + stack_max = 99, +}) + +minetest.register_node("technic:injector", { + description = "Injector", + tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png", + "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,2;8,2;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Injector") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + for _,stack in ipairs(inv:get_list("main")) do + if stack:get_name() ~="" then + inv:remove_item("main",stack) + pos1=pos + pos1.y=pos1.y + local x=pos1.x+1.5 + local z=pos1.z + item1=tube_item({x=pos1.x,y=pos1.y,z=pos1.z},stack) + item1:get_luaentity().start_pos = {x=pos1.x,y=pos1.y,z=pos1.z} + item1:setvelocity({x=1, y=0, z=0}) + item1:setacceleration({x=0, y=0, z=0}) + return + end + end +end, +}) + + +function tube_item(pos, item) + local TUBE_nodes = {} + local CHEST_nodes = {} + + TUBE_nodes[1]={} + TUBE_nodes[1].x=pos.x + TUBE_nodes[1].y=pos.y + TUBE_nodes[1].z=pos.z + + +table_index=1 + repeat + check_TUBE_node (TUBE_nodes,CHEST_nodes,table_index) + table_index=table_index+1 + if TUBE_nodes[table_index]==nil then break end + until false +found=table_index-1 + + +print("Found "..found.." tubes connected") +print(dump(CHEST_nodes)) + -- Take item in any format + local stack = ItemStack(item) + local obj = minetest.env:add_entity(pos, "technic:tubed_item") + obj:get_luaentity():set_item(stack:to_string()) + return obj +end + +minetest.register_entity("technic:tubed_item", { + initial_properties = { + hp_max = 1, + physical = false, + collisionbox = {0,0,0,0,0,0}, + visual = "sprite", + visual_size = {x=0.5, y=0.5}, + textures = {""}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = false, + start_pos={}, + route={} + }, + + itemstring = '', + physical_state = false, + + set_item = function(self, itemstring) + self.itemstring = itemstring + local stack = ItemStack(itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + visual = "sprite", + textures = {"unknown_item.png"} + } + if item_texture and item_texture ~= "" then + prop.visual = "sprite" + prop.textures = {item_texture} + prop.visual_size = {x=0.3, y=0.3} + else + prop.visual = "wielditem" + prop.textures = {itemname} + prop.visual_size = {x=0.15, y=0.15} + end + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + + return minetest.serialize({ + itemstring=self.itemstring, + velocity=self.object:getvelocity(), + start_pos=self.start_pos + }) + end, + + on_activate = function(self, staticdata) +-- print (dump(staticdata)) + if staticdata=="" or staticdata==nil then return end + local item = minetest.deserialize(staticdata) + local stack = ItemStack(item.itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + + if itemname then + self.start_pos=item.start_pos + self.object:setvelocity(item.velocity) + self.object:setacceleration({x=0, y=0, z=0}) + self.object:setpos(item.start_pos) + end + self:set_item(item.itemstring) + end, + + on_step = function(self, dtime) + if self.start_pos then + local pos = self.object:getpos() + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + tubelike=meta:get_int("tubelike") + local stack = ItemStack(self.itemstring) + local drop_pos=nil + + local velocity=self.object:getvelocity() + + if velocity==nil then print ("wypadl") return end + + if math.abs(velocity.x)==1 then + local next_node=math.abs(pos.x-self.start_pos.x) + if next_node >= 1 then + self.start_pos.x=self.start_pos.x+velocity.x + if check_pos_vector (self.start_pos, velocity)==0 then + if check_next_step (self.start_pos, velocity)==0 then + drop_pos=minetest.env:find_node_near({x=self.start_pos.x,y=self.start_pos.y,z=self.start_pos.z+velocity.x}, 1, "air") + if drop_pos then minetest.item_drop(stack, "", drop_pos) end + self.object:remove() + end + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + + if math.abs(velocity.y)==1 then + local next_node=math.abs(pos.y-self.start_pos.y) + if next_node >= 1 then + self.start_pos.y=self.start_pos.y+velocity.y + if check_pos_vector (self.start_pos, velocity)==0 then + if check_next_step (self.start_pos, velocity)==0 then + drop_pos=minetest.env:find_node_near({x=self.start_pos.x+velocity.x,y=self.start_pos.y+velocity.y,z=self.start_pos.z+velocity.z}, 1, "air") + if drop_pos then minetest.item_drop(stack, "", drop_pos) end + self.object:remove() + end + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + + if math.abs(velocity.z)==1 then + local next_node=math.abs(pos.z-self.start_pos.z) + if next_node >= 1 then + self.start_pos.z=self.start_pos.z+velocity.z + if check_pos_vector (self.start_pos, velocity)==0 then + if check_next_step (self.start_pos, velocity)==0 then + drop_pos=minetest.env:find_node_near({x=self.start_pos.x+velocity.x,y=self.start_pos.y+velocity.y,z=self.start_pos.z+velocity.z}, 1, "air") + if drop_pos then minetest.item_drop(stack, "", drop_pos) end + self.object:remove() + end + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + end + +end +}) + + +function check_next_step (pos,velocity) +local meta +local tubelike + +if velocity.x==0 then +meta = minetest.env:get_meta({x=pos.x-1,y=pos.y,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=-1 velocity.y=0 velocity.z=0 return 1 end +meta = minetest.env:get_meta({x=pos.x+1,y=pos.y,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=1 velocity.y=0 velocity.z=0 return 1 end +end + +if velocity.z==0 then +meta = minetest.env:get_meta({x=pos.x,y=pos.y,z=pos.z+1}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=0 velocity.z=1 return 1 end +meta = minetest.env:get_meta({x=pos.x,y=pos.y,z=pos.z-1}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=0 velocity.z=-1 return 1 end +end + +if velocity.y==0 then +meta = minetest.env:get_meta({x=pos.x,y=pos.y+1,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=1 velocity.z=0 return 1 end +meta = minetest.env:get_meta({x=pos.x,y=pos.y-1,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=-1 velocity.z=0 return 1 end +end + +print ("spadl") +return 0 +end + +function check_pos_vector (pos,velocity) +added={} +added.x=pos.x+velocity.x +added.y=pos.y+velocity.y +added.z=pos.z+velocity.z +local meta=minetest.env:get_meta(added) +--print(dump(added).." : "..tubelike) +if meta:get_int("tubelike")==1 then return 1 end +return 0 +end + +function add_new_TUBE_node (TUBE_nodes,pos1,parent) +local i=1 + repeat + if TUBE_nodes[i]==nil then break end + if pos1.x==TUBE_nodes[i].x and pos1.y==TUBE_nodes[i].y and pos1.z==TUBE_nodes[i].z then return false end + i=i+1 + until false +TUBE_nodes[i]={} +TUBE_nodes[i].x=pos1.x +TUBE_nodes[i].y=pos1.y +TUBE_nodes[i].z=pos1.z +TUBE_nodes[i].parent_x=parent.x +TUBE_nodes[i].parent_y=parent.y +TUBE_nodes[i].parent_z=parent.z + +return true +end + +function check_TUBE_node (TUBE_nodes,CHEST_nodes,i) + local pos1={} + local parent={} + pos1.x=TUBE_nodes[i].x + pos1.y=TUBE_nodes[i].y + pos1.z=TUBE_nodes[i].z + parent.x=pos1.x + parent.y=pos1.y + parent.z=pos1.z + new_node_added=false + + pos1.x=pos1.x+1 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.x=pos1.x-2 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.y=pos1.y-2 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.z=pos1.z-2 + check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) + pos1.z=pos1.z+1 +return new_node_added +end + +function check_TUBE_node_subp (TUBE_nodes,CHEST_nodes,pos1,parent) +meta = minetest.env:get_meta(pos1) +if meta:get_float("tubelike")==1 then add_new_TUBE_node(TUBE_nodes,pos1,parent) return end +nctr = minetest.env:get_node(pos1) +if minetest.get_item_group(nctr.name, "tubedevice_receiver") == 1 then add_new_TUBE_node(CHEST_nodes,pos1,parent) return end +end \ No newline at end of file diff --git a/mods/technic/iron_chest.lua b/mods/technic/iron_chest.lua new file mode 100644 index 0000000..f0e0fcb --- /dev/null +++ b/mods/technic/iron_chest.lua @@ -0,0 +1,176 @@ +minetest.register_craft({ + output = 'technic:iron_chest 1', + recipe = { + {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, + {'default:steel_ingot','default:chest','default:steel_ingot'}, + {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:iron_locked_chest 1', + recipe = { + {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, + {'default:steel_ingot','default:chest_locked','default:steel_ingot'}, + {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:iron_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:iron_chest'}, + } +}) + + +minetest.register_craftitem("technic:iron_chest", { + description = "Iron Chest", + stack_max = 99, +}) +minetest.register_craftitem("technic:iron_locked_chest", { + description = "Iron Locked Chest", + stack_max = 99, +}) + +minetest.register_alias("blabla", "technic:iron_chest") + +minetest.register_node("technic:iron_chest", { + description = "Iron Chest", + tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png", + "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,0;9,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Iron Chest") + local inv = meta:get_inventory() + inv:set_size("main", 9*4) + end, + + after_place_node = function(pos, placer) + ntop1 = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}) + ntop = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}) + if ntop.name ~= "air" then + minetest.node_dig(pos, ntop1, placer) + end + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("technic:iron_locked_chest", { + description = "Iron Locked Chest", + tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png", + "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_locked.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Iron Chest (owned by ".. + meta:get_string("owner")..")") + end, +on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,0;9,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Iron Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 9*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +function add_item (player) +player:get_inventory():add_item("main", "blabla 1") +end \ No newline at end of file diff --git a/mods/technic/item_drop.lua b/mods/technic/item_drop.lua new file mode 100644 index 0000000..5ae03ac --- /dev/null +++ b/mods/technic/item_drop.lua @@ -0,0 +1,102 @@ +-- This part written by PilzAdam (item_drop mod) + +minetest.register_globalstep(function(dtime) + for _,player in ipairs(minetest.get_connected_players()) do + local pos = player:getpos() + pos.y = pos.y+0.5 + local inv = player:get_inventory() + + for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 1)) do + if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then + if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then + inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) + if object:get_luaentity().itemstring ~= "" then + minetest.sound_play("item_drop_pickup", { + to_player = player:get_player_name(), + }) + end + object:get_luaentity().itemstring = "" + object:remove() + end + end + end + + for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2)) do + if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then + if object:get_luaentity().collect then + if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then + local pos1 = pos + pos1.y = pos1.y+0.2 + local pos2 = object:getpos() + local vec = {x=pos1.x-pos2.x, y=pos1.y-pos2.y, z=pos1.z-pos2.z} + vec.x = vec.x*3 + vec.y = vec.y*3 + vec.z = vec.z*3 + object:setvelocity(vec) + + minetest.after(1, function(args) + local lua = object:get_luaentity() + if object == nil or lua == nil or lua.itemstring == nil then + return + end + if inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then + inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) + if object:get_luaentity().itemstring ~= "" then + minetest.sound_play("item_drop_pickup", { + to_player = player:get_player_name(), + }) + end + object:get_luaentity().itemstring = "" + object:remove() + else + object:setvelocity({x=0,y=0,z=0}) + end + end, {player, object}) + + end + end + end + end + end +end) + +function minetest.handle_node_drops(pos, drops, digger) + if digger:get_player_name() ~= "" then + for _,item in ipairs(drops) do + local count, name + if type(item) == "string" then + count = 1 + name = item + else + count = item:get_count() + name = item:get_name() + end + for i=1,count do + local obj = minetest.env:add_item(pos, name) + if obj ~= nil then + obj:get_luaentity().collect = true + local x = math.random(1, 5) + if math.random(1,2) == 1 then + x = -x + end + local z = math.random(1, 5) + if math.random(1,2) == 1 then + z = -z + end + obj:setvelocity({x=1/x, y=obj:getvelocity().y, z=1/z}) + + -- FIXME this doesnt work for deactiveted objects + if minetest.setting_get("remove_items") and tonumber(minetest.setting_get("remove_items")) then + minetest.after(tonumber(minetest.setting_get("remove_items")), function(obj) + obj:remove() + end, obj) + end + end + end + end + end +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "item_drop loaded") +end diff --git a/mods/technic/items.lua b/mods/technic/items.lua new file mode 100644 index 0000000..527fc6f --- /dev/null +++ b/mods/technic/items.lua @@ -0,0 +1,157 @@ +minetest.register_craftitem( "technic:silicon_wafer", { + description = "Silicon Wafer", + inventory_image = "technic_silicon_wafer.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "technic:doped_silicon_wafer", { + description = "Doped Silicon Wafer", + inventory_image = "technic_doped_silicon_wafer.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'pipeworks:tube_000000 9', + recipe = { + {'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'}, + } +}) + +minetest.register_craftitem( "technic:diamond_drill_head", { + description = "Diamond Drill Head", + inventory_image = "technic_diamond_drill_head.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'technic:diamond_drill_head', + recipe = { + {'technic:stainless_steel_ingot', 'technic:diamond', 'technic:stainless_steel_ingot'}, + {'technic:diamond', '', 'technic:diamond'}, + {'technic:stainless_steel_ingot', 'technic:diamond', 'technic:stainless_steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:diamond_block', + recipe = { + {'technic:diamond', 'technic:diamond', 'technic:diamond'}, + {'technic:diamond', 'technic:diamond', 'technic:diamond'}, + {'technic:diamond', 'technic:diamond', 'technic:diamond'}, + } +}) + +minetest.register_node( "technic:diamond_block", { + description = "Diamond Block", + tiles = { "technic_diamond_block.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "technic:diamond_block" 1', +}) + +minetest.register_craft({ + output = 'technic:green_energy_crystal', + recipe = { + {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_green'}, + {'technic:battery', 'technic:red_energy_crystal', 'technic:battery'}, + {'group:dye,basecolor_green', 'technic:battery', 'moreores:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:blue_energy_crystal', + recipe = { + {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_blue'}, + {'technic:battery', 'technic:green_energy_crystal', 'technic:battery'}, + {'group:dye,basecolor_green', 'technic:battery', 'moreores:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:red_energy_crystal', + recipe = { + {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_red'}, + {'technic:battery', 'technic:diamond_block', 'technic:battery'}, + {'group:dye,basecolor_red', 'technic:battery', 'moreores:gold_ingot'}, + } +}) + +minetest.register_tool("technic:blue_energy_crystal", +{description = "Blue Energy Crystal", +inventory_image = minetest.inventorycube("technic_diamond_block_blue.png", "technic_diamond_block_blue.png", "technic_diamond_block_blue.png"), +tool_capabilities = {load=0,max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + +minetest.register_tool("technic:green_energy_crystal", +{description = "Green Energy Crystal", +inventory_image = minetest.inventorycube("technic_diamond_block_green.png", "technic_diamond_block_green.png", "technic_diamond_block_green.png"), +tool_capabilities = {load=0,max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + +minetest.register_tool("technic:red_energy_crystal", +{description = "Red Energy Crystal", +inventory_image = minetest.inventorycube("technic_diamond_block_red.png", "technic_diamond_block_red.png", "technic_diamond_block_red.png"), +tool_capabilities = {load=0,max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + + +minetest.register_craftitem( "technic:fine_copper_wire", { + description = "Fine Copper Wire", + inventory_image = "technic_fine_copper_wire.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'technic:fine_copper_wire 2', + recipe = { + {'', 'moreores:copper_ingot', ''}, + {'', 'moreores:copper_ingot', ''}, + {'', 'moreores:copper_ingot', ''}, + } +}) + +minetest.register_craftitem( "technic:copper_coil", { + description = "Copper Coil", + inventory_image = "technic_copper_coil.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'technic:copper_coil 1', + recipe = { + {'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'}, + } +}) + +minetest.register_craftitem( "technic:motor", { + description = "Electric Motor", + inventory_image = "technic_motor.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'technic:motor', + recipe = { + {'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'}, + {'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'}, + {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craftitem( "technic:mv_transformer", { + description = "Medium Voltage Transformer", + inventory_image = "technic_mv_transformer.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + output = 'technic:mv_transformer', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'technic:copper_coil', 'default:steel_ingot', 'technic:copper_coil'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + diff --git a/mods/technic/mining_drill.lua b/mods/technic/mining_drill.lua new file mode 100644 index 0000000..5fc5377 --- /dev/null +++ b/mods/technic/mining_drill.lua @@ -0,0 +1,49 @@ +mining_drill_max_charge=60000 + +minetest.register_tool("technic:mining_drill", { + description = "Mining Drill", + inventory_image = "technic_mining_drill.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type=="node" then + item=itemstack:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged + charge=tonumber(item["metadata"]) + if charge-200>0 then + drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user) + charge =charge-200; + item["metadata"]=tostring(charge) + set_RE_wear(item,charge,mining_drill_max_charge) + itemstack:replace(item) + end + return itemstack + end + end, +}) + +minetest.register_craft({ + output = 'technic:mining_drill', + recipe = { + {'technic:stainless_steel_ingot', 'technic:diamond_drill_head', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:red_energy_crystal', 'technic:stainless_steel_ingot'}, + {'', 'moreores:copper_ingot', ''}, + } +}) + + + + + + +function drill_dig_it (pos, player) + local node=minetest.env:get_node(pos) + if node.name == "air" or node.name == "ignore" then return end + if node.name == "default:lava_source" then return end + if node.name == "default:lava_flowing" then return end + if node.name == "default:water_source" then minetest.env:remove_node(pos) return end + if node.name == "default:water_flowing" then minetest.env:remove_node(pos) return end + + minetest.sound_play("mining_drill", {pos = pos, gain = 1.0, max_hear_distance = 10,}) + minetest.node_dig(pos,node,player) + +end \ No newline at end of file diff --git a/mods/technic/mining_laser_mk1.lua b/mods/technic/mining_laser_mk1.lua new file mode 100644 index 0000000..a206bb4 --- /dev/null +++ b/mods/technic/mining_laser_mk1.lua @@ -0,0 +1,174 @@ +laser_mk1_max_charge=40000 +local laser_shoot = function(itemstack, player, pointed_thing) + local laser_straight_mode=0 + local playerpos=player:getpos() + local dir=player:get_look_dir() + if pointed_thing.type=="node" then + pos=minetest.get_pointed_thing_position(pointed_thing, above) + local node = minetest.env:get_node(pos) + if node.name~="ignore" then + minetest.node_dig(pos,node,player) + end + laser_straight_mode=1 + end + + direction_y=math.abs(math.floor(dir.y*100)) + if direction_y>50 then entity_name="technic:laser_beam_entityV" + else entity_name="technic:laser_beam_entity" end + + if laser_straight_mode==1 then + pos1=minetest.get_pointed_thing_position(pointed_thing, under) + pos1.x=math.floor(pos1.x) + pos1.y=math.floor(pos1.y) + pos1.z=math.floor(pos1.z) + obj=minetest.env:add_entity(pos1,entity_name) + else + obj=minetest.env:add_entity({x=playerpos.x,y=playerpos.y+1.6,z=playerpos.z},entity_name) + end + if obj:get_luaentity().player == nil then + obj:get_luaentity().player = player + end + if laser_straight_mode==1 and direction_y<50 then + obj:setvelocity({x=dir.x*8, y=0, z=dir.z*8}) + else if laser_straight_mode==1 and direction_y>50 then + obj:setvelocity({x=0, y=dir.y*8, z=dir.z*8}) + end + end + if laser_straight_mode==0 then + obj:setvelocity({x=dir.x*8, y=dir.y*8, z=dir.z*8}) + end + obj:setacceleration({x=0, y=0, z=0}) + obj:setyaw(player:get_look_yaw()+math.pi) + if obj:get_luaentity().player == nil then + obj:get_luaentity().player = player + end + --obj:get_luaentity().node = player:get_inventory():get_stack("main", 1):get_name() + minetest.sound_play("technic_laser", {pos = playerpos, gain = 1.0, max_hear_distance = 10,}) + return true +end + + +minetest.register_tool("technic:laser_mk1", { + description = "Mining Laser MK1", + inventory_image = "technic_mining_laser_mk1.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + item=itemstack:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return end + local charge=tonumber((item["metadata"])) + if charge-400>0 then + laser_shoot(item, user, pointed_thing) + charge =charge-400; + item["metadata"]=tostring(charge) + charge=set_RE_wear(item,charge,laser_mk1_max_charge) + itemstack:replace(item) + end + return itemstack + end, +}) + +minetest.register_craft({ + output = 'technic:laser_mk1', + recipe = { + {'technic:diamond', 'default:steel_ingot', 'technic:battery'}, + {'', 'default:steel_ingot', 'technic:battery'}, + {'', '', 'moreores:copper_ingot'}, + } +}) + + + +minetest.register_node("technic:laser_beam_box", { + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -0.5 , -0.1, -0.1 , 0.1 , 0.1 , 0.1 }, + { -0.1 , -0.1 , -0.1 , 0.5, 0.1 , 0.1 }, + } + }, + tiles = {"technic_laser_beam.png"}, + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("technic:laser_beam_boxV", { + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -0.1 , -0.1 , -0.1 , 0.1 , 0.5, 0.1 }, + { -0.1 , -0.5, -0.1 , 0.1 , 0.1 , 0.1 }, + + } + }, + tiles = {"technic_laser_beam.png"}, + groups = {not_in_creative_inventory=1}, +}) + +LASER_BEAM_ENTITY={ + physical = false, + timer=0, + visual = "wielditem", + visual_size = {x=0.2, y=0.2}, + textures = {"technic:laser_beam_box"}, + lastpos={}, + max_range=10, + count=0, +-- digger=nil, + collisionbox = {0,0,0,0,0,0}, +} + +LASER_BEAM_ENTITY.on_step = function(self, dtime) + self.timer=self.timer+dtime + local pos = self.object:getpos() + if self.player~=nil then if self.lastpos.x~=nil then lazer_it (pos, self.player) end end + if self.lastpos.x ~=nil and self.lastpos.y ~=nil and self.lastpos.y ~=nil then + temp1={x=math.floor(self.lastpos.x),y=math.floor(self.lastpos.y),z=math.floor(self.lastpos.z)} + temp2={x=math.floor(pos.x),y=math.floor(pos.y),z=math.floor(pos.z)} + if temp1.x==temp2.x and temp1.y==temp2.y and temp1.z==temp2.z then return end + end + self.lastpos={x=pos.x, y=pos.y, z=pos.z} + self.count=self.count+1 + if self.count==self.max_range then self.object:remove() end +end + +LASER_BEAM_ENTITYV={ + physical = false, + timer=0, + visual = "wielditem", + visual_size = {x=0.2, y=0.2}, + textures = {"technic:laser_beam_boxV"}, + lastpos={}, + max_range=15, + count=0, + collisionbox = {0,0,0,0,0,0}, +} + +LASER_BEAM_ENTITYV.on_step = function(self, dtime) + self.timer=self.timer+dtime + local pos = self.object:getpos() + if self.player~=nil then if self.lastpos.x~=nil then lazer_it (pos, self.player) end end + if self.lastpos.x ~=nil and self.lastpos.y ~=nil and self.lastpos.y ~=nil then + temp1={x=math.floor(self.lastpos.x),y=math.floor(self.lastpos.y),z=math.floor(self.lastpos.z)} + temp2={x=math.floor(pos.x),y=math.floor(pos.y),z=math.floor(pos.z)} + if temp1.x==temp2.x and temp1.y==temp2.y and temp1.z==temp2.z then return end + end + self.lastpos={x=pos.x, y=pos.y, z=pos.z} + self.count=self.count+1 + if self.count==self.max_range then self.object:remove() end +end + + +minetest.register_entity("technic:laser_beam_entity", LASER_BEAM_ENTITY) +minetest.register_entity("technic:laser_beam_entityV", LASER_BEAM_ENTITYV) + +function lazer_it (pos, player) + local pos1={} +-- pos1.x=math.floor(pos.x) +-- pos1.y=math.floor(pos.y) +-- pos1.z=math.floor(pos.z) + local node = minetest.env:get_node(pos) + if node.name == "air" or node.name == "ignore" or node.name == "default:lava_source" or node.name == "default:lava_flowing" then return end + if node.name == "default:water_source" or node.name == "default:water_flowing" then minetest.env:remove_node(pos) return end + if player then minetest.node_dig(pos,node,player) end +end \ No newline at end of file diff --git a/mods/technic/mithril_chest.lua b/mods/technic/mithril_chest.lua new file mode 100644 index 0000000..89683f8 --- /dev/null +++ b/mods/technic/mithril_chest.lua @@ -0,0 +1,145 @@ +minetest.register_craft({ + output = 'technic:mithril_chest 1', + recipe = { + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','technic:gold_chest','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:mithril_locked_chest 1', + recipe = { + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','technic:gold_locked_chest','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:mithril_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:mithril_chest'}, + } +}) + +minetest.register_node("technic:mithril_chest", { + description = "Mithril Chest", + tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png", + "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[13,9;]".. + "list[current_name;main;0,0;13,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Mithril Chest") + local inv = meta:get_inventory() + inv:set_size("main", 13*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node("technic:mithril_locked_chest", { + description = "Mithril Locked Chest", + tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png", + "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_locked.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Mithril Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, +on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[13,9;]".. + "list[current_name;main;0,0;13,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Mithril Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 13*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/mods/technic/music_player.lua b/mods/technic/music_player.lua new file mode 100644 index 0000000..0a6474a --- /dev/null +++ b/mods/technic/music_player.lua @@ -0,0 +1,126 @@ +minetest.register_alias("music_player", "technic:music_player") +minetest.register_craft({ + output = 'technic:music_player', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'technic:diamond', 'technic:diamond', 'technic:diamond'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:music_player", { + description = "Music Player", + stack_max = 99, +}) + +music_player_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "label[0,0;Music Player]".. + "label[1,3;Power level]".. + "button[5,2;1,1;track1;1]".. + "button[6,2;1,1;track2;2]" + + +minetest.register_node("technic:music_player", { + description = "Music Player", + tiles = {"technic_music_player_top.png", "technic_machine_bottom.png", "technic_music_player_side.png", + "technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0, + internal_EU_buffer_size=5000, + music_player_on=0, + music_playing =0, + music_handle = 0, + music_player_current_track =1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Music Player") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 1) + meta:set_float("internal_EU_buffer_size", 5000) + meta:set_string("formspec", music_player_formspec) + meta:set_float("music_player_on", 0) + meta:set_float("music_player_current_track", 1) + end, + + on_receive_fields = function(pos, formanme, fields, sender) + + local meta = minetest.env:get_meta(pos) + player_on=meta:get_float("music_player_on") + music_handle=meta:get_float("music_handle") + music_player_current_track=meta:get_float("music_player_current_track") + if fields.track1 then music_player_current_track=1 end + if fields.track2 then music_player_current_track=2 end + if fields.track3 then music_player_current_track=3 end + if fields.track4 then music_player_current_track=4 end + if fields.track5 then music_player_current_track=5 end + if fields.track6 then music_player_current_track=6 end + if fields.track7 then music_player_current_track=7 end + if fields.track8 then music_player_current_track=8 end + if fields.track9 then music_player_current_track=9 end + meta:set_float("music_player_current_track",music_player_current_track) + if fields.play and player_on==1 then + if music_handle then minetest.sound_stop(music_handle) end + music_handle=minetest.sound_play("technic_track"..music_player_current_track, {pos = pos, gain = 1.0,loop = true, max_hear_distance = 72,}) + meta:set_float("music_playing",1) + end + if fields.stop then + meta:set_float("music_playing",0) + if music_handle then minetest.sound_stop(music_handle) end + end + meta:set_float("music_handle",music_handle) + end, +}) + +minetest.register_abm({ + nodenames = {"technic:music_player"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + player_on=meta:get_float("music_player_on") + music_player_current_track=meta:get_float("music_player_current_track") + local play_cost=80 + + if charge>play_cost then + if meta:get_float("music_playing")==1 then charge=charge-play_cost end + meta:set_float("internal_EU_buffer",charge) + meta:set_float("music_player_on",1) + else + meta:set_float("music_playing",0) + meta:set_float("music_player_on",0) + if music_handle then minetest.sound_stop(music_handle) end + end + local load = math.floor((charge/max_charge)*100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "label[0,0;Music Player]".. + "label[1,3;Power level]".. + "button[4,1;1,1;track1;1]".. + "button[5,1;1,1;track2;2]".. + "button[6,1;1,1;track3;3]".. + "button[4,2;1,1;track4;4]".. + "button[5,2;1,1;track5;5]".. + "button[6,2;1,1;track6;6]".. + "button[4,3;1,1;track7;7]".. + "button[5,3;1,1;track8;8]".. + "button[6,3;1,1;track9;9]".. + "button[4,4;1,2;play;Play]".. + "button[6,4;1,2;stop;Stop]".. + "label[4,0;Current track "..tostring(music_player_current_track).."]" + + ) + + + + + end +}) + diff --git a/mods/technic/node_breaker.lua b/mods/technic/node_breaker.lua new file mode 100644 index 0000000..3a7f53b --- /dev/null +++ b/mods/technic/node_breaker.lua @@ -0,0 +1,94 @@ +minetest.register_craft({ + output = 'technic:nodebreaker_off 1', + recipe = { + {'default:wood', 'default:pick_mese','default:wood'}, + {'default:stone', 'mesecons:piston','default:stone'}, + {'default:stone', 'mesecons:mesecon','default:stone'}, + + } +}) + +minetest.register_node("technic:nodebreaker_off", { + description = "Node Breaker", + tile_images = {"technic_nodebreaker_top_off.png","technic_nodebreaker_bottom_off.png","technic_nodebreaker_side2_off.png","technic_nodebreaker_side1_off.png", + "technic_nodebreaker_back.png","technic_nodebreaker_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,tubedevice=1}, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + end, + +}) + +minetest.register_node("technic:nodebreaker_on", { + description = "Node Breaker", + tile_images = {"technic_nodebreaker_top_on.png","technic_nodebreaker_bottom_on.png","technic_nodebreaker_side2_on.png","technic_nodebreaker_side1_on.png", + "technic_nodebreaker_back.png","technic_nodebreaker_front_on.png"}, + is_ground_content = true, + paramtype2 = "facedir", + tubelike=1, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon_receptor_off = 1, mesecon_effector_off = 1, mesecon = 2,tubedevice=1,not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), +}) + +mesecon:register_on_signal_on(function(pos, node) + if node.name == "technic:nodebreaker_off" then + minetest.env:add_node(pos, {name="technic:nodebreaker_on", param2 = node.param2}) + break_node (pos,node.param2) + nodeupdate(pos) + end +end) + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "technic:nodebreaker_on" then + minetest.env:add_node(pos, {name="technic:nodebreaker_off", param2 = node.param2}) + nodeupdate(pos) + end +end) + +mesecon:register_effector("technic:nodebreaker_on", "technic:nodebreaker_off") + +function break_node (pos,n_param) + local pos1={} + local pos2={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + pos2.x=pos.x + pos2.y=pos.y + pos2.z=pos.z + + --param2 3=x+ 1=x- 2=z+ 0=z- + local x_velocity=0 + local z_velocity=0 + + if n_param==3 then pos2.x=pos2.x+1 pos1.x=pos1.x-1 x_velocity=-1 end + if n_param==2 then pos2.z=pos2.z+1 pos1.z=pos1.z-1 z_velocity=-1 end + if n_param==1 then pos2.x=pos2.x-1 pos1.x=pos1.x+1 x_velocity=1 end + if n_param==0 then pos2.z=pos2.z-1 pos1.x=pos1.z+1 z_velocity=1 end + + local node=minetest.env:get_node(pos2) + local meta = minetest.env:get_meta(pos1) + tubelike=meta:get_int("tubelike") + --if tubelike==1 then + if node.name == "air" then return nil end + if node.name == "default:lava_source" then return nil end + if node.name == "default:lava_flowing" then return nil end + if node.name == "default:water_source" then minetest.env:remove_node(pos2) return nil end + if node.name == "default:water_flowing" then minetest.env:remove_node(pos2) return nil end + if node.name == "ignore" then minetest.env:remove_node(pos2) return nil end + local drops = minetest.get_node_drops(node.name, "default:pick_mese") + local _, dropped_item + for _, dropped_item in ipairs(drops) do + local item1=tube_item({x=pos.x,y=pos.y,z=pos.z},dropped_item) + item1:get_luaentity().start_pos = {x=pos.x,y=pos.y,z=pos.z} + item1:setvelocity({x=x_velocity, y=0, z=z_velocity}) + item1:setacceleration({x=0, y=0, z=0}) +-- minetest.item_drop(dropped_item, "", pos1) + end + minetest.env:remove_node(pos2) + --end +end + diff --git a/mods/technic/ores.lua b/mods/technic/ores.lua new file mode 100644 index 0000000..8027f6f --- /dev/null +++ b/mods/technic/ores.lua @@ -0,0 +1,201 @@ +minetest.register_node( "technic:marble", { + description = "Marble", + tiles = { "technic_marble.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node( "technic:marble_bricks", { + description = "Marble Bricks", + tiles = { "technic_marble_bricks.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craft({ + output = 'technic:marble_bricks 4', + recipe = { + {'technic:marble','technic:marble'}, + {'technic:marble','technic:marble'} + } +}) + +minetest.register_node( "technic:granite", { + description = "Granite", + tiles = { "technic_granite.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +stairsplus.register_stair_and_slab_and_panel_and_micro("marble", "technic:marble", + {cracky=3}, + {"technic_marble.png"}, + "Marble Stairs", + "Marble Slab", + "Marble Panel", + "Marble Microblock", + "marble") +stairsplus.register_stair_and_slab_and_panel_and_micro("marble_bricks", "technic:marble_bricks", + {cracky=3}, + {"technic_marble_bricks.png"}, + "Marble Bricks Stairs", + "Marble Bricks Slab", + "Marble Bricks Panel", + "Marble Bricks Microblock", + "marble_bricks") +stairsplus.register_stair_and_slab_and_panel_and_micro("granite", "technic:granite", + {cracky=3}, + {"technic_granite.png"}, + "Granite Stairs", + "Granite Slab", + "Granite Panel", + "Granite Microblock", + "granite") + +minetest.register_node( "technic:mineral_diamond", { + description = "Diamond Ore", + tiles = { "default_stone.png^technic_mineral_diamond.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "technic:diamond" 1', +}) + +minetest.register_craftitem( "technic:diamond", { + description = "Diamond", + inventory_image = "technic_diamond.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_node( "technic:mineral_uranium", { + description = "Uranium Ore", + tiles = { "default_stone.png^technic_mineral_uranium.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "technic:uranium" 1', +}) + +minetest.register_craftitem( "technic:uranium", { + description = "Uranium", + inventory_image = "technic_uranium.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_node( "technic:mineral_chromium", { + description = "Chromium Ore", + tiles = { "default_stone.png^technic_mineral_chromium.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "technic:chromium_lump" 1', +}) + +minetest.register_craftitem( "technic:chromium_lump", { + description = "Chromium Lump", + inventory_image = "technic_chromium_lump.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craftitem( "technic:chromium_ingot", { + description = "Chromium Ingot", + inventory_image = "technic_chromium_ingot.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_craft({ + type = 'cooking', + output = "technic:chromium_ingot", + recipe = "technic:chromium_lump" + }) + + +minetest.register_node( "technic:mineral_zinc", { + description = "Zinc Ore", + tile_images = { "default_stone.png^technic_mineral_zinc.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = 'craft "technic:zinc_lump" 1', +}) + +minetest.register_craftitem( "technic:zinc_lump", { + description = "Zinc Lump", + inventory_image = "technic_zinc_lump.png", +}) + +minetest.register_craftitem( "technic:zinc_ingot", { + description = "Zinc Ingot", + inventory_image = "technic_zinc_ingot.png", +}) + +minetest.register_craftitem( "technic:stainless_steel_ingot", { + description = "Stainless Steel Ingot", + inventory_image = "technic_stainless_steel_ingot.png", +}) + +minetest.register_craftitem( "technic:brass_ingot", { + description = "Brass Ingot", + inventory_image = "technic_brass_ingot.png", +}) + +minetest.register_craft({ + type = 'cooking', + output = "technic:zinc_ingot", + recipe = "technic:zinc_lump" + }) + + +local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local chunk_size = 3 + if ore_per_chunk <= 4 then + chunk_size = 2 + end + local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) + --print("generate_ore num_chunks: "..dump(num_chunks)) + for i=1,num_chunks do + if (y_max-chunk_size+1 <= y_min) then return end + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.env:get_node(p2).name == wherein then + minetest.env:set_node(p2, {name=name}) + end + end + end + end + end + end + end + --print("generate_ore done") +end + +minetest.register_on_generated(function(minp, maxp, seed) +generate_ore("technic:mineral_diamond", "default:stone", minp, maxp, seed+21, 1/11/11/11, 4, -31000, -450) +generate_ore("technic:mineral_uranium", "default:stone", minp, maxp, seed+22, 1/10/10/10, 3, -300, -80) +generate_ore("technic:mineral_chromium", "default:stone", minp, maxp, seed+23, 1/10/10/10, 2, -31000, -100) +generate_ore("technic:mineral_zinc", "default:stone", minp, maxp, seed+24, 1/9/9/9, 4, -31000, 2) +generate_ore("technic:marble", "default:stone", minp, maxp, seed+25, 1/128, 20, -100, -32) +generate_ore("technic:granite", "default:stone", minp, maxp, seed+25, 1/128, 15, -190, -90) +end) \ No newline at end of file diff --git a/mods/technic/project_table.lua b/mods/technic/project_table.lua new file mode 100644 index 0000000..355295c --- /dev/null +++ b/mods/technic/project_table.lua @@ -0,0 +1,39 @@ +minetest.register_craft({ + output = 'technic:project_table 1', + recipe = { + {'default:wood','default:wood','default:wood'}, + {'default:wood','default:chest','default:wood'}, + {'default:stone','default:stone','default:stone'}, + } +}) + + +minetest.register_craftitem("technic:project_table", { + description = "Project Table", + stack_max = 99, +}) + +minetest.register_node("technic:project_table", { + description = "Project Table", + tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png", + "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,2;8,2;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Iron Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, +}) \ No newline at end of file diff --git a/mods/technic/rubber.lua b/mods/technic/rubber.lua new file mode 100644 index 0000000..311f3af --- /dev/null +++ b/mods/technic/rubber.lua @@ -0,0 +1,186 @@ +-- Code of rubber tree by PilzAdam + +minetest.register_node("technic:rubber_sapling", { + description = "Rubber Tree Sapling", + drawtype = "plantlike", + tiles = {"technic_rubber_sapling.png"}, + inventory_image = "technic_rubber_sapling.png", + wield_image = "technic_rubber_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("technic:rubber_tree_full", { + description = "Rubber Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "technic_rubber_tree_full.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), + + on_dig = function(pos, node, digger) + minetest.node_dig(pos, node, digger) + minetest.env:remove_node(pos) + end, + + after_destruct = function(pos, oldnode) + oldnode.name = "technic:rubber_tree_empty" + minetest.env:set_node(pos, oldnode) + end +}) + + +minetest.register_node("technic:rubber_tree_empty", { + tiles = {"default_tree_top.png", "default_tree_top.png", "technic_rubber_tree_empty.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2, not_in_creative_inventory=1}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_abm({ + nodenames = {"technic:rubber_tree_empty"}, + interval = 60, + chance = 15, + action = function(pos, node) + node.name = "technic:rubber_tree_full" + minetest.env:set_node(pos, node) + end +}) + +minetest.register_node("technic:rubber_leaves", { + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'technic:rubber_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"technic:rubber_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + generate_tree(pos, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) + if pos ~= nil then + generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +end) + + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "technic:rubber_sapling", + burntime = 10 +}) + +function generate_tree(pos, trunk, leaves, underground, replacements) + pos.y = pos.y-1 + local nodename = minetest.env:get_node(pos).name + local ret = true + for _,name in ipairs(underground) do + if nodename == name then + ret = false + break + end + end + pos.y = pos.y+1 + if ret or minetest.env:get_node_light(pos) < 8 then + return + end + + node = {name = ""} + for dy=1,4 do + pos.y = pos.y+dy + if minetest.env:get_node(pos).name ~= "air" then + return + end + pos.y = pos.y-dy + end + node.name = trunk + for dy=0,4 do + pos.y = pos.y+dy + minetest.env:set_node(pos, node) + pos.y = pos.y-dy + end + + if not replacements then + replacements = {} + end + + node.name = leaves + pos.y = pos.y+3 + for dx=-2,2 do + for dz=-2,2 do + for dy=0,3 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + + if dx == 0 and dz == 0 and dy==3 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif dx == 0 and dz == 0 and dy==4 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + else + if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + end + end + + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end +end diff --git a/mods/technic/screwdriver.lua b/mods/technic/screwdriver.lua new file mode 100644 index 0000000..0b81217 --- /dev/null +++ b/mods/technic/screwdriver.lua @@ -0,0 +1,47 @@ + minetest.register_tool("technic:screwdriver", { + description = "Screwdriver", + inventory_image = "technic_screwdriver.png", + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to facedir applicable node + if pointed_thing.type~="node" then return end + local pos=minetest.get_pointed_thing_position(pointed_thing,above) + local node=minetest.env:get_node(pos) + local node_name=node.name + if minetest.registered_nodes[node_name].paramtype2 == "facedir" or minetest.registered_nodes[node_name].paramtype2 == "wallmounted" then + if node.param2==nil then return end + -- Get ready to set the param2 + local n = node.param2 + if minetest.registered_nodes[node_name].paramtype2 == "facedir" then + n = n+1 + if n == 4 then n = 0 end + else + n = n+1 + if n == 6 then n = 0 end + end + -- hacky_swap_node, unforunatly. + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + node.param2 = n + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) + local item=itemstack:to_table() + local item_wear=tonumber((item["wear"])) + item_wear=item_wear+819 + if item_wear>65535 then itemstack:clear() return itemstack end + item["wear"]=tostring(item_wear) + itemstack:replace(item) + return itemstack + else + return itemstack + end + end, + }) + + minetest.register_craft({ + output = "technic:screwdriver", + recipe = { + {"technic:stainless_steel_ingot"}, + {"default:stick"} + } + }) diff --git a/mods/technic/silver_chest.lua b/mods/technic/silver_chest.lua new file mode 100644 index 0000000..66a915a --- /dev/null +++ b/mods/technic/silver_chest.lua @@ -0,0 +1,197 @@ +minetest.register_craft({ + output = 'technic:silver_chest 1', + recipe = { + {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'}, + {'moreores:silver_ingot','technic:copper_chest','moreores:silver_ingot'}, + {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:silver_locked_chest 1', + recipe = { + {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'}, + {'moreores:silver_ingot','technic:copper_locked_chest','moreores:silver_ingot'}, + {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:silver_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:silver_chest'}, + } +}) + +minetest.register_craftitem("technic:silver_chest", { + description = "Silver Chest", + stack_max = 99, +}) +minetest.register_craftitem("technic:silver_locked_chest", { + description = "Silver Locked Chest", + stack_max = 99, +}) + +minetest.register_node("technic:silver_chest", { + description = "Silver Chest", + tiles = {"technic_silver_chest_top.png", "technic_silver_chest_top.png", "technic_silver_chest_side.png", + "technic_silver_chest_side.png", "technic_silver_chest_side.png", "technic_silver_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[11,9;]".. + "list[current_name;main;0,0;11,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Silver Chest") + local inv = meta:get_inventory() + inv:set_size("main", 11*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", "hack:sign_text_input") + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[11,9;]".. + "list[current_name;main;0,0;11,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, + +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("technic:silver_locked_chest", { + description = "Silver Locked Chest", + tiles = {"technic_silver_chest_top.png", "technic_silver_chest_top.png", "technic_silver_chest_side.png", + "technic_silver_chest_side.png", "technic_silver_chest_side.png", "technic_silver_chest_locked.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Silver Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, +on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[11,9;]".. + "list[current_name;main;0,0;11,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Silver Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 11*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", "hack:sign_text_input") + end, + + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos); + fields.text = fields.text or "" + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + + meta:set_string("formspec", + "invsize[11,9;]".. + "list[current_name;main;0,0;11,4;]".. + "list[current_player;main;0,5;8,4;]") + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/mods/technic/solar_panel.lua b/mods/technic/solar_panel.lua new file mode 100644 index 0000000..f2d08f6 --- /dev/null +++ b/mods/technic/solar_panel.lua @@ -0,0 +1,76 @@ +minetest.register_node("technic:solar_panel", { + tiles = {"technic_solar_panel_top.png", "technic_solar_panel_bottom.png", "technic_solar_panel_side.png", + "technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + description="Solar Panel", + active = false, + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=1000; + drawtype = "nodebox", + paramtype = "light", + is_ground_content = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 1000) + + meta:set_string("infotext", "Solar Panel") + meta:set_float("active", false) + end, +}) + +minetest.register_craft({ + output = 'technic:solar_panel 1', + recipe = { + {'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer','technic:doped_silicon_wafer'}, + {'technic:doped_silicon_wafer', 'moreores:copper_ingot','technic:doped_silicon_wafer'}, + {'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer','technic:doped_silicon_wafer'}, + + } +}) + +minetest.register_abm( + {nodenames = {"technic:solar_panel"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local pos1={} + pos1.y=pos.y+1 + pos1.x=pos.x + pos1.z=pos.z + + local light = minetest.env:get_node_light(pos1, nil) + local meta = minetest.env:get_meta(pos) + if light == nil then light = 0 end + if light >= 14 then + meta:set_string("infotext", "Solar Panel is active ") + meta:set_float("active",1) + local internal_EU_buffer=meta:get_float("internal_EU_buffer") + local internal_EU_buffer_size=meta:get_float("internal_EU_buffer_size") + local charge_to_give=40+(pos1.y/250*40) -- make solar energy depending on height + if charge_to_give<0 then charge_to_give=0 end + if charge_to_give>160 then charge_to_give=160 end + if internal_EU_buffer+charge_to_give>internal_EU_buffer_size then + charge_to_give=internal_EU_buffer_size-internal_EU_buffer + end + internal_EU_buffer=internal_EU_buffer+charge_to_give + meta:set_float("internal_EU_buffer",internal_EU_buffer) + + else + meta:set_string("infotext", "Solar Panel is inactive"); + meta:set_float("active",0) + end + end, +}) \ No newline at end of file diff --git a/mods/technic/solar_panel_mv.lua b/mods/technic/solar_panel_mv.lua new file mode 100644 index 0000000..93e21e7 --- /dev/null +++ b/mods/technic/solar_panel_mv.lua @@ -0,0 +1,76 @@ +minetest.register_node("technic:solar_panel_mv", { + tiles = {"technic_mv_solar_panel_top.png", "technic_mv_solar_panel_bottom.png", "technic_mv_solar_panel_side.png", + "technic_mv_solar_panel_side.png", "technic_mv_solar_panel_side.png", "technic_mv_solar_panel_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + description="MV Solar Panel", + active = false, + technic_mv_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=10000; + drawtype = "nodebox", + paramtype = "light", + is_ground_content = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_mv_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 10000) + + meta:set_string("infotext", "MV Solar Panel") + meta:set_float("active", false) + end, +}) + +minetest.register_craft({ + output = 'technic:solar_panel_mv 1', + recipe = { + {'technic:solar_panel', 'technic:solar_panel','technic:solar_panel'}, + {'technic:solar_panel', 'technic:mv_transformer','technic:solar_panel'}, + {'', 'technic:mv_cable',''}, + + } +}) + +minetest.register_abm( + {nodenames = {"technic:solar_panel_mv"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local pos1={} + pos1.y=pos.y+1 + pos1.x=pos.x + pos1.z=pos.z + + local light = minetest.env:get_node_light(pos1, nil) + local meta = minetest.env:get_meta(pos) + if light == nil then light = 0 end + if light >= 14 then + meta:set_string("infotext", "Solar Panel is active ") + meta:set_float("active",1) + local internal_EU_buffer=meta:get_float("internal_EU_buffer") + local internal_EU_buffer_size=meta:get_float("internal_EU_buffer_size") + local charge_to_give=300+(pos1.y/250*300) -- make solar energy depending on height + if charge_to_give<0 then charge_to_give=0 end + if charge_to_give>600 then charge_to_give=600 end + if internal_EU_buffer+charge_to_give>internal_EU_buffer_size then + charge_to_give=internal_EU_buffer_size-internal_EU_buffer + end + internal_EU_buffer=internal_EU_buffer+charge_to_give + meta:set_float("internal_EU_buffer",internal_EU_buffer) + + else + meta:set_string("infotext", "Solar Panel is inactive"); + meta:set_float("active",0) + end + end, +}) \ No newline at end of file diff --git a/mods/technic/sonic_screwdriver.lua b/mods/technic/sonic_screwdriver.lua new file mode 100644 index 0000000..d089778 --- /dev/null +++ b/mods/technic/sonic_screwdriver.lua @@ -0,0 +1,55 @@ +sonic_screwdriver_max_charge=15000 + + minetest.register_tool("technic:sonic_screwdriver", { + description = "Sonic Screwdriver", + inventory_image = "technic_sonic_screwdriver.png", + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to facedir applicable node + if pointed_thing.type~="node" then return end + local pos=minetest.get_pointed_thing_position(pointed_thing,above) + local node=minetest.env:get_node(pos) + local node_name=node.name + if minetest.registered_nodes[node_name].paramtype2 == "facedir" or minetest.registered_nodes[node_name].paramtype2 == "wallmounted" then + if node.param2==nil then return end + item=itemstack:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return end + local charge=tonumber((item["metadata"])) + if charge-100>0 then + minetest.sound_play("technic_sonic_screwdriver", {pos = pos, gain = 0.3, max_hear_distance = 10,}) + local n = node.param2 + if minetest.registered_nodes[node_name].paramtype2 == "facedir" then + n = n+1 + if n == 4 then n = 0 end + else + n = n+1 + if n == 6 then n = 0 end + end + -- hacky_swap_node, unforunatly. + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + node.param2 = n + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) + + charge =charge-100; + item["metadata"]=tostring(charge) + set_RE_wear(item,charge,sonic_screwdriver_max_charge) + itemstack:replace(item) + end + return itemstack + else + return itemstack + end + end, + + }) + + minetest.register_craft({ + output = "technic:sonic_screwdriver", + recipe = { + {"technic:diamond"}, + {"technic:battery"}, + {"technic:stainless_steel_ingot"} + } + }) diff --git a/mods/technic/sounds/chainsaw.ogg b/mods/technic/sounds/chainsaw.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5fe7552fac1dc561887cec11dcf17c724b59e167 GIT binary patch literal 38174 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%0AOR?`k>aWasF<0 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
#$ALy@jN#=KT#`M4hQFPb}7# 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 WD{p%d0H){XQPxnV{ifSk_`wavhpN~B literal 0 HcmV?d00001 diff --git a/mods/technic/sounds/item_drop_pickup.1.ogg b/mods/technic/sounds/item_drop_pickup.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2ae432d59f31f18dd4f703ed84d9915bf65f9e28 GIT binary patch literal 9981 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 literal 0 HcmV?d00001 diff --git a/mods/technic/sounds/item_drop_pickup.2.ogg b/mods/technic/sounds/item_drop_pickup.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f58bf08e00f206d3e433b28ddf2297d1ada1a853 GIT binary patch literal 10477 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 I^7ShC4+bz0#sB~S literal 0 HcmV?d00001 diff --git a/mods/technic/sounds/item_drop_pickup.3.ogg b/mods/technic/sounds/item_drop_pickup.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cf57c94c7383d90e5e282e9b36a6c69f59688075 GIT binary patch literal 9586 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 U1v_AG(2P=Jc3}msD^mdf2RBqq4gdfE literal 0 HcmV?d00001 diff --git a/mods/technic/sounds/item_drop_pickup.4.ogg b/mods/technic/sounds/item_drop_pickup.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bfe99d9a37181071db8a5fa22214535ef850c31b GIT binary patch literal 9696 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 NuKyC?AOCCk{{TRC4?zF` literal 0 HcmV?d00001 diff --git a/mods/technic/sounds/technic_laser.ogg b/mods/technic/sounds/technic_laser.ogg new file mode 100644 index 0000000000000000000000000000000000000000..19be08015f88865b06079a4134405d91252c8df8 GIT binary patch literal 13465 zcmb7q1z1&2*Y7@bgOnhRARM~81!<5tq=0lurznDSmxu1|lx`)ZJ0(=Q8v%j4@&CTx zeeZXld+&4S%$~E)UNf_1#cyWK?4xRFsR1AW|4N#4$dV7YUq(mrA(Rkz2WJy&mxl)s z=`sMg2NQ4x`TN}nQGICnU+JMG1pGz5C-w)I=b`3*r7gsN`oRLpO2+OMygY1tY@8e% z57i05%iP}7!OYxQ^nalt|I-F4^;`=Apn7Y2DEaaj2@NCAn zNpQJ`yB?0vBzR~KiD?99@4pLb9y1~UKmvRj(W7!VESUV<#$yz(1pu{1;D>^j<$a*T6@C%wl`y}V5U=CtH zP#FSX_Mj4K^f+2*T&{e9g-wNZYQ0ryz1?69%U})G-zoqEtn!eutWyg9w``%CVE+Hk z5?1|8fCQ+^J}2@%CpsB*x;|$X)V~_;2SA%jsI&Aq^T@jJ^tp(DS=Lqh8(eAlObPej zMtCqg07!6>_c)P%1GS;fI_b=-?IJqsqC5+#;z1+-_w@0vzkq_!q+2A|_@Z&g82?p^ zFW4i~^LbBJWQ^rzGhXrv`*0YKUQzyTKYNj$Y6(^yz`HB6w1Z*vhiCuYeI!7;8PAdQru$KQN1>Py z(iG5qqI8YM`IN=k56z>DjC!F^?Eg}olp){M@2}+401$xp*NgvM{B`Ajyf`l|jA?-J z^AOh{%R^DtH6pZI)rI#Qixc!>7GBVcBkMLYTq*?RZ1d}8^qBME>I%^Oe-H&4mD(&u z5{2|HNP?1_2cU%@D*n@OM|7i)D8~OIj~|pq2sD^; zTbcD%Wi#fS?KZi%Gai1ZQ8Gzls$4KL-9ca-0bJV#&Y7(ka%^DNnEr zpYW)j@{AM6sPQOk5E+aUxlIzAYw#IN@|sV=%%|PW=j+Y&8@zSv{{@(TV6!so_8-W3 zfC#N%)GxU>r2mPWEXJsx0#Q%p(Nx2teEN@!qT`@KU1c8s zrvU(wTW&N{8mJFU(N(-i%`BL<{S^C(a9fQpR=08#)j`*KMgfQOSiCB-3W zH6)2ryp|;?pFch0zk$acA$S-c5GSu7sxuaJR<)sPkMwCnhx(5l+FJ%ArECuAmN76*W;V6rR7e@59Gl~6vHX< z@l8X^!A1ZocwuIb#SlRxz?H%TOC19m2v;A0Zp5e$aITZ9D+m^(X^aS>Q3MQdqNMxd zLG#HqMxdMI0Yj4OY5rr9i~vC02>~xDMjkU60FMD!jUgZX#G^<^uSg)HN@zYypsbz1 zGfc>k`AJXOySw+-4KJjq2SDl6Z!B9=cK{giX7`miS<^^}K4X25K;KT}_y-miauf zmhOzVB1qLxo+pCA5@7S^cCZBR6;}fTZS(m{nC^w!;^Uz83-8>bl6w1riptWOy_v_J>}@EXrqg%dej9ZL$8CLc#ip2!rBYco%CND@82mRL%@+yqN% zJt<&F5Sks3AO&T0!&Aoq2@2M%b;Py`ti3o=3fXXwP@bP)qEz0a!-+!UqNLE927jrb zm<^u+yK==*-=WUaRJSRIPnq;2!Lfvx(*5HUm^kC%dYJjOS_)y+d4&45oHH{fb;HW49;6iB7cuf;#XdO7J za*)87-$Sfl4z1IA{UTe@algvXR3~m z(^IORp3^Jits^$Ish%M=E$5tBFfDH@{5vX;AUHE)TF!gDvUZP-N z>!JhF5CAWLu_q0VLerO)3#aZ*@`p3^QNt(nddT7Gdb??#Ce$O+{nZ}?n9_@=OMvTv zQh*W*9C

gAjPM4*`R9-ruN!=OJ|Xd-wlS(1S_>*L*w-z^T;{I7|LdA&MW? z6bwP+^Z?B#`Dy+!3JOqO1wjTHkW1-v7|YZ^0v#2cP}|-UilwLqGg+u34)fwZ3lo)XsAFp zGMSdF0Q3na%fqe$4-w!%0wftzAb>AA4!A?os$%|JYm?hp{Hb-zzmvhW+rq3rUvp?p zdh99hlnMP@HqrN0!Xz}Y(kMFFL!20A4IhL8}DU%sYB1aR>1^8nwk z2+#W*AK}F)_A_!Yk`s)`7h(evc(mNov?iQ#N<}DPVcWoKr;jvL02dG61RGn{An@4L zY4#(YA6@`8G3rYR1RRydAEEprKTsI92;+tRiNKKnPXLhP^9>2H+7J*D5tERTej%rz zr1J8geIptm1^{t{)U>oIf>AipxG{LKkK*t@5x~JH`=3NjP5t)<+_?eN)PFaQNI=X# zw1r->|Fc;>guMZ#%A}n_t1Oxd+K{~@I!P@c~5+gagTFPc8_^abx&|l z3O*wMpJClo+!KPI$M@JEo$wxVPk4TI00Gk!V0Ut^cuK&&tUR^jYq9!@{_ur}E7beo ziOcGY=kU9=qSY{xEAHhq>DdcN2eT7o)IdQNH?J!I^CVkLH_E z{c@+YMK~}K*8FBu;5r+UjT3P@7fe#_t>&6&!mWHkgeT(JslcjMTs+<$bC~*6c;EV2 zk>4+zU-BJ{98MWFV(ZB`(zjvvyjXs3E4F@w?JGC)FycyZ(T_QKlknCkm{7#%3zY7> zF{XqZy_O)omJ_)@)W?Ndb`SxzS4Fs8_M7iAo_a-^aBER8p!=TCWv%|yjr%NJ4V{}o zJpJOHooRx(C1CCwukU+@4^N1|v1G+eW{3Mhk4v#E8*yVbAWXx@aSHfw>V?JzdqWGo^5@0Q{%IFC)<{}18muf?N9(mQ|z^xa_^y7$lkg_wwj*I z5-C*D?^+eP9zDZD-<~U0_G>dASQ_OSqLBD#g^2=m@2?pz5=lMw64XPue?`ea^vh() zYUG!)xZx6H>ijr6bFX`M%&8Tl60rgOf+BV1lv(#O2LrBrr~Xxo+Jii!*IGS2cdBS* zZRzxGr_xvy?Wba)xByU96cnj?_*D6mv z-Tn0JJGG1Dx8AK!rkx_(M&8}R6~Ey00mCi+v-fd#T4nyRPQhE|;vM)NKmGisEog5C z3}nVNf-8XcOoInMVV_GSpSZn}27ofXVWg~mi#)r3yyZd$q2I=Nk z2Z=?Qr|*A8P*u)yoOn?vT$0%zqF@xP9E`cbLovlp%U#lIlmwT_-dsjAe=KpJV|{Te z_f1Bl;Dz``@*!>uFCqY>S)k_NB3jb)?*p^Hs2oTq-FiecKhRuu8{?kF*k053thYOe z+ZiouH~1U60+sS=i=IO$DVQV)U;T$&tp%ntTRhtC?p}30c6he$KsbKzH87Z82Iwq* z-QK=+z1cAuzSM-2vNL4>F+t#3>l_?qXiZIob!@y_8jVX2Gfb~0j#e-8z;P7W>U=i= z@ie>xl4^k~$Qm+7XZoBlFoyRXxY$-+?0R>+;L|4GA9O)^^_zwFI$CN*7{8)o^QzDv z6(;M_S0dgnzFa=F8|hi+{;DJOWxDk&`Awl(ScmUDwV*gc?HdY|~&i29oNGdIg%nqD;3UddMnQhi5< z_n*7AG$`Dr=2x8A@;?Onc@HD2^h33r%c4%zM7Kf))M!>>_!HR;cdxs@XCjo3xiyK% zW=|lP5$#ug6@x5ao5}kvkyN>og(=)o3Nc%Z2ZNzXNy!>yfHdu~-Rw)`)vL*2u1r(& zFS5CZ`HKW%qHjO0%nZyN6pVC*XPq3suzWVX&T02}dN7Z|SU{m(8F!Oiuz<4bcJp)i zj*Q(d3Iv^1W_H=lPE8&Ob#n9`#=0{5G`IFA zy{C~U7R_)in_Y{@!2u4oUFa-SJn<7bj}z~G?6CELZ9{XHkPY@0d2<(*`l^v1?SnD2MA(G}dc(T})?{h~K9%LoY!#m&2R=sF3ixU`3EOm-Tp0Gryw5)AFurDFs;?Yal?XryiUiELU#Wq9xD;pEm^c98&t3of5)Ifll}2% z{zG6lvmO|X0KUseZt$18?|MDTpO)X9ug|`7i~p@A_V%N-@y;2h6Q4p0RF{M{{n(h5 zmxYHmA+S8_RBSUuiO{P}(mQ@tVCZEj)`kX_!chESc8}yjSII^V6oToxA@U;fAZKk@ z@=>bD)jUo(X*a}3zp8PEOg!wVSW8QIIUC`bUqgS2j%8b|wfVOS* z!>~4g`Ok|5#ocFA;Xu3B(tfjr?JZH2Z(mP^q>=JU)VjCOC}$D`%NL6Sz+nWc6VvEZ zg+c9zU@eEk(mG{MB+tn8JR;)?}s{kACIB+ zyi($`PD)`%wJFcd&s+7&9~(JMYNVFrQ9A}?OgQO;sg;$q?a)qdEg#Om0q*eg#FdMA z*V!}Wb+Vf$6N35a6`EsdVPdb;o-dC->Zo}B=faPge`V)-V#hiGH>&J~PCJ$J(7+`n zCY!fU5lRXLp_5o^J!jbZX=|SGP>r?ZUFFyBe0K3WrHy|m=p?6CX`KSd8QLEQAxLW= ztIORm1#_b{aoM=X9gRJCU%5j-=YlpWj=fPL;CPvL^YgevR;+lxYhW+`OuP!BK0vHVgfMA>3q;j-p%*OEgzk0G2L-H%<1D7zh$@2WSu)oPt8k+ zuKts!oCK$pAbeKgxqfPXRrR+ zgJ-4D95mM5LR%FdtHZ4?PIBnECG7Te3FT$wv{xrU!ovYD^?dy7&j@tdd0ib89-n9i zteHfgvP5syDdc~YQF%+5f& zYSX=f-&JNhyEPx$(Tac9@)^DSP|q(aC`DqKAQNCWs`%5fJMKc`L-Fxfn~am5?{~SI z#`I3Gev3M>EP<=b_$AD3Hzt=fPv+rz?&UO7Q%lRxRJUtGi{o6I3Y=C2VX6S-eB36h z#DPuWoTQFBN}T)zYA?|aIf!>@b1M@dhWP=`SII~Si$~*w09XkqPdS6I94UaJk}4NA z41nV?P;?g;OL<>cx4auyw7qIr#Fb*9quVNX)VNf}qW&6xxp@v<;fayfo*>)4t6r!T z3bP7*Ls`1~$B6{bu9M$LU(`K{+;1z`Y1i<)crj&2gR5U_T~AFq5b<@Z&ctKz#Ga9q zN$LZmxypPch8f4K<-0B#;8q}9yxhS_Cm7H~U!+X%(lhTjMv3l$BCt!`zW!OeCW*jB4Oe9m6hNoP>k$D zq&X!^mfxT<;LFZ|Dq-$hA`s{b?$<83fU5gF>lESdXFt}?uDiAFN+0$3H{QN0=9BH(4h4@weD8)#2M%=VTF%kV2Y(q*V2vXJaQzFW9eL+rL)DoL{F_ zR!B4$@ff;JVjQyBkMoK9XY*EN@|x0{3-F?c<6w5RqhYhOa1*9!`?RAy>L^uC4Z>3p zqlD{4lf_K3cyDyZ%*6HjveV)ryID(rqHSe~Ynfc|{__2mcW^^Rh=Tyl%S)VSB%CBuhAguk`Tj3mYlxtd3+Zr#Wkb9+y7hA=acCN`bmo z27TVJZeI!k1}Bz;4^6g@)@)>rGhKadYDAeMo=~;7*XG2-cRXWV*3_qUzEtQ%wVsV; zEqxARE8pzE(^(DVd*Z20{og&DtOSln2704?f<0tC2dF#-@a9lS{+#uyJ zwZ5@M#NZ-aEEGX^y_wZ^nZqnTxI_!#zcj8MKx^4E%4am!^!&jm)(KN&8{Lc$J$ElIt7F?XHoW>oT5We^dUk4pSHW57rw#;Nia5jrS0=0=pjtbPJA(R-9lHgd#*h z6M00C9TD(lg#f%h_8n|uTZbR~@!C#nxlMCi*$WsZ*sU*Qqy1 z{|rzlB%Gx~yQ7%$ZX36VUa1MBXzz)FKfGYhIxc*7s1QzUs*!6>dd)?gos-78_+2ln zL&&Xy&h$iu2}ZQPXO5%{HR`u%L59)bh5(Z}P?G32ymb-#(=hbv^&5>D!UZjg0YMbT_gV;s zyP~t4+)wbZk806@7)evBRfKp5Q+}teIuh-IkV43*+3IV}I# zS0Tkl{pf|}^AfD5(i{!GaD7q~{=jGKMZLxOwUsQ98uJoSMa?bLYlF416rsV)^a4ef%_2nBA+Z@;&fxs}!| zQOWg^zE`{M*r~Z7B@@_mSr~hNcY-`;K`FVvz6zC2t$DkNru+nHJ9zbXh`t7!ft7N3 z;T3qM1W+y-)Z3mUU=&nffosj5HkT+a$V0HYhD7k?Y0uKA zt%jsBGrPK4uUE}jMQpou%Ej|+=U{?$(U1$oQ?aEhCr;bvc}Hu@?H=qs(JEz|IgV<4 zd!AbaewNzoCbA<#L56c1J?1z{&nmBu0R4ry8I51BD+(jWkOn76dwDn&R#Mf*^f0ts zJ3iXZ+;9`ARBw*)rC(>bU~wycGumF&YNxJIUl%Mkv{uf{us=vvOnrq@If=AKjo0wu z=rj4%dwq&&hDPhlA^qIpZ-Um2t?jMir6-%JpmKoafu#biu#f?AQEl@uByyo?>Dx~~*IP;o2C4qJ7F9vT^ z2vz!#9r5BHm&A@j8E57hJGYo6G*TEZ(P8EA=`x=Nw&bsxP4D9)Ya&MXa{h1YPnVsy zb09b&FQ6_WK`(c+)1e!bs!}zpVJN4`Qt9`*hX%6v-!PVi(A(nL+j}#`J;_=-JLt2A z09hW3R8v16xwfc$#jjSDUb%@>Jq}u~aSob7_LP_#R%hB*kp<9CR!9#TX>O}0HiLM* zCIEa>#3q3hB|qXU3Ctq9;SvpB9TD1NO{r{VHzG|Ie%JJY1DJ=QN{MZ2cDhov&wa~Y2C^_A>{?; z4e5$a3Nne`+*kssQoFC|Cki?Hgx^~dgk8-kH*_sD3vY9J6=tZo{;d8PHyIg}s3LTj zI0GD_^c4^m8dAZfZo(_pr)HV-gcV$?SyWW!{Y#OnG0MG8_4DLAtYJ)ZY|vDuL2*ej zRJ0e33jQHJ7e3E+4$Pr4R9{s$--?Vj@P4YPOU1E5)pI1f!Jg=Gtm&2K7>75=JVi~} zu}G>q=@BtUy(?*(RnID=-tC+O7aqwNL|1176yHRX$6Mf(;sxGwjuzNje! zx3!MELxoX-;$)P#a0eZo-Gp}%uU8_@**jLlGKZ|fO3ru)dpX75jVD3yN*&JM1?i5G zZ5lORH_RrVws4)tH(YMqh7I*LO`f8czN;CuXc-kVlJKy7Rn?2~ax2Obi&GGqbcph@ z!&UTWv`=RyWn@*#vltYkR>Q;mOCuW4SK7ncqRM@1zhJyU0QQ=A>VqIJ4SV9#KAQq# zh*(((DuZGTnHZve++XU^B{y5qo%4wd4>E?5Fg3(f zP+~-DL|u%UtWWXG>f-+JB}?Me=c3Ja+ESw~L5kD#OP{1cNRJvd%lqO=xS@>VuPPTmtea(k2W68VzyI6PfWd z>KWu8H@V^!>@eaII6gYA2xdUV2Oed`w&stDM6p_@*tn1s6#lMsM8fH zjk@z6UzZUO2#70kw%%J6MiOVhj`>h&qcKXAtM7>v=rzh4_n?tGFK;D!>D*76&pp#N zl@ZN8TPpK>8Hc^_3n{)-RD-1{(r{sHYSgl3m|qd}5#Q%RZ#p^foq%$i>#8_;#kv88}6h zUAMVHN%U=boI}eFGZaVg;(C(CXrRwA>ym|Y;oR5DM634G9N8-i*=ypA}0yn_RkyEkB8-=ctF{S&}_kHwi2$eSGBK`?Kxb<}8KzNsAB zJ3lo&=s6`4X7Cwn$IQc)H|G+txVHbHwxqYd#{%!0pusdF^$-X#;819+LR^aw?Mq4x z%xoq3NbAtIz&=`fJZ9yOKB*^Kf$=TaVB;|Ks_BV1ce@;uD0@@?HoS)@p9P9h*?@&uKm&;imclq^^n;?f8K05Aa@4a1k;2K-EK z^T>iTTs(5#+NB>CSN%3kJ2R*pYI)JKT0pw2v`xbjTySE}&lH>1OtBjw4F8Ov?prs4 z?y>QSmD0`YA!w5j(;%hKFDc4JuFKX=jYoFnOE54!?MtTZ`mOO?##N@^P?N+tJvcUV zgQOb31rpbaa3*EpM9d}xr7D}`NSDCp4NX)8G%~mSqYS%DK0jA) zUflV)rCWaqb1RsU94sav%*17=4XKT>_ct5T)u+rF<`s}Eu6$g+RYff|_{~SvX0;O@9GoUmv;??X9%ob+6AwnMOLKcD~hYMjDt1*zUL zv$SEbvx*gauj|k}EGEvjlSQ3-YrVRs^!LV8i$M;iXcMK{c{i@BRD=LoF@_=JwMi;< z!C(P|Qy9ZJWxIUfgXdl^gNRj?go@BTzob9Shx%G>SRs-MG1c;Abw{%G&LSlkn2XD>na5njp3Pu^J*w{*vC%_p#!B@< zy@ife#W`U4EK}D>rxkUI@~Jo8o47crN~~HPA7csN@v@z$<`wM<{Awpg{A!0?cN?(> zL6*Chzyq5+J7ux&aYc_qCjyGyZNQ%A(vs%9`KGZLG^B0y4X`6jccUdsy?|?@waZ=H1WV9{&t%Kf zJ2|t;K9y62%10du`?k7AH}y??wxnU8Lz5kcH;yGgZd`>i*=geLRaEcFXq@SDs+#EB7(Sz zow;YnNwHLQ4V&0Q_7@=vX3yjqT-uBQ1JTT(^?;POjxN8u@?e!XP7AjY%R(5$Fwu_V zIzhpWh`!_A!2{tr<3iov2g|d3jY2!0Vsz#5pD+*y*jkf;r&6?9guBxHnrV4R)x z?%M^2sO?G%RR9R)jE%`DX|(>%{+F1k_a*pcX&>8=uzVjj#0VXq-(UioGR?*7ydu_l z+;`-6-);HpSv_*@@8GX;!ri^O)&#mun2sg1t)7+g?KA}yGD8cvT7{_jU1(pT1)v?A z(%vu@D^(MGHc?yDWYv6S{?=Z_e6CR`L2QquXHdKQxW!Mr50m6vFN=vR__Vk=L?1fT zY%NRrBX!|=v(j-)Zf&0p>h!6!d0R$*mv8cuf{*74p}o;(8^|HX_1d2b8GB&u_`2M+ zw(UxH3R@Qc>oF~#_AZUJZe)1f3uR+WdC4wIpc-h7^iY_FH-7knFNqDN)5UyAeg zw)gFT{u~A=##`gKT4d*;5L3%zjo zudlW?&A55d_mz4)yzIB_HQ}X(%xy*Zx9@1AHIZ8T`Rwdly0~zOTN{2(?NSLRQ<>YG zx2>DjH)3uae~yOTl8SDJbIsttHnNla&6ANTXWXa8D{kar)Jv5cU6f)L(>LY)sYv+i zP>$BX3wu>>=&ur2M2e5KuPle-xcm#Z9VF5A37Z6pODe>lB)Ys8I1JdE-mZNUntDdw zUGhV&o}=NwKKSVeWtfwBW>2WlTBT5#*CiF|r3)>A8&}vk$@-g57>F_s7kcMPu7V_o zDet=keOiPjb@Awho+y5;u^>6z4Vt6?#5PKWWMY(xr1~Mlw!rC*;h^L9JoR{OdDu@*8vju*4}@j&3FG(zm&zM}0*yb7T!a54y0>TBjKy9goM z!1hsb^|(G1(Ykx|-Z|agvo7?#P-RizH4m)$pdq2(eoaQB@AVPg!juDEiTCtr9N`=` zL&&X&jF@32dHHFrPJIP3hJea}Foy5DMW_1(*Oyxz z&frY@ZxL_bo(LXbKm4^FIl8N_ z%da@;%(9?5%kQ%=us>~BZ*ZsFFcY0U`s0xKw)LlE22ZeXeP7|=-j$5!8f)VpuURYK zLz_n77+bE)$2gaCYt1o6Cat*%9g&C5(_fzt4GLel#GjbL-X&yr_SuN%oySWEen*!K z=im%Jx(IaaKAMU?84K5Xs-(x#Xi;!gEOJKsE7@YkuyvP|$U5y)ur8|`F?ifUn2I&}J z?!ou_{`=kkKKI_|?&r+moZ08>y?U*^)*e(WEYtxy_*c8*7yRh@QXvtpghq?zYVT-b z>2&=CnsgxmD5!x$w7-9A&{VG9{I7QXCK`0-5uLV8$anqZf3-D?f5stzx)qIGU-9#C zKIY`%=DvQM4EmVcncAC~JBs`-eOUjz!y+lAi3V_?r+5_U+u=juFaU@EFuKojE9#XT zOLlbnL-+XT=hs*5+(GftLG8CqKk;<@`$W%YMh*ZbfIr0hocUYMYCzE9HuGo4G(k({ zC%N=E!K#abct4IFnA+u3FT8u@2^+mrBmatH|4K?;%|IA;9tk77vkjl_=`F{8c1UljQz!u z!9bO&M(uv5BRkGt3U>jBr{Zet?T&o1PJEqCPoYEB zS-Lw~vHwt!@ZU_hW;+1lJk;$D)ZGv@)Hp^R`L&!xCY_WfAyQmZ8E?_Xk(XOJ}TUGOLLM$k;6buFGgbaiHyw9}7w{oQ{TA909p z##6UDl0VRUea1E+yO(n>iq<*oR#X~K7fTjx=;vqhdA={y?l5ONfB1_zJpg`0f2H`} zr@x~7j}&J`2DA1&Ebrs(WxqZZwhjnwerqL?BH)3fn4KSz;?T<9DNeg~%r-g@F z3eu)BcBO-Va1&(7{5q4c@gaaiMH?q`g@&Z zrt+3-9Oh%Uzl*QVIjj(2LS_#Wr~&}z3E*kF?KmLUoh3cM!;&1`B`BL6H6q8t5qtX) z3sV(|>2gx$h+I!r^lgO@nrsr&pd#ocfCGK-(}%*z(ZnH7VM3sGgT+5uZGh!>xLOa- z3bmTNU`~?yfFLf7Uk?v!4n?{CxJ1eAeFlt@9?<-a3x_{32+S%^Wsl(++Z~Z0Bxn{ze_^Y*T4Z zS;=NoNrlV&iO6U)q!eEB8Zg5+7sSKaI_^*T`J4Id$PU)trf*2mx;@fouyGfdtG|AX zt>IK?@;78tXr_rd z-x+H6RB=@Jr#f!dl@c^Z6kk9d;r1KIcW|c@kWrN}fIw1UMC7Q&r_d{6snnGEI}|%h`;U2i*3y_rUB%MzDcwT;N(xh}(g_OFBA$sE)1t=QzfeIP zf)f*_Mf@j!F~0^kd%_CBoa%aV61|6c*ONnp_&d4ozbDtWw&Ljc3zfEMu}G(;sY($9 zRbgeNrgb6zsu}W` z9^6m~d5A-5!91&3((*jNlcM{0R_|v;^Q=-wM@!;nXN{=grbkDsu|a{$U%kgx3Tj7# z03yBy2z1bQ5Sii%;oOTN5$sBHCZfW<7o#lyEIV3Lw>K*~R^FP}Pg(vsOQxDGTb_BO zymfXAI%v5?4Sm@CAWMc0+@VN;=Xzcz?0ebNkcajSSL=h^vl4Je=SL)T-64sa40Yh%i-v5~JxH`53q>T!k_|zLer@9J$~5&ouX=JX*V?cYccNXlOa$&4z(lx z`gGe#`ET?r*m>I&B5l%jFbzc_*Bwwe0)^GrG07*W1GzVJUPQQaO>}#LNV#L{TN=JU&(ao^cwwmrY^a4-rYhx)kClp=kV+ zNm1iTisuWSiI=`R61eFmg@O>L2%7+i!o>k?Sa&sLpRiEjvtO?&h%f**CXjfTfCk`r zx1bf0<~O$T3aiYTyr_mX-xg-)wpV6d*&2Pz(nE~=Vf>Ev^ZSVrmh*w6qkq$pN> zm7Us*kXmTya+0gvkPm9qkY~Y3UrB&GoMWs)C&UibLMG?ucQA|mhFJUqGh%hw(xtlO zdU!e}Sg;}N=|PLQUmqqq)(azg3~-BxBn!ZQpi6bWAtnk}=z7TgkeYNrF83x7Ct`Rc z&0xawT=6S*aPT@Xa(I7_4)F3l9^vFn>jjj~4wLVRJ`nlQQ{cQ1N57?9^D{``=}&Ct zHL@6?e@N&CXhh2>P97}{Ep={w zHFbd($|%mQ*&iuI>G9ba=?Reu@wxd$-&*VQ8j1_Qer;*{j%ZH*lK!=@F*hUSYgS3g zkLd@z_qqA_mWIlrt4Ahk^P77!V)Dw%zJDLu92hES8yW0MOH3|mZ0(zzIvU6=>1dwm zYpN-(t*^+asYxp+E^Zk>G0MuwiaZmSj(e{Y{6y}ZN;s>28c`S)vEUkRCp}a__;~G zyYZgFepmO?efvI1HQo1i9dv*Cv%U>0kleRMd(J4B#sMCaZ{?yGxB|V|11+9~h-hq1 zvI#G_VEB|CXF5s{zvU*x4BXfO}r(#iGw>ePaG5J0hsxqUve=UIZ5hLimJ z*s;tzWYvrd<%T*RZq-N3@{qw zJj`vlqr@6KDvg2cdOb^EeRX&D=tvkT(JQ^xO7_l0_WXm@MZ|{5lc_kXRZQ9LP1W>S z4B}^{v=l=X1Cudg!)F)xOhO;>J@0_I3un^XfybFg+V*G_aLldFs-0dmo_2pCHSUs< zw%GZQPJ5>Q(S=LA&KJ3Q4k9`jTe#c)^p}cR#x&>ZB4M2}U)rzEgxNZ+me%^NNL^{{ zZw?pNou-RD*VVB?#edpe*ZL)idQO!VeD~?P$EM3s_rl3C-ulfHcJo<8YVhEx?Y560 zojnDh#`|T!RsZT`ug_l4=taczs7P_3TW7vC!azqX?7iVw#?(pa9Mx^=wkpZr3o(zF z_3Cna;=ixD)-uu>g!n8N&OGiDp*-py&WH<9@Q%6p-S9;z)=Ru!voJqGx6oG9TzKZN z$mj86_f$=5mpfs<1aBpx9uJ2lj!%p0J~`#&pF@sL-#L3d-xK-8x_(psf$q6RlI=$Q zN_SPrHh;Ob(rWpNudHs|Vf)esFvFYoBGyXvILLVx6O*|*egue$2>2dRy>wb1zomAz zV-?hS;5mTz7CC8{R*%C=g1ptKxt!ZSVdAQ0|8i3R^~6@!rL@t{2X#fsJ`%?cn;!r+ zmo1|c1~(0QT_c*GVPcY?O|PwI_S<&korQgWy@Xl_?(KVY@a*fnmj{WL#R?kD{j*?E zrs}gyT3e?{51J5?hnOS*iS6%|Ufx*qa6&xVx^oqEm%zHMQN{48`<7dS`Z$dMCHREb zSrN=Odx6gpUzKr{urir0+xcspjZfLI zdiY{csCY~jivnF*_CZ8AM@jFFvV7FTKjAZ5E{DwNxE970xAWNd^L06}K4f6J;HCs8fAhz~+o+%K?xiN%$wG%;-4;2B zeeYM%9%*hQpbj+fqDWVC4uX9YdP}c#$EsyV!@S6=ceh4HT|O`j3K9ucS4;KCs+O<3 zIh(z@`%}z+P)?-!H|Xk>H#!UW7Gy@zd-2-TqJ27bqlr?P695}LsU=67j*GjZ8_k1S zB2C`Ed!H->ZKfMO_@Gj{icb8nQEwwgBipuf3_eLhUo(?#XU-Rj&Ck2CnY3&P}&=V!8I$%ImUa!no! z)ddAO9huV=yK3=B|Br@=HX5&o$t>>cCO$ZP;r;IEFPQ~80N;x!cA&g=jNv1;MKv{M zd??Y!UIL0ke&;=RkUG$cy;2jvJ?anob5$tQAAxwDcMhvNryk|gOpwP%?Q=ScE4iE} zt1BEM-{QT49kjOhT8Ef~w2hODufMV_w~1uq9HfhMW|O;TV8=tVa=71@FS^uC#6S(2 zD6%Xy`@)H@E+)hV8~d#25j{u5vpi|qSa*zou5(*nD<;VJWPpWvXD!3@gIxkE)|-`| z2eKA%TJ^H+-FjhCsrCNN%r2cJvc;jkp|5y-6*^Ti>4CA#y2PE1Uur*5H7{%2nsK~$ zyF^b;8;<8j_EN(NL|LH>0@Tu6tQ+14jg0!hx9gx=hnFH0#o54BROD8G_rBi^8aZju zB3ZN}H?P;niktK8;2lmQV~?iZ=;OT@Qt$>SS{sNR+|{wXQz_ObG_hDW8(~^o%#

9yo&h$O3#G)of%*gQ8S%p~0TSRUK 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 PhPM0NE^6|4R8;>DpE~cY literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_alloy_furnace_front.png b/mods/technic/textures/technic_alloy_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..9123fb64272fcdb9b2fdbaa147b7f02211492e1e GIT binary patch literal 2756 zcmV;#3On_QP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01mML01mMMoQxmZ00007bV*G`2iyuC z0w5MKiVI`_018A&L_t(o!)2DqtLFJt#y{WbH@@>7YU~<%N*f$8uEZD@1_d`EZd?lf z0a*xwAmkr$6Bpf}3**L(iVGtFK{|_chw84TyQ=Q3d+&SS`Tb4bF^g(~;8~utcn%-V zb9lr@fAjsMyKAKHNwPpB4-%3Pr09`Iq%wHdBXvgb79k}<2v|Jgi`PeFcZ0yA!kd0d z2_YpZK@1UX48eP10Hq{SCSsE4***0B)pN$CK?RGC8kam;X(R%vG%h%lF+}emNpz;M zZHFlgc2M-M8VXucjCdnaN@Itfay+K%T1W}0HNkqMRHW#s>XMWM&GiLRsst%gP9{hR zvuR0YB!UP+Ae991hKQ^(20XFSbkSjj#p*;a6Rmv+41o|lF?g~} zL-c4Rh_*-ikPxP#J+vrOP-QvQs3r-p!6CAmwjGE`x2(6sSivCd=?{0430aRlM3AQPCsgo|i!&lp>}GG7!U-qB7WB zM-l?!K#WJE)a2*)Xv`N8Rv>51ThALQAhzEL2VTCd`wpz`D#7zgMa)5fA_s#e?!SO)LM{i z3$~}IN>T_YFA#tIC*Mqd=ur}~EXO&8(h~1Hd7km%#~1X&z_=AF2pM{klzh2b@$6>JyN~X1+^ncGLmQy&BSlpc zog?{x^?^y1aTq*RRg#8|Ix85Qr4W(R`H27e#WTMD+jo#-fp0sM$q;bAvW#WpS+62d4S3%ngyiheQ*`xP zf5_AC{y9WXT~=tL`CxNk=q;)!@!sN{!)S%K5u_ppM@WKEVd#VBe7>L`ditTK@d2GA zVX&B@V7Xawx;Vkvp1ZR#;1DV&hQzB^7pSKn{N@jBe_(d^KGuNFbCS#{N`=H@>M@h? z2vE$Y6N<5+$SV>Kof~3GY#Ikf5Pd}Fl0&y+HlK67Sy9zBO2cGau|DqTqvFtX=<$M| zefkVtjxw&>0X}<9@|M|b#Y^b7^k|B0jz}a(hsq0S92l7IqWKA12lWNY@ zW{DzkHWs9mvuy?j>!@ZY9F7h9-ICCGPEJqWSSlrEwW7}oF0Wp2_rXJ~OZX63?i!4i zR3@X@A2~Jy(iB`?zDDo1JtB65LF0hYq$Vp3*-lUzg9*@vzrz_eZtjh#pc-au-}6ah{PLF5<&n8VvNKDkkH2P?g#G^ec)T)dWR$p z%d2amoiQDa5z-(~9F8qoxy1F&YZj^^dT3-%I68*HGM!I(_2P<8e*Sa*^WXj*H4Ich z2~_ar9)JO`KnJuy(3-a%zs1eXHNW=F_qcuejLurR-I_0B%iB-hLv}TBXwcV(74MwQ zSl_(lb~7+B0W({$e*OZT)krDdgi|3fKn{$6`s*e1*TUV`(If!nV!>=We*O zCwkZ6`ivkYpMU;2PanO@w%s9@uP?|aGxlBNd{N^~h8-e4!M1x%+q86jNAMm2d`pKlskK`R;fA2;n`#IZTLTLZGxFAaH;O`V=Y06JD)v+3ojaxk9KT_wJq$f@HVb zQIh}3 zNr(ZFAf`7IAaQZ|ng@^WGxQCU>YVLi&!QZ0HqIH%XKc3{ZdP0L>1@vJs-qBBgmz6k zWQb_ls2Q#e*iP{7H@?AsyJWjRQWgqh3iihxC)F6KCEM+hd-qQ<2`(>hkwwMXoe91+zttKMbTYay)j-s&h({(+5kig3bx#uq6kswtMc(=9sKx zx8LJR&!SrJ>eX|k1f=0|dBMqa!mF1{Mw1yYU)-V}J-o-z4lIwB>2!kZJ+i0>NuUcu zf3@WL<&JDNL0vn(+}!fu@neMRIj(Q$y9txYgxlo?lNX4lXEd52RmJnG3xt5sN22TK ze8hJxZ#{j&YTu(`M7;n0TWNE2Y*uUToS)M59o?~|8v;sr?%aFG@vx?8ET+sEWf|-3 z9w8z6NJ@z!&&a9_X9FoEB8lh&Aw*J0zcQ|n0x2X?Num%W@A)OM$-6=~a1K}i0000< KMNUMnLSTaDGas1% literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_alloy_furnace_front_active.png b/mods/technic/textures/technic_alloy_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4dda2e691f94e929ecf2377f1bd0d6455cdfd389 GIT binary patch literal 2757 zcmV;$3OePx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01mML01mMMoQxmZ00007bV*G`2iyuC z0w5^x>lV)d018D(L_t(o!#$VDtLFJt#y{WjH@)K>Yw8+$N*Nq6t`u7kMZt~4jY}ba zfD1tog#06J;-UlUBH6eyDaM1{s_w0O?|a|*{f*x#iz;1wIB+%(Je>1z zj`-ods&8tFTd%n`|hgd_whdL$C54BmA}Z3%urNQn>vjvn&Wn**}FLEus0Z9k=i zkdl-jhKM$X;5{*bQW7Z>F-i37E_(O+1!GgA!hnw&mpoc&Bm${4E;y7iMDHL;wABnv zi^&Z`ujpRaA31Lc_eSCtC;tn=QY>22J&{5I( zL?0qp1Gz;i1pqNnj7G>5s74jWTD9s~`|c5mN*ih+#us8is94 z5&~jRj0dFDWM}tiTua>sY#cDQBzQp`dc2PW5kM5QF1;H1hJXNn{QF$RQDNC6%}Wfb#lOj{oKX4Uhz|ME-z@h^YE%DBiWtLB$UC{MC<1%MdWOQ8*DN$7ghan&d zh>*yO3@as3NWw6%X?iX<4S)T+kC^KLbVl$!Sy3{yEdsF0ppVXaWiC@DFbPe@AfumAH6|L_;T zheHxwhte83Jt2gEC?@C=v7jg%3@v6lLWYhcC0{R>Jil4-;lsNe)=MgDXaY1{BrhwX zb0i-ad|*;q_PwVp3sT=w*__@D^5;2NwF zw3~(^GXz)j<7W#V&oibfkWUJX*345x*pec*?7IPtgrUbf$N9J*rG%++^6?nmZyAb= zb({FFua^Az(<4eECO3$8>Btb#HVur+jMyGXNJ8H-njP`Y_L|41V{}m=5{wJOzV6xe zjxGth-r+;QT0>HXVpP!#f#iGI-XWaC7>y|;=O>YuyMgzOhJHYhaD#_xiu72zE)rFR z7a74;{Os#Jr-eiW&*sq4w+*Xp&0@V{yWS#&V2r0AKv#2`C9bY-Xxo-t1Z?P#zGt)9 zlUYly1YayVLIhzmirFc}?3k25>&XKyUVVWP5g`R3B`$V}Vmzi7g5(|fXiP@L%8IqC z2yS3>J0X4+v!_lV|M=opVTOsHPS5;efH0MeSKFBT@Bu-y($M^x+e9`CFgx zVeU_2lVqet+op%8&ZQDyk%qQ(MxG-ap{NF+#y%5oMAXndmzOB zi>DX?!JTr>{d@OWuGZ|@HBw2kJ`$v0Hl5RXPi$JU(s6cj2i**N&c+#fRI%Eu$oDmi z^(9BuF;~ka>qE!mN00gEAN+vLZU;gj5|9#*K)fw6Mq&a;SY!C;>BmGL_|A7eAW6gG z>Y6yrn2yE>X%Hy(hX$=&;`-(dN2(-xsAWeuIQo2GI-m0TV)f!B+Ez#@K?pM7E|38gP`pC|!#m*?Xn@W6IkV}Ei;D{umzPAJ=v<5I zEI~@X{PIhlJp7PNvqdi6T#!v>?AplLQH3{_p^x|koAwP&-OzR|(R+NBfz}`d>Ye!i zRfIsiJ4~dtM3D&Iu~~1Bc7zKB<)q;F{1M7bQTd47;ef7pfv+!bu}aYn9_J#~Y;i7P z5+vzqyMd4Y=o21%@(IERq;rTE-##x|p%LVO26T%2@p#PTYRPuD!)6Mh4&1$SObC+g zc1uxYthPHwraNijY> zq9~@6lLA5_xE?z?qc9TXJ)1+rY&JpQnT{u*6$!y=y`pO!L$e_(3tnAc(KRiL+c)Sp zw>Na%n)6A4>k_y7Yi8qPY?(7V%JBQ1R74JkmRWg5VKTZf5C%c(1hU_d0au$H=d(G+ z7HoGrT;Vw?k9ht11yTaiaJjhPcsk+rs|BOUj8`vj(GMTorEhu`hk@yIg6uppF9}JY zb3=Ev;QG}TJDZ@c9bd0+x&P=9!gU;0H+1cU$z;OqVvWgiMBOnO&5)|(#nlBuK;^s)b)TVGDg<2 z+UyV#qK~AM$TN#AEp7;;l!zpv4}=g&;ay?^LJFjiNF|9vki6$tNN~D=WQ6x600000 LNkvXXu0mjf3)~L^ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_alloy_furnace_side.png b/mods/technic/textures/technic_alloy_furnace_side.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bd42812903a7ce40693c9f427da322fc20723a GIT binary patch literal 2667 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_battery.png b/mods/technic/textures/technic_battery.png new file mode 100644 index 0000000000000000000000000000000000000000..ee83b7457cf72da58b2ede68a6b06e7f5664ec80 GIT binary patch literal 247 zcmV3pSWQ0f8k2q{~%WpZGe=N)PD&HiT~2l(*MQ9#s5o6N`f)b1|Vw!VUU3& x8-NXu8bD72VCeuvlVt!X0U;+On1R^T0suQ+i+y*Oy}AGZ002ovPDHLkV1i(5X}bUb literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_battery_box_bottom.png b/mods/technic/textures/technic_battery_box_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..03c7ccc105305656c0344a68aa0dbff15728f677 GIT binary patch literal 2046 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt| z777(KVy&P600(|aL_t(o!*!Qk%VgV8$A9&*cK7oKqM|@i1qc8{B&vd{QJMViiU;kH)Poe^ZX3fuAXbnwaI^kGR1p#U zI8YVD8v|=^D!N)l&|w_r>`17j4&~y5$YhwY)*_)>`Dm#PN7aZ7Vs3T?I|DQQa05z6 z;UbtSX2yrsyj-4moA02Y1TKCM8C;IR+8aX<;4nwbuq<2@6)=(Rw<@AW&O%hlwK&XC zvo2s~a2Z$J4KYPjkQ6T03srC(7b+7`!wx6cM%56}j|`~-Eif}wnmuaHo)am>tl4Cy zSUGNns&oN921$}3zy>o+6cOce45%U_06_|D3``Z5!I}#)Q8&zuh{WBgOd^xZ(-T$6 z{eH(xS@#KH>>#V~%-}c>V7YC_+{C zpLbKSM5&m3_Sr9azP{q+{d?~B$=k2L;pLMT#<+5>_qZwNdFT4_mbdTUG0cc)L5r%s z_8nvf8A(+(2-i6|K6z?|8>9POVAk3I@YTB;-+A+0{^1w@$Upznzfg~!kKvda*XxB( zfBy&k=r8`9AG~?ZtCv^YZ#VYdh(PQ`Ws8vwr(&WaI0b4(%s>s62M0p?kpKZAJYO$- z{bg{wO}_ZzEB@~i5pK5|Kl$m8d3yDRr|X4zzjGXeIVU8KL-nnot(GbcT0~n7O|_*L z$lcE6>b!panxb*?;f25ZsVdI7c>n&6=5FV!VDBIv9uiXQy;-p#i*+s>+J0*XRm!;+ z2a1}28DlivDq(2w{`QVcQ-N&8A6aBRn$cUQRyBP%-CG~K!-y$XsU$&`OUBS z{PWLw{hil*`sweHSs<`i3y_=h{qKJdSLJ@can2K@WmrVJD23WZRw7ZLf=6sb2CB+& zJy3)siMcVe4k~8+>#zO;Vew}_{1g82uYLs4t@!4vFZtxn8$Nk?;_GkTqT>A5e|}D7 z_uqYRo+lAOW+9KFDick?O|6kS2DzgFsDitKY2V76{OKS4F>l}g8np{+?e4WI*FXFN zp08JCCPNfIl+XU{SN!td|GQ5r(iHEPHO#g=vZmrihXgWVIAk+IRMAH;8N>P6-~F6? zgp{UcFx-g<=A0i>vzl?eUO9ZQQ<&$8s*%z@FwgU&Lq=s|pfj0tjB9{L#k5MLXxs*mxOb z&R!d7X=leqEAip%Od=9l5E(tn4JD=|-GIX$PElx7$ZsKb|kt$_D3nBqF4R z!Mvl{e1C^bd>q8uY#z}%lME0QVr@{N&g|^yPV8u`MB+!0vypFZ9Y!+oG}Z^VjKG@! zJqv6Jbj2eLZOW8gfr)aTCnbf7p(yD>MaQ?uKtd=J_S$F^aklv=uy+!BH%k&KlK5ct zLi>4S;9Hpc?1?9neV-IXYE!1FHKQbP?U`Wi4wsAl7{A(-axP2-^B!F!iy6BIoJ`D} zSPNCv9--@lZbL;+!hQ@?gsRpEMS6hU#Xc8v?}yI!G%OTV*>YP&W)f@nsBVT8#B2t{ c-ncve3*P`X?5oyPLI3~&07*qoM6N<$g8QAx6#xJL literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_battery_box_side0.png b/mods/technic/textures/technic_battery_box_side0.png new file mode 100644 index 0000000000000000000000000000000000000000..2662ac0431467f2a8b7f5db7dadb7a15b103716a GIT binary patch literal 2313 zcmV+k3HJ7hP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt| z76=ZEF$T^600@amL_t(o!$p@(jAYkU$A9PC`(9O7cTcywJu@EL6MqUvvZbITL|$M( zz$SoDB0!Nsc3FoFOE#<#Laf-biXufp2q{WHNFlm=gOab;~QaaAc6oOxO=;j=`E&@2t<@15M=Y6nFE3l zhzOzr)6+a06-88t2#CPkA)w2de0=hNqmz#)rSjy>AO7nDtQwjU8GZ{UJMx9jpdp zDX1zJ<758l_kWLr{T*<_%81uWHRI^?W8S%Q7njsZpBxF{?#E~R>+vaD^CgFOe!_is z=JPEs&My!VvZ{gzni7Bc)=%hO*kWO)_+b3W_8)M3_OO-TgF03Y4i9+#xtpwqk=6NQ zR_hh3)tW_tgZ*>PmTPLQWXY5q{P@l(-+A~UyQ?cK$~~U?`93%5bvz7!EF!4Lw3|c{ z=;j$Kfg)`8Tdaol29O@m&*r#8$sNiX0w8dLE@ec7Bnl&_DoKTIo=Ku8io4O}zQuG8 zYB)J1LoP1#SKQL=#jKqNxdx zC|%bBLf`j{9M=5#>j$u2^Yk09A-hlTH~)N_)3c8$rL?}vC%q(sn9vWhSt80<25PC8JFj0A ze(Q;CW``rsef_Ka;}72A+y8N!GBj<;?nWtvQ01@x=V!>%i7U5$i2F8&-75sbrB>uV z6O%EBHl#OCXiHUbGr}A^2oHYn-beiC@go-L0sH?Mj2||fI2CuhtbkI7%J+|s>C%kt zZKEzLU%m1YRtlDsG$B}~q$2`RMN*SwCL_|67zUrHnz(&-!M)*xoke9aU-QDlXV{Bv zNP?i`jjM??3JOTq+-oeQsnsMdmw_*XML2i^X}cfO{pNzY&UaWUC*-}mG$lX9A@7-UM$!bmw|?oGHZr+`NK zX%Tohsmmm5<;*!FI;o_7B0dO&#|E2S-%+bzZX1cd42}pEM$QShR@H1cMzFWP#}}UZ zJX_ax*jj9n7Ktmi%hBoq65h%+(J&@0h=@(_@FvG*);J$vR{50|U*YEN^K9*IAt~|H z&8r;$@(4-IBeIG%;}Fp_ZxaxNK&chgM7Wc4 z$9~>t-(Y!X$$UQNY&>D~LJDwb8&DO_&K~h=^MR{R?lZrBgX6O^es<#2I*nw}{K3Op z|8)W(vC(%ts9uS1su_V058mgcoy1G8zRCxW&iUoNGnNJsf>k4%RRVB=KYV$Y*?P@0 zzxoVzG14M5lsgOP!az0hi_3{fW@2d!r1ZK@|%PQZbr@-pXdjZ9uNf0)h;WO zyNrr33Q0RV%3PL*Wr#w%iN<~r<@r|xje-n0!akJv8Xssu}T>RAV`;EIU*eHAMnSo ze3`2^t})-8Q-{j(?m4T~3QY~ssxk>rn<309W(EEy6vKrTj3T0_rj4SFiCDoxclZrsQjD^vKaIsnv?gUUr!`zTi zI%&tY>P@V2MDueuBRr^+$haGIH8z_Lnzx671YwO{UJP?5O<;_nG+EFfsv%j)D4Lb^ z(g-oE3hqHpshum53SqvXmP|uO${o4Sh$wE;0b^1>FOCiEOeoWFz6~W{UO({%YYIs~ j&Kas>rA!_IrBwbO{>m})b((oh00000NkvXXu0mjfCKY75 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_battery_box_top.png b/mods/technic/textures/technic_battery_box_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4953a32983318ca8075c5fe11ff4f8c9b1e6e28d GIT binary patch literal 2390 zcmV-c390spP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt| z76>IEjsK1S00`DeL_t(o!)=#Kt2WtH$A9axch&Pe=e<@^*JZ+Qgu!@zN4-MP2M(P&aU>duBO{0ki9{3~1dSrZ?kJ%(!L~0s=RN1SRPEbxP)8FX z3yOj&*n8Ki|82={{>JAbJAmMxXuZ-~hk%HVssf;*Ai@{}RYioy5{N)V=wkq2?x+Z& zx;+~~Yzq{O{5OtEdMBT$0?R2;&XrwpqwxC2s~%nx?*BP+PdLpoG%wd zoz@r1T1cwI2#7}Sui@s#$3OOA)>?5h+>GZA2O}LlQWe^0dS8{6PoH>c&IpBQZ;dEq-K;1Z>FSI_O50-TyYG?F;s}ZHsVx_hQrqqXp zwG@&BvU?ei2xfyY!5!Kdv~yuim1GIgLEb%~g)%2)4RBF32CY^i28U_pw4CX6Fj*#O z)F|XhX%cuqo@Ul{K_+LvpXsI0TgO$EG=Yes+L^PlOB0ri(P3C39j@ui%IV>r>zgN3 z8CWEyJW*@qcs|i;;mP$Cqj$e(QHX&s%T5hl=2C0F>JJgTMGH|M}iCKKH9{z^M3eN*^rIaD|bA*)uU3 zJ~{iVE9~Sb0V9OoA%+k!7<9Z2dNiVSLKRJ!-}(J7^48n$Vy1`+BJy}wOpUMn<2U&H zUw)NV3hs$)%G3uD15g^B0rVI=yM3Qt8y*DaLa32U5H)5uhJYccDQTYh;#dBGzx$VO zVyfKU-cm~8d+X-rhLjRt_^Yq+$shSBAAR*2&zTDyT?YeDHN?Obr4(?m)M5kW=x)4%yA%H@vbd`GP-Z4A^LaR=F`UPd6I z_!#hwx4#2oAWHOsB}dJWfWhFo>-V^QI0Bm!e!q%GOBNB{`QRB}fAd?ILm#oN<%0UQ zzDO|Tw0VfT^V(}aKQr88E!6+3AV9J~>7k=$iuk+h~ z_}4^ifZOeM-`x}_wGw0S^38!yeez?x^uiT~JQFGiO79&r2Q@5ZPysp`0mu7W7>%(U z>C2JCAj#J5-YQR?JmJ+BpXW2b@Z+>L5D}JTVOlBo$BTb1!hTegWt0>Rz?uiJputlw9r9b}v zCPKTcpbFXesgK<7^p{`fPyYVj`QTx}-T1_7FYv}EK16ck$u6^=7ktXp+Hgzs(m)h7 zqg@Iu9>F*g-g@Wqa7S;!9f7GJBj`Oa1fqkB68J<(!4gk0sA|T00k6thcP-U8T>|c3> z2&EyUDe=L#zeQPB)>4odEcYkY({WQj5j;C%bQm22^363o6C7Z7l~Hudgswza%oQ_3 zJ&`Rl1k!E~X862AQ{uE#_WK?8cX#YlX12s7Rit&&P^RpdCzNfzD7_I3mdnDZ1=B|w zCJ{nF5C}+lYqi@ZMxjAUJ46k|=%+KoohfH7#|OL?)D4>^c0D*fyCqzZZ~_o9y1*D6 zbzwIP21t=Dl0j#L6Ecv2z`s;rBZumAjmx7 z?)2U^!*OSXaXy_8U}v#KvQ4R!grH_X$533sOmKHv1TunYH_^u+r-T|DUU-4?@fnCR zrNm`9ks`>unPpk<`9N7Nw7MV!>1v|2d!h|A8xVMm!R_rGRWeB&F-P4{SrHu9BLl&w zgo}_;!W_IeXoILLrBtj3sL)EGw8pY7+kDBOwSrDFF**--w~T-}8@0WJi#o4-_=j26 zLhp@bITO86dSQP!pq_Do-d4`7vTGBn%IW@|Ku|TZC59000McNliru+z1U7EgVJkg3|y1AC^f( zK~#9!<$HOQRn@WnS9_n~PCee9=x(~3v1tYwq*WvWA_x&ANCb%!YJ8|c4Mu$=&U2zs zBO0P2j%Y;k;(!sA!4VV?P^JcKnr?=k>G9sa!#QW~dVe$y$;->iFQC7--mAOzTK7!* zocea{s@hex3CEcj3<80n0nlGv`S!5_U>rSW{`MUNBL1uMU(?a^-TimJ=U7P`ZvY4c zS1nXBtVR#KgTox*aVm^Sf0e!0L=Ipke>k30VKK%fp87s z=yS(|`R|mb|As|r?H>9glkqOYe6lq|Zg0(y^$dT65nx8}XbbU@%Z%5+;!1MFOh)V{`uf%^3m{wlQf*-7=y=V0oyp9ZRGHq_~1+Kry+ek?g}HS8)1qoU+GB>HReT=L4hPv9T|p?wguTtxqSp4ca=muP%)aIf2er zJK(z74@rhLS=#K8p%cne9E}npo`GomoIrFgV&cyoDe7~v-Gx=6w;vqE#RVHgY5{^eN?;3 zm~!;fT^BITe;I^-`iVLwS`Iem<2^Ppj(KyE-!FIc4M-SsWFsz{J%tXRa)=%f{jvD; za&e*g(x}S!a2b0zJD7u%lvJ=4fG7NrtRb`pJPlF|b~QY$;RyvIf+v!&+yrd51F>W~ zB$?QhmyajUI18(0pZBY_%uhZNSLb|!Ma44|-uw^bqCquqk8WE--_;c0Bmq*~ P0 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_brass_dust.png b/mods/technic/textures/technic_brass_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..f86167aeb19ab5827f38aa8f441084d03d4d2376 GIT binary patch literal 1297 zcmV+s1@8KZP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt? z2sbH0Hb_4J00faqL_t(o!|j%9Xp>hM$N%TNm%M$Gwn>v{7E{|uO{y{z-Lbx5}% zV@%4RDhw;TeHjd4I#C#I`zGsTj4?rROmVJ5Em|C#Y<8O(>x!K=Y1LlLNK7wjmgfF8 z@8#@6*ZaCkb=2Q5DaPMQnChfa=QDx;&;86s})a(40R@YYoimwb99prrqH1>%7N zP0UbZl$RMVyJ2WKFvcKQyin7_P_tn?x88!rdKtXzLHp@0VlYSmE;9f&(*q=M`DOb| z@V>S+>Cl(oXt@ZZLKz`sreK`OhJ4HqPI5vltAQ+0xE(ySTm+Gr1^|Q-RKD|)owaVV zEu6IoyI-}V;b8ptJARRq=B~|z&oJ55NSL07uBJh$2r62^3>BPMj{~E&@G2hHx|mRb!aS7$}t~CDceXt^i|6<{wdU?5aLxtT*vrHFc;gj80Cssm3yYGzgoZJt}f&-VwE zGkow^b*;tfd7&^BcvjDkqQtQZpdt(Xe2jQ2mch^!@YDo7KMGKBX6On4Kv!ZgTjwF2 zxQqVoF6ais(ptdjuwj``#f?D)CV`+km`9aMz|{c-9Y16U&*8Sy%6)Z@2zRvDth?WQ zy;;qMTRD@xVW_vA_b%RmWcUKg+>e1X*)g5ygJfS0L(8F%yg4IA$q7OQFf9u$KL)~; zz+_#7QyraH;1*#L37al3G7y?pWQo52+WzsqfB6)D+ggDQM}Ea{`+~|6*AwfQ87#tbJr5kxHU1);a!6Q1U zb>4}p-$!EFCv7JZ83KUK_AmIXxg0N^O#W$Y=nL;^`Ju)_@Y?z4il$we}!f0o|>=~nKBPb>Lr00000NkvXX Hu0mjfoXb=y literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_brass_ingot.png b/mods/technic/textures/technic_brass_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8b1535f33e8a853930780775839a93c01264c6 GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sChgD_*?nYB%k~10WC%}JriF*c7?kgZ;o@X7F_Nb6Mw<&;$U=yu3jG literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_bronze_dust.png b/mods/technic/textures/technic_bronze_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2401e63900f14d1b4beeca93d5ccd75f188479 GIT binary patch literal 1304 zcmV+z1?T#SP)ZMXb8qS6*00H9~*@~tZtRk3>-?Ch^HxajO2vWDUEY67lH%IC^$2 ze@-iEdw#i=KqQtyxoE@}M~7h0QzlsSr1#9ISJT+YKYjzYhgTZj-!y-_sup)E*#gSU zI#jsK2n@@ZGsA&GK_i=Wlz@GHW@`U%m;K!-RUT0F#k}$7RAuSV2%y0Dw>euV^)}36)HrbPe=vyd~VW zD~f&Z-hWz-51mQKd1m4{5*mwO;6@nXXa>>oFlsByV9--^9_&X-DWIX+3V$Ghm)Fh$ z04$vACXGG^Gw5lbO)wmzlq{f>m|PZm=KxNubD*U&iVYpUYrEfE$lT?&g_&#-E|DiX zj>7E{Vd6P>D+KTc4kylsaP}t&zFHd|YO91lkig>k6=-Xo2EC5p)P*qO6FDMS^rD@lnyWA#Ph&iu!`zupgdz&0SQghuWaQN%l4%tdlOB|SPy$rC%ykF4k8e)M z`2oi8^B)0h`z}WIZf)P|bl9I{nu?&LAeGKz){Hu&Wf@MF2eo%O;SepzrsGhuD(r$D zm;4e&B?X$s;PqG#iez9ga4;D;^baN>SoCP{3TX5>AS)`08nC3r!|Z}#%}^*^%^1Gq zo>|@CTm3-w3sNlmbW&E#O+E*zD+PA=_z-EH=|n1(flYKlPK<#-10@7%K?7q9zulO? zG^YuXcowHFhA}EBaEV5URvxOV;btg>nkoTTuEpW?l;Qet5`)1MiOcz`Mg#3kXA1s5 zwIQX%-n(nnn$fZNI;Wj)*>h+>_t?@JoH!psYm*D2jfX#wK=Vu|(u#_!LrD}08p=f@ zbUKP`wt#Rn1Kz;FS7*bPk1wI7Qh-5ESzgsh|KLQ{#Bhm{7Q*&YyIedRvLP}BLt+3$exgdg)f+n8>dL2b1o&^JN z(I3UmgI7`SwW8c^L~J7WO<-8w6_k`GqKRA&naX4F*&5qzYa2RztzB=o&s(vm%5(0} zi^41GX0Pm6Ub|{~jdfM`_N9w!D$B&iyTv-U(`coXkkZGcM2QmrX?_O)Ht!u;vg;)P O0000 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_chainsaw.png b/mods/technic/textures/technic_chainsaw.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ceee663138bcd4e07a3713f48a00944dd6df3d GIT binary patch literal 17656 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

4=I#JP;sI zUq^Fw9nF3}p=g|>C}VTE$R0eBxW&q;iV8m8wd>pur8ff%%5~{B&E`<8)&Z(uM$n;W zZXWr4`_txaAmph>Mv(1h* z6lK}c$4E^k$jVkZS<}Mxh261aWuaKCh^mIav7TU)mxlUU{DB}bvzde_V|S&KS2PB* z-ARqRhIilH$jy^)$0Qj-FwlDJ2L&$vf>1)PEEs<)nW;_!t$toxvkY%j1M?q#k``|x z6?;D>M-`~@`6%q&mv~z{zWN55YHRU$y@X>)3|T=mOXT(|B&%N`ptE($CYoDXxaa4lY@@?l|k#{d+HX^DmpDT~h3_BeN4mB#tha3Dwn6duR{mYup?@b)0dNCXua4 zh)JE6KoDdFRW{Req}Y!DJ4#hU25}>v!D| zb?T@~O8}r~*2dKIjNEV_fNbbAA3jJt6u=~!aHcvDVhQwE9ACHtQ4okGbgsO*7dgYO zBbtm8i$z(pW;uDeT`60#ltf1q_t*P~heDWD>tVkyJi2shenc2J>S9jQzXG%cT2C0! zuo0}-kN@E3#3Dib;V2#LA#9RFL0)&#vbzzCBnTT4xg$o>Wz+;jMWOt_e&#PMW7_mP zx#5qn#W}w9rbR9B^%=`j!3a%vF-VS<_6)T^{VozoHvK6Fg7W^I$P32!3NwaA9+d{<; zJiYjfSC+5h{)G#E+!2*6eU5M-az#;!an=+GAgd{u4S|>_qo=xXT|Jy#+uo;W`~(uQ zBspEPIeYpvZ@#sjl3Djskl&kxuG4(x7;RN<;>pDM*7ne_*-IBSUzR0%cFx>GJ!}+O zREvPcL1xheqLBpa*RE#w=erqDG=k#M#njbSp;~Orm_CzWqyxz;abf=+BN+|}NrdgU zJyJSx!^-EGQ8w?t_k>R^e2OlP^xSAmO;z{)Lkz8RcOm3&X4O-RxM^AmnoXhKpn?2t z&u*^l(}(;Xy$}R}kk3PX`B#QXFbN&u*!Y7gxr>TNbKOOf`tK5E8e^S-$pgKPRv zi%-0=_It_YC^%8?2~T@)p5aJMq3Q5Gs`qWD?z?gn%|=^O1IIu3D=~j73Czc9yk5s0 zdgeEm>#$8fwvpHGn)9!{ztvUW*5yRq0Ev^O)H3Y%HWD*ToQG||oV#=*$rKPVv zw~D(SU+}XAo1e7h+xC9N#Ny$sT)6n9RI7E4#iEf2cQmx=;^4VU%4&b-Z7to_jcqbF3XA|z;yzRY;xr_p7{m{VL{P+p$OSRn zU@#;`R5T{u5l|LmzzZ)HMI=L%4-tvT$3TQJ9bwY~9l&eoLii2AowOlglX>QbpIEzku>(pkx@kcX_5W9#8j22&ElkrPeT zy8QHfY8B9IL;PQlAice&sc$6PI+jjLO;JQ9n?>TFz|c5jD6z-kRRH`$VL*YcMH&hFhqr3OFe7IXTpxAXH#5GpOR$ z1ZDXO*N1I7V>XIFI31J+4IyJDHRIlaQ|oUfZrl~+*t(+cy9N^{22)ZRnh>3l1Q&YZ zbdOkE8#1X5I&nKJwjYg?G;P8`CqLiJu)WEP1RkkziMpwp^k|$4xW!=y)C2CI$MN?C ze7D9=-Oeam7I-=iuJ+52-?%@Sfg-O{I8~MMfI*&SQxkNetAYc+CTZu<}nX*l{E(zFAwer=-CBth7wJhfSg>Xsq@#nn)4~ z`k7g*6ZGi}Cr#pJmVjH~_%)NRVGCPAbpiB@*tj(CXo9xB9DZFevq+`B+{H**V%hNc z3|$5d$MTM$T!k(9LV2yx2(Oywd8IdQt&S#hMqQ;rMZhihogEhSm2O7HEJ_LudSeN) z!igqwWUN~TYU?v8^(yoyY+5@^I)`n_ybc0}12YF5Ll)tH%IOB z+jULsjGOY(Uu{^>y}5Mx)ktbhiC3$8=XgSW;T{iPUQV;P%1O|xai%9l!(9e(Q*!ZU zii|A@AciZrvfINz5^dz_B<+xo57|LG%2KQ>)E zyLeCRW3R3@ubAyQ{rSa2^Tv8l=1L?xFA}#n(rGfBvZ?Z`v|LKkH7dEU%!x~t^d>+` zo0HcwynS?pSw$Mfc?!{__0@%e?5^Kq_A~uS`=FS}vG`!xbc%JPM8BKKyJNhX=(Kj9BeYt2DMYY#R6 O0000j~ru!$w{C!>gD7 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

^ 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 N002ovPDHLkV1ln==d%C+ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_deployer_bottom.png b/mods/technic/textures/technic_deployer_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1a2c6c52d313b9f0c79bc63e939c32d87585ab GIT binary patch literal 38757 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_deployer_side2.png b/mods/technic/textures/technic_deployer_side2.png new file mode 100644 index 0000000000000000000000000000000000000000..c2855d0560b0d0d70e2acdf09eeb62854b09223d GIT binary patch literal 38195 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_deployer_top.png b/mods/technic/textures/technic_deployer_top.png new file mode 100644 index 0000000000000000000000000000000000000000..941d3339da4b69e0b7d75e38e5186789ca39e491 GIT binary patch literal 38904 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

ZY>(e7y>L#5V0Rhw_vh6i(&(x+f_ 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 KMNUMnLSTZmlniD7 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_diamond.png b/mods/technic/textures/technic_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..23e6126b15305b5c9bb26720f309724f53cbc497 GIT binary patch literal 693 zcmV;m0!safP)^g%F{hwC^)U{sR>yU)5$>9Ok zR$2;Cwqo+*G;;YooK7c<3ah=2FE9wueI#&000&Mih?zF!W%an8-EukoNOn0 zo`=^e!(Qe@io2TJH^37Mk^1 z^v1`K$uDDab`Dmv1WG9cx(KT*qeL)aX_>;PVW?m-lFRLF2Y;5h<5c_8?X}h6S3|?F zn?)=v6Sy5E5IH?&W@nK~r2w4)f`-uUp6B^UBvR873BUer#$1j|#YHjQI bx6kw)?!dxZ$$ZS|00000NkvXXu0mjf2W&f& literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_diamond_block.png b/mods/technic/textures/technic_diamond_block.png new file mode 100644 index 0000000000000000000000000000000000000000..347ed78351ea069508b94254893df237fb31c819 GIT binary patch literal 2865 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 P00000NkvXXu0mjfc+PiO literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_diamond_block_blue.png b/mods/technic/textures/technic_diamond_block_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..d89bd6e2e8f574172b05f73e5d1e0ee9e9ef1518 GIT binary patch literal 3011 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 b!i@h1sJ;$*1fsuU00000NkvXXu0mjf18BfF literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_diamond_block_red.png b/mods/technic/textures/technic_diamond_block_red.png new file mode 100644 index 0000000000000000000000000000000000000000..52fd8935222aae5f8a41d4d636017114bc5d8243 GIT binary patch literal 2927 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 AZU6uP literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_doped_silicon_wafer.png b/mods/technic/textures/technic_doped_silicon_wafer.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff06a6f49691c047028699355734df5a2e2ca3e GIT binary patch literal 867 zcmV-p1DyPcP)WFU8GbZ8()Nlj2>E@cM*00PHJL_t(I%Z-vtXkAql zhQGb{+2=lE2=!h{l8RM?P)$dQ)QUwMND)B?IuKDOP6|?qEv*iUGoMAM(20TKW1u49 z11HWZ)JH&2DpHK479UA%o12(>?m6e4z1MPZ6SUNUKP=W7EdKvz{mbw#?0e%+jz8Ju z;iF62e)#UI2UqiSBB78@ck3_T9>4Q#{sU%n*zwd^9@zeg2JQd1pf zMq)*yJ;8Wq+uZ5bZ+`9YJC}Iz(QE%9xcl&F8vNB+yi{AxvVlP=qf%j#8i=4OSl@u8 z#Z-6v`?ysv@Dp`X(-I}-6s$!>-Ms*I z+^z1MoJdH$1Cu~f2Q0BzL&|lu>Z1}z=Tapv0|sN##OwgD=P%@Ib#F+V#kmAy-AFAC zi6W#v!8pI+ph84gS`FkwDFJM2%k1Jxzak1?Ea)g0<2-5-a5a*&wGo&StDLngYHuJv z0oXG~y%a-PNF0hWY?ewyhZ#kY6RQC#6*|mN5qeoPE9>&XW5+IFZa;L6M9ceEa{oz| z^@(MlSX@S{0#h5q`6kvTgmN9M!=_`J)>@pKpS1w?o0qn8>gAbFLx1^;SY~J#fJ8tc z24cBR9A=|*LIG9Z+%(;M@ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_electric_furnace_bottom.png b/mods/technic/textures/technic_electric_furnace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d16ac4797be6c113721d1829ce62be95844d5aa7 GIT binary patch literal 2876 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_electric_furnace_front.png b/mods/technic/textures/technic_electric_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..dfee6630c780087ae57d194d4e9db6bad7dfe5ec GIT binary patch literal 2912 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 KMNUMnLSTZ}=Alyn literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_electric_furnace_front_active.png b/mods/technic/textures/technic_electric_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..038eec4cd2609ced3da9898d294833844f9132ee GIT binary patch literal 2912 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

3NNTKyi|?S{M67JJm|vs~r)Vus4r zWTlJH6&tHZohhnZaQWyF@pi#BP6&Jp$MK1i9mBAVv?beZ!tu!n$G~*DMEW7)!wyxW zsEZseYw9ec)gLoo%~3@SLBMP^!y1l9sVQ)OGcFyP&MMv>(#mbciq z%R7o4gUbjz^&?R3*r3fh@Opz-$|H*z4oC z0lPS+4jKmGfSa3FNC`-X>0-jL+u`Qjf>x);yXz(P2WQ8WS;-=)=yp5EqCxs0$_Q-V zp_nb0zuV#VI#~0Xx0@xW7Z-@SAX(p0Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01mML01mMMoQxmZ00007bV*G`2iyuC z0wf}IQaaTD01D+vL_t(o!zI?)j$GS8fZ>0yJrA{O?5b{e`?T$D`zQ&ZKm>^4irgY0 zaSsw#fW$=};k+P;q9kBD_OabV%~iW<&(m6q3%;lLj9>lgzjW0!IF3UUMU+KBUR7ji zj_f;J&mkVfc)m|vmE=W<>$r@kGgiwbLFjXJ^@2P-lI1x?UT}B!J?SZ-S6~W*sxFyM zr&zW{5cnMS3A2j}zI^_K@vr~(FFNvl2BRUS5IBy_)ANcvFYsNLC<-a^oY8p9crr$5 zjfrBt-Y^)BS#Q=DS}~u`=%pe(XY{>7_8n=KV>>o4E*Er4F`LamDO}fOw^`wMA=Yd% zWDv(xWyQti4IkeB4^>@JR|N(d14Wi)Or{gI+YP2^@&5gL-n@Rrw}%JrU*B@havmO@ z5yHT+9pZSv_04yD`SJzNb1BP;H+Oe5b%pD>JU=gyQjs6_m~Zaye`wl{s?6!ThO(;B zN^^C!V7uASb{*F@Hxy+_5Jm*PgHjTd;!pqNXEaTN?U>x$yrifbsv>8(T9Fk6FRpKh z1`ljZXxNs>_46{aB=4o3_I z5f~;x7~&Qs){EZarVShj;yimzY4^7!zC>^u6d zV=|r~m82{ylH(4Ipw|#bG4W`~XgDNIGemkka{FSzWISRt9JAT(d0IZ<2N7-8v080e zE!Vt%{{h>!@LUhy52)%EiQtf&=w#2&fBt6#zDL(~*p`Kq9rNjwyEm`#{D|HDK$0YM zQXw#?+n%B*FfSJKA5`C?lt#*)u2*QSkSMC6q-$F&(jp6#45;gxAc{aro|h}Gu5NgGUedHR)A5+y@xc7z0>gl&>6p!CNU5mmn$tN& z_8nza5``gQ81UWAHKWlO*KwIl#yFORAq2bq0U->2{p&2B~_c z(+R_Pfa)63^BKo6acqaCmn;@9_{CrSHQ)c_XB1@x7{sF?d0z11@(Ry$xR^~ipHHAQ zVGvLhHQ&B{BR!{#M(lowT0@#Y5;oXuFo#bb{(Tw34)4i*36&wnN)=ShmGte!+*2AMrhx z!{JC24KPrM@gTtSeRjJ&`~88?wdv}bJTHi&h~?7~Qy3Upk)zBf+qFz*6O@MM z^^R~b;KkHuz20D&g0Aan>WcYn#`%;m7z9|Rg=^cOHS6_?x~h47`-X?dXDlIz1~J3o zfTpR)^Ne@z-jbdZEFt**?Hd$=-F}Dl`X_(R_01(^QL>oLaa=)`7xZn%-$VnNwnk}< z=QvbVi*4Cx)zc%eguoD*$!Ls}lI?awi$+KTfdPi*csg-;xu9)3lvMOxh2^*i!{+(v z8EduLVD%aIKm94fY4ANCt$gqd`ZmM!LL5_2mkqPXr#E|KYmpZz!m(+pj<0EfAD9@b z$F<>HoS2O+c;4>t{eZeU6Zsx#e#Uk@WLq(q4cRAqEI)GClnwmxGrDgXjYgcRnmF`n z3yltIY*i42Hs78L9Kec(v_+0Ufaow?kKF-;Y0)ebg5iMma>K=Z#D2HOBxGHjIV30U z-`p{qk6Et|n2v>YF&R;(8LlTVMM$YE;$X}=*+QTP+Bgl%_H-xYuaAZOU3S7U|WK~b|})Eyl4=%$8xzsoKH1vUm=^8x~lMP zfg9R5hC$>wI7-kpXY!&%YKzTr#pB}_E+&_xWka6lXajWDA`Qj-V!?cIjiC&(bAm7h zu2g8H84kzPeNUC8^mWF3c8Mt4jL>(nqL93A=(B?7<&TWQfF#Q}mObY}5{E8v; zi5Z}JC`66SI~uQLI39A`@9}Mm|NX-gi>oVICGkv?KYo6|6PnX@LsnGi?gP44n5Jfa zF(DdXvP)7l2FdeBs-Rc=P9+6gx`6Q&b9ok0GYdBRa>bk-6ZIo>AkYr6qAweq(Av+Ayr)o9x z7jKwPE(wDeRpsQ#lD;lEB`1Uv(Mg{m_L(kjG3_Cy7m?;UR*_1+F84U5N!9jrox-ut zbe+Q1pmjsC*JNcy=t0rh7+FH#xJa|c76Z2XHEo{~g+8%A;Ni!ww6=kHOqj$mhM9A9 zIYmmr`FzIrU5@9J$o3Iwkzk4*$8tC&DMHoc`x4(0v~9)l_)Hx6TrWbh8Z4pk+=z$$ zj{Mw^78z0G;R%nl&>XXh%8(3#5slKcb&07wPFaerdoBhpmlqRsSFk;tux6t%`$L6i ztdZrBvT-m}OJa`bN=aP_K7L!GyNW}W;tGZ9g&dAM7UL;OXf~@O{_86SrsBtsUr~-v z+bqeens_=wiH@!;iN+Uf4jW|Mf$y_EtTCq-(;o(bL)R1(hXZZfAZ!b?r0r~4(a|-E zw(fD_5X%ZNJrmjXlzE1-hFFH8%L~@~Ghq~1xeB+b|kTaRQIg#HG&~w6DnXicv7fw_R%4B3py1GZ4)Q7g(QC z7Naq?<8w|^I=^QUOn7?wj1YjZS?->h4r87kcSP}s$A>-EcQ;owWy3CS84hDa-6OmJ zsSPa8re5#ZJf3kzG3KV@YqID1_7C>kNmfY0k^3Ll+-4o4RA8C6|T`=0*;0Nh}%tG1<} P00000NkvXXu0mjf1Qwl- literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_electric_furnace_top.png b/mods/technic/textures/technic_electric_furnace_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d3309ecf923c3f30cad31abd374e3cebf924ec40 GIT binary patch literal 2957 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 Ef_jfuH~;_u literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_flashlight.png b/mods/technic/textures/technic_flashlight.png new file mode 100644 index 0000000000000000000000000000000000000000..01afdbb2f8a1f7cd7c309828e9ba20f744a4888c GIT binary patch literal 1901 zcmV-z2a@=SP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt? z4j(Fl@5`M400!+zL_t(o!=;zqZxq)V#((db*|B%mHW=I327A}R2ox$cQPiSDs*)Q- z5}>4NX@mlS5=xMgqV~G?RsVrDxu7+I0D=@q8z@rfMOs1As!FPgh_BkQ@ka^Z&-KT8 zXLshjy_nr)v9V*4k&b3G=gfJY^S;mfF`}x>y;KzuDL)56Kp2JuK|nH@BnSck9LGUK z9$G(lkA>z-m%A7^KrWZV_kD~phzQnNthMFm()+ojOYeXM!5>MWw0J6;rRR1(|N7+b z^!N3VYHw%LrcI<$DSY3@bzMY+SS&V=MCJ2hr=Lflv^X<4#UC&Ig(F9gY9Tw#$d`BV z9K+z?pd2`GfR>gPthMFuf*>dpntPDNzyU;6A7VK?I?9<3FYwP#|E<;WYHS$b8R5%; z0d8Ht#`f*oW&i&Dw70iot;O>^RCS&emaGA-U^$b`^3lhC<@&8#`mGHcsIOl^At(SA zwU!$x_5vwGpe1$^J9P$&=t0l8d`d_F%9@T**49;`GR{@w5O-taI_ zq&r9^;&?HayzirG2^F6F_ER*swUH|X^!N8`3B2USN-I=G!J-6ImB1?FnMrQlyh&eo zH$y{17zE$<85Oy_!hGW#69N)FqOj3XgI6q6j0w6bc1qXJ^^+;!8aH>_+MC`7fU1(A?BSO-&7s zaap!v1g<5E6zVB0?C30DRHg%lSWF zq`SL^@k~a?Cnm^DPBAh%!qm((HV9bJ(139qys9c*c>a0$#i6%Zn@-~xgQ%h+EX5XL zttAX?SwN2SATkI3cZU-A*!Tp0I)9!^mp;;OLvj*d-W{Tzv8l5{#v zS67$%zAryJc#x)sdSZ@)EJYL6Dyp_z_bZdi)O41a*&NxN&rHroRT-JgaQcG}cwzHq z>Q=VuvgTGzt$$Kq{?U)MdCgk=<*$BCPyYaZ5MWhNYoq%DLrO`b6u&_bmg{^N1Xu;I zxUm>w3*%IWw2z?rk>bS9f+-MV!wU%s4?(NVT;+bVl^y+&%)Dm=$o)E(~J zob5QKC`b!p5G<|})qD_C!1FvdKJyHXjg7djBd6a#qa(w^SXII>BQq^c+0RfGoK?Rg3;aCyWT5b;vaQwtc zK0JRxLu(0wkYqB6=XreZx#wix>$`cPBSpNrIx1F060%^)EQOFNprE#B1rvcwL<9vD z!K&r%{rj9fcaGn_^R8wxlf;}D&CShtu1iZxi|l-L2iw2DjbtKTwuHNIijs=lUhMC% zfJHRQc2=Y~r5G`^wY0Ej_ihsLxV-b5ceTI2pS#x5(b2)x&p+4c>1j!&Q*8Y1cgn&v zi|0wHu!bp?4h69&U~FUoDOxF1rM|Y7mtTB|y?ggaLqh{L4Cw9cC7n+5>1Utm$A7y_ z&iBjvo26BZvSdIFpom1EQfy3&Dn=s`tt*@P;VavDb;k~=uC7K(q3Q@pZm3-Riz;+C?A z2)~MiMtX=s!l0%Y#>FTC!3gvZ3~_&Wn2F3J>(_OXYHNG=*X^+g%q3G9qGHPAR4EfF z{ZqOz7teL)wQTO!2CsBSq{JvBOKH8h#&H}3#dVxVHmcvu0_DxLtOKZQOf~YeJo?A? nn-Q4Ls5l;!n95wXP+RbSci`m@v&a~{00000NkvXXu0mjflhvhu literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_generator_front.png b/mods/technic/textures/technic_generator_front.png new file mode 100644 index 0000000000000000000000000000000000000000..2d64844f87cd18ff06ab508bad23ed43f7a87251 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf z|LZ5uXK;!Txfy)M;#0E+&$LB4pKRY(b@Ch*c-Pk?&1*dwbNP)P z{;Uxa%)YDCG}H8}c|+9v-Nk$3>aG8%2Za_zl}_;$el2$;c+-|!2WBOE#!PGd@5aQS zbCTiv@4t(8yxw(e;nk-<)PmAWO+5dzZSp&K=0?%yT`SkuFU?gA?=H39_Q2jj_DEm~ TkGUT(QL70(Y)*K0-AbW|YuPgfaiCR-o-U3d7N>hBTjw2i;Bk@Hoc1nub-+^Z zry`Dh0#8INL%Uq2e~>p*xa4~1?7FoIY6>roOP-q$BYE8Lj;x@f(ushpyYmGbI~Wv{ zc397Ppt@kUctX>syLUS|d_ujOR!#eDz{B8k`HDcN$4(`t)2B|}E0wLizxnoChKTjo zW%}LCX8SHSIjOVyy3zOFw#zSfT3ssUEi2bqs`5K)>n`T|LRWjQ)O2ttHN7pXX1ADs zUdNX!qk018^wX^!8v9&XjI;lkvuw35e_miwQ~rZ}$*Lz?UIm)@uKB)T-K1-G=2p(* zj{LVdWzO@N?uYJjGd3(OY52bVdOhd7dGS)MVfx39KNs(JlYDB?Cn(4t&0w(kzM5L} s_0qGe?)AM{ADroZviC@q{j?M7BUCS1NER0W1B-#d)78&qol`;+08QMo!~g&Q literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_generator_side.png b/mods/technic/textures/technic_generator_side.png new file mode 100644 index 0000000000000000000000000000000000000000..5cbcbef813174fed2121f7008e227eb3a3882440 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfOnCL~?K@AWqAME$#oM}0>~xoZ9dRnllO_akrv+JQ_VG1%)>rx(X?Q;U`FDbtefpfEOXdq(9e;lE%>Ks7 c4}G4os<7_8c|5RJ9q4ujPgg&ebxsLQ0J2bhkpKVy literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_generator_top.png b/mods/technic/textures/technic_generator_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f3db3d82e50b0916a5b7d5302f51466ea821c3 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfaiF66o-U3d8s~e10`ra|7cduEw6E-ShF3~zk4$uK--U_43X?pzgyN!9s(OBvGCL=N1GzNsa=@0yWup{vV; z9*#e<*Gm~AvL}9VdOnBY-uJUUiZgd!3tA;${5$MswLpCOMa`9gQCB@pnH7{+`V6Ny zeA=TR#rb!uuw`M@-uJuDRV|GFcJJN0ALSZ9MNZ5)qci>4oKNmqXV0A3Q#I96@Z)9G z-biCx-|6A96YcN1{Vym!r)d{>?L?pV)`*}>v8#6LE#k{vy5-x1ZTogUom$Vcqkh%0 b_dmtAGM!1Ye*Uo$=v4+!S3j3^P64%a1{*feJadebnrU_$bgajoe#yZ-j#rJ)7 z$2)vqQx+vkYmM?GWtlTOgBeGhbL2%%mSsd?NM025UB~I^InFtpHQYbE$6ALuH*Xf3w!26nLIT7zH#{&Fl=)S;OHe zr)_&yQHoNEd07AuLLh_yz&Xb-80Oir3N&G;aPxvpvo&cFlO!w5*wc4C&RYJ<^E_A< zR!K@xHwdAarUALQnZEC_GelvCA9(y9r4@LRu4{Sq@+ANgP({_Cw8B{jLNE*l5PU3W z`MBe2O%(d{-N1*3J)V^4AVg`;Lkht-O}x3i#mysMe)R>`Er>-jj6G2l5(WWgveadT z6cVj9&yF(GZhOr85ASfx!t>)3l0?#V2IVQzbd3bG_E?Z;CHUpn-&n;lS+-{C2h{I3 zH=G=AQ8V1#{*7^#zVF$r6Pm6gjzY?+V47y)B%v%ToVA33=J1#!Ltk^qOJ-{rrvWpL zFk9-nMl2wuBn(2N6i6YsxVRwOWSGe?JA)F^BMyE1D5h#Eq!1W0akSas`##E37;9;o nmT9uoP0PviV;=VhtXud8?}KOOJ+E^|00000NkvXXu0mjf%HDNr literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_geothermal_top.png b/mods/technic/textures/technic_geothermal_top.png new file mode 100644 index 0000000000000000000000000000000000000000..601ff15fd8164b8168548e98772bbe80d9c05857 GIT binary patch literal 828 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 LNkvXXu0mjf#r^%m literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_black.png b/mods/technic/textures/technic_gold_chest_front_black.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0fe5ef92cbe391090415627ee76867353ad670 GIT binary patch literal 2659 zcmV-p3Y_(cP){T20YV8#+1eRV;f&6%=Ws;4{@wnba~QmEj$pu`*68XE&c0{ewf9{ zG1PU9F$S$QLI{eYU_2hPSY~Xm`Gip$?NQQAJnlaHh)xnSo9B3*&l^ao2*VI-Eyh}u zlz5(p5CS0uIDvB(=Nwg4T^CeHsVK{Ws;ZGv0s?Dl-hcmnW?4ph{5hE|(O0?V{(}en z=8YUr%(=0B#PIBZbU9<53m*R9Cgag-w6v?+TA*=LZlma0X#!2G#I_-^jxHumY1RAA1gw&K(!*CXGYj41^aA;97o~BsgBcwxM zu(JckS6AfG52?!n`O)Lw;{IO5o!$)JQ^az?aQKpqowt$7rxi5#qQ*IBtRw1d(dqX2 z#lb#G8jK5QL>uQEo)Wa=gy*MM?A*AEQ~{wjND4qu)fR$H9={uMcQ@woBvh%R$5Fx;pOQ*rS)+R9DoDqwb|O-PiI5s6R^nZYVXFs9%9T)MNSJhawttAP8nU7!NfP9I zKBuk?H*eiyG|O=~jCD*iLs}S`#!=N4<0P-n4$$NXzfHg8^KAc=er#!X+N=-yOqUfB zfpZQiK}(4cAOwu(C6~h^Hrj&qjZK7u`FxIk{ra4ZV8P+57jz?wlL3wJDY7|HAkj+T zYl*5G^3swzkK4O9cy@3=q)UQiK#DQX~>j*uCRX%Zd zo6DD%%$pjW~csjreA+ zXoqd`N)UJM(Y*dwJn3i}@U=t=@U*0AEQ`#LF1}$Ve@u~&&?hIy?A?|${U4zHh?AoO zk_d2;qB2OYMdJ*A_xTMnHhFb%fs!6;{Y^HvHfidbi;D{;(;0!USvy>CCt2rr-n+y) zN7!1&7bUjISvEBySjV`6*<{Ku&rZ;BJz?M#O!l6TEizj1KT`Q2LWord$dG9J29xD~ zvOa*RrswzJF>@(85AQm|v{MvhnKl;O;xyft+LK8;; zySuwsYiXJWYc2A6_A8|bd>_yE5kgSc^)*W?L-ITi;Cn-QV@7Yz&{`va^!r;y^o(zTFLRN zd+dMnCFkV0Uq z6m1tINrDza;Cmhph~$#j!&BDQ`e;g|O&OmbQ8l17NCeh7{CGgv?lV3+B=iKvIvV2; zV$Q3fWOHkii@Ko0l9TTa(NYlllEye@X~T5Uu;Kd%Bap@zs>U!+Yv!q;NJl(7d_iaX zhbSG<4lQxuFvcN-qto9Z^x^s8A)a=4et_~5tOMr+bur=SbjaG)9ilL#6B@K^u+~vj zhN_V$DJY6&72jH|7LnIrEL4r9~qjR)0-_HfXh|;_u3OtmkC@PB-kXP{Oli%Rk!3nKagl$@AfXQUSUX-xY?eO>i ze#rlg@&EGfivJIu{N5$~#4%dTA?hKsETgJx`WtUCnNImtBUB|q#}s)%mSrmqXzg+G z-2uWizw!?-P7}s$8skljUDbP|Pl<5t&bjH9S5S$+jw!*aPq&*yV=kkRVz(Czm5*+)xy zvBxquND0#K;geyS8m%Q+X%Ik?By_j#@%qI+!Yabf9)qsWzx~%SgVunxj#~A+h_R*w z+n^K(3{qM0EMs0MWK~s^qRZBLm($Z1Bz{d*TOwcLDM6Ob38FSqdo;!(g<#P2u}*S+ z`jlSO5JVmNZOQ)gA$x0%R;X5Yw~l3A62%?z%2JyZqgq1Y+Ei7Atm>M1<@5EkL#)Y> zLLem=)g=f*x)Gd@OSZRn2%^?1a0-ZZK`XH2jYn_&21jRCbfcP9qzHV#>!Cf5K-L_+ zxFiZZtcBV*w1RmVP}enbG#(Lz9`UW;#=G?gNS7g8Nu7^a-+qfE@<_xLM`!13Z46lJ zhPbA{lNEugD9eh|!!L>D6zOt=EfA)pNT=-Fy3e2&(hEz@M@#nBHE!qknfHD|7u_TjjVD~bI-x(GZ=dQ Rt^5E0002ovPDHLkV1mdS6TScd literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_blue.png b/mods/technic/textures/technic_gold_chest_front_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..7efe651c71deb40ab9c9d7e54c274ba455415360 GIT binary patch literal 2666 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_cyan.png b/mods/technic/textures/technic_gold_chest_front_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..e33d76dffff4bc23770ee97ab1bb219535d7c4d9 GIT binary patch literal 2675 zcmV-(3XJuMP)krgb)-(!DKRFxyslc_=Hg#?NQQAJZ|6n0i7gfzR2-BpVyF55r!ewT8y-30q^miLTyXEZ*O^?sL`%E=S_?FeAc!$GAeKw4br=h|h}hn4b8)p~ zxme&-i??p=GI@E5vkfIJ^wv*URGQD+Z}aTYBh<$qfBcKl#x~vQKMjO&J)*twHs@z!fk+^^gZgbK>pyt?{a4^;#O~t?s?9ZIBdzpsFndn>=_o;EY%gj(U4j}}w&iVT5 zN1RP6jB_X{Fvb$MH`w0n@^Jr@P}OUW#jO_0RmMD*w339ZuqY)M#Fmbq;{YiHMI#w* z-Q@V_8)97%BttefH+XvV4B;A>q|1lQ<&P-xEA;X45qmc!P5--SKjQfC z2}uMvNl_W3*P?NTzx(VO8JoN~KSxQAL4T9YtxcM`=KTDe>1qZcz>HGEW<9qv-WF$>w7UkuvN2K5;u? znEp4@dW!g)zy3@2#g|``xrihRdGO!?zV8#qF;NuZ`#w@imWw5i9zDi6hadPaJogrKU*bwMF< zKv|YpV{ojS)$8|Zw_BuTg<6go4ZG;`OmOGJAMy6}Ho{oukN%c>H}9~xJf$jg8so9s z?lGCKXsQfjCB{i2ACv?spf-?K7H16z&5hf4nVz5EYy}eDoDtyVq%TH%PpUCr4L|c5Wk;M<7dlSs;bL zRw>#pNseMw^+^R!{MY}oL9gb_$%3{_)Tq&17wP^4EpK6plF z`+F!I(GD$f;4sD^grn2nA@t$t!2zCjcz%HL6RZR01a&dx@MO$j>lRTM(g_V(HdyN@ zDnr#sloS+2vyN}AR*T4MFc!+ZvRP?QvvU0Zsr`HR*=zCQexRx83bEi}M%I%O|P*yDuOl9`ECbYf=0%J(CD;a~Km-yg40)EZC={})DoW91Yt-fB z3fHEpDr8mHEGnO`9v@&$juZkZ!Kf}l5Ymm{Y*Mnly+aVS)`3$%tP5I!C2u@>qiYk|Le4bK?%fUPv!2 zIlEf1H`2JBKV;GS31Q@MIk`mq)h9o5=!nscyG$mRZ0_Eo*X^RUMk_@ShG?w`e1Glr zN&$kVSu2?kpp-&u4S==l9kQ+}s=A`8>Q~{$a5b57@#2{NaD%Ipub?T=nF|>|d&!qi z&q$Jl<#I)@*F#E)@B0Kn@aEvxTd}qFjpFfZ>L;bdIk#@@t3XqhB~?{ntz|Zwadvh_ h`uUf{0qkyX@V}sTG8z0T$3p-B002ovPDHLkV1hup{w4qb literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_dark_green.png b/mods/technic/textures/technic_gold_chest_front_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..3088bbf55a40785f8ca42b6558eebd396239c76d GIT binary patch literal 2672 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 X3tBTz8GPL100000NkvXXu0mjf3Gf8V literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_grey.png b/mods/technic/textures/technic_gold_chest_front_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..eae7e6971a950d7ae13bedd5fbb59c0f6dfd9317 GIT binary patch literal 2678 zcmV-+3W@cJP)q^Dny*%E!7YwmyW z0l$4C#}f-~?4B^ZcuKmOv&aPxeteV3_zErU`fn}JID#O?*nn6rvDRTME9EiUs2Z$H*ej= zG!>C&nXMY6=OLv)2!(NyxILh~^$w%UAwi%~+CxZ9Sv3sj0fz^DR)s^0lF2N^3LhaI z0)w4DWpaH@9{q&6ERa8c^gG-?h`7_8<9mu&E*TDAu(kIir1EJ64Zf&x4jSu-Hg?$P z^!WADBa}247tn|{&N)0KXvrzh&ac_KaTloqLT!)~fS{@^1lv4%H{|Yq%%ew-kivnd z8uHSSmxipgn0(5M^CL>@;~Y2u2hwY^v%Ss5iy^I`B#62MtvqSm%8A z-D55%6~;M~6c}TP+gt2zclh?`f>70KjK!@M%T>lam$Z_Etgt90*o-Y3evSjA5EPB1 zzjKST)9;COMUeE_+TP;X>2ri@Se6nYHBPL-yBWhy7nGE1pvsUi>G0&}7+*DHMM;t* z$i-qoT^nv59x|TiI2^`0W|<)^3{B&xYKw7_mlsdbYU{^n1)! z6%v7S4k=| z68Ku8>V~|uq|W2k{tccyeM+QDf}~IEIZj@TXh#A+jHqjebOl;NT3F&hvD0ycp28}h zxU&Z1%S}KRbP!*jPsrYKp36ZnjzF9+yW8l-;0qjyjF_ zcA;p8ZSqPGZ``A~`d2*ZXd3XfL<;bWiCIZ$j9ijvr`UkNt)h|(SF3) z$y1UDaFU`jNUufX41f2<4KlWQIU1p)$7XMv?VW9!x@I&QF`dl`e9h+Zk~_(O-+%8F z);Yq~0AG~YCTG>uh+u$m1@q~QA1=<&aXqE)6-*C4BU@&);(w&_Lxd3P4v-4mfp66s)MpadO{`u#mc|k04KK$u>h(Gz`KXlXi5`-p> z0`~X!vDVTw4c1!ZYwlM{5%@ly?<0huuItxTS__irc>r$(>5Uk@*+XlMl#=0aNS2r2 z8hV{J`oWz(*JF)o?~?>RcYpLQlgR`j2TVujIJqLV5qtfB={!d+R^0peGfFEt zeR+?gZ@)r4c<|w`R$0kj`VX`h|4cW?8BgZCvmc;rhHuA=rzy7%Z=%Z=L?UIw&yXg? zBgH2Jvm(%r{T^sLWi-0v-a&*dX4L5jQ|H_|7$C|K_Ud1lz4($Zhnr++hJ5(&As>JA z9-&CtI(QeULjpVH`(edkd!L4omX|a7;fPhS7No|4R01gkjkWk%0*?0HhxkF8wwH5! z_KM9xpUy^%Fc~MOXG~Iw6^d5S@bO3Q^6=q9WRfKKEIH^DOs|J*-?&e^w?&f<`Sr<5 z`n$KWPU2DGs|IigAc|t7jzFxhqV3lVPrqSj|0b=@7KxYf^mNQ%?=Dh#1hT}J1yTrX zm7?vEBuUUh2z<}O0g+sBH9Ti?vxlZc+LX!V2~`7HgG6AR!;kxf?H-ehV?s}0tfMgw zAr`zGO15{l8Px?FtT_Ar7%c^%FKLWpo;J*u4O_mCFal|ep=u0^v}TbSige7AEY>*kU@d-9a&-V{D@W7AXXEsQKx}3CAZt&}v24riBKWPNy713Eht7 z)cajD75^t%>&K`DdjIozUIMLK{C}}{^RlK3jPN z%@O=&Bh)2A#}s)%mSt-UXzg+K{ZoW%_)VX{I87M0X^dNAV6|FdMaHJ62wDRU#Su+0 zrZEm{9ZIeTk2jGPj?fcG=@2?5jyzsn&(X@#YIU*BF`mrWNHlMkz2;&eG>uivCfCq0 ztX3=ZVzEF68Li$P{a%mpvwvbMHmq`klpy^sJ{hK|(OQy~22nziBy{_Q_c>9;JKQmuPl#8^{;ZBPnCAdte4XBmq^A*-sQ6diU39nR06llV1NZHat| zrvzELAc)#X?a`Pun)@9e>m--wkLgAYL9{`yEjfBN- zx?#!Xc*Vg$vP<2LJ#7 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_magenta.png b/mods/technic/textures/technic_gold_chest_front_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..6daed3b4bc557279fb1a0c5ad1052c97191cdd48 GIT binary patch literal 2673 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_orange.png b/mods/technic/textures/technic_gold_chest_front_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..085c102890589e18fd4a7775756d0c88d120393d GIT binary patch literal 2667 zcmV-x3Y7JUP)`}_LmChbgDI@2x^nXEE{Ox1{j2_OWM8Zkim0}wxen(-@` zGe$_v0Er1nA!Tdlb3OZYc3r>j_V@HBB5H7Lt0oL1OdM9QxpZxIRJzZgkeZkRg`6k5CUTibzNhO zL2Hc=f}$vxOeQQ>89M`?FlwVcO1g>1-G@J=lf=vyIiBb97E&t0FvMDmu@)sIp64Ni zKu7^j;GD%dM^#mC3M!;jlx0Cx)krA;fi*QBfBZ4?EF(Ssip-Yi>s)jH!2|y2Mvf;I z+}Jr{boPvNHD{3v9{%Vilko*w+VyQM&^Ur1#@K*ZF0s~OEaW0$XQ$28c*%0Hz^NAR z-PvPuafY)EB`x&!&skKOuiPK<^2rm_=bwN6%Z<$)y3>CpNWY=38*bjdi)kt%&oWyz zNY6t`fe;GgByoF#_T~p%o{tCujnW=MYRal%G!MA7KV(%nv?!U(QmpV1(jhR|`7O3;#1o}XT`d*d!r1%%olDF8uLTL`vz{9(x5y_m<3A0veWPc`JFBQFhE zX)*bfSEmP**2g(;01l+rW_xRkvsWWpK}itx2wFo%ms6IRp=umL2x6V{!w*k5pHvv< zP*PxwC2nuBv(@GMgEK-^uQe98S}a!?^IXzO60*Xglwc5BI)07=q!1L1WVn5slj9e} zx*|x1Y;JAx{P-opH7rYskQyh};vK}W-2)}%TBtH4Ou9ThIK)>CSy7TC339PmP}hc= zw{9_>=Qte3I%b(6EeuWLsA`LGlGkU?(BufeO~2*y^x%|!Y-xAeYz+I%RuvL~a}Fs% zONkI51WXnsSEC~~+k%bFErf%`Vu8N6IA=3ha`^fs-N@o(KqGvLY(W%Av=aDQqUwgc zw4~1C_TCMiK6^%_OM+xb>^Y8JUDA#Oei%{L4(STChP1H6fnvMs2t9>WK5=)4t5;Vn zni`$u8JB98n>t5@+YE-AoSq!ND{QPI2{lDkGdEkTa*y+a1*QzL>6j4PN=XZ+^u1Rd8?hF-yR{|mBZMl1ezDnCRBvF-pF67Aezy82%>hA{Iq zv-tu~IXX!|nq}nal003pGu$K5hS%vf)!+g1w81utUVn>hKB5pQv(BFpw-bix|1qtn zh=2OWzjxn!`vaMaNTQI(k00avK5-lqMG?O5Bc)`ySn}k_Q=D`7flpP{AlB{aoI`6x zSypJJ`N>Znp|pNCp7T5>%QC8};>$0;B+UzAk@LwPe1!PxzxoR|oi9OX;wWHmZx3rN zP19hlMZTH+N+|;0$Mb!J5Y%=3hNZP3d7cOG&XC@k(c3e$)<`KCjYed739g~vZKEIF z8FD?=nD!n?;B)u=51C9R2r1u~ktBG-g0U7U1-|ct1O29GQ`aB_RaLGF3W)>CvcwvL zV@+1C->2Pfk(L!|IbvhjMPFuu`=9=d4{o**#xj5M&pf<+pT+eVRhiQmkG*z}$$Ujq zWf&_lP7?W`BuD|ZfxNOfYd~mj-F?9H@)Rdmq&8xA7%-jZ$i<3#pM61TCC9Jtaq#^& zsD}?f`Q<7r*-ihA_ToS21v%r%oDcQ_l+Ez%nDI2__N|-f@)eOt>G&Daqt)StvPe0_*qesXjN$^>+-z}J4kJ!3#pLTzfCLQtXqt^^~-orYH zM~SZ*z#)Jrijg`3v3`oSUo$%Xj_tjhw7Q!lUdFTIF&n#gk;)^GCB7_>LSU;DZI>iT zf)+yHdmavmYDT6^DO^LKAlk+302DAo=z&eK?4+-0SCTE9)p1@c~V;n*(cs-JA zZEtZ|7j#&0^5PIJ1)(o#jANcQ%$5zCzK<{hX^f$242!g8ks6A0%+te{basA>(h=>@ z5(f@r96~rc{ar#Io*y3KX@}p}&U5cr z5stKg&;uz!=$JV4xEjyV($Z>ovDPu3&gmoy@z$;0KmpFcY;p}IDUD6*!2iI`?R_~|NX0DhJBy9 zqt-nyVyr2_HYf!x3{qI~EMrk9WK~s^qRaM1m($aiBz{d*TOwcLDM6Ml2%JkJY-3ZPnB|AI21W{`pI0eMIpcPp1#-q1!gQK%+x=~FlQUpHW z_0XP2AZw0ZUJ(Tz)+#R8@twmf38^`T05N*WVHcu(z|x ZZvmOHIhqE{YRmut002ovPDHLkV1f+n`0M}x literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_front_pink.png b/mods/technic/textures/technic_gold_chest_front_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..eada4da8d91aac31705001674b5621930ce55a33 GIT binary patch literal 2672 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked.png b/mods/technic/textures/technic_gold_chest_locked.png new file mode 100644 index 0000000000000000000000000000000000000000..91a8b73321ceda10f2b43c93e682ebefca7efed1 GIT binary patch literal 2717 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 XJVCP$lGTw=00000NkvXXu0mjf5t|_6 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_black.png b/mods/technic/textures/technic_gold_chest_locked_black.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5a568715cb0567fd7e72e9f0e63d65619a0546 GIT binary patch literal 2720 zcmV;R3Sae!P)W6)Y7gdoc@hQlG#S;E?qPZ%}O9yzU=$MrkkqFIX>Pf|S3=T%6l z2*VI-Eyh}ulz5(p5CS0uIDvB(=Nv^*yu45$r6SKWilRhH2?(qydGpOT87B$zXCIT; z9DSK;Zol;w-`Gm=#DuN21Nz7N%x7aJso>77*BB07pru`8Yk|rU1Tn@2#Bz$Y4r3t| z5o>D=E(TMklL=1M*}b;G@WnCCR^-&tt3PB?X#UH6o#TfOQQ!aG_de+L)@Tj?o?w2T zvaEP*=Q^e;h&;>HtU`JoQVN7n7$=DvJsQh5IX~+Y1RAA1gw*6kMSmQyz1d}!IkdM@WajV8{CmFE7cWw<+@sdH3#J-q?!R?Tqm~MJ%WE`_EZkzkyUf^`OERCC))* z9Z_?YW~;*&`+F#9FfO1H4V-g$N>G<0o*Z4WzI7d`0zz$&WPqS3Ed(pveIw-hM$Fy2 zcaZ>|sz`H3nj4bbV$u=MkM_u|k8|Jv97wOh>dFeo&->JaoFHlw)VuW0M@$n#Q8|PV z#5(2k&mVF&EHKWYq`(+U+*oF9rNx82V?tFfYOGePF`XrhQ%Sv6BgrgE36^3@(@$}L z6oRahbXRvceD;)B7X-B~%PY$~d3J(u71LZIq{fLw@h-)%+6E=%qEKZ>SZncU?=ilr zNV1$-t%jUTCX}V&we4*N;}nO(SjSajm}iEnaulV-ILYbpKAIHaH|W%T9_<~`i7kz0 zgI>48)vQ1waLyqmXeki_gn;2B=c0eWazoHtUO_mROeW~Fvom_(l*gwhv?7a>0hRE{ zk_k~D(MsTJi7G47+%k6_I~!X(+TSPAIYF&U>^TmepVNp0ei%`f4(T$qhIwX*1I22~ z5qb)%eB#y`7tb%4R3$P^Q!dI?YC1)QZC2K|$+PsUi=Bg7sBum(HY+@zt?<#_gv2zN znl9tHYg>T#YAq%F&2DcCX*$!+-yfZ+`omc)}oU&T-LWZF8GxYOs}}-B}?S_sPVZ ztHy6qtH*Tb|H-HvA^zge|J2?8^m7syQHw(E-o1WXdP^Kcy@R z0Lrog0j8?R^OC{ff^K(-jrBFY{hjY%?f=Mgnx-U4LQxca^wCEoX+|VczV^{oQwo8y&Jd#~OnJ1kmnuXfzrmS&p3b>2+J^ z^F(m_z4y8KS_5G$X;QGUzJarj`=9Oe{`=qO z3K35*l?VT|@;{_)^FK0IFK+0!rR$$ffjJJeb$)VzfKX9Ifc*OAI2kU750 zkV0UKIoeLB*J=wl^gRy;L~_Q9{t-)^4(lr|R_k+yX9pA&SU|AQ20!i+HaD2hQ+C^9 zv`z7*djw+2Y5$aNw~HS(X!;3rZN2T@aaCnRlo8F7^ey229hPm)&1lCSv(z9ZNWYCwf~iWhmL$1B0JU0;*6QoLIN3v3McCY=+w%F>Up}K- z@3PcXi=G!T*5qI-lmdZ4DodIqOfrQm@|;|>SnahqIy#}|mlUNX@+F=UB=ZSD)Ie&F z%2=cjbXz{wNzRTQ(vB*Es7a?G*?ZDwbIDN;)gpK6n58*U+$1e5rCI!_mXNsyMNuG& zs$`aXeD>%G)}%-wkP?h)5d?Z1yy6 z{dbtOe@GB}T#g2aKfCw)4jr;|?QO0uE?C*PM!VHQYmHWlAPmu36ZrlDE|dZmKw^wR z2vAC)wFbc2#SB>%1w~m<6y-~}F${(yE=~{Wbe9<%eFjyAPFzU;rqM=u~^{P8wt)-MW=P1ip6EWm@PEizCYq`3*;_U2<`6r(e2e7fW a%zp#WLtNoA`m4VH0000T{fDvLzODglE0 z0r4)YEMf%NWgj4$AOiv!W;N+i`SlFc5->SlM>T=nLAZx%%=TW@?;Z}Hx} zc))kg`F-N|fA4o)mQFbz6g28JmY3UvVTf~%s;W>*;dvfPDV%czL4fc3WLbuD4getp zVHi>r1$mw$guoa>S(X@M&{`veAj>iag8|c7!uqmL7&XuyInA2KjXU39sTMPyq zACcG`eU)l%zxgI#+fMPsgzfc1dM5|WXJaO*;LfdA81$c`rCt231u91n#26b8%PH16 zjD=K0tgkn?>`$3aCOB1R_xdJ-=O;K@kyA&neV<98`K9|ZC-?88zVq#G|D@Ypr#bis zg85y_vf`DU8}IU6Dm^QRW$PZ*Py+wGnMEnVa%@@h zQyd_LAgd&uwH=P0JSNr!L9N5e>I#pZoFZJsG?xgeabhvN%Q39AKuNh6R2dT1nmpKl zh_5P=ET>khAt#dwWodZj+BN#)6o2J%v?1adVx^r^4c$6n%Jn#MX|Y zYTrWp5l4py)FQx1vce#}I+Zj0?MK@rta5g7fs!7}?N!#+*T}Mzva)1X6}Cu-A2`1I z+Acfs6RdND^)9~1u~o{fDiJ{!<1)s>5zkJJ&~Z7W<7EuD-Y1zP)Z>4l@I!XCCDX~2kMDj$ zSrh=2Wd#CERgvc<{r)AL&N7=D>wNQD-@@AekLNT^Ns@%3DERQh4@uIDNTht}?cYHB z=(m5%4aZXunm7vB+}y-kOI1}^YmqOqU#UeWyzGIhst`h;ltKtW@7Wnq9N}q&eNkj( zS$=Vb)*2}#yZZU!iu;M+b|!#Qu>+~D3(%Gt$$i;D}=q+oMn6K5TFKRw{R z_rAmF(^HCRpLceKyuAZ98&S?LFlEZlRu_?9;GX|G!>1qf(OHN2JVpHFPk-vx+9A=& zU$eWr%jD{a$z(?5Z*Xg;&GGROm<%UF1QnhrQBvX%RK}2Gma_geF5>S}8~rD*)<0u9 zosyawH+Q>SUS5)=DY;!ZEA}#S<1@eZ$6O3EWW8R;XUbMHV|dkLb^A7r_6pU!$LEJ< zbk=vVPU49iB@D(1j1%}_jP_&x`S2Y+I9cP#n!CG0W{X8>>y$>T?F?hZGf9K(NRLKkg7NZ8D#y z?6$^eo8nFP3B;7M-Wi=v2S04E$-Klm zjib+l{){*7e3kU#9*r@M&abTVU;Wjzs_}!Te?_|{=}#vRwU9|NrzlI>E4vIwBLu%r z2|}GCbWE0JBuRo?V6?~4;{${+@LaUF$1&N3?~wnMS+f2`JLN;hs`fA zW?j zHbYM*6TBdy-rk_yZu8FIFKBfQv(z9ZNWXzJiEQM^Q2SW2@X zWGx|c4T_>b7FEeC_xSX|Bdkf0LLem=)g%Z)nh~52a@N;32%`E6n?bBI>VYM#JX+mt z4o|LVMkVz~5%_@DLVF&8EIB;ABnmvNh0-{*f=M1w7A3Mj=;K8`@y_?~uKf_{5`@bs z(>~qxU22g>O)U5U7GYFF1a9mspOFE=AZ3VREwhh>dHv>9j&x zVa|Df##UG3Hhz;y>-z+;$JMZp_|x})?9d_0*WY4vdCBVLbz03PT5GgY1YwBQn!xuL zaG?~i01{&iLV!{Vtu+AFE_TSWC@9K;q9|X$jiEmna(Q+{yR$<7_*1AdbmBsKrx(m0 z|BQMZF`dq6wOU9i@qM2l2);P@B@MmAt(We2`7EWxIY(K(+=wC1bBdzCTFYoO;{5!a i`Ny9S2e7%m!v6s>!Cpy$MjE~V0000;gCmvU89`L7*6pM2VLfksQv2>KXP--@DJfs=R1YMv!d%0S7oZ=b-8o z@P6<6eBvj6@#i*8W?T$&YSjuWD=mT`z*$*6OgS8gl_whWBG)=MA0w9DS z2m8^MLVGZSy(WtoGxc5iYD-n}vg6n#` zE-4*?Aix-dHU>vZT-QYifsg{Mz*>W~mORg2ZRjASLzboFd4ZG?5Exx>_wHRLam?cR z$HXQ>T_uV;Z@tCWw-a13WxIPs@AQzxe8Myl+`D~^;ov1on&oK?P+ELHLK~k*&M?NJ z4J0C@+pTdqm@%79u}+n}>zfQ;o?=Z&MisUGeWtnMf9zK|efSXPJKz5H&pVwijo~lx z7xyWOl54v+&}B~O8piVy>AFZM5W+!QNmT1lTfIsDqKEG*9OWXUBFjs96Q7-}HuKb? zM83CHA5>FIZ z3#GAy^>ylv7M~v;;7ELO18I?)}Ih{@^3eB~h9R`yGi$xpDIMysuO<7v{PYk-g79jzsveIHPH07j zTD?Z6-C{h?kqE4{NC`?xga9F6IL)~19kE&ybXM087N*lF>f+*pPB7!i`5BGSV5Ltf zJkoed=u4C%@RYSWRfIY7VA`0f)g}Z+t?vXlP@>67Ak?lTERrG@nXKlM+Z}4 zU1z4-Ocs*=JSfpllhoNJ?A)U$(pN@i@svagaFrx44WpUn;^YAnyGfEHsH2l(wssxL z)@_s*a(r}1B?PP_%{9`kQd-U5f4oi18t45!j&xaRt+C!+CruNI(vV)2m^>zWWclu` zJ$9q#7;6ct9Xyd?%7l4YAp8#6rc6d-zBoNbMa77=n=;z^fOr~HjsAt)3lKsqJ3t16 z-EBtm|EAN1v8xzQrnru!7P;)*xXFkA@geVh<2_uVktX9b@6g@aVU}o2>CkMg5l?!g zV!^of$5g5j?Zs~x6(hu7|JBdz{ZAhg+mK2au)n{L=Xpd?L>Pv6o`;l@*>uJy_dlh` za{!8>1Od7%$+CjM;F5NGh0TpF-}vS?G3IynoFoZx9FylcAAR%@agq{>gs;5w2Z$g2 z*`M0cWClVJg+7~`n;2s#%MxP@@|E{H&N35T=RjGO2qADB2O$K#FU|?05LY>vS3y=3 z#g}U+rI1q6>-9*I6l*oDMh$iEdYh|(Lf1E`cs@7YxXo}lL`eB6j3mD2Au*hu95cM^ zGaQbvR&e{yn|yJ0#`()j>h(H76!G%B$5+4hHKJOJG|MnrV*vp)TP@ z2C5$m?!5axH?P$Y+Aw+ecih{(!}RKuJWD9G%T~R~KmHo>yn!PmK~y1)W0LVDw#c~k z#vTU6-rfx^o*(kX$#Z`A&VP~1ISUiA(e@cl66AEw&2N1`VI)WAw>WrkALriNU-|ib zk+HG(Cu-AQ(ex7r!wEMxeH;_xnE_X$1#jKl;K6aid4EX1-zSN4Ha9l0#&Z9&L*9S? zJDj~ZBcBa;cXz})yI|5W#iEZc5_Y#bh^&u&`LB##e8R`)Z5E3J@i)KtgutPBv8xT3(35{sbJnm9ES)vwc!zDs5N@4Qic%xpFz z(G_m)b-28|Bux@Bv+S(MP06&!V&|vyM=7#et>Q6btC2Fg>an(chgxfua?#`SqjTEb zJ&cvOBEu0HZ3Ws2ydXk(5&wMjE+3w*^ZeQ8bmSqO?k<(a8WlI@@cDqw#to$7;>!$A zrbr<$`2uC8R4bKb8hWma1wuLJW$%QQR*Q|b2J6)Y!;2&G5)2?%dV?3W3F@0H772UJ z3Cbk6vjcoF5Yc)c*Tq0Gjd3J*JOL#9--=&dugk!b^Z(~NyL?CSzn&F^<<8wct%_wZn?l$`#_@u@ zC}^$jF&3pQC2eDXt$=ZEetQwdi(_X-1NHqLES{y(S(px-3vi5@#9#R4P>(>$iA$ zcEGg_K~UeJ-SGIgUq9#eEy+qNKl^MrPguaV0P-u&CV4C?9d4U`Z2e_d}wEI2W zogX4?jIbF+GN9AlqY}DQ#1%)U7p$+gS!o2=GR2iSzLS$>IVVr<6Ui~sCJ2)vbVj-u zv$1oBb~B(EWLym9Y;_cN<4>42zmFfeT#W{Zzx?3G78S5^{cXmVm#l4Gr`c$rltMWU zeh{FP!uPx-TsRJ}1QM+^LV)8qD5aLpV3spvk>}(^PM#O9;6^hTj<`HOrqy0$aPk?H zDJr%By|X@xXTPEvh0JDin$0FsN<7cQ_x&#yeoaHKaqD$=yuO!GVy&epUQfi3Wf^&% qV~k-u9&>SV!QzuoiG0}XuJT(oLTIH!|NS=r0000F)c!_q?l$#ho!oNbK_4ROv{k>Ky6! z{eC|`@kf97`!-9bTnq~8wV0))HbD?zt);3e9LK?RT^z^3T8r=dc%Da=Wmszg5JC_H z0Yy=e=Q%hZEm`N(Qd;2v8{TC={7JqAi%HsPG+W16riZK># zAQd5NYjv*rQ>K#%)~T_3V}rqqQ>>}Tsi9WC&!kZNm;EZI4<6vW|DEsrq}yGiIruyL z`8~?A;W1sEK4ztXn zM9yF|#|RH0Edq@hA27JSCJW!8%roTP-X3pmh3vM+c&3G!q3Qv?+ z3ze~ija3@WHeVd<<4BFRK9#6rt;KZ&H96$T$u;X+H<6A{pfr*U5EP{We}%m_18#0a z?CtF#0bHjd%`IuJNpgcuhdevkCpR9}f(5W3-8!o)E1W*-QS)>Bu!Udi(7PNmO*BPi z5ke5Dlt+&qa4{&**5XKk)`qCQ%-Twm`}?N^PPyo@IF6al62_^d7RMx+!Eppjk)h$G zSU?IvR!KUmI~*T9B~k@`++lfTnI}hQ2wO4DB|<8!STyfa1gkA@q+B$r3<%;T5BDGA zITcBk6UQ-fGMP}8n%B0s>5o$^7Huq}L^IDcRb?qkgSL|M(*qPK!mHD+c|6=dp&c3O zjXK>hsd=YKD(qI3cMhsEG^PzC(=_F(TqRa1PS9dyeVaT>zr5I5hy#VSg0WuV*=&W6_a`K} z!Blq`&n5r9U!k2AnX^UMy-QhUFOAINDTx%|DoIfphEvVO$$iFlgEUQ1hbPBu?l@HK z+bA#O`0#)@1gs=0G}5h6S}%3{PY+Vl|wpi#&GjPl1V}>`X>r6KnSr=fD8!N zwiwR-lWqq_u3|Kv;5wFi5JJ#!`aoI$ZY^y0Jm*`P_W{HiN+cA?3?3lK7s7#Bh3Y%;4&h z!C;8Bg4=iA^zDqp%H(swjVmh6Y z>X=)*U9PUK$kLSDER+?w8M*eDZ~rlu!wgxg)$o|I*~}PT_gLAwL%qFBHSh7o;W?eP zU5u5uBF7OLZ3Ws2ydXk(5&wAj9v_{qa`f~Iy7GYT+75AZh1g9vIO@|~zln5Qe3|3P z3@HSrn4`>uS{yIZ&~sfZ5Xu=ZdM7Nk+pMoNS*^_(TpUtVU;x3w8@#AP(AZ!;PuXpa zQ6|Nm?&FIo=e=_}oeo}5r{N_WKYffbg20m~DHzWyt|t|q=OKhZ=}J>nn#sJxScRp} z!~Tr7?*1m}<$dZwim(=~EslaldmSY!o;-d`GlFm5>>=ejS(;*zl-ZEOlZx%_8;oB( z#;Xd7%3=&;g{G(^jud2BwZOMpy-w&>Xajkg^RuPjLHQNGxD0XC`$&~x151(_TrZ>+ zh4e1RIPD6hBukxDhW%?)tPy~<3ns{~9Kvu5hn%c1i%5?Ye^R^8qr>OaY9Xeop+GPk z4%rN2RvQj~8-0(Moc~j=I8_6k|Mk2C8vOs|FP233{OI_fX~&lSbOK=unIvQve;dSEu2VMW4{C{Xn- ze_(%wO|Pl6#Tbht7lX&EnrD{46-a3jDk2J9uCB)@$55-aFxJu^jA+D)FJF7<#ab$I z>yQnup{be8W~k|8g6k*L+UvC1ZQg(KGg^^mmTIH~>9z1k&{c_2k|fuN6yi9hx%37v z&h`-|BWP^W2|WJwmq+Z?3`;l*&5H=5b1)T-1HzX`p-Gd3N#-DnJSP`TR=Z73PR@wE zlA<((p2T$o$$Wwz){)Ak(u;2HG(C)!T%0_h6;}9RgLYlA|D?y}lBE_n3q=^qEX@g{ z25Dg^^@5O%1w~m<6y-~}(ewvHuFj8Xcb4g&d=6EH zN^C&y?2`G@pHquMrqda%RtqU5p6B8F{+9>8qM=u~^-3MD_EJi$wUp(ni5T)crzi@H pF^ondE-o&ZfBG4b4;yRC{5Qp;Tizev10eta002ovPDHLkV1oA}J@5bk literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_dark_green.png b/mods/technic/textures/technic_gold_chest_locked_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..084dae50f0b07df0752fd4dc95f0d6aefbba6767 GIT binary patch literal 2734 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_dark_grey.png b/mods/technic/textures/technic_gold_chest_locked_dark_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..629e33cec163b946e0f06262a553b3bb82d5d842 GIT binary patch literal 2722 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_green.png b/mods/technic/textures/technic_gold_chest_locked_green.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea18184939ae18864c5e29cb09989818e17606c GIT binary patch literal 2724 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 e16W^O;=chk$XykS_css#00003OPwc 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_red.png b/mods/technic/textures/technic_gold_chest_locked_red.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfe5d4e9f4bad3cdf29a08103ba7c74809beb73 GIT binary patch literal 2721 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 i%!BQBN_kz3NT4T zK~z}7wUyi zKPIs``YP4jdgBegxt-#P3ES&O^iB_%&&Etr!R?!`Fz7!=OS|~31u91n#26b8%PH16 zjD=K0tgkn?>`$3aCOB1R@7gAV=chPZkyA&neV<98`7if%PVe7Gz5Cto{tyTM=GCsP~nRb z=b*BVXlae5W}7b#4^YxzTtFonIOp(`pe~1ed2+?Z_C8VtgxVm<06|e&2v)iCTFCxp z%$+-TkN}>lNOMP;8MEyCd(?xRAZiiRJM=DwOcO&< zIfM|zI_2}v?{hvVFwUW*z!*#1SYds&$-RS9LRBt$tX8Wroh6J@NxfDh$t+3r9=o20tS>SiWjdOyrS>@?$m5&Z4 zBxZ@J=`fy4{{5iBs1}*pChFd%EVCCv=J2&d3h=a~s4T;&;r!$tW4B3~rs$)SW43k` zRr@B|k2pR$q!s~Ak`)H&)v27}uRq=789WP_J^#REwp&tJeg&!h>STI0_ zMC;oOXa7OB10zo}8c*<)qY-=T?cdGgV~X@+x#cC&%LeXYY)Ut^Xwsrdo>*KaZy3=mSjFe6Fe`$#OOC&vsf zFBlAlI48Jy>ouM|dBWNAOO}?F2;-RNXFb0Djc*V)+GKf-H3kO=pw({EXf#N&969UJ z?KIIBiQv}T?{VXm2Etgz_y3aHySJEJol@i}mGRhGYVi-hfTC!kgd~h>WJy9gy2O<^ zuU_B7qS@Qq=lt;@&rTlmgSUQ8A!p2O#6~AzI8Kq188_bffYM5i&R*r<-d)t~H^27d z**s@s{*N>!Kcf|-^ao>ZYz8Qs;M+b|!#Qu<*x=rA%Gt$$i;D}=q+oMn6K5TFKRe{T z_ul2n(vR<#_Gi9rpF}&)rx_ygAdxdJ=9E4FXt&n%uF z(Wpf{yBPDv^$MjWoz5DA{uQ1w01GD+g4`%}_TNX5lNENMtTJHy;IBA3Ij3HauvHxm zg5hw;R#amxjJWyE@9}@3`@i-p{QvPcKmAjd8=C%f0#OT@By);hvJ$w5(EH9}A=S7S)IoJxNpb=}NFr-PsBvZ&D&&frTwQiG>lPA>tlA^RkzQj|4WIiE? z8c6L?8H*HxPSeLa$@$5BT2Vz1EzxdB4!-QMwd|;e3IRCln58*UyhK`9O0!7FT0-U; z6h(n7s*+jm@!5kfu_i?dfs|lWlOPCbMsPmJSzq5Ei0UtB2C>el2bQ$*Xmz(aI=!M9 zmDD3e-~(O@?Rf;UN?tf}$)aitcUI`1dxCt}F+oT4bO)-oE6I6psU{>i7r d0c@_X@ZW7`RYh*8L{|U+002ovPDHLkV1mjXEbjmS literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_chest_locked_yellow.png b/mods/technic/textures/technic_gold_chest_locked_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..2856165d6dc92bc35010f6912447992684e7403a GIT binary patch literal 2728 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 UZJ{Wz>%07*qoM6N<$f}VcIi~s-t literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_gold_dust.png b/mods/technic/textures/technic_gold_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..e545bb6c0e09a247e0e590df13320ff490cdf5ed GIT binary patch literal 1285 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 Hu0mjfy@7E8 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_grinder_side.png b/mods/technic/textures/technic_grinder_side.png new file mode 100644 index 0000000000000000000000000000000000000000..af562f26abcc8e59f4ceade8f72a45daccee1105 GIT binary patch literal 692 zcmV;l0!#ggP)p zmFBNaSV+EWq($ZL;|y-A3Eb*|+j0nslXu5y?3x)-LRAF)53Q^eQ^gM}B+b}p*USoY z$h{V_*SYE{{{>4ejVi8nXEtF&DttaE%H(w|`KHLMwJaXuB6om|-eRX~6pMJ5TPG?_ z$h?h#na*aLdP-na61!FodtI+Mm3QJAY$^wSz0=YP$V!~fLz@Oyg`oJTY=3Iuk3Nm! zI#fYbg!zKTM)zz#n+jKZ}XWjePqU&$2i&e`R5QY0RD#|8nDSO!$F&f_oL>Ajp3KSxV4?E78a4R7(xcv3UWLhqB=DTM)+N2bw zQSOq4`UTA^QS$o+y+4_>e<;iIs%y}8P?Fg63zGMbrUahXcX`@1Q>59oTY9a=LA5NYVTWz|hDM{X-Ef|KG6fmFl~ zA}B;&G&4fEY-h=;CCTE3ZaG34I(zL5d7Z3~fC_=%*IiwTLGe7D@G%)d-+ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_iron_chest_front.png b/mods/technic/textures/technic_iron_chest_front.png new file mode 100644 index 0000000000000000000000000000000000000000..79d5b49eb7912f64954ce5ca92f4b61d2c943a35 GIT binary patch literal 2515 zcmV;^2`u)BP)S?vdJsP>y4S2bF{)OS20efJ;X9K=^exK*!HarcDT&jh|5^HC1%_TA-d`Ob5 z=7~UV@x{A__~(E6N1tuhJgiC@^@LuxORZMJdylmir4(9gwAKIwK|mOWAf*JrIR`*d6o-3+5Ex@H#vp`12!XYhw{PFFPPc5PKe5gY`Z?DO z-~5I_zl##kYQ)@3u2{UhP?(H2Z@%H-;Q_Z>5WAPvlcf5%_W)RH0qFJGEEX>;URH#) zknwoTCbFXK_N1<^@t# zTPSuDcRC%0g8}#V_XJv_v_=R)Q50lp#%OeeDGkPytk-J*gaGRt^Z7HY<%(v#MOl{U zzxnIGMJq{`Z^-i;QWP-B}yhi}u zd+JHTa5&)eYz7G0ttRy(;ra2AG)=MA9wzWr+|1Cj{Pmt|r$AA!sxjByr5y z`8g`kw38Qb-m?Pg1_H6*|x2pON8 zlIJ-}NjjY_^Z7Gc1@wDE!g|8(r$15mOT>Tv$G`cr^J})gMm>)C;fEiHk5m$4O2Q!EyYJo+#WBvg%AB%{EXzpKlplZmkxiPC zh@4-4^BVo(;+FX$#ZlnOlJoQPLl8OVei26dTmX;v4iMly2#``xs|6Ti_^&_y@fTqv zcYG2;uv)FyY*RK^%8Og{UyhqBngOnPLL-hCpNv_r*9ZAXDXG!y6oo2|@jCM0ZKW2(=-~S!M<1xN0`S9USyn1!Q)6)~1ZC))P>a$v} zNwcgDo%8x4#TOm05Y>2_(g+vIt{WHKR5(_P2V zynFkW@87>iHX4nJKv9k7=VxA@zG5)wv6wHpo=zDajSlz=ArQN4s3*xGFDimbuC6AW z93Rsk^sxx0H=j8f9Z{==SZk|b0`eV{jYb14gdq5WOt-T;I_)mrdGey%LEnnACNbe7BWPpF_q5=A)gNYe}{CCk-{EH8NVYK(K9 zq9`cKvQmXHc;}FSF$Ewi2*O&3bDlgeC`>_~7hGLUDT)H66mcBmy{Fx75{4l+pFd;E zk|@*+`+d?ZMJl=Lf>i)rTwGF?S*1eC^FXT zHQVi$s8(aM*`R}fB#xFk!E7O~xKXg1r(?RJZGj=`YMYPC49+Brv>WkhjY=^c1_UZ8Y9t5K)dZt=2Q0%en zt#+I9$rLXX-A;#AtHs5|1wsg#jmF_zv5#c8KVL+3q!1)gNNH_l)9dw`&1QqOmUgSf zcswT0^UB?fsbX|@b7?J`&4$a#6;exjohJQGi;Ii%9Y@-9pINUtFM+I!H??1>RE_gW5qOgdnLW9FK-vPiG(lj!%wg z)a(53kN<-TbX8!yC(r@TT1sO;sj4FaX_`@%7HNzj&;gxR>(B{*cDIUD&00Vdgg9FT zO{38OFSwfAAeE-otdqnslgWfAiHYMFx$BmBmeQ;#Y*}EfK`4pXwIpK%y&fMDQV4-mm4WqpU1qZxQcB`DMr%zR$HY62n9gnq z1BvtwN{2*XOj*hN?c3k{VQ@5LbaYI=H{fM42Rybc`TF&1N@Lh$IeDHj9*@CuAk|)K zPfyQy?+**xlkYFy{0dtZWLZI;WgH!iI6i(wquIh(%gxOc@$dio4_=0Ky5nzIt(Nrr zecJ6dT5G~EJT&7V2oCbv!}KLj_62s&ezR-F)q$sS!^L93)6)};R*RRLkGNukUYDA? z*=N%Kn^CVPj7B3moeoN=!vgj%-Z$KRBJLNn|G&SskLvx2xhM*(wYct{|D?yoSw}>-i-hN002ovPDHLkV1mbv&Km## literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_iron_chest_locked.png b/mods/technic/textures/technic_iron_chest_locked.png new file mode 100644 index 0000000000000000000000000000000000000000..6229487d87f2171fee4d53df02da4e9a3a1f46ab GIT binary patch literal 2603 zcmV+`3e@$9P)y>6FUt%h?BV+=|uwAN^?0q{Hz z-}lL~j6Z#9wHkSzQxpXNWm!^|c3VOW;KmY5$B&vrb z+Z{?NoO3wm@H`LC^Ki~#twlSwB6I7b&k_zv2G=9=ksf`^_5ldi8VX05HY? z(Cf8Xub)^yZSZS8`+Lf=s>IP~fFJl+`xTS-A5g#ihhP4t-|aD9d}g&;Vy)rq z?2N)1tPmtwj+9ji#s0>fPKV)Oz}?*)p4KR>5kipXIcbtI8XZxT1w~O3$1wmxfU%a< zYRTq#L$lGOEK2lu-+hNtiZtJmWf?_TGFvPdos7xKlCm^70OzpI(eL$$qKNbJbA)qf zrI1o$j6q6CUX)CyGhY4KDbw2-MOk9@u#`nXyVIf9>k-vkj7B45MUV==JTJ)eoafDk z$z*~x7Mw!>&N&+OI>X_B&$AgIXt$a)>UEY64P!t8WEGqH= zLI`}{r(Ulg;PE_-35RxDW z0GM1&Q9`nKcti+Ax6@*HG+>h?WTj-Y+;O*9GM~-q4+jV>u-4LQwUAPhrs(hTte<0)ghm)}a(c=SKm4Az zUw=jD353m%wSeAmNS0+NCFyj!tX503^62-5)WVS2<&QMnGvYu0@4$@my zNziOXSW}{uVzb%s{rBJh#Ej&gPeKSbn+@AtLX4rjoTL9@++^MKu+0;qAYeQm6UXtP zeWaAsYBj7ee4b8OFCTe&TH_GBe)F2U#hkl`C5?K6dZWSp{erh|-x9Uj2XkVt4N(-) zYPHxV2_l};ZU*RwRPp6Ef6wrEj4MjsfA|BZrzbo~Q>l84z8KhW%w4C^eNPKWJw%l$*lH{bjf7I?Uy^YQ(U=)x*) zr*jr}cWA9J4n9wBIXxaCgk-acnJ?yi@#YKu_`5%H|M41(L~XHG^()M`G)n97)dEKR^#no)$7Lg4M= zR#}$JXA3&*F3vi#ykxOh92l>p#5za2)uLXnvtF<9YBkc#kmozvy2)ZbV>ldA6gits z%=Oh30KV^IjUh=A(j>w2Jgjx-YIDbKm*AXZx81Q^E&0VS-m;kAlOzd+QdQK_nnACN zw1%sTPbja(;CO&_mL#dv^Leu&&2mmp$5`vg^ZWo^UKBWMkw8)8fJ8Q;2*2iIts~2F z@**e8a;~p$$@3hg6k!j@S|=xg#UW4GHOUkG+}b#=fh48wzTdY*TP>0)oqt#+G>$t_MOx}6TKR*TEaON6Mp z<7KXRv1I!)Ujz-L5Yz*o(wIu7<2Yu!-C~TP-D)u&kIAwOV+=)6R5rSQxip6DcFWb| z8mT3{PLqD8#pUJ2o+EAA%@&XM_ZU}I!a0Wngi>gwuofQIF~*oG4{V;FQCct@4(YVp zTwGqFlse>mr4%?vUKFT3G(rgKjXKApAvd=(kRHb;M?{SVzkl}w%F|VVaSl&=SYs%Q z0+gyUB9J60WoeK_k>hEPPOEjugfBc$dr~!P9)ag$O%<=BC;}(Ao=lNS(`q)Thar>6 zgrFW0h9PpFEwePCSyPxY$Cv`4Bx0YEilRW~dDV6wKYk=l)5EwG1Obgk15ayK@s`o? z5sgN8a7ZBpQdI)h?{%5YW=JUs!w{`CVHgqy0oGY=XLEc{BAtcOA`uitS+)7wufO`u z;AqHbbV9$^=V`qH9HuP!;?*n4qF|e5WLe61JO;;sR4=Xe__)M5cR1J!`F{5L&oO0A zn&xC_%F)q?2UeoXQX}8;Gt?_;Tkc>UgJG9pe zOn=IgmjL_1{$ihutAVFd!}WU2(jvY_~f?-!U5Y`9Gv)wHW$}d5i!6 N002ovPDHLkV1f+#4+8)I literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_iron_chest_side.png b/mods/technic/textures/technic_iron_chest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e12daa5ca14af9da672cb93c10163c88364603c0 GIT binary patch literal 2478 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_iron_dust.png b/mods/technic/textures/technic_iron_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..aaecd2bc8b0da30bdc7ccb964781c4716c92e0c9 GIT binary patch literal 1199 zcmV;g1W@~lP)Fa%8qpK-@dSEh*xn`)yFV}h|*pg>4O zT3ab7NhvfG3x5F{W8%Vv5l!3_FeFr+CN!kbkLgTj?(MxZckcVT5E>C8pwVd3XZhyj zoaa2}IVUeHV;Rf%Kcly|zjfWZ7Y%@Y`wsj&MF$5@190NR$&YsLeqZg}`Hnh#_`{0; z?d=_polpD~5=W1I{E2PbdkTdDt5>gPVPS#k>FFQhIDYHGh0m`(PA=_H1ABV<062d9 zvo{^b*%Jf-p63yUA*E6Y$8k2ST)FZ}TifeT{v!&UJUM8U%jILP>%Oa$5>XT(r6dRf zlv4PkW!LPr%_6A^X5&G zBmofld|nlc#T`P3(e>+Js$RZ4_V-3`>eQL-Ns`QJnx;(Cq|s;~r6iR~vADQM7>49> zIWn0Hwrx`=6a>%&d^b8e@=#+wkU)R`002Wn!&`3My7g5UhRQTeq3gd1W?2^V^YhrY zjqAGTx{hU8)M_=7BtZxvfTub--d0k|=l*O%#2*WHb#(&J*LUn&(=@lv&dw^&^MsU= zMx%ic0@E~6N}=mIFJ}pdoO$UcK?#iW}kIkmqw$(!omXCY!<^Xh@uF~vXD|TJw1(OSyZc4nwy&` zm&>@Wi|e{vyLJr#$8m_`m`0q|<4nlvFAeG)=>C8~~J3c%DbSUMG%YGMNnZdYyW`P8fy&NGZ`Y?e0i04CCps zv9ZHz*S_%c)vK3(Y;W&aQb6?f_Mc0oQticJkvqY7o=2@#!?tadQYfXCOsJG12m*p2 z03e^w%lk~Yb?eKywzjs{!Z3Wpw(X6RlaoeEOADn^iEK8D zWm)*XPbQN=N{R3LNGY*xo4dE6Uatd?PN$ien4qbt2~E>fk|ZLEqDTlaFg!eT@PTW1 z>C!jlD2hh*@9)|+Gc)r{OH0d+xw*MlSFKt#+GsSEq%D<7OP%??k6{?-x=xZLD5a=W zDvXbhV_6oaX%ffr7f}>_5Qbs%@bJ*V->>9DPw|l>JsdjJea~B0*Z$4`sf9S%WZT}kabk4^%G#5`RbLp07O|2gjVP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3JVYkAi@*Tr2qf}r%6OXR9M5s zmrZCLRTRg6=gz(JX5PF>UtW{&0x?EI0;Zzi$JT`)U8qG66kHXf%Whn_c9E4!U07WB z0Y!A7h)59?bfE|$2;GPw(Do&5Y^vD4qe9SB~+EhPMfdJY|4QcSe_~A(Mv*zu%dMV`1#une)@Xv`O)J?H7o?ESHj3}<>C%W zY6;^Q2z$mh{T5%5BN|^)90e?8UKi1O?svMiv3u*AW+TIehOiJYRw+=PjLA9)%|=eU zX*hmzUWaDjyFx&q0pmG%-KI7lQA`D&djJ+6Ni>WCvbLu>o3Ojnp_n?94tX1(jj?Wc z5!N5Gw6A4ctr%t&#t7GI)PJ=U6J=`7su3t12~ZW**S49SD`8zoS_Wf;Rucm8!vlEW z@kwrMXEb*`?PiDFR*|%b~_&q!18NL zdig?~X2Y|2{yOD}h}v3<`yQ?^R!Q(a$GScG!#E%+f(eA%CGRsG4#36LI#~uTGAM>p z*)enP1X<=Orh+jJ5fEeO)%0Jy-`x{>c0u*-nAQzN^MFdVgmsqjDXi0%z_xyVcW|`-ALl)O5{2Rq5s8_4oduJQW=f z0H9sum3-1-j z$9L{XsAd$sY`oww2ttmI4uI~lK0qA>CxVKO7C`qNxXrL6Ah@ZOTy?Z15Yr!m6WJ3h zik-3q!QeLCw+l=k0M;3@1a?kDh!Ii)t8Z^|?9>dMR(@~>OrLC8XX@xv$-mw$yj11K zH){jwXMhrPpWD6G!9Vd|yY&i7Pfrq9836-bwp|gyec8ZO_OD`C4e_}iY&R5~w9YBhtWEvlm`n(Ct54w*VAk%h`9<4}30@!@eCG4te|qNL^oOjx_rC P00000NkvXXu0mjf`;^}n literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_light.png b/mods/technic/textures/technic_light.png new file mode 100644 index 0000000000000000000000000000000000000000..334cb078a9a03b0d90342ac9418482494231ae71 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G^tAk28_ZrvZCAbW|YuPgf<7GV}`=5HlBUO*wK64!{5;QX|b^2DN4hJeJ(yb?V> z*ARs=V?9$nLj!{^MGJwd;yqm)LoEE0f7H89W@P^V|NMvf9z552_&Tog1i5eV-N7Sk z+Hl0-NQZ6!&m@u547G;I44P~Qt{ghEa1vvNrrzopr0Oz_*WB>pF literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_lv_cable.png b/mods/technic/textures/technic_lv_cable.png new file mode 100644 index 0000000000000000000000000000000000000000..87076c990b3c3a0e4f3b89837f4b74fdb57985cd GIT binary patch literal 381 zcmV-@0fPRCP)m#UKnsPaHQ*SKgg=2Yqpk>4%L7xu}s4U}o%LVz!TWnw|h48;F2BfFt(? zwgV+%-U4ei)~aU!0d&tquOr3_D8LEkpc2GGp?v2VfY#W!4sxG+Rh5ieD9{u1$P}W$ z2HGn#lc$8K$~F*K6Z$OM7!xiFD~nGgGFzQ1_cMGH(Vx#S#2E&a79?*Gv$noYsi5ZI zUkO~Ou?yjvU?{qr!)nm+h%JQ&%Z?|nD#K3fH~J=?K>AM?Yxf~SX7 ba$VsMzRrr(ryb*i00000NkvXXu0mjfLc5z~ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_lv_cable_wield.png b/mods/technic/textures/technic_lv_cable_wield.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ada0413a09f450f85dd383b5ff885e6d84580f GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_r*>Ak5hJ=ExtQAbW|YuPgfW6W&!la=mA>am|DQ?oE}9&8 zTg1AxN#)MLy?ok1)ma4o?=k<5)QEvfS bc~-jORREL8{p6WIXES)Z`njxgN@xNA(Qj?Z literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_machine_bottom.png b/mods/technic/textures/technic_machine_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..48a47b09edbb4a7693efa130cbccea336d9510ca GIT binary patch literal 572 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mineral_chromium.png b/mods/technic/textures/technic_mineral_chromium.png new file mode 100644 index 0000000000000000000000000000000000000000..c66f1c5406720e6aedfcc31a9802945db2ad282b GIT binary patch literal 887 zcmV--1Bm>IP)mQ*{)_Kfm_2UH{zfwxhIb>i`oHaG(SX#s}jAM&-qsi3ucxbP0ihf_s?3 zj07EMqCp87A0#SHV@!N8;X$KMMnecOfmlEgLVDR)*N(2-wp(x8Tkie&&{)N&-a2fg6SMj(0N?y@RsxKTWJElwQctERSMIQGPbO(DEfI~zu-cNN zpG?WHyE6!I{PdJ8SQ3CQCSDPjv%esAj_l&SQ=iMf`*#8FzBMUo$m)uedL7IGwn4{c0hGUU-hdHG|Zf4OS&n>^Lxf-=g>5nH01v3iCx=E*JUPX%hWu zS`7!&SwigFx0k~wKav2W+lNGPu}r@|L@=b1PN(qtdx@wauKk`R+#AEOA*2OpH7$a^ z0IpPeB_07D0iS+-Mt=L<9^~DH!1kb&8=Et9Z;>gEeb*+Tme_5*8aAbGqYc?&ETD6LUL%Y%9!L@^& zzj~Fn6rB0sZK2QIrY#h5`ZNjE$AV$-cheh=@duc+I737=swV&d N002ovPDHLkV1lH-nW_K) literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mineral_diamond.png b/mods/technic/textures/technic_mineral_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9150569a7378f0a2a6eaa4c6edba06cb3f809c GIT binary patch literal 904 zcmV;319$w1P)mwMya!zf*=;FwZa5p7hdRv zj;Tdq$SwrkmEeUSI1$m=fn`H9f}IE*t=)%CY1XW1(j{p=+MMJh%lUgzS7oy2=H-2P zpZDQ;Uh&%DH%VSeax+@nG&1=-maqskHREuDQ7My27f^lL)}C^H;T(H*JwU3EA*gB` z-_X(*?q^bK&wlc8`a=QDUdQoy9+XL+=jba5SM;}o*ud{^r&gCtjSNdi zBtrD{Hw3`+v7@pci@}2rF)=eE7Uq9Nj7_}2$>>v3n&y_T=Aj{;|L`MG%4I0zHvlM< zbEqyCnx@gNYAmI%Vk#aKLpB)s>ZG_qo<4R|mQJ50@mCy|b93xzad#NK5*{uKcvmgONM~(>bpc9{VR6TI--u4P53f%p9PR>l z3#~00>C_Uc+Roi~_T$q$nAI9yR}V^8cpKK*8rIqxKRz=m0S3Q6BdRt#TA&?KuQM6G zO-AP~h)OjNKqi}KYX6Yj`{n0COuqXzcB{dK)g;veQx%b|e9pmFd35J6B18wY>Ju75G(6}zi-hwzaGW@T| zp;tv)PcO=!iwPFvm$`5E0E2_~Gdnj=HoL;TyZ2DcU85mw_%w~xT$+OmbE0M#)XOIJ efCq1L3x5ONc0c{pc!*p80000(nzie&(yn#RbxZ_DZpIjBC)5j9h+m9>%pxM* zxKd|vGQm5=3ojIeg7Zc%R&Y+KZ0L~UhTZ0>+eq53`C6Lgq;1aWNtW~XVjBFy=k9%Z zA0B?sD_);CPI@uTKh@f&Kn-e*JLTHd%k19y7+Ir0MAhg! z+9v_NotzaOF9@fJUvA9PPy*q~6-HhT$K{}fv;BiwfXE-~tAlB^) z5A7IcCA9*;53>srU@S2rA|aKE-bK;4!_c+?6kpKCnz=@LxkRU~v$?TBC={kzlbm_- zpmfLMj3p2NbK}Qk^5ZykzA0Habw z^?K1Xjj*b*l)H_s_)$z*XDl%y{xr{xACvjTb1dIV;q}~K`!WNxavp%lAM>Te^AaFBIVr?bPak5ie~`+iMX%n)tFN8K)?vFED+(di2k2&%+lUEp(Q z-J+4pE}^Pn9(-VspytQktP=3{;OdHPqZXUR7>YCV#rN{3Zx-a%NEd#!6|F5yz%7`H zZI#xhLOx%juv#K@E6qncACdD{E+eMiK0%XHXWg_&rBWQ+e}L~Uoaf6Y4mD6V4!_($ z3ZDLuk(sjsppK2QRxaberCKQsV_YqaStd>f|_bu_O z0@Zs!*+9II7$du0TKdy-YF z{GZ0prq47&#uBz@@99O1j*gN{-C)nIVfOBQluJL)lUz*l@UGpIi+89?7eP%UU(BKF mF{-9Xtzy&UYhp`FnBM`(4?l3EYBj|G00001BCpEP)Yn#+0o+M39a!!`~y%-Hnn7_OC z<$d3W=Y>bSG5Hqrv-A9y;0lerY0?&L!ri@e`M|2z$mdF^0j)EqT)BLabx)3wE#--+ z8e0y&DgjQOm=qo_h_;)nH)e4A{g_sTQDY^k>%U_RBJ-hJ-`?skhMt4=zd=K1l>{B-Ut(Ori+R>lVPj-_8`vn-tYQ~6U(_sCWjCc6BDG; zH+XvOdNyo$h6|TwNX@2LvvwWj;$O6+i-4xFSj=G<2^`C!S+jBb-1PNE_y>;{HadMa Rlk@-p002ovPDHLkV1l46q=Nte literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mining_drill.png b/mods/technic/textures/technic_mining_drill.png new file mode 100644 index 0000000000000000000000000000000000000000..171888db61b65e29d58fae2fec87578c664a9060 GIT binary patch literal 2099 zcmV-32+a41P)WFU8GbZ8()Nlj2>E@cM*00);zL_t(o!?l-RY*W`A z$G_)XJN}nAA^1qjwi(XJ=PkfC7LlWsd2}%75K{;)MZ#U0YjQe^HU;QDd3;LRQ7t zyG@G zXL4}uJ4|Bt?x2v%o^UuES42^qUzHwcXlyz)-v4LY%zPXbCOzJ~dJRfm#=)-UWyop^+UhYrHM zX#)oRBgiBd;5~X0U7elC>C2!nhPe;7|l>QEmQ_P+ujCC znGu%;ZXqd#kbF3awb5CemKE5+pk|j)CM!%dnQT;5JE|OxzKAGhiV+~oA6wjQ?_@dM z-k!7P*qXH#!l?z+*sSOq96~bm5Q+O^utbA6B&%32OPI;$F|Q~v5`r`X{_a=@mE&#_ zLXQane`3WIIDGgpCMG7(V6(g>D}`sL9z3X-3x_c|HN_GtC7>LF@AbpF5W#af1$J3N z9soxO%#^~a;UE}Gku1?N6||N@ZFM-RekY0%wWtaJfZOG=DT;Ctls){Mffh}cFzh1*sMO6Sq6-Cjm zI0rtCAP5mc=&=&DF!8PX_rQ$hXghiYC5*v92=t7>N-5S+3Jb^K1A`Ic6%0FfaIlm! zqJmNYCQ4~`#Zmm9h@zNu)YM+iW|yA36^T{6_~lcu?%xlSB%!jV2KL5A=qoMgi_W9J z6zJM*0AHQNrC~EmJR%Aq8>;^bL;KPcj|iQ?s6VDEMbmxlEC=nf+k3gwt+Jw5%ejQ4&nm(BE3t*PYFpI#-Q`)`AmwxX$;!^_`z6{F*NIBGUP%Tc6KDaf+S zBuOHKkkAN^Y)a)#N^_v?QyHD`K zOJ9St%7$1p3Q8$bsT5IF6#)JiiA3IWyWOzc?bP9LKomvn+O><=?RJF2;r}hL%+%D> za$`SO47`{e>bgNNGLJJpwnqMO-Fk>a=9ERrBGFsB@zju)oOn)ilPt> zhv9HIzNsk6hN`NnZG}Q%TObhlfam!q_rNk9j|aoU!{B-T5T#U5Rkedq`o5|t2XeXG zFT7qa;_)~kgy6`LBe;G0HX9lmQjA99SyffHFvh;4)9EC}Scxpl3L)f+f*@SxRw@t< zhnFic5e|pbq9~59si;Vdjg1XgS63@@b8~yr>2zXYVL@*;o6+6fO%@jyNiY~Z&T(9q zUayD2U?@>ll@tmE4FFvv5_yw*n(I_776Z@o5Cq|-)9FkSLViLiO-)Qpw3|#OX0zEy zJRWC^F&GR6B1saHB#BT;U)SsP=WI6H%9miJc)ebl&*y(xC=||Z-n^NaOeP|VB9h4@ z%jfe7A>@04AiU=Fdg1f=J~@a!4Ic{~d!bO+rqyb(xVVUHHVa9Tm@LZ$Lde$zL3qvW zcEjiM{r_!PETSmF<#JW$^Z6S_qjATXGiMk8a`*0CWHOlyrSyy-2)}J^ZpO&S$Y=A; zV~nAzt7{+-2(SwmF0h`S9=3h^_645j_X2?1?f$Phn$;BWcswpbNR`j$LtkGX3xz^4 zyJ>Fa9hjhSt_r4I$(&vMhING@2Po>25&~9zNA!^eH5agpf0o(u;n- dKk}sU{{YJ+ZAd^pMgjl;002ovPDHLkV1his)8GIA literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mining_laser_mk1.png b/mods/technic/textures/technic_mining_laser_mk1.png new file mode 100644 index 0000000000000000000000000000000000000000..acde392c99cb0912a28ec667c05edfb4f8355085 GIT binary patch literal 358 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 W+|tLD&kmvh00009VaUQ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mithril_chest_side.png b/mods/technic/textures/technic_mithril_chest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..0763511c5785382299d349d35317af4f932beb09 GIT binary patch literal 2616 zcmV-83di+{P)e84Uibz40(us|hP?8k7X~aq0@T%$vobRxhl-qH zB!j$@7tBsn6X1do7v$x=|Noss@o)e7FJZsia7NRou6X)wkBV6DYk`*aT>1a)2W@bJKPyJOOeNQ(|S#xNQceD>?l>0~)& zS)!C8gg^*^D2j-ph!6tad!&@aaSVWz5&-W#08P_8jS)g%jKLU#5CS0t&N<$`eap5i z*?AUSs?RTi(|I_dPI3AAp?{|`K z=N{`k)1wy{D{w($n-VD%0fi6}0t^Oy4#$0NZf_APL8=HLC8ntnW=VJS9Pb)x6WEs< z1Rft0jfKd6r-vSEEc!QJ{g%oVR6-(E#jaLxd(F|aF|&&XV>|=_ArOLRJnEBV zUCz#a#QKPi7AWPZnt)IdyV_xI&Nw=L!Nt`FjB!{8QUts=jQTlA?{j*S1z%04NToCm zg)@7cZO_$u&wPG?49!!Kg%Ic#3B%C=_lpaxkLY!CIz_@}d5x_%c-MfC)K+nN@;&wT zmf$@?NPO^&20c2x374}UFkYdQLZ)d(wc8?nMV4haQ?&)73L2k0O+X3DWIW_@evS#6 ze!oY5FyX`HDaJU2-=l;8L0c25K*R%t(g*~JhAfSloqmsVfu^oW(-ghgY;Zm>nI7}u z@|+M9K6re+B{&O0AP|6KesPHn5uG9>iVH5!zX#Q>LL5h|9_~Z+78*5 zYpxoDh`NmXT>>TB?H0MXSy1jO7MG`Z5tF6~X%uixi4X#*G%C*UGNG;wiiYv9$HU@1 z#zCi3pyQnT+iQZ*2%7g=VP2RKp=RFP!U2% zq>c&R(v&OCXBTwzwq1eQe8#rg@%lLBXehb3IL8qqRgAX{iS}se38AfWM}`v#aTL+% zPuSdFBBO$XQI9xDdH2J6jBWEGcu&8RQ4~2+MTFov9BQT`&33nAHk+XfzosJ%fA~t! z>>fx%Ac`D92msO~FqtGQ*9Fc!{vHDO25asSMzC+n-(T~vs_-;; zYdJYNc>w@3WOv$ zgR?c>M`$g1^@|tWE=zXX9ZEE$odcR`jd6iL{QWU?Eyh>`0`E;5QbOUaBZ+e2e89tI&FZ@=hKH|N z8_8~cOIB`~K6}n`anFDL*NQ?e`OWb)#wqj{UwnZ|hy3~LhNEXwZthlW))lcnXL9ff zrY_mnn%R7gvmPHLQYwVhPrcsK(DVAmh?ALPy*Au0P8lBjk`OFax#Rlc6dwd3L|BpY z`qN+I>Ls$%=}^0bT8vmOA9(qE%4j^|c3E+Eb;9&ugp^QQi9;eBTOYduM#nT-0FrUW68qIJYw4QJ=)cvquz-1>mGbj;ZOQdrS zAtmSM=NRiyVNaSRj~Eq56(fYAb{ZcfX{;Ia3Ko~|2`DCmoKCmL#q1PMMA0e8l2$}Q zXix7go)j5%(K3)_3BfdcCIF*G$Gk2Ez%L^BLBQ zw)GICkwZ!F&bA*PPU5^E&r_aFC)_NqaKuax59oAkl4 zo*a_rIRp?wVM2@-DO%Xp5pQN#k)qQsO2-tLCP@;km)tLAC>0a%?Mn!OprSSg_4e(X zKOP(&FgZNtlcS8Yg&`0K-tgkZb871;s|Mk=j1Qj^5Lg$GQh^XiU$T6-!v@{H9Rdi* z(D3TjFW4JsnmyiZ>5X3Uk8c$(4X`8=OE*P{)=C+Tdf$6$MpOCCjp7$ z7^T!>T#F|OX%n>Vd8OKqjGyErgn%&y=NwJbJPFEbwc_sXj-uaZHUAFZ?9f}Q`EYef z_2V@~o-v(H84Ly}rJg46vGqtP@%~X#KQbaA#M6Ht+tN=HaL%z@F8T1`1G};!i#*eV aG5-(Ki?Hg;qy?}500002=ma)!UN@Nmn8 z%0*eFs_LmWdTP2oz})%Dz>J^5@ZA8u@C*0_=H2`T2JD%x?y8bfseQ|oawB=p313js zm_PyqNH8PfM121r>fitTZ?fO4xq0&R%7XDhg-bI;AOw#w25T+GS`?5Z3C^X|b&VhZ zC=_X$(lj+~+af^l9`8LN1dOpL1x>x@?qSJ#vt`=1WMvQQXc>)4e)z-h=@mJ<%@$(} zB7%sJBne59AR@#V(OTo213+sHK#UQ9rfFW^QA*LaEp6MPltL**2!T&O{lt2^W4rht z)^&@$uPxK>e}_-M=gwQsni0qI3!WYyAncjF|1GQ4iXa-~Ib)?LiULhw?-NiU!IKzI zIheA2dSLzZK$cp@hwr(&yT|)LnMVHU$3E6=$&Wnqzx|B)@A&6#mdqR>|%w{t_z8e!l3kVWD$|NYI(bgf+(`;AFPtOpgpN~FtbgPB~ zVpN=+%?UWPaYWyc+KAPE@A5!SP$@1+=nW@4-JheAlIduGOEdoZ%Qsrz@j_x`*vl!) z0&NmRBCS|NyYBq0MJLvFVCj$9ZdQnLpmbLOrD>Zz-yK!-235xaZP41{n?1Le-!QJE zC`tm3%hS(@%5Zswu^BOXcAG~&yy=mr2GA%JF?eDO&oosX*>0~Epi{IqC=`VgtO?Y0 z!?!O#Q&kmZua8m+K~T0tyB=9;84gOW&wil^28o^+T3n*Y%OOoL93Rh_j7J=dMrhk% z+!%{<4jp4xu82b$+hvJR@3;KsyN?VGW^8MCxSlf@R2U^7f=Rkb@XeO%>sxeEbn_mX zjwkhsqr(HTykNZxJlrmrO$Ovy0!m@6B}o#rh!8?Rh=@eW+~Az0iH57o1=Z+~;lUxB zec}EiagJ_dss6+{=$d1Bl6TCBD8JW z9YF{Ig+gNJGXHQy*&DE_;r8-`EbozJIc-ciKffTfH6jsXEXH-2ce8Ji82RDj5rg4~ zCRjGB3-aEGJkQzeVZOKo=@imhi+&+pmKxGD#glQq_{y-FQuYS4LGyHX!iS?NiE{)J z(8V*`JrV;F14WiGJUC?ED!zXCOxf#`rYWoCBb(&~hlf*~OW5vO>TXIq>5f9jfgrqn zGb7J)p0<(Zan58i#wCiqx125(gl60QDP6WoX(akrHT;M7BYM4(y*J!ncjYho75lp7 z^6Z$70!wR#2-rewK%;KREaqw$E_<&L|Hugs<+w1(Pi0`?ipilWF#6WjSA zZSj(Fe0t7wI^*D=EC2H58?(a+&Lz}d(}vEd_udV`iq;$U zjpy?Eo)}t`(I{mQgldpe76oVLOHdYx9zl58D!9GiV04IYJ?jmeE#?U7l?(0u312@E zLdJf-$42R-w%tD=BHZsIo7D}UK7Hcka?NfJ$^=9rT3g1WiV!uY^RJ+D@-l-M+1E9o zd3@RtniFPkjtCLzrX_|3r6SSSC_+~S-wyXz1e zNC<7jBoS>LR)m9Uz|GYHZF^X|rmb5v&mfwN57?}qkQgw!lTqJnuxW|X1`*BO@)1nR zpkGk*$L!X3L^1RSeI}zJ+s(3*-)9e@v?hiY37*jII9nXk#tw8LM!fgvrfF%KhWUI> z>jOsiWO@25qY7;tN*U^4iK5Azr5co6pMOIzOsaxjf56%4F_DC_SCXgZm8>F>7(I~; zo%FF<$n%u_Zi9%Ro4N}iM4>R%HDd zmy2KUQ8OI$sQNjN50@Po)&H~d#=J`M<7$c0rZXfj8_Z;UKy@(Td~u48svA8NSrRZB zV({Ja5i}txiX!99Y{Jd;1p&wGa7wR#z{#)wO^6-oM1(W}Yr5~n=nX1VLiU`}gmtePp|9P+`sZ@EwA}2SIBCN}=PH<-;9bY?mF~5~8Kyye^qM zd-@QScj>(fSYqP1Ddc4c>cJs}*;5ca*~+tHsa6W`kXO%hkm>yI(IUi=5SL zMO9T8V_pMz`LMMXtu-+|o7CrEUhZF>dGBAJy#x?KV7Xj!b#=vNyCY8`v+0=s0|571 UseL(XI{*Lx07*qoM6N<$g23Y9asU7T literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mithril_dust.png b/mods/technic/textures/technic_mithril_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..988e4492ff301186d1b36f6372a7d453a9fb42a8 GIT binary patch literal 1289 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_music_player_bottom.png b/mods/technic/textures/technic_music_player_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bd8fd552c2a437827de5a64016350a0019ab3ff6 GIT binary patch literal 744 zcmVP)c)I5Y%TSb}C8Pv8!;3QwO^58-WA@VZdM~Ki=tG=V7a)ot>GU?jGgt%RTPDe#7(A zGsfdFX7d?LYYE4-<*^+Lu4iLu8c@{*=8TJX4-b#HzxxK|$M>IjV)A4%!E82#rY#Ug zK9ek@S%}T1Mi~1rO$|vJ!}nc&8<!0y9$85whf%kMg;aAprl;^KJPqwPE7yl;1Fth)vo<0=uPIT6@IU@mpkb&je|;rXWQ(hoh(Z$~1@ zm|S9i+!9TT{jf#MW^oe24;(mDOR-qMwhfY&pez#>$}k-F$cvOoJ^w4%?vnp8<0;9k zaOFrv5t2{?O2A4P<=XBV?08zTez~4-7U%YcW?f;|Z_sWEsuZx8g(VX!7SpsD6pwl* zoVi|QxZMVv&Idk>;K$;Gl9!^4&~0nvWemqNIm!-AQ^L^aPz*zZ>zdL71NE*cTgLCA z%JF(0*nN%jxyRe3C(1R8q;#lBL)mh4MW-P=!U{r1I#5Vgk-V5P{rP((Iu{k^eZL*? z`nvn{1f>om4=LX$LQA29ux=1~{{w<$3;lk>StG*D(5w=;;*M$vDeF~WP)z;v+JYkSvVNCWVYaLs|SBS4dM6hfY>)5dhoE_FSy(66aKS1B%pn} z^%z_8K%K65aGY_A2>C4AhKn^X&R5$ZIn#raOq=jQss)E>xA;d!EB3TT92jn#>a|du zdcWO^+f5(dyDQ;&YlEw*2;H?d5w}FxIMD1wpX)USJ=GX(e}~iM$6;A7E{#SgPQKdc z#87J$N=izQpPw%%E-uEf=Z%PPi@t_(l$MsFyu2Jvr&D;)Rf(I;Ufi#?LhU8$v9C8E zCnpEFxw#@jLA%|Kii!$ct#{*W#VaBJog8)#GQ`16z?InqH8mc=WH^M0P!Q2b7_-qyEX+&`=BK9+84G|l;lSvVKQ|Q> zW?wiM!sPe_6r0C`V+f6o2-rXbM}`sb4`FQBFLC;;BU6NN+R=$gOh>1nvZjGdDhWeR zz)b2`PN%S9q=gwHGtWBa$yS{H!rZ(-C6*QuUzkU1eh%8=0+R6<(g{tNIWlvM@ww#1 z*%^tmPuCLAVsR)-nFXB0>GV@tT!d(|iFF*rZ5d}Bd(5gCI)p1zHFp<)eP;^*K=5$W{|8C5YnP-kRnYFB;kZfcNAx^ZDTS`|%HE`)5sV Suttjj0000^lOiET&UP@Y7ModgWM?qOlT~kX_QeM|USHnP6LsNs1ot>SFgG-o;OISln zOiF`f@c#gVAP0jGgAg;LAOn*iBeNjm|09fxfNo@E1Oo;rU}Rzjx|N-SlZ#t`fr*is znTds&m6e4BsInF)$G{@UDx_%W$R-?^$gWfnAuRebI{N?Mn?>~P2Vq{>3cn3&AJcQ&QpvM`RSXh`@*g^hbWGV+@ zWL#6ZJv3rd420(J(IotnU5dmADe#qlWla^hksL7#~v@N&VJ_8{j}|~q`^-0&B-fG zA74HavSh7T)m4KpuXdjl&8<;f7#(w5r>r`?^YH4*bvF`<_;s7Zby736&G#=9JQUQu zD}Ls){X%>-nJYfe|622(;kN1eaMnK@fBrKVpE>rQK`LJVM0UmFBR+MxF7wwI{%81T zQtQ?J>7S0>&gh@}S=9fi-BUPbzs2G|!#b#BKTtA0X6^kCZe~ksi&x$|SzfC@yHL&C ej^P{wbK`Lb?FuK8$ERg`)Gb4%n{2oLe-i+4E?mR_ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mv_battery_box_bottom.png b/mods/technic/textures/technic_mv_battery_box_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9b292d24d9c9b707a4b47de777b4763ad08233 GIT binary patch literal 2019 zcmV<92ORi`P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cK;IM_51r00(19L_t(o!*!QU%Ph%pg`bGXtm^LfevCfA#@1+~h5Q2y($)whfw9ql zHMT+4QcLR(*b-s}WEgqi`rf(k+g+6z5ne=f&q&4vwd(53$P*{dIVnH>#V?XfG7~Zp zRWcF;tTj}Xh(JW}IcdEg-$H~Vs*sQ*0)XH?QMLMS1|&d&2r-@GL;8B6WdvqMijd)` z7?=Qwh$5n>Dd|pMRuF**BAok5qKahT5iIM9hM{UiOuDX&eZ#Di5l9m<18be|Ndw4C zL zR>&x-ikKk?+6>8p$;=+@X_uA#cBAkC6@g6DjEF#0!3?CD5{SZWF{HOdOmS=N3uxNmIZgGuP5dh4-#7Mh$_}vaRQJjRk#`2JL7sq zLXB7(lIWCUtP>zz3UYK7b#=8QzNHWR&**O>c$@Jqht z&b=sA8bYx8w?8v+65gy%j1RhzfJtYiw1q0v~OSwv=W> zBr6wuPQsntuY^xBf))|Ud6ZCxORId)!s@|LIbfr`Ltjp@$5@5KjE zM3QYExI5d+OHG0qbL?1e*zC9u09u3-QLvGa83)vXSSuw{>Xd#c=F@5Apa1Pw%-gNlAHmpnNEq8*h)RQ&G_!`PG3Uh0;1HD*VUB@WE9OS< zAD?~B>3rtH^~yGO-hcRtS5Hs$-r2{bsjzPwPvyW>%0GM5 z8hu$25yqIfJ3dAcy0rtOK+Le-5VMkEReQLdSu2wfK~)*sc61%ir}YtTlK)%8vaZZI z@d*4*xNu~GHO1%rx?52m(nRElVI@F5Cv90C(aXmqMfl>~|L}(|zTnNbzr}a{`g{@dSAP{ylHrzU9^B!uyXOQGx&Z?>|;xQKj|HcDt4Mgdd`ogjYe$ zS|i-)r2g7|$TP=IZ@r3eFEu-e zWJka-?Ikw*PG1&que>-Xa||M)Hjg-3plC!8N6hvkDvf=hs$4&QUFvL^11~zOJ;TAMviEK4(SbBW%QU0QTFB{dzrQ8TQ+i z?RG=7E*Fu9#ZoRew(UW%drXTcLu>2G9cdr+ZAR3@)i?_(f*i7}+8z4J~Re!HRF>S`7OIM}kFt+72n*Y&9{%tK1= zYB_xz_r!sqjEIB%{h^?Rz=DshVp!|=9ApI6`=j`}nu(M*n-vlVTYZj)LW(N;UZW;j z^DJ5r=FCHsDp6IzuwQTZ9LLBFVhqHr((;_Rm(@2B!48ItD7!nEQR($|D@T(?h7cJj z4Uw{D_b5aX9GGK2+G2RzmGm&7C}XPm4_aUDc|h>+GMGau(;aJ#zAT97!#M7*&%xL> zeAK1G-Rm9!$K^FiPh!@l`i(;7zLOcuvD13ve*tr#O^<7`YHR=i002ovPDHLkV1kRI B;a~s& literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mv_battery_box_side0.png b/mods/technic/textures/technic_mv_battery_box_side0.png new file mode 100644 index 0000000000000000000000000000000000000000..39d898684254dffb929c31539b5c450a936009d8 GIT binary patch literal 2309 zcmV+g3HtVlP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cLr!NM$1c00@OiL_t(o!&R5dujEH{$3N#()vq7--g$XuJTo3=#xXKN#ck2`l}?%YTB z?@@IQi>huri&m>2zdBWQzON%+{My$YGjIo00L%;k0Yn7fyqh5+^|$u!?wDEqPy1d( zLF#8SLsjeZ?l@qj;O@kfh>!O7d3g5@(>Su)zsuh44k2}%u2w8BUm?awDFqQw4RwR1 z;BKvC+g$q`QzTEBG@D_iaJ+w);pB*$H=p9Y+qYTl?V8Sv$sCOa=OLEKV0Ix-fS&{C?aSGhze1aAduz} zn=0VC`GT=uBM7upb+b8UFvWz@QxWL6Lx>S+pu<5zAgGY$ksykSU}mIlhN=+V3@aIp zp(41`#sICGN(nc^%@GsE2&k5A}d{TX{ZyU5;I`l-jxU56N0?Cvs+ zBce@sS~1ZIN>$9{lSc%{NG)Ee&LX1IN;nboYOlI4H2YDdfYrbjUzw0caIci?CccEYT`3j z|Dpm)6>G*L?a=OC`5ts@G5{e&ChG|eH~({Z%ANi`yUWaS-t*+c8+2T*coL~B*j#PU z=3=QLJ5LktUb&6nIA#v``vzoG>alT00|zVC+*2z~I<4PZA&=A6O|^2<@difi!WK+Z z$#jbad7A3A=7OpqXw!Rb#reRdoHU;kyF^H-wn;%kJzVxeNE?S0qBKBBRhYIV$1q|_ zgx2GbI#jjwf5XOV`fi&v;H24%GG(k}d>nCkzc?ZkH$sTSu4+p33T5^#oabX#US#?B zF3Y_IVOQCipJ8=yfM}?4+bY*bTEH;h1`~HExiGF*HF)IA)6YE1lZ&UBpPQp8aPj6< zZohMcY9NR<45(tN%y+Ic9y#SCFyGzb-SRFerFv>B)neT@DBPldqYps!`519CLP~`5 z*XV$Lf5mLEQQf2< zXLF10UNeF_HcbF5{`eZt?7*Kt`%&IIJm$@#hrCr50OXvBrIgx#b3Xr}U1t4?C!W8C z?LEg=fA%hS4<4Xii)?bCI}|g_94p>3WTmBs1k;3vfSdFD#l&aN6&CS;C;#E|{NR;W z`IrBGk8yPh?!ujNI~oN&|y7q)QMaRC>*q3uenD zF~%A)w<>5@X)kj&I_PecX<~hHOzJw^oERhE=q$9G6G|?))wXI&2b4Tv?t~N?=!Dhj zDbp}8_I+i!IW7%!O_Mjuw*g^@5jSU8udCi$3ptxPB0z{?8*J39o+PG3E)&Hv#WH3E zZv#s)V_2^#C2x1`W>rC3%BjUewe8kYk(x1$La_<+Ldg?j-*0n9oeNaiyL6eqd+r~3 z?1@V(cNR=z=IGW5{ptZ46t@<&tyC*E!}5gXjI>-itb06kU*7SRDc*G=uoF}^3tkO>taqk>&zWy5P<6|@gy2XNV=qWi9Vj>R%s)7}z*HgF)oI;e2#jrNa(80a)nPOQ`je9yJQ2JMO+kf# zYy(ThfIAu@WtytWRZ?T6Fs#=VjE#1>8ARKLOQ}FDO`yhMsQ3s0E2R!R?Z5r$DPqmU z%!o18XfGk)rEIxevz`%CBy}CC0V`Hp(1ajQW6cQDv>mrMqGF}so3XtVXrq2iiBd|% fjXUPfG>!ZT6%{supuX=700000NkvXXu0mjfiZxgi literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mv_battery_box_top.png b/mods/technic/textures/technic_mv_battery_box_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f1ea92dbf67e2e2124469d6b344f2f04475b2e GIT binary patch literal 2390 zcmV-c390spP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cMHVkyVcX00`DeL_t(o!)=#Kt2WtH$A9axch&Pe=e<@^*JZ+Qgu!@zN4-MP2M(P&aU>duBO{0ki9{3~1dSrZ?kJ%(!L~0s=RN1SRPEbxP)8FX z3yOj&*n8Ki|82={{>JAbJAmMxXuZ-~hk%HVssf;*Ai@{}RYioy5{N)V=wkq2?x+Z& zx;+~~Yzq{O{5OtEdMBT$0?R2;&XrwpqwxC2s~%nx?*BP+PdLpoG%wd zoz@r1T1cwI2#7}Sui@s#$3OOA)>?5h+>GZA2O}LlQWe^0dS8{6PoH>c&IpBQZ;dEq-K;1Z>FSI_O50-TyYG?F;s}ZHsVx_hQrqqXp zwG@&BvU?ei2xfyY!5!Kdv~yuim1GIgLEb%~g)%2)4RBF32CY^i28U_pw4CX6Fj*#O z)F|XhX%cuqo@Ul{K_+LvpXsI0TgO$EG=Yes+L^PlOB0ri(P3C39j@ui%IV>r>zgN3 z8CWEyJW*@qcs|i;;mP$Cqj$e(QHX&s%T5hl=2C0F>JJgTMGH|M}iCKKH9{z^M3eN*^rIaD|bA*)uU3 zJ~{iVE9~Sb0V9OoA%+k!7<9Z2dNiVSLKRJ!-}(J7^48n$Vy1`+BJy}wOpUMn<2U&H zUw)NV3hs$)%G3uD15g^B0rVI=yM3Qt8y*DaLa32U5H)5uhJYccDQTYh;#dBGzx$VO zVyfKU-cm~8d+X-rhLjRt_^Yq+$shSBAAR*2&zTDyT?YeDHN?Obr4(?m)M5kW=x)4%yA%H@vbd`GP-Z4A^LaR=F`UPd6I z_!#hwx4#2oAWHOsB}dJWfWhFo>-V^QI0Bm!e!q%GOBNB{`QRB}fAd?ILm#oN<%0UQ zzDO|Tw0VfT^V(}aKQr88E!6+3AV9J~>7k=$iuk+h~ z_}4^ifZOeM-`x}_wGw0S^38!yeez?x^uiT~JQFGiO79&r2Q@5ZPysp`0mu7W7>%(U z>C2JCAj#J5-YQR?JmJ+BpXW2b@Z+>L5D}JTVOlBo$BTb1!hTegWt0>Rz?uiJputlw9r9b}v zCPKTcpbFXesgK<7^p{`fPyYVj`QTx}-T1_7FYv}EK16ck$u6^=7ktXp+Hgzs(m)h7 zqg@Iu9>F*g-g@Wqa7S;!9f7GJBj`Oa1fqkB68J<(!4gk0sA|T00k6thcP-U8T>|c3> z2&EyUDe=L#zeQPB)>4odEcYkY({WQj5j;C%bQm22^363o6C7Z7l~Hudgswza%oQ_3 zJ&`Rl1k!E~X862AQ{uE#_WK?8cX#YlX12s7Rit&&P^RpdCzNfzD7_I3mdnDZ1=B|w zCJ{nF5C}+lYqi@ZMxjAUJ46k|=%+KoohfH7#|OL?)D4>^c0D*fyCqzZZ~_o9y1*D6 zbzwIP21t=Dl0j#L6Ecv2z`s;rBZumAjmx7 z?)2U^!*OSXaXy_8U}v#KvQ4R!grH_X$533sOmKHv1TunYH_^u+r-T|DUU-4?@fnCR zrNm`9ks`>unPpk<`9N7Nw7MV!>1v|2d!h|A8xVMm!R_rGRWeB&F-P4{SrHu9BLl&w zgo}_;!W_IeXoILLrBtj3sL)EGw8pY7+kDBOwSrDFF**--w~T-}8@0WJi#o4-_=j26 zLhp@bITO86dSQP!pq_Do-d4`7vTGBn%IW@|Ku|TZC590>dQ?vaU6QC&yo-U3d5r^MS zu`W7lz{4yq6aVn(KXKEEO-tUGoYdHQ=j5bm0`?cKKTl>B;+Sa0py`cMA)!qN1O-s>L+ zJ~lpPKF;39FC%YZS5Wf+BJh;iX7lOz&Dww8G0$F;KYzoSjbUDTQNZA1@O1TaS?83{ F1OU@NuTua3 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mv_cable_wield.png b/mods/technic/textures/technic_mv_cable_wield.png new file mode 100644 index 0000000000000000000000000000000000000000..aca9fd45afbb97f1028dfe97d278db7de734b73d GIT binary patch literal 2996 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 B;l2O> literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_mv_solar_panel_side.png b/mods/technic/textures/technic_mv_solar_panel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d3d81e462c2f4dfca86ec7563893195bca47b GIT binary patch literal 1772 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

^ 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 N002ovPDHLkV1il%=r8~P literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_bottom.png b/mods/technic/textures/technic_nodebreaker_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1a2c6c52d313b9f0c79bc63e939c32d87585ab GIT binary patch literal 38757 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%0D^FWMt+tizlpe^ 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_front_off.png b/mods/technic/textures/technic_nodebreaker_front_off.png new file mode 100644 index 0000000000000000000000000000000000000000..5a25b4cc8504ac70c03554d9e12de3f37c5adcda GIT binary patch literal 37094 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%0D+PAZ=`y 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

ZY>(e7y>L#5V0Rhw_vh6i(&(x+f_ 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 KMNUMnLSTZmlniD7 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_top_off.png b/mods/technic/textures/technic_nodebreaker_top_off.png new file mode 100644 index 0000000000000000000000000000000000000000..1f9b36149f49d40b36d24369462c429647c843a9 GIT binary patch literal 42025 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

+jP(c!L^&&1y+Be@2p~ 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 A00000 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_top_on.png b/mods/technic/textures/technic_nodebreaker_top_on.png new file mode 100644 index 0000000000000000000000000000000000000000..d02ed100717bb92aa7910c5b637d11a5e58c9a6b GIT binary patch literal 42103 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter1.png b/mods/technic/textures/technic_power_meter1.png new file mode 100644 index 0000000000000000000000000000000000000000..0542c7b47abe427be138f8f73c362b42699c1479 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=Dj$L71`c&5=JqLG}_)Usv`!+>GJ|3bR?8{eVLKo-U3d5r^Mi z+Q{pq$iQ;JxXbX^Im;gA7cH|a8kr+3+RBbuFfCPVn9uN$S-zA_Yj*YD*mV{S9U$=H zyxZEwyFa%CuKwzJPF&+!(ltq!r3zCH1)X|ZSifW27vCuMFYouIJrDTYu)g@fYUi(v z9fF!mZ{50XbHFC=-^#CdI}7ES+%-5CiPZGWOU20iDL+>FVdQ I&MBb@047^#`~Uy| literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter2.png b/mods/technic/textures/technic_power_meter2.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5703c66ced313deb2e248e8804984b9e8b5694 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=Dj$L71`c&5=JqLG}_)Usv`!+>GJ|25p-rYXODsdb&7zv5 z+1882QK0Q%d3ZT%BJbH2R%c`WCyG5b&BqPCYAH2!B_%EE_Bn51Yij)0`0is#s|!b} zKCS<;Vv&R9(kVe+EC1&OO6{nvwW_{9@1D)M;un)2AEzS{GLe9NSk*eFd7r?djqe5^?zL z6+^$n1|kg)_g@G)a;oLZ<&6cLM{F%Ptl1qzg$o#31XOY#?@{TS`}}wSTbQz_Sp8zv z+xt^b2Z*=^0@0t%k?&fnw@2IR`meusa+zA?w5!qwIiEjzE`DBryZQ9+^_H*C7BfFH zj+Ts(PGI9SP{>qTd5c?HT=!BiCOJEXPSoFp>NCk?>}B_ zU*iycon@}aw)-;=9dob>9f j=L)-9pSFta+{YmPX8j9;D9^{hkYez3^>bP0l+XkKjMGLeQZ7Q-dx54HdAc};L>zuQ z)z|BYgMeGS%wmPSyA|y_8`=f;v>h*A$nDA^uJq2;Waj)O#-6)&uZlU-uq#I~@6Gm1 zjTh_XLND;n^ii99GUcDO>#J7n>oWG!+doGON1ybF+$$t~{G>qF<>k|lpZ?4}ebV;% zS^;85W!^|}o!R#)jqQeH!Q@HXr)ynUofCcY{4Pn2td*4~nT(A^Hso`gFa(=uUFH^1 z*u5-mxA24&D~`NmwG%UKWcq1W=WwjyhrwP48MZx=O$#O1GHzTwo>~e#_baddcdxJ@JjzA`TP2QrTBB_bl7?`HOkfvETaIRTrr2E*Gu0usGwgz?{SX zTMroY{8;ALlyFvRTK19B4LAQ}v7Ti5dN}rXSm^iHMb8#z7bY&@VO%TDzOO3(^ZRL@ aPldl}o$jd5W4{3mPzFy|KbLh*2~7YeZ?QH2 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter5.png b/mods/technic/textures/technic_power_meter5.png new file mode 100644 index 0000000000000000000000000000000000000000..af783ca7e3035efe92ae421e41fe6870255ce773 GIT binary patch literal 452 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=Dj$L71`c&5=JqLG}_)Usv`!+>GLen!gWm0p%E7JY5_^A`ZWu z>YI1lK)_A@Z!mLg`Sit0(qAsye&Q{c%4#vkX`XxnB5PB_g}%BMrES_UXV=|}4SPD} z96A&n>iUgYSd78oz3lYe4`=JIpMP!k?e|%4mZk^qnUHmUxmm&2AAf#6JAHlkoX=u6 zkL4-meJNYK&$!@RWAUWwxNQecy_sLYAbnht)pj`(pY-Ft`G@cDC1*AIJ=N|1|4DRi zTta4>oc?=1uEefo-W(PalJCFG|F5d4m08tze|J;I<1ag<6`Wn1=ENy{wLQpl@WMyS zESc-=bybbKG&m*&ShHM~y!CC#I%S^3s>Xxcd3>FP8c!|W=eSqB!vB8hO{UdvxTe&< zC}aI(nDE=yL~gCtqVFx<9AExAtk6>73Y)q?U+})e?Ri(5avC2!bpKntd$0cW(-UfX q`EX@|XXd5u5-|k^F@vY8pUXO@geCy8Gs30- literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter6.png b/mods/technic/textures/technic_power_meter6.png new file mode 100644 index 0000000000000000000000000000000000000000..44feff400ce90e74b68c439af16a4ea2f4336941 GIT binary patch literal 509 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cvfY%f44xJZ#RxXXcDr^qF8mE0k>2og7e zyHtT;$E)2)qE-?qa#DEzoQ?}<-RKc&2youVc>_=|Y0{)glU`Ypd*JKi@9ST0-+lR! zk}qS+d2vsu8?FjBe}8v(^ZDbapE>o;ase*R-&|VsgE^oV1v9sp+3Yg6p2I=eFP%1-xw3%O!b91n@;F)GkshKblZGA z%toKTu>sl?cYgfmpGe~aSXI*Y@^a7!O{C!z00MEFyYBOkLn6gte1NBAK|qMS9KzTK zq7UN(3|)s;C8DIwIHs`K@4N8<>Y~8MfuzsIv`Sic3~h_={rCXAThliULyS;4l50rL z;hm#v+iZaB$EYs<(k=_)g-2H_XdJ1k2+rY80nl|lzN&~JqE!j2lIR*(uaAl#8=$!T zRzEBj-^-cxgR60&XBGmfSkC?8Pd)u&P0H0j0C~|_&>I2P00000NkvXXu0mjfG1lSX literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter7.png b/mods/technic/textures/technic_power_meter7.png new file mode 100644 index 0000000000000000000000000000000000000000..554baa2178576636ecf96348c765231d0db539de GIT binary patch literal 576 zcmV-G0>AxPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cwEBL_t(o!|j&6j?+LCg}*!FpE#?9l4c)*f_LH_5E8FIi+B!78ft_n zDG=47jUY~lGmd{}E=8QMOXo;VvpJTVkv#XCd(O26F1qNV$1WNB!TV1iZ|8R?|xF}OR~ixdiLY{ySK02+>Y5V8VfMLesU8h@oS@sqz2{@vdf5PGom>80E_}K zV*#?K*QCZ`5kv%u6q8w^EF($N(H4vbNak0>3Kjs}Z(_jCQsN|@9^h)0VNuKwAOS?d zCKeMX(*syzF++Cc_<#|Ev1WPzH5Q8^M+5e45F=P~1^^K`POl6@EIO=O zqMr6!IjsYFXujU}M)&X309EkEdi+;E5Y8|Ks)WPg65V`p8pyiX{QHh z+>WL!>Ai=-5nM@dj@CKqsu~S2`aZDT{GnRq_<4)2*HAh_QP4R@dk%oQZfJ`F-+8py zzPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyw* z7cwxkgz=~V00Iw5L_t(o!|j((ZqzUohd*Go6fQk~p>>i_Q!!yHv_-=!>$kWWO)J-}8$N&+)&98av_o-P^0ptJiOqMHOzE zJ8aV+8;4!5GW-3<`%fP}{v5MjHWt7ed)3eC>-DV0#z^UVT-Oo=Dw}-6-nNuwIXyuAVorH}PF7S5F`~L1 zX7E_IrKsyuDDaY^EYTvUnT4|)-Ph#xjJz0cfgU@dIzOY(27^K=g~|k78M3N64M0At zu>uAFxnD$sDGO|Frw6FZ3WK2cO+*1oz~lyP^XUPMHt2o-QpX3h(rBZn2M}#A2Z(586I$3OWK z=>)q#gmn0L^*{(oq;LuV1@Yj!{PjPEM2ca0fScul0Y&6-5ypNX`eAy2&~K$82!v_jf-gto=^etLl3?dZ2#LX6NjlG~D;!#hXUw$q;nHtRdu z<$^f#$Z7>!M`{`d=kTWh=(--?G{hky%^Fr~qT9l5_aqBO11!FM+5Eb_{kpcs2e-iu pJ$4vKi)HR_e{Y^|I?pjS{s0jB|C|u%%(Vaj002ovPDHLkV1jJRD0u(? literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_power_meter_bg.png b/mods/technic/textures/technic_power_meter_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9667cda8a446a34550df1f34e8a3cf77e379eb4a GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_r*>Ak5hJ=ExtQAbW|YuPgf<4jx`vrc)*|?|?#!JzX3_A`ZWuV#syKLBRF?`FGC* zEH{XM5LtGPca2Sx0E;e*Vw1o|!^9w!y>lm)+VKSQobmZsVPt&G=isT2?2pX*R;=v# z#(S58c|ya2%4Y&;haI+FUuzR|%s9}Nl}V`0?!!Z#KdtPuqOQ$bu=}uqQ!x!+ueF1$25d_gI*~E(OYC>TmxVDQI$=1@e)3r%^v%r6q zlAN4#a{5QeE(|jc#mr-N0BMv}O+!@?NU)`(@l8wsNJRH&Gu#7ad<>Av$m}@= zYQ7w3fmE&?kf{JDx3B>=z&r2;io|G1WeJz&DL1LGJ7&<>n);G6^VKTdxEKcR1j5$R1^00000NkvXX Hu0mjfT$#dB literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_raw_latex.png b/mods/technic/textures/technic_raw_latex.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbbe6461b3db3765d9ade5ef96db6792b1ea9b7 GIT binary patch literal 1625 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_rubber.png b/mods/technic/textures/technic_rubber.png new file mode 100644 index 0000000000000000000000000000000000000000..9ed4a9dfe6a92032c00f25c3ee681b7332800a68 GIT binary patch literal 587 zcmV-R0<`^!P)>l&_`f|7vK>PQs=%117&9cG1CX>#7L>i zfGR4IG`W9{%@Bf!R1gCao-9kYfBtO4|2DZUI2^7$72$bRrM=jzsM6qMKAXNgKl}9N z&jljopiCc9O7}(8t18K4JVr!aR3*mvvCHkli!T@TGDVlp_SQ&JEKd>Hjj=#QWp*`X zxV}M*K{kf#xZ7^kOQ*j!4ofGSzcBYlxQhnC9f}yyp!Cy#(dH&iU5myzNGXjblgaUl z0uc_tQB~%%IZa(-ZnSN~==Lq{ZQWsG;|5*R5Mpt#GQuF0`%5Gupd#el(X|b3na}5E zJlNTyz8a%Jxte}sd*|-{0^34*mRCZ@VmeM^)MLlqw(ellN2Q{Zx6XN>8ae`m0|kd&NyreI_D%KggYcyqe8tU;p_x Zeg{29*Vir3HCF%t002ovPDHLkV1lQv22=n5 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_rubber_sapling.png b/mods/technic/textures/technic_rubber_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c9f5de0c191c2fb3c9e113a113ed69138bff8d GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^JsM z;N)AjnLrWF0*}aI1_o|n5N2eUHAey{$X?><>&kwIgHJ$?^Mp+vFHq>Lr;B5V#p$g< z2f3OYL~61hX)Wn)ymZfq<$bNw{EPixrq((-z0v*jXz3c&8G2$$%T_!K%CI}PN1uVgq>(Mx+ekjBKx1jbBbMLh9IxaUnTDVm=wso0n|R zT%5b~qx==U4)bC!=~>TRm%6J@>^OCG(&eAuDtZ^~>pbejcFwRwGUdSnzXi9yeq;99 W5#n{Q?w1qLV+@|IelF{r5}E)?uYE%R literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_rubber_tree_empty.png b/mods/technic/textures/technic_rubber_tree_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..1792951edd5e5783c39432d545a82be85c54fbaf GIT binary patch literal 835 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 X7-6TR_5>p900000NkvXXu0mjf81vB> literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_silicon_wafer.png b/mods/technic/textures/technic_silicon_wafer.png new file mode 100644 index 0000000000000000000000000000000000000000..78aef2002324dbda1d2206a22ea1c65e0abf390d GIT binary patch literal 913 zcmV;C18)3@P)WFU8GbZ8()Nlj2>E@cM*00Q+%L_t(I%WacOXk29& zhM)gG|2cEcT$*Ou+M%%}WRa>AUAPg%3rH$hF)hVnly>1t+C@vca3?MV-KgNc5mZVA z1D(367Xn437K$5bF_sWXBC*M2GMUS{{r~w~6&>lbdN<$mZr)Gv9~ST4Wb*N6_~q8Z z!Mi^+PYm43sLsP;|AD8MPrNhxB@aP82-m;*h>7RURBwO($<_9s%P-|Bfe@iDDvWEC zM#qT8CuUEbKKJSB@)D1ZPy8$RZhnsYO7E+#|F(WVUQ>etl{t%x3Vdq_(>i|8V7Do= zf9yc>#n<0D{-9U`96k9qtStSy-OiN@t4eAfeq{tdsG>?9Hc(_fw99o?`gVHZr|V~i z1kL%m3;4UnTG6O-NrWym&JImNgo>-W%umXzc1aJ1<>>JKZZdVHrl4FVo%ZYguL*elo5_7{7R1V z`=sRb86ZUqF{xNBF9R4)b)Ky6d4zDIgY!IG5Rlmb(`n&=f)vkblnl^P#_PwFB~iZd zp8(Kn>wk5MQiL%9%9K#rAkI+a0oG*@Xw zzI=(Z?|t~}-%;tJ!Nt{Hk819yrH<0T2i>?+n|$iXu~X+hd+0a*pD(_?^w{Ffg}PsO na`F9-?^Q?lZiom<4WIl2<0^DOW%_wt00000NkvXXu0mjfPc5g! literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_silver_chest_front.png b/mods/technic/textures/technic_silver_chest_front.png new file mode 100644 index 0000000000000000000000000000000000000000..fe5ce2cb61a5af37f2b061eb8c988aee985d09e6 GIT binary patch literal 2241 zcmV;y2tN0TP)*BK(_H)CCDShD+7Vi@SsMksez(6);!$0S*Y)Y zWCDZ$idA+0bIyOxq4k$9|D>usW0iJ9!vT}=7~l6%N+G4hwrw28!Eqb_T-U|(JnFjU z{>%4$nx>&`TL8MQqw6|z56iNs>zeI$OPUwVVuxTD;dr!6CPO~@#pgtWkTNf@Z5yQ& zN-12|#dTejQuKX~5CYHh01!d|(Dyw6P1Bg~Se8ZGwzO@FWm#C3g_M#{KmC-fEXWt% zlGQEFrgoTp_z9nX_8G%4FFtHnxd34(^{5A5CjhpkWvCL8jZ-Z zj5JMgU6)6X9eExVgD82sw^}l#-^d3H^}ibc*xq zU;Tzr5_5EPWFWk~y=69=(Y7s8$_LYrMk5A;0dL>FH8cnzXxkRswrSgz<#Nf>r%zcf zmvmi6-}hLSMc?;CQN+o~3BK?1`0-;L+jekW_W@s0O6t0P@L;7BVHh%*OgKM3$FeMj z!y#c9a&vQo<2VMPzVCVS<_%Ixf*?Q$LErZzNkSaQoS&cLx-PbDBZ45LC}n3Wz?>}r?*8vT*L4CK5yT?MJYvH*LVL<(-bKsv)PQY zEREW$sxt6NDe3#3%galerXdIdeBU>d#Bod<$5d5i4)N0=@;v9}<_6#QnNFuDrO2`j zakILiC&B#I(-yWJgiS)Kwt$H&KnVaRAS;`;g;Aq2K<8#t?~Vtu=zZ5ytx zmZ-kR_dUwI%_gyAOM||+?8NdI-?@&rH z91ame&@>HoUDLJ=3X8PJSu7Sf!~Q@dTGsm=ON><<~X zfMFO=lodsmQRD@aWQL1md%LD>Tk5)|C<>A!VZYx~RTWv5;SC2wcFRy5u>Sdvzo{S2 z-ccx@VHoo2)hog*DFFr|p63yU;R9N1+a`RUq(TVF zvgG9C1k1AMx(?TMna}6O)Ha(nKm7QHqHM7L{NGYtl5O>pFAo?080!B#0=A2*Z#hN!aan zJbChj@pw#@Wn5lfGM!Ehr$6ljS_7Jj#bUv1He);G0mv1Yb?tm z&vWX!=E;*MD5YrI)=;Pa>bfSSyrV#`mF@&>+nSiQZQGR8IF9jspVexGloHo<8IQ+i zTQovl*RfbE=(^7I1RY%S`TRjBIRJ;lf!S$(PF{nGy6I1YW^6UQ;D)e7JDDT?AwKU(qQ@tC40jH)AT_($@APme7_0n6uh{&Fil%)L1?SgkSV3iwEFZq*L5^UQN-otB|-?| zI3|iB7K;UzWtlM3s@HGZwoOCwecyP3$g+&0C{RifMUg3^+RK}!F}Wb6q%2Dl*-4Tx z8jX1O?w!%da5!YU-5Ml*x_*7%b2uE3Qj%pE&f#z{Vv6IK#bRM7xDTZ+85)To2$)W% zESF1!5KJZ$27>{wU%xi~aDRie3F%NO%aX(4fY8$>Ny7E@wef@dd+T|gfmH~>U@$-_ zWoU?^h#&~KxVSJ;t~a7-8e{MGhtfaeMBO&*(*tK`XJ(hRIfY?}>$+rF#&kL*48sR4 zSy#5vXvAu@GWu(m>VjkXqtxEY-Xliuh&eccY&oJ zZre6eN*0U7gWrU@NzLbTMxzm)=aJ{Rxwh>(9M5IFxyAbXU;n6tH)MSBF=={WI-N2a zjm#9f5o_zz576s%|1kRS+SK&=HBCd;b?oCNkk)|Sq}^`Ea=9eW3qnuvcsAw#w$gn7zonU8 P00000NkvXXu0mjf52s_t literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_silver_chest_locked.png b/mods/technic/textures/technic_silver_chest_locked.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8b1f03e40df3d3997bd5015107ba477bbbbfe3 GIT binary patch literal 2368 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 Y4`eBC;L;OB?f?J)07*qoM6N<$g5l*koB#j- literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_silver_chest_top.png b/mods/technic/textures/technic_silver_chest_top.png new file mode 100644 index 0000000000000000000000000000000000000000..353a11cf228541b4bf5a9ab84da13944a8f7f8c0 GIT binary patch literal 2226 zcmV;j2u=5iP)Mo(%WLq^<71~owC#G5ymk}LsLs! z*TwTZJkLXGO&Ep*K}fMJK=X7t5JxdpRZ^BEj^j|*HFaInG!3rjBOEA;g4^Yi^?Jiz z77)d4JfD(o>hslif1r~l-2Zop@B5g`bzQujiw{2`Mxzl)obs?uUfTq-h$`G-YpZkNf+3 z>bka@E6bA4pFfjj8Br9Wl;Z5{%(g-ZfvhB(^_nz{84U)As;UuMad>cm>$*6O!+btx zGMU)^n@ej=uh*m7?Q(p4Yy-Qli&DydUtV5vaByH-VX9NtHE|sC!w)|Y1_AAM8uMs;Vf8f;`V(1=d;<1OcPbh}mq0>$;?AN~hCdu~<-+B~8=dI1WMxj*gDF zzrROojpH~drReo~3d+yJ_1n&&vqQ)X9JSGIR1h*AnEB}Yd`3YowHTo@d`bIXPi>cb9&@Z` zQi|zxO26MHj$>A<701WNOePb2-?tbOj==UqYt3e};oZA;BuRo&%7QG4B0SHt+HOD@ z1c3#m5CSPB@87?t)9E0D;P&>GPNzd0$0(&ZKR>rv@H`Lka=Q7xPZ)-L`t*t6a7db_ zmS%6>yutH48`RLue8MoK-|wTf=EH{%^m;vf-)FU2u~;l@`K6RLVWrel3k<4FdFs06 z=H`aIy*;b#d7e{Ml|`_*Z@3Qd_U&8ZI7SG;#l;0#meFdpkW!N8IYm*}N}EeK;t3F8 z7;$;qroY*-L1c7~C z6a^O-7wqrv6GhQ0B{ltb9LKg(RJF7eG#;*L8qUwptz4SP)$MkPqKNr?Zna}H8u9q} zXnmgn*K|64g%70^Ns{o@S6>mw@t0}nx=*`_qKM&eNT<^w2m;EoL~G4*xkO6&?1lp_ zE-pxtgq@uo3r@q1Fbuzd>sb|FYQld= z=eaGN0hSRQgJ#EZ2*Z%cWWsDV!}ongqY?dnpC5nx(ONOBwbcNVfWeCy_u}^MmfOXG z;c&?1$+dg z3R%|Yp{n@!(@)k)IgVrJLKucDmrHhccZuWJE@JRuoY8DHBM1V*FtpS)*(OHZ6X=A&x@aXF)NCld>#1JUpb;YT-Bzzx?tG`}_NL;Jg&5)6>&e$OqVNw|xEe z*LEDQ*K0N`i&}y}YR8)Jb3WS+S;1w zbUG=TrU3vf%Oao8qqDOUy}i9)7zS>)8kCdf#-Q-G8qJeLEOE2 zcPEZnC=@nmn$9$v&C8mm<=k$!GCn^3b_Es|77&R+ynOi*`}glhtJOlGPyoX)=Q!oCVPV4K@x%?ofGCP+Hk$~C!)P=b=XY&NW}u42!gJ?QD_K`0bLv)P1U7&vm|i0O8_KkMr13QSK= z|3D@tCU~FE_qiYlA2%8e@H`KSqRg3@8LF?Z54x^{VHi}a)t%FTqF!4^mSy<;e$;9; z%+AijFbwcK55M1!P$-0QxeS`7Q79DP_xn*Ql`ua)PZ2_v_U_&L^IIkaz^<;Yepank zzhGJR_{_`i5Tv9Xpjyr$cAXoEd)n`0*!a z&z_x>Wf_7Xpja#-o6W*vv7l5cVR?BOcDo%6!$46KSglqRi$z?!b`2hn2M&h=&1Unb zm6esRpFVx+OC%Ck-fT(gT@TUy`}Z+4H1vnLsi~9Rx+79RjbuV zxm?ER=%{@C`t_W{;b80a`udFPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m4F01m4Gj_kzz00007bV*G`2iyt| z778R~yser500(|aL_t(o!*!Qk%VgV8$A9&*cK7oKqM|@i1qc8{B&vd{QJMViiU;kH)Poe^ZX3fuAXbnwaI^kGR1p#U zI8YVD8v|=^D!N)l&|w_r>`17j4&~y5$YhwY)*_)>`Dm#PN7aZ7Vs3T?I|DQQa05z6 z;UbtSX2yrsyj-4moA02Y1TKCM8C;IR+8aX<;4nwbuq<2@6)=(Rw<@AW&O%hlwK&XC zvo2s~a2Z$J4KYPjkQ6T03srC(7b+7`!wx6cM%56}j|`~-Eif}wnmuaHo)am>tl4Cy zSUGNns&oN921$}3zy>o+6cOce45%U_06_|D3``Z5!I}#)Q8&zuh{WBgOd^xZ(-T$6 z{eH(xS@#KH>>#V~%-}c>V7YC_+{C zpLbKSM5&m3_Sr9azP{q+{d?~B$=k2L;pLMT#<+5>_qZwNdFT4_mbdTUG0cc)L5r%s z_8nvf8A(+(2-i6|K6z?|8>9POVAk3I@YTB;-+A+0{^1w@$Upznzfg~!kKvda*XxB( zfBy&k=r8`9AG~?ZtCv^YZ#VYdh(PQ`Ws8vwr(&WaI0b4(%s>s62M0p?kpKZAJYO$- z{bg{wO}_ZzEB@~i5pK5|Kl$m8d3yDRr|X4zzjGXeIVU8KL-nnot(GbcT0~n7O|_*L z$lcE6>b!panxb*?;f25ZsVdI7c>n&6=5FV!VDBIv9uiXQy;-p#i*+s>+J0*XRm!;+ z2a1}28DlivDq(2w{`QVcQ-N&8A6aBRn$cUQRyBP%-CG~K!-y$XsU$&`OUBS z{PWLw{hil*`sweHSs<`i3y_=h{qKJdSLJ@can2K@WmrVJD23WZRw7ZLf=6sb2CB+& zJy3)siMcVe4k~8+>#zO;Vew}_{1g82uYLs4t@!4vFZtxn8$Nk?;_GkTqT>A5e|}D7 z_uqYRo+lAOW+9KFDick?O|6kS2DzgFsDitKY2V76{OKS4F>l}g8np{+?e4WI*FXFN zp08JCCPNfIl+XU{SN!td|GQ5r(iHEPHO#g=vZmrihXgWVIAk+IRMAH;8N>P6-~F6? zgp{UcFx-g<=A0i>vzl?eUO9ZQQ<&$8s*%z@FwgU&Lq=s|pfj0tjB9{L#k5MLXxs*mxOb z&R!d7X=leqEAip%Od=9l5E(tn4JD=|-GIX$PElx7$ZsKb|kt$_D3nBqF4R z!Mvl{e1C^bd>q8uY#z}%lME0QVr@{N&g|^yPV8u`MB+!0vypFZ9Y!+oG}Z^VjKG@! zJqv6Jbj2eLZOW8gfr)aTCnbf7p(yD>MaQ?uKtd=J_S$F^aklv=uy+!BH%k&KlK5ct zLi>4S;9Hpc?1?9neV-IXYE!1FHKQbP?U`Wi4wsAl7{A(-axP2-^B!F!iy6BIoJ`D} zSPNCv9--@lZbL;+!hQ@?gsRpEMS6hU#Xc8v?}yI!G%OTV*>YP&W)f@nsBVT8#B2t{ c-ncve3*P`X?5oyPLI3~&07*qoM6N<$f?&7FsQ>@~ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_solar_panel_side.png b/mods/technic/textures/technic_solar_panel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..b22447ef68825d1731660a1c1b3c6c5af543bb5b GIT binary patch literal 465 zcmV;?0WSWDP)qLpk;0OPzs>xVu$@?{3L>$KR z4R{Ye(=>mHJzhzWiNVLYc#Eu#*g*g?oOP|FC-FzQLf|=ii1RJdynM?-8A_-N_aKdF zAqN7e-Svw&!-xo4e}0#jgL|A?-;?oBHcoej$6d4dtILs$D9;2iAlk23m%CTc5^$#k zz!|8Iw}wFpR6NZ>fhw--7FtS(Bl^IJns}NVq**))r~h~bbf&2) zG*Y*A7+?Me)P)StFOlm<`38f50YOv5D~SrI8Re;?6H~Vc7_(#c#X3mnhddK4BhLtt z(ShqgdBGWsB&N|?WD(d9q%&ihBodZq5QI+MBzEWqe@x>K{&dISA4~-800000NkvXX Hu0mjfYM9WK literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_solar_panel_top.png b/mods/technic/textures/technic_solar_panel_top.png new file mode 100644 index 0000000000000000000000000000000000000000..492764bfa9ad30d2f356222481ea5d62e74ea5a9 GIT binary patch literal 569 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 LNkvXXu0mjfc!B{j literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_stainless_steel_ingot.png b/mods/technic/textures/technic_stainless_steel_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..46fa2969138ec086e8a9b9bcb9a70fee7794f076 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq}Y|gW!U_%O?XxI14-? ziy0XBfU`+9({2mwI z`o3?i|My=kph=S^|7RAjeSHc51^^E(e)``jx~gjj0ATsXuC4bz_Jo{q|3mWe6|46F z!1Ru}qt2&}cEiy_2e4rEx_1;+-8eFk!KA5o!YP-ggk!OXxyQdB>A#X4O+MwX1}<2= z?w6Cl^{f#Jy=Iq+Xibel)v-|+$-)SR?@pvry_2U+A2*r?*k29Qqe*|~sx!RhbNEI=p%vQV6t! z!*I%FR2&PjWIKY97y`PE3nzOCfCk`j@8Ry74(1ITSo-Q40Du>^?(FElcy7OI+miYH zq^K%D1YbbI)$AYwx`ALg3YDn{7zS#t3+^>QL} zdE?i9O`o03T$YK{7!sVrYcxQL0-rwsDFqnw;q;Lnw1gsvwYA~u&>&jE5e!|vh+rfN zB1PI|(^N<~E(G5srRZh8fP1X_i|cP-(TnS`ch@$|U$pGP!Zquq-V&TGIEP=;NKsYj z!4Oo&V1zR2sFa z3$Io~I37o>T1B;D!?kTlDZx31qN)I{slu3l;_>b;-;A}jpU(|sPEPNb`>O=B@TCpA zgW>S<+(18w2&&J2tw5y$%`hM(AcTO|s6%iLDJASu5l*=TfDmtMhh-L_Fb3N!!pvns zDubpQ(1Sr(#R7y7NTkxTVwI^}$nQSU^VJGAuXD-mMkw^8V-_FrYBj{$QvgWzojpyl zWD-JfD2$;}wxIeL6jC6-K?GDQ4z!jKoU)1jpUy*YfoN+IMktJ$TS3LPKnkIpzlwli zz$ulG8|WuRQO+@+|MTmH(68&!r(W6AS+UE{1T=l-r5{hRu@fgFKRkqJYZ87)6R72lsFOttIJZ4^iiHYw^hk@BMCV{-R~G z67A{wVBe*|J7#v+m(HA;W1B@*u`NuU(P5qX?wei$MWvMaqlXSy0A%y?(xgd~|13WP XIWzX!=bTJ&00000NkvXXu0mjfR&z@1 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_tree_tap.png b/mods/technic/textures/technic_tree_tap.png new file mode 100644 index 0000000000000000000000000000000000000000..542f30f90354cbf7c535e395c949ac6aab16c95d GIT binary patch literal 1045 zcmV+w1nT>VP)VMh!EQnK`G6dZpLi>(y3MdSE#4oyYg%d!6~<|1y@B zm;d!0V`F35Lz(uR3lK;1_lPGR;wtb zI5;@KvMkc+bZBR1C-qr?wY9Y`YPDL2Wm#NZU2$=7foYmdPEIygR#uKPnGC+~IM!jAqkw_q=BnSd-Zf=Oj;|L)Lhr<9gn@vik(%=_B=OR;$ryG{|PNghCF9T=b@CM*=*vvF11=svn-4D_I9qXuerIo;q>$r+qSW78vvyg zhlhtmA`$BKIwvP5Xqra7UjL|DKQPJM+#DMl8=s7Uk&zMQc^;nU5d;AM$z+l{V3kUx zG~f4WG#b?F_48;ndg6JW2GHHz9opO5%Rg#?$CLw1PELMbE|;CFt1EhXddOrl=(;Y? z&d$CA-b5l1eBY;9tKejeFIQXSu7;oNN z#kOsP5TS?r9x4YAPX$l}c)8Xh;D;rBcxWIy*aw$K#xxowYOu^t%eEq?G8o{-^M6epLXa z)Rb-8bD2!$7t=H~!!UUNX`1%BE&wQ(%fA8i_V#`&r6d#z(b3U?uIpT0UbZv~evd>V z!S(eumSqtH0kK%DH2@P66Krj5z0)+!l~NLm#ZXF-PN!P~u)Vzvfa|)1!(kGM1itS- zIR;+D1ptjk1Jg7yO%vC3TN?v+#pr{|Xqslr0kqrOTje+oQc9A^WNQJ2hlhVUKR?$z z&%oHCYqUiPRCC} P00000NkvXXu0mjf99rXL literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_uranium.png b/mods/technic/textures/technic_uranium.png new file mode 100644 index 0000000000000000000000000000000000000000..54225f8c75e51661866315d6152c05ef85cd7984 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPahXkLcjLf@zyMRJTo-U3d7N?UFBv_gGB?>*~)YZSS z@5$B5IO?&5@r2YxMziLK0?mJao(l)YB`CRm-gn*l-(%B+`>$pHcW#wj&waw|fajHF z!TFD-+s`)^knPxEA~2P2n*GdvQ!V9GA<32Vgcx5PR9tzf_+B8;HU>{uKbLh*2~7ay C0Y)kS literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_water_can.png b/mods/technic/textures/technic_water_can.png new file mode 100644 index 0000000000000000000000000000000000000000..18e0225b4d3ddd2c78644b528f264d47096fa6f0 GIT binary patch literal 1041 zcmV+s1n&EZP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX3JVYwI@tzwf&c&mqe(Ws(b8oI-y77I3^@u6c;`g?j%MA84?LX7OsR*Hwuc2tX;SjK^%N6 z90Zp}V;o|@@v%^{5d@bSn51V+%p{O`ch~D47ab>2rytYPGIvu@b?V%|{`$}P&lOc= zCzl;WlJSXq)p(X91~Cp?%DJg|>E&JNmw}hwI;_SMe*I~I3)9zSj4ureki?b@Pe0l^b(lJn($v#dq}nhkRX_U*CvnHWK`dA(QnOs$?ne$&pA)K>G$jxCYKa+=TTdC=5|3`2<5P@(w)~s5&Ky9JP^vY|ao2`6w}I1kObmoAxil zCl=l#T1+q%%f5p}7VC9>U$hhgW$&m}BT&4{Lsgi&xWe#g5$k6tmBAPxY=S4Qe*h03 z*~8jOLUY{_HDlJp0;RHYt-eZav_y3{Pp)8znvSrc6iOc1fQ00qfioz@eu(rhE7F){*(4Sp`!?E_vH!K6iq!UwIbHH?Ai;~2NC)IJ7Feg zsSJCR%9fziDu$?;^qkxnfi8WnBLhYRxs}25&6dCJ%Z2f6dV$dP3tBB)X!j?k&C5{j zfu(K%+D2aAmtW<(_{63Fm+DQpafRc21hNeP>J;Z3oB7p|rAesX%}jLS_Hz;ZjN!-q zuW@Ym^q}lmP;G%h6}_XWJ+(Z^x7AmenSBy6Iq-c51IB|7!Sq%oJt(WQjE}BNLa7Xe zBIJt@hg%Y=8Avg^lnpg*alYuR0qrrL@xZgKt4jyTfYQ^S^z3aWoDQxN0xehT8gxfY zZ3OR@a0ddwbOB&}17XZq_A|r?CWf<1$9e9auZhES`yw=6X8`9{pXKTNnSb0nR{4t4 ze>~F@3*BeJ4iW2%@#aOLFcyD~XJr5kv}yJt!iB;~j%L5u+(~O0T&ml1LlJ2!LRD?M z`QIxaSkAnEN%|I{^$lt2ux)Uv@*g+M1(wtA&h|X5^mH;h`Njc_!;~a)gpHImbsJVJ z0{N2V><9I}Mx>sPX3w8Gs4F+a4FK7^<=n?}+n&p0r%%U*9bSI{E-zi~Mbrk500000 LNkvXXu0mjf$ok(U literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_water_mill_side.png b/mods/technic/textures/technic_water_mill_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bdb167e6013f09e14ff8fad585d6d0d895fa16 GIT binary patch literal 907 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 b@Avf&iyxZ*H1>Kc00000NkvXXu0mjfBFPl| literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_workshop_top.png b/mods/technic/textures/technic_workshop_top.png new file mode 100644 index 0000000000000000000000000000000000000000..feae1413cbcd0b80de948d43bc5bbb8e1c3b3765 GIT binary patch literal 555 zcmV+`0@VG9P)=B?X3DA;ebhqqPHk4WR=KUYw;1jq%6x)#{-JN7F%Q96e6{Tq^_Hi7m z(P*ezt*YH_D@l@p4|6{D^?F?%m%7=gZZ-p*wtSs;W_7(Wug|kow_620>@Di$a9L0L zMLYAK^Tle;3V2k%-pH8~$NNdFtM!~7yGsN6I8A;7X7qLbmy|oiSOQ>>ol8{SOGk9p zp0V|)K53{xcifmVqzBb;OGHeqR+CpMmGpKTS!S~0yx(2W<=ULSdzm44J&J4(9gMrg zpohl?URUb{L*Vp)BgQ|fLaSITDhL8SACz>r6Do=#dBC8e<4cA9c3?cwgg~mX`o6C) z3~ePrr_+%~n+|Iezdsgr(ww$r7)fq6^9GlSXap_pgAk33LbKU4-tb2l=nzarP>_T@ zD+rzFpkqD;8c+cT%3rSKwVMoE2Qc>i?FBOua355RfVB~rDD7qee(a$FI*b5jfvRpM zECC35E52PO$h8i>E-`zMp%bDrt#qwiF3V%4QJJdn1RmK5q$;#HgN!q}Ko_$%@_2B- zldQK}p-mk#&|8`N|5q>}NlKduCdNbr0okdHlWxF~73fgIN5Y+WNZrbqwGpB1H8RTZ t;$dJsRm5TCf_t|3K-+4yY!7_&`vE9;zJYVApHKh*002ovPDHLkV1jQH`wsvB literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_zinc_dust.png b/mods/technic/textures/technic_zinc_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..0d2f75a8e676b2869679ba5ca5492cd376d769b1 GIT binary patch literal 1150 zcmV-^1cCdBP)cCHTM1dpQD@&EX$eKH%z?bKKvu0Y+-Y&;{1rR}!QxpXYQ3Ak1obm9giXNY8 zh`DyWX>WDIiCF(j2^<~2(if)rwALEWQe;Izloj}M|q~3LSWZi9B z@cph{Htw%4&G@iw%FR>FQ1_P{kz@sFp)mxwrXVqA;hU%>(_wM51)TLoDPax75HXH4;%N_**83P;p0;mwQI`FT5Bw62msGg zNJCJv6adq$ka`ePvK0MY9*roWzvNJHZ498^j!6qGlr$>2)?0xSK<(4hlg2F;T;H>v ztp{iM?98PjNnYIVni7C8&FS@Q(p)pu49N?P5CSO#-Ht_n$-%cxf+VHKb4c>Vsjy9n z6oMd5k%quDgpfkun)0cyf1b<-Ya`olvS6?_A|6}QcfhmMi!(t)UTAD3>Gf^mEXP)o zyjbk#r6vSugbB?!#Q=JIhi052g`k~gOf&+NH0ZKTJWEjzVl{_I`##W1g<&Eldy_igr7kH+kon~B_YXMO4 zY-}Z2;o2-j2|@^Ff(Xx4G{S^y%}_`~oVTR$#Vt)ZSQ{yCx$o|6VVdu-l(F&GdQ+`l z;WOO|DSHlEf;4J%(pIzJQ*;}Ss;le$Y(zf|9ei5J^#Q3&J#kINGSgd+ww}-gl zIlw}caJ>~#b}cMvkmN0R(6$x4aCrWvvwg#3Pux{YnDQiTbE1WjRW-dXg8-q3VF{d|o|gW!U_%O?XxI14-? ziy0XBfUMvvDg%*_O-!3e|hMIEGl9PEL?ub!n6hfB*M> z;n#chIYm7!CP~8IFN7r>$!5^&y}^^D=&sDn%zXH)c)p|r5JY%f<+;qkT);f9{>PaE zK%k&`z(#%oBKjeR(YI*K3iS`0rx(hYb#946(|N2LE3i{V)7| f-amV$Pn-;YCtEwk%1qr4bP9u~tDnm{r-UW|bFoqv literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_zinc_lump.png b/mods/technic/textures/technic_zinc_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..d28a6dcd8d146325f13252315478adbaa393d02c GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPa7c(0#g9G1T7obqGr;B5V#p&b(307u)i9*jg_5a@6 z_vC7vJmRs1@r2YxMziLK0?oSbb0=!(8%$hO`F`*J{~vcHfT;Vm>be3mHF{Y^nCDED z_*nJlpu3NuSdgi}RK92P{`Z?|P3D!9TscpOk$0yoQ)$eHk3j1fJYD@<);T3K0RY+| BMZ5q2 literal 0 HcmV?d00001 diff --git a/mods/technic/tool_workshop.lua b/mods/technic/tool_workshop.lua new file mode 100644 index 0000000..86130ff --- /dev/null +++ b/mods/technic/tool_workshop.lua @@ -0,0 +1,93 @@ +minetest.register_alias("tool_workshop", "technic:tool_workshop") +minetest.register_craft({ + output = 'technic:tool_workshop', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:wood', 'technic:diamond', 'default:wood'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:tool_workshop", { + description = "Tool Workshop", + stack_max = 99, +}) + +workshop_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "label[0,0;Tool Workshop]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:tool_workshop", { + description = "Tool Workshop", + tiles = {"technic_workshop_top.png", "technic_machine_bottom.png", "technic_workshop_side.png", + "technic_workshop_side.png", "technic_workshop_side.png", "technic_workshop_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=2000; + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Tool Workshop") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 1) + meta:set_float("internal_EU_buffer_size", 2000) + meta:set_string("formspec", workshop_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:tool_workshop"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + local load_step=2000 + local load_cost=200 + local inv = meta:get_inventory() + if inv:is_empty("src")==false then + srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + local load1=tonumber((src_item["wear"])) + if charge>load_cost then + if load1>1 then + if load1-load_step<0 then load_step=load1 load1=1 + else load1=load1-load_step end + charge=charge-load_cost + src_item["wear"]=tostring(load1) + inv:set_stack("src", 1, src_item) + end + end + end + + meta:set_float("internal_EU_buffer",charge) + + + local load = math.floor((charge/max_charge)*100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "label[0,0;Tool Workshop]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]") + end +}) \ No newline at end of file diff --git a/mods/technic/tree_tap.lua b/mods/technic/tree_tap.lua new file mode 100644 index 0000000..76f50ef --- /dev/null +++ b/mods/technic/tree_tap.lua @@ -0,0 +1,49 @@ + minetest.register_tool("technic:treetap", { + description = "Tree Tap", + inventory_image = "technic_tree_tap.png", + on_use = function(itemstack,user,pointed_thing) + if pointed_thing.type~="node" then return end + if user:get_inventory():room_for_item("main",ItemStack("technic:raw_latex")) then + local pos=minetest.get_pointed_thing_position(pointed_thing,above) + local node=minetest.env:get_node(pos) + local node_name=node.name + if node_name == "farming_plus:rubber_tree_full" then + user:get_inventory():add_item("main",ItemStack("technic:raw_latex")) + minetest.env:set_node(pos,node) + local item=itemstack:to_table() + local item_wear=tonumber((item["wear"])) + item_wear=item_wear+819 + if item_wear>65535 then itemstack:clear() return itemstack end + item["wear"]=tostring(item_wear) + itemstack:replace(item) + return itemstack + else + return itemstack + end + else return end + end, + }) + + minetest.register_craft({ + output = "technic:treetap", + recipe = { + {"pipeworks:tube", "default:wood", "default:stick"}, + {"", "default:stick", "default:stick"} + }, + }) + + minetest.register_craftitem("technic:raw_latex", { + description = "Raw Latex", + inventory_image = "technic_raw_latex.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "technic:rubber", + recipe = "technic:raw_latex", + }) + + minetest.register_craftitem("technic:rubber", { + description = "Rubber Fiber", + inventory_image = "technic_rubber.png", + }) diff --git a/mods/technic/water_mill.lua b/mods/technic/water_mill.lua new file mode 100644 index 0000000..6e0120d --- /dev/null +++ b/mods/technic/water_mill.lua @@ -0,0 +1,128 @@ +minetest.register_alias("water_mill", "technic:water_mill") + +minetest.register_craft({ + output = 'technic:water_mill', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'default:wood', 'technic:diamond', 'default:wood'}, + {'default:stone', 'moreores:copper_ingot', 'default:stone'}, + } +}) + +minetest.register_craftitem("technic:water_mill", { + description = "Water Mill", + stack_max = 99, +}) + +water_mill_formspec = + "invsize[8,4;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "label[0,0;Water Mill]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + + +minetest.register_node("technic:water_mill", { + description = "Water Mill", + tiles = {"technic_water_mill_top.png", "technic_machine_bottom.png", "technic_water_mill_side.png", + "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=5000; + burn_time=0; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Water Mill") + meta:set_float("technic_power_machine", 1) + meta:set_float("internal_EU_buffer", 0) + meta:set_float("internal_EU_buffer_size", 3000) + meta:set_string("formspec", water_mill_formspec) + end, + +}) + +minetest.register_node("technic:water_mill_active", { + description = "Water Mill", + tiles = {"technic_water_mill_top_active.png", "technic_machine_bottom.png", "technic_water_mill_side.png", + "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + drop="technic:water_mill", + technic_power_machine=1, + internal_EU_buffer=0; + internal_EU_buffer_size=0; +}) + +minetest.register_abm({ + nodenames = {"technic:water_mill","technic:water_mill_active"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + local charge= meta:get_float("internal_EU_buffer") + local max_charge= meta:get_float("internal_EU_buffer_size") + local water_nodes = 0 + local lava_nodes = 0 + local production_level=0 + local load_step=0 + + pos.x=pos.x+1 + local check=check_node_around_mill (pos) + if check==1 then water_nodes=water_nodes+1 end + pos.x=pos.x-2 + check=check_node_around_mill (pos) + if check==1 then water_nodes=water_nodes+1 end + pos.x=pos.x+1 + pos.z=pos.z+1 + check=check_node_around_mill (pos) + if check==1 then water_nodes=water_nodes+1 end + pos.z=pos.z-2 + check=check_node_around_mill (pos) + if check==1 then water_nodes=water_nodes+1 end + pos.z=pos.z+1 + + if water_nodes==1 then production_level=25 load_step=30 end + if water_nodes==2 then production_level=50 load_step=60 end + if water_nodes==3 then production_level=75 load_step=90 end + if water_nodes==4 then production_level=100 load_step=120 end + + if production_level>0 then + if charge+load_step>max_charge then + load_step=max_charge-charge + end + if load_step>0 then + charge=charge+load_step + meta:set_float("internal_EU_buffer",charge) + end + end + + local load = math.floor((charge/max_charge)*100) + meta:set_string("formspec", + "invsize[8,4;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "label[0,0;Water Mill]".. + "label[1,3;Power level]".. + "label[4,0;Production at "..tostring(production_level).."%]" + ) + + if production_level>0 and minetest.env:get_node(pos).name=="technic:water_mill" then + hacky_swap_node (pos,"technic:water_mill_active") + return + end + if production_level==0 then hacky_swap_node (pos,"technic:water_mill") end +end +}) + +function check_node_around_mill (pos) +local node=minetest.env:get_node(pos) +if node.name=="default:water_flowing" then return 1 end +return 0 +end \ No newline at end of file diff --git a/mods/technic/wires.lua b/mods/technic/wires.lua new file mode 100644 index 0000000..e09fc2a --- /dev/null +++ b/mods/technic/wires.lua @@ -0,0 +1,401 @@ +--LV cable node boxes + + +minetest.register_alias("lv_cable", "technic:lv_cable") + +minetest.register_craft({ + output = 'technic:lv_cable 6', + recipe = { + {'moreores:copper_ingot', 'moreores:copper_ingot', 'moreores:copper_ingot'}, + } +}) + +minetest.register_craftitem("technic:lv_cable", { + description = "Low Voltage Copper Cable", + stack_max = 99, +}) + +minetest.register_node("technic:lv_cable", { + description = "Low Voltage Copper Cable", + tiles = {"technic_lv_cable.png"}, + inventory_image = "technic_lv_cable_wield.png", + wield_image = "technic_lv_cable_wield.png", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + drop = "technic:lv_cable", + cablelike=1, + rules_x1=0, + rules_x2=0, + rules_y1=0, + rules_y2=0, + rules_z1=0, + rules_z2=0, + paramtype = "light", + drawtype = "nodebox", + selection_box = { + type = "fixed", + fixed = { + { -0.1 , -0.1 , -0.1 , 0.1 , 0.1 , 0.1 }, + }}, + node_box = { + type = "fixed", + fixed = { + { -0.1 , -0.1 , -0.1 , 0.1 , 0.1 , 0.1 }, + }}, + on_construct = function(pos) + meta=minetest.env:get_meta(pos) + meta:set_float("cablelike",1) + meta:set_float("x1",0) + meta:set_float("x2",0) + meta:set_float("y1",0) + meta:set_float("y2",0) + meta:set_float("z1",0) + meta:set_float("z2",0) + check_connections (pos) + end, + + after_dig_node = function (pos, oldnode, oldmetadata, digger) + check_connections_on_destroy (pos) + end, + +}) + + +str_y1= { -0.1 , -0.1 , -0.1 , 0.1 , 0.5, 0.1 } --0 y+ +str_x1= { -0.1 , -0.1 , -0.1 , 0.5, 0.1 , 0.1 } --0 x+ +str_z1= { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.5 } --0 z+ +str_z2= { -0.1 , -0.1, -0.5 , 0.1 , 0.1 , 0.1 } --0 z- +str_y2= { -0.1 , -0.5, -0.1 , 0.1 , 0.1 , 0.1 } --0 y- +str_x2= { -0.5 , -0.1, -0.1 , 0.1 , 0.1 , 0.1 } --0 x- + + + +local x1,x2,y1,y2,z1,z2 +local count=0 + +for x1 = 0, 1, 1 do --x- +for x2 = 0, 1, 1 do --x+ +for y1 = 0, 1, 1 do --y- +for y2 = 0, 1, 1 do --y- +for z1 = 0, 1, 1 do --z- +for z2 = 0, 1, 1 do --z+ + +temp_x1={} temp_x2={} temp_y1={} temp_y2={} temp_z1={} temp_z2={} + +if x1==1 then temp_x1=str_x1 end +if x2==1 then temp_x2=str_x2 end +if y1==1 then temp_y1=str_y1 end +if y2==1 then temp_y2=str_y2 end +if z1==1 then temp_z1=str_z1 end +if z2==1 then temp_z2=str_z2 end + + +minetest.register_node("technic:lv_cable"..count, { + description = "Low Voltage Copper Cable", + tiles = {"technic_lv_cable.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + drop = "technic:lv_cable", + rules_x1=0, + rules_x2=0, + rules_y1=0, + rules_y2=0, + rules_z1=0, + rules_z2=0, + cablelike=1, + paramtype = "light", + drawtype = "nodebox", + selection_box = { + type = "fixed", + fixed = { + temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, + }}, + + node_box = { + type = "fixed", + fixed = { + temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, + }}, + + after_dig_node = function (pos, oldnode, oldmetadata, digger) + check_connections_on_destroy (pos) + end, + +}) + +count=count+1 end end end end end end + +check_connections = function(pos) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + + pos1.x=pos1.x+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + x2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("x2",x2) + meta=minetest.env:get_meta(pos) + x1=1 + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("x1",x1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + + pos1.x=pos1.x-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + x1=1 + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("x1",x1) + meta=minetest.env:get_meta(pos) + x2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("x2",x2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + y2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("y2",y2) + meta=minetest.env:get_meta(pos) + y1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("y1",y1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + + if minetest.env:get_meta(pos1):get_float("technic_power_machine")==1 then + y1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos) + meta:set_float("y1",y1) + end + + + pos1.y=pos1.y-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + y1=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("y1",y1) + meta=minetest.env:get_meta(pos) + y2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("y2",y2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + z2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("z2",z2) + meta=minetest.env:get_meta(pos) + z1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("z1",z1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + pos1.z=pos1.z-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + z1=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:lv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("z1",z1) + meta=minetest.env:get_meta(pos) + z2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + meta:set_float("z2",z2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:lv_cable"..rule) + end + pos1.z=pos1.z+1 +end + +function make_rule_number (x1,x2,y1,y2,z1,z2) +local temp= z2+z1*2+y2*4+y1*8+x2*16+x1*32 +return temp +end + +check_connections_on_destroy = function(pos) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + + pos1.x=pos1.x+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + x2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("x2",x2) + end + + pos1.x=pos1.x-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + x1=0 + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("x1",x1) + end + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + y2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("y2",y2) + end + + pos1.y=pos1.y-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + y1=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("y1",y1) + end + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + z2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("z2",z2) + end + + pos1.z=pos1.z-2 + if minetest.env:get_meta(pos1):get_float("cablelike")==1 then + z1=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:lv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:lv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("z1",z1) + end + pos1.y=pos1.y+1 + +end + diff --git a/mods/technic/wires_mv.lua b/mods/technic/wires_mv.lua new file mode 100644 index 0000000..7924956 --- /dev/null +++ b/mods/technic/wires_mv.lua @@ -0,0 +1,400 @@ +--MV cable node boxes + + +minetest.register_alias("mv_cable", "technic:mv_cable") + +minetest.register_craft({ + output = 'technic:mv_cable 3', + recipe ={ + {'technic:rubber','technic:rubber','technic:rubber'}, + {'technic:lv_cable','technic:lv_cable','technic:lv_cable'}, + {'technic:rubber','technic:rubber','technic:rubber'}, + } +}) + + +minetest.register_craftitem("technic:mv_cable", { + description = "Medium Voltage Copper Cable", + stack_max = 99, +}) + +minetest.register_node("technic:mv_cable", { + description = "Medium Voltage Copper Cable", + tiles = {"technic_mv_cable.png"}, + inventory_image = "technic_mv_cable_wield.png", + wield_image = "technic_mv_cable_wield.png", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + drop = "technic:mv_cable", + mv_cablelike=1, + rules_x1=0, + rules_x2=0, + rules_y1=0, + rules_y2=0, + rules_z1=0, + rules_z2=0, + paramtype = "light", + drawtype = "nodebox", + selection_box = { + type = "fixed", + fixed = { + { -0.1 , -0.1 , -0.1 , 0.1 , 0.1 , 0.1 }, + }}, + node_box = { + type = "fixed", + fixed = { + { -0.1 , -0.1 , -0.1 , 0.1 , 0.1 , 0.1 }, + }}, + on_construct = function(pos) + meta=minetest.env:get_meta(pos) + meta:set_float("mv_cablelike",1) + meta:set_float("x1",0) + meta:set_float("x2",0) + meta:set_float("y1",0) + meta:set_float("y2",0) + meta:set_float("z1",0) + meta:set_float("z2",0) + MV_check_connections (pos) + end, + + after_dig_node = function (pos, oldnode, oldmetadata, digger) + MV_check_connections_on_destroy (pos) + end, + +}) + + +str_y1= { -0.1 , -0.1 , -0.1 , 0.1 , 0.5, 0.1 } --0 y+ +str_x1= { -0.1 , -0.1 , -0.1 , 0.5, 0.1 , 0.1 } --0 x+ +str_z1= { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.5 } --0 z+ +str_z2= { -0.1 , -0.1, -0.5 , 0.1 , 0.1 , 0.1 } --0 z- +str_y2= { -0.1 , -0.5, -0.1 , 0.1 , 0.1 , 0.1 } --0 y- +str_x2= { -0.5 , -0.1, -0.1 , 0.1 , 0.1 , 0.1 } --0 x- + + + +local x1,x2,y1,y2,z1,z2 +local count=0 + +for x1 = 0, 1, 1 do --x- +for x2 = 0, 1, 1 do --x+ +for y1 = 0, 1, 1 do --y- +for y2 = 0, 1, 1 do --y- +for z1 = 0, 1, 1 do --z- +for z2 = 0, 1, 1 do --z+ + +temp_x1={} temp_x2={} temp_y1={} temp_y2={} temp_z1={} temp_z2={} + +if x1==1 then temp_x1=str_x1 end +if x2==1 then temp_x2=str_x2 end +if y1==1 then temp_y1=str_y1 end +if y2==1 then temp_y2=str_y2 end +if z1==1 then temp_z1=str_z1 end +if z2==1 then temp_z2=str_z2 end + + +minetest.register_node("technic:mv_cable"..count, { + description = "Medium Voltage Copper Cable", + tiles = {"technic_mv_cable.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + drop = "technic:mv_cable", + rules_x1=0, + rules_x2=0, + rules_y1=0, + rules_y2=0, + rules_z1=0, + rules_z2=0, + cablelike=1, + paramtype = "light", + drawtype = "nodebox", + selection_box = { + type = "fixed", + fixed = { + temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, + }}, + + node_box = { + type = "fixed", + fixed = { + temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, + }}, + + after_dig_node = function (pos, oldnode, oldmetadata, digger) + MV_check_connections_on_destroy (pos) + end, + +}) + +count=count+1 end end end end end end + +MV_check_connections = function(pos) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + + pos1.x=pos1.x+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + x2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("x2",x2) + meta=minetest.env:get_meta(pos) + x1=1 + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("x1",x1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + + pos1.x=pos1.x-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + x1=1 + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("x1",x1) + meta=minetest.env:get_meta(pos) + x2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("x2",x2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + y2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("y2",y2) + meta=minetest.env:get_meta(pos) + y1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("y1",y1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + + if minetest.env:get_meta(pos1):get_float("technic_mv_power_machine")==1 then + y1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos) + meta:set_float("y1",y1) + end + + + pos1.y=pos1.y-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + y1=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("y1",y1) + meta=minetest.env:get_meta(pos) + y2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + z1=minetest.env:get_meta(pos):get_float("z1") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("y2",y2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + z2=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("z2",z2) + meta=minetest.env:get_meta(pos) + z1=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z2=minetest.env:get_meta(pos):get_float("z2") + meta:set_float("z1",z1) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + pos1.z=pos1.z-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + z1=1 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos1,"technic:mv_cable"..rule) + meta=minetest.env:get_meta(pos1) + meta:set_float("z1",z1) + meta=minetest.env:get_meta(pos) + z2=1 + x1=minetest.env:get_meta(pos):get_float("x1") + x2=minetest.env:get_meta(pos):get_float("x2") + y1=minetest.env:get_meta(pos):get_float("y1") + y2=minetest.env:get_meta(pos):get_float("y2") + z1=minetest.env:get_meta(pos):get_float("z1") + meta:set_float("z2",z2) + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + hacky_swap_node(pos,"technic:mv_cable"..rule) + end + pos1.z=pos1.z+1 +end + + +MV_check_connections_on_destroy = function(pos) + local pos1={} + pos1.x=pos.x + pos1.y=pos.y + pos1.z=pos.z + + pos1.x=pos1.x+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + x2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("x2",x2) + end + + pos1.x=pos1.x-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + x1=0 + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("x1",x1) + end + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + y2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("y2",y2) + end + + pos1.y=pos1.y-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + y1=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("y1",y1) + end + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + z2=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z1=minetest.env:get_meta(pos1):get_float("z1") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("z2",z2) + end + + pos1.z=pos1.z-2 + if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then + z1=0 + x1=minetest.env:get_meta(pos1):get_float("x1") + x2=minetest.env:get_meta(pos1):get_float("x2") + y1=minetest.env:get_meta(pos1):get_float("y1") + y2=minetest.env:get_meta(pos1):get_float("y2") + z2=minetest.env:get_meta(pos1):get_float("z2") + rule=make_rule_number(x1,x2,y1,y2,z1,z2) + if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end + if rule>0 then hacky_swap_node(pos1,"technic:mv_cable"..rule) end + meta=minetest.env:get_meta(pos1) + meta:set_float("z1",z1) + end + pos1.y=pos1.y+1 + +end + diff --git a/mods/teleporters/depends.txt b/mods/teleporters/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/teleporters/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/teleporters/init.001 b/mods/teleporters/init.001 new file mode 100755 index 0000000..589b40e --- /dev/null +++ b/mods/teleporters/init.001 @@ -0,0 +1,192 @@ +-- Teleporters mod by Zeg9 +-- Licensed under the WTFPL +-- Have fun :D + +teleporters = {} + +-- config +teleporters.go_up_effect = true +-- end + +teleporters.block_groups = {cracky=2} +teleporters.copy_pos = function (_pos) + return {x=_pos.x, y=_pos.y, z=_pos.z} +end + +teleporters.is_safe = function (pos) + ok = false + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y +1 + if minetest.env:get_node(pos).name == "air" then + pos.y = pos.y +1 + if minetest.env:get_node(pos).name == "air" then + ok = true + end + pos.y = pos.y -1 + end + pos.y = pos.y -1 + end + return ok +end + +teleporters.find_safe = function (_pos) + pos = teleporters.copy_pos(_pos) + pos.x = pos.x +1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.x = pos.x -1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.z = pos.z +1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.z = pos.z -1 if teleporters.is_safe(pos) then return pos end + + return _pos +end + +teleporters.network = {} + +teleporters.file = minetest.get_worldpath()..'/teleporters' + +teleporters.save = function() + local output = '' + for id, coords in pairs(teleporters.network) do output = output..id..':'..coords.x..','..coords.y..','..coords.z..';' end + local f = io.open(teleporters.file, "w") + f:write(output) + io.close(f) +end + +teleporters.load = function() + local f = io.open(teleporters.file, "r") + if f then + local contents = f:read() + io.close(f) + if contents ~= nil then + local entries = contents:split(";") + for i,entry in pairs(entries) do + local id, coords = unpack(entry:split(":")) + local p = {} + p.x, p.y, p.z = string.match(coords, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + if p.x and p.y and p.z then + teleporters.network[tonumber(id)] = {x = tonumber(p.x),y= tonumber(p.y),z = tonumber(p.z)} + end + end + end + end +end + +teleporters.load() + +teleporters.get_new_id = function() + id = 0 + for k,_ in pairs(teleporters.network) do + if k > id then id = k end + end + return id+1 +end + +teleporters.make_formspec = function (meta) + formspec = "size[6,3]" .. + "label[0,0;Teleporter #"..meta:get_int("id").."]".. + "field[1,1.25;4.5,1;desc;Description;"..meta:get_string("infotext").."]".. + "button_exit[2,2;2,1;save;Save]" + return formspec +end + +teleporters.teleport = function (params) + params.obj:setpos(params.pos) +end + +-- Nodes and items + +minetest.register_craftitem("teleporters:spiral", { + description = "Mese spiral", + inventory_image = "teleporters_spiral.png", +}) + +minetest.register_node("teleporters:base", { + description = "Teleporter base", + tiles = {"teleporters_base.png"}, + groups = teleporters.block_groups, + light_source = 10, +}) + +minetest.register_node("teleporters:teleporter", { + description = "Teleporter", + tiles = {"teleporters_base.png^teleporters_spiral.png","teleporters_base.png"}, + groups = teleporters.block_groups, + light_source = 10, + on_construct = function(pos) + id = teleporters.get_new_id() + teleporters.network[id] = pos + teleporters.save() + local meta = minetest.env:get_meta(pos) + meta:set_int("id",id) + meta:set_string("infotext","Teleporter") + meta:set_string("formspec",teleporters.make_formspec(meta)) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.desc then + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext",fields.desc) + meta:set_string("formspec",teleporters.make_formspec(meta)) + end + end, +}) + +-- ABM + +minetest.register_abm({ + nodenames = {"teleporters:teleporter"}, + interval = 1, + chance = 1, + action = function(pos, node) + local meta = minetest.env:get_meta(pos) + pos.y = pos.y+.5 + local objs = minetest.env:get_objects_inside_radius(pos, .5) + pos.y = pos.y -.5 + for _, obj in pairs(objs) do + minetest.sound_play("teleporters_teleport",{pos=pos,gain=1,max_hear_distance=32}) + if meta:get_int("id") %2 == 0 then newpos = teleporters.network[meta:get_int("id")-1] + else newpos = teleporters.network[meta:get_int("id")+1] end + if not newpos then newpos = pos end + newpos = teleporters.copy_pos(newpos) + minetest.sound_play("teleporters_teleport",{gain=1,to_player=obj:get_player_name()}) + newpos = teleporters.find_safe(newpos) + newpos.y = newpos.y + .5 + if teleporters.go_up_effect then + newpos.y = newpos.y -1 + teleporters.teleport({obj=obj,pos=newpos}) + newpos.y = newpos.y +1 + minetest.after(.1, teleporters.teleport, {obj=obj,pos=newpos}) + else + teleporters.teleport({obj=obj,pos=newpos}) + end + end + end, +}) + +-- Crafting + +minetest.register_craft({ + output = '"teleporters:spiral" 16', + recipe = { + {"default:coal_lump","default:mese","default:coal_lump"}, + {"default:mese","","default:mese"}, + {"default:coal_lump","default:mese","default:coal_lump"} + } +}) + +minetest.register_craft({ + output = '"teleporters:base" 4', + type = "shapeless", + recipe = {"default:steel_ingot","default:steel_ingot","default:mese","default:mese","bucket:bucket_lava"}, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}} +}) + +minetest.register_craft({ + output = "teleporters:teleporter", + recipe = { {"teleporters:spiral"}, {"teleporters:base"} }, +}) + diff --git a/mods/teleporters/init.lua b/mods/teleporters/init.lua new file mode 100755 index 0000000..fd81d73 --- /dev/null +++ b/mods/teleporters/init.lua @@ -0,0 +1,186 @@ +-- Teleporters mod by Zeg9 +-- Licensed under the WTFPL +-- Have fun :D + +teleporters = {} + +-- config +teleporters.go_up_effect = true +-- end + +teleporters.block_groups = {cracky=2} +teleporters.copy_pos = function (_pos) + return {x=_pos.x, y=_pos.y, z=_pos.z} +end + +teleporters.is_safe = function (pos) + ok = false + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y +1 + if minetest.env:get_node(pos).name == "air" then + pos.y = pos.y +1 + if minetest.env:get_node(pos).name == "air" then + ok = true + end + pos.y = pos.y -1 + end + pos.y = pos.y -1 + end + return ok +end + +teleporters.find_safe = function (_pos) + pos = teleporters.copy_pos(_pos) + pos.x = pos.x +1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.x = pos.x -1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.z = pos.z +1 if teleporters.is_safe(pos) then return pos end + + pos = teleporters.copy_pos(_pos) + pos.z = pos.z -1 if teleporters.is_safe(pos) then return pos end + + return _pos +end + +teleporters.network = {} + +teleporters.file = minetest.get_worldpath()..'/teleporters' + +teleporters.save = function() + local output = '' + for id, coords in pairs(teleporters.network) do output = output..id..':'..coords.x..','..coords.y..','..coords.z..';' end + local f = io.open(teleporters.file, "w") + f:write(output) + io.close(f) +end + +teleporters.load = function() + local f = io.open(teleporters.file, "r") + if f then + local contents = f:read() + io.close(f) + if contents ~= nil then + local entries = contents:split(";") + for i,entry in pairs(entries) do + local id, coords = unpack(entry:split(":")) + local p = {} + p.x, p.y, p.z = string.match(coords, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + if p.x and p.y and p.z then + teleporters.network[tonumber(id)] = {x = tonumber(p.x),y= tonumber(p.y),z = tonumber(p.z)} + end + end + end + end +end + +teleporters.load() + +teleporters.get_new_id = function() + id = 0 + for k,_ in pairs(teleporters.network) do + if k > id then id = k end + end + return id+1 +end + +teleporters.make_formspec = function (meta) + formspec = "size[6,3]" .. + "label[0,0;Teleporter #"..meta:get_int("id").."]".. + "field[1,1.25;4.5,1;desc;Description;"..meta:get_string("infotext").."]".. + "button_exit[2,2;2,1;save;Save]" + return formspec +end + +teleporters.teleport = function (params) + params.obj:setpos(params.pos) +end + +-- Nodes and items + +minetest.register_craftitem("teleporters:spiral", { + description = "Mese spiral", + inventory_image = "teleporters_spiral.png", +}) + +minetest.register_node("teleporters:base", { + description = "Teleporter base", + tiles = {"teleporters_base.png"}, + groups = teleporters.block_groups, + light_source = 10, +}) + +minetest.register_node("teleporters:teleporter", { + description = "Teleporter", + tiles = {"teleporters_base.png^teleporters_spiral.png","teleporters_base.png"}, + groups = teleporters.block_groups, + light_source = 10, + on_construct = function(pos) + id = teleporters.get_new_id() + teleporters.network[id] = pos + teleporters.save() + local meta = minetest.env:get_meta(pos) + meta:set_int("id",id) + meta:set_string("infotext","Teleporter") + meta:set_string("formspec",teleporters.make_formspec(meta)) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.desc then + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext",fields.desc) + meta:set_string("formspec",teleporters.make_formspec(meta)) + end + end, +}) + +-- ABM + +minetest.register_abm({ + nodenames = {"teleporters:teleporter"}, + interval = 1, + chance = 1, + action = function(pos, node) + local meta = minetest.env:get_meta(pos) + pos.y = pos.y+.5 + local objs = minetest.env:get_objects_inside_radius(pos, .5) + pos.y = pos.y -.5 + for _, obj in pairs(objs) do + minetest.sound_play("teleporters_teleport",{pos=pos,gain=1,max_hear_distance=32}) + if meta:get_int("id") %2 == 0 then newpos = teleporters.network[meta:get_int("id")-1] + else newpos = teleporters.network[meta:get_int("id")+1] end + if not newpos then newpos = pos end + newpos = teleporters.copy_pos(newpos) + minetest.sound_play("teleporters_teleport",{gain=1,to_player=obj:get_player_name()}) + newpos = teleporters.find_safe(newpos) + newpos.y = newpos.y + .5 + if teleporters.go_up_effect then + newpos.y = newpos.y -1 + teleporters.teleport({obj=obj,pos=newpos}) + newpos.y = newpos.y +1 + minetest.after(.1, teleporters.teleport, {obj=obj,pos=newpos}) + else + teleporters.teleport({obj=obj,pos=newpos}) + end + end + end, +}) + +-- Crafting + +minetest.register_craft({ + output = '"teleporters:spiral" 16', + recipe = { + {"default:coal_lump","default:mese","default:coal_lump"}, + {"default:mese","","default:mese"}, + {"default:coal_lump","default:mese","default:coal_lump"} + } +}) + +minetest.register_craft({ + output = '"teleporters:base" 4', + type = "shapeless", + recipe = {"default:steel_ingot","default:steel_ingot","default:mese","default:mese","bucket:bucket_lava"}, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}} +}) diff --git a/mods/teleporters/sounds/teleporters_teleport.ogg b/mods/teleporters/sounds/teleporters_teleport.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6d1bc1b26e804836bb40f841842cacfa81e3aac7 GIT binary patch literal 4781 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 M3&MiQrPI*=0KQ_Bw*UYD literal 0 HcmV?d00001 diff --git a/mods/teleporters/textures/teleporter_teleporter_pad_16.png b/mods/teleporters/textures/teleporter_teleporter_pad_16.png new file mode 100644 index 0000000000000000000000000000000000000000..1a59761899875680624e735235ead68299dc2b5f GIT binary patch literal 1047 zcmV+y1nB#TP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1{eSh3z4~7;Q#;tL3Bk}bVF}# zZDnqB07FtmK~zstIv{6cEoyLOXCQVlE-)Y{b#rNMXCO&RM<7a2MMofZHZmzJAaQkJ zY-x0PAUz;AH44Y9f!qK916)Z&K~y-)CCyE5R8<_n;ote6bMN%d3uS6)DGV(wgN2Ur z)<{GVVzhOki7{+gu_4ju!o(P3g7E_YF>ztz#+a~hqmhNike~!(l(;|{qNP-*mX}gm zIy0SdUhmv{jtieJ@TijqJQkXoU4sUvBb+B}9s^yEGL0fC(5|L?4Xu(8>O->hgWP_9dx_8Hy|@)7@yG0 zUyjk)4y>;z_8rkgq3c;)be~_lsNdPKYfO%wm?VE_w^yl}V7bu@DtGL$>~^^|G#1U@ zn^m}uLVY-$MiZf0=E!2Db$Zia{^`@79w*#j(ETZ(2W%BxY4h>x7r1`sdS`G@PBQ1d zD0>e5LdBs2p%l3V=^Yt9bN(2ve;5^ORJVrfsUsw?>1{mq{9`1B2ff!1v^#E zST`{|LTEMdQW?{~m8jc61wOXrW1}Y8^wBM^&{0{AKDUR;#m)zwA|aAgtx!Q>Y6O|+ zC5l&YQpQ<}h@dxsvoYceP)7&ClhfNNWnIR+;zXj~=(ZLVHl@*l!Rrr*!!BA2);g3Z zY|B7W5P&#|`J+R!CiCusv_$1)F1?j_{`)1`%QfOKiI>{=|7tAVHBb^`8!c=bB&;+0 zu!Jg@GDkp2>RKi*@6GnV-)8$-sb3dASI^ z&v^7C<6px@bobtJgJecgei|`?s{PG3UtZ&*_rGIL;GK)p>a?c~>g~e; zQOT0c8dg0~(Zldte{kc=hbIdhcr}mvrOkY@#8)##l()tX7oSP&ms58xt9ZT7q29woUl7?nM}DLADv1 zSK5RFkU%ZdaL;ae(T(=~rIU#r;;Vzvx_hA4%C}9eR=4zYHCKP^u=|+={{b_*d#?9E R%!U8}002ovPDHLkV1iXh;n4s9 literal 0 HcmV?d00001 diff --git a/mods/teleporters/textures/teleporters_base.png b/mods/teleporters/textures/teleporters_base.png new file mode 100644 index 0000000000000000000000000000000000000000..5d853b55848c455a1f06e8d1177dc5ddae1635f7 GIT binary patch literal 912 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 + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_ladder 3', + recipe = { + {'usesdirt:dirt_brick', '', 'usesdirt:dirt_brick'}, + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick','usesdirt:dirt_brick'}, + {'usesdirt:dirt_brick','','usesdirt:dirt_brick'}, + } +}) +--Fence +minetest.register_node("usesdirt:dirt_fence", { + description = "Dirt Fence", + drawtype = "fencelike", + tiles ={"usesdirt_dirt_brick.png"}, + inventory_image = "usesdirt_dirt_fence.png", + wield_image = "usesdirt_dirt_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=2,choppy=1,oddly_breakable_by_hand=3}, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_fence 2', + recipe = { + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'}, + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'}, + } +}) +--------------------------------------------------------------------------------------------------- +minetest.register_node("usesdirt:dirt_cobble_stone", { + tiles = {"usesdirt_dirt_cobble_stone.png"}, + description = "Dirt Cobble Stone", + is_ground_content = true, + groups = {cracky=3, stone=2}, +}) +minetest.register_craft({ + output = '"usesdirt:dirt_cobble_stone" 3', + recipe = { + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'}, + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'}, + {'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'}, + } +}) +--Ladder +minetest.register_node("usesdirt:dirt_cobble_stone_ladder", { + description = "Ladder", + drawtype = "signlike", + tiles ={"usesdirt_dirt_cobble_stone_ladder.png"}, + inventory_image = "usesdirt_dirt_cobble_stone_ladder.png", + wield_image = "usesdirt_dirt_cobble_stone_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {cracky=3, stone=2}, + legacy_wallmounted = true, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_cobble_stone_ladder 3', + recipe = { + {'usesdirt:dirt_cobble_stone', '', 'usesdirt:dirt_cobble_stone'}, + {'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone','usesdirt:dirt_cobble_stone'}, + {'usesdirt:dirt_cobble_stone','','usesdirt:dirt_cobble_stone'}, + } +}) +--Fence +minetest.register_node("usesdirt:dirt_cobble_stone_fence", { + description = "Dirt Cobble Stone Fence", + drawtype = "fencelike", + tiles ={"usesdirt_dirt_cobble_stone.png"}, + inventory_image = "usesdirt_dirt_cobble_stone_fence.png", + wield_image = "usesdirt_dirt_cobble_stone_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {cracky=3, stone=2}, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_cobble_stone_fence 2', + recipe = { + {'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone'}, + {'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone'}, + } +}) +---------------------------------------------------------------------------------------------------- +minetest.register_node("usesdirt:dirt_stone", { + tiles = {"usesdirt_dirt_stone.png"}, + description = "Dirt Stone", + is_ground_content = true, + groups = {cracky=3, stone=2}, +}) +--Ladder +minetest.register_node("usesdirt:dirt_stone_ladder", { + description = "Ladder", + drawtype = "signlike", + tiles ={"usesdirt_dirt_stone_ladder.png"}, + inventory_image = "usesdirt_dirt_stone_ladder.png", + wield_image = "usesdirt_dirt_stone_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {cracky=3, stone=2}, + legacy_wallmounted = true, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_stone_ladder 3', + recipe = { + {'usesdirt:dirt_stone', '', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone','usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone','','usesdirt:dirt_stone'}, + } +}) +--Fence +minetest.register_node("usesdirt:dirt_stone_fence", { + description = "Dirt Stone Fence", + drawtype = "fencelike", + tiles ={"usesdirt_dirt_stone.png"}, + inventory_image = "usesdirt_dirt_stone_fence.png", + wield_image = "usesdirt_dirt_stone_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {cracky=3, stone=2}, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_stone_fence 2', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + } +}) +minetest.register_craft({ + type = "cooking", + output = "usesdirt:dirt_stone", + recipe = "usesdirt:dirt_cobble_stone", +}) +--Furnace +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("usesdirt:dirt_furnace", { + description = "Furnace", + tiles = {"usesdirt_dirt_furnace_top.png", "usesdirt_dirt_furnace_bottom.png", "usesdirt_dirt_furnace_side.png", + "usesdirt_dirt_furnace_side.png", "usesdirt_dirt_furnace_side.png", "usesdirt_dirt_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("usesdirt:dirt_furnace_active", { + description = "Furnace", + tiles = {"usesdirt_dirt_furnace_top.png", "usesdirt_dirt_furnace_bottom.png", "usesdirt_dirt_furnace_side.png", + "usesdirt_dirt_furnace_side.png", "usesdirt_dirt_furnace_side.png", "usesdirt_dirt_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "usesdirt:dirt_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"usesdirt:dirt_furnace","usesdirt:dirt_furnace_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"usesdirt:dirt_furnace_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"usesdirt:dirt_furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"usesdirt:dirt_furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_furnace', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'default:dirt','usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone','usesdirt:dirt_stone','usesdirt:dirt_stone'}, + } +}) +--Tools +--axe +minetest.register_tool("usesdirt:dirt_axe", { + description = "Dirt Axe", + inventory_image = "usesdirt_dirt_axe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=20, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_axe', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'default:stick'}, + {'', 'default:stick'}, + } +}) +--Sword +minetest.register_tool("usesdirt:dirt_sword", { + description = "Dirt Sword", + inventory_image = "usesdirt_dirt_sword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + choppy={times={[3]=0.90}, uses=20, maxlevel=0} + } + } +}) +minetest.register_craft({ + output = 'usesdirt:dirt_sword', + recipe = { + {'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone'}, + {'default:stick'}, + } +}) + +--Shovel +minetest.register_tool("usesdirt:dirt_shovel", { + description = "Dirt Shovel", + inventory_image = "usesdirt_dirt_shovel.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_shovel', + recipe = { + {'usesdirt:dirt_stone'}, + {'default:stick'}, + {'default:stick'}, + } +}) +--Pickaxe +minetest.register_tool("usesdirt:dirt_pick", { + description = "Dirt Pickaxe", + inventory_image = "usesdirt_dirt_pick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_craft({ + output = 'usesdirt:dirt_pick', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) +--Chest +minetest.register_node("usesdirt:dirt_chest", { + description = "Dirt Chest", + tiles = {"usesdirt_dirt_chest.png"}, + paramtype2 = "facedir", + groups = {cracky=3, stone=2}, + legacy_facedir_simple = true, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("usesdirt:dirt_locked_chest", { + description = "Dirt Locked Chest", + tiles = {"usesdirt_dirt_locked_chest.png"}, + paramtype2 = "facedir", + groups = {cracky=3, stone=2}, + legacy_facedir_simple = true, + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_craft({ + output = 'usesdirt:dirt_locked_chest', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'default:steel_ingot', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + } +}) +minetest.register_craft({ + output = 'usesdirt:dirt_chest', + recipe = { + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', '', 'usesdirt:dirt_stone'}, + {'usesdirt:dirt_stone', 'usesdirt:dirt_stone', 'usesdirt:dirt_stone'}, + } +}) diff --git a/mods/usesdirt/textures/default_furnace_fire_fg.png b/mods/usesdirt/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb19df7438f6c806af40f6357bd0b28761c0169 GIT binary patch literal 865 zcmV-n1D^beP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyh& z4*(X+Ro>PB00QAjL_t(I%Z-y=Xp?so#()1eZ)5W2&1dt`q)SqX^p#aBL+h-Jj(sqY zsW^5wh9csPH$yhYP!OhqUU;{QO{56h#2d9Ja|0R7iZ)>cW{G#?m}CNWKu z<3%Z2=D>4xc+TND&vW2`*Qldm4@bkESK;y>aHkXbKccaegRzuj)m$A6nR2eMpjLp3 z{YYp zP(IQp05gxK0cd=&R(yUZn%*R|J_vw45hnh2g2v_^w8+Jb0?16w5!>R!yC=frr*28C z3oJj$ijy2lQIw$PWe9JK zVFZK7#7FY)jR%CcucOsheL-LbJm}+P+Nll?)AxyfxE{6Rx?)&Z8VpeAUxJ)Qqtj;a z^k*#22GLz{wBn&R1i<_ut2#a%TSv$L#Etgu?+PF{_YlK!(QWfFeQT0-wF1d*vc*ZX zhzHGX*pTCI2|%S%rkR;1c|4~8znEg@y{^~m>_KxGODRlQI zap*DN7{o?PiqR6;lTk6F0oW2p^R(y+3PlsvEOb%%v&hzO_EDW4BlojHNqSgr|B+?$ z&^GXv;Zl}oA4G9jQMfh*8%&TG`CAismweFc;M$p++WFU8GbZ8()Nlj2>E@cM*00KBkL_t(o!|m43YaC@5 z2k_6Ejk{|lF=EiVEd+`boui7Ex`-DAD+n#kV(!vQ2~v;#0saJYmK@u{D0uK79weYE z(w>@Lrm@f#f?Y~35*F=5l8gu64O$rdgblaWL2}}&Cx=;BVcpq=!JtPNlCJd?mS$rPBi}?OW_@v$O+b9Go!)%_L zvWgd?b3O7eBCL0*rm0+UGQrd(}ztPktJ=r?)b3Tuz^{eC<-C` z?ZYgd8YKk-5%@=yU)nAFp>SD1p$I`hwX`ni#kuEd+8tX@Pgn09eZ2ahF;nwctrCg? z%#6|r13A!2>e4Lt)!LT%=WFkT5EgI**DE31FZeTXr<4@*z*|WjPT@RW#qFXfUi9E8Bce(Gbqgr6e#7x8{A&GMbTJ;s`XKI@;r#n}5l z;QKVofA8Nj))e# literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_brick.png b/mods/usesdirt/textures/usesdirt_dirt_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..d2fd6c85eaf4423a08019ab816d9e6dc7483dde4 GIT binary patch literal 4274 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 U5RRR~RR91007*qoM6N<$f;v4fq5uE@ literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_chest.png b/mods/usesdirt/textures/usesdirt_dirt_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..93436a0a48ccc96ac389c48af2b69e3868ab3ac5 GIT binary patch literal 500 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 O2|$@yA!|(T#Qz^Wjb2Lt literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_cobble_stone_fence.png b/mods/usesdirt/textures/usesdirt_dirt_cobble_stone_fence.png new file mode 100644 index 0000000000000000000000000000000000000000..4aaebc4f19db4ceea1c91231255c589c006a2302 GIT binary patch literal 6533 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 literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_cobble_stone_ladder.png b/mods/usesdirt/textures/usesdirt_dirt_cobble_stone_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..3160f1c6804a6644d3e11870f182bbfd0e8a3cb7 GIT binary patch literal 8930 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 literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_cup.png b/mods/usesdirt/textures/usesdirt_dirt_cup.png new file mode 100644 index 0000000000000000000000000000000000000000..ef367e530c2cd5b5ccfe702cacaa5d042ecb6a31 GIT binary patch literal 952 zcmV;p14sOcP)WFU8GbZ8()Nlj2>E@cM*00SIJL_t(&-tCxAYZE~j z#(%S$O`Eh;TN|sP>QU@LRJ`UBc=a3j0R+LDegQ?ic<~}01x4^C_MoyyMNrVvQbcIG z(i&Tv{z<#Z?s%9D*`{f-Nhg2QeJ%;f?Cd+w`@GM*GY}(2j2JOu#E20iM%&0`4?kAN z9PL0f8*qLUX4bk!qyW-@to=_)uuR08MYbv=*iIJ+0JxkXl`rz-)DSt#M2a9FQGHqh zM}UzgQ>_9!2mB|2abO_4=+HZGJ(yWzrr&bYk$|YoEhVhG>c@N$CWpy?UDc;LquGE9$KmlT-lYtWCWk4MeOTI346q#%=GPNxqvRlw(8>T`XUqGcdYreS#-KCFOgD1uC(G9+nB75i#k z2q;UK`weGCV8j9;RJnRSv!JK`BYQx=_&6{Jj0#kco(~^?!m$CcOc+fLYDzX_JDdt>ia6FD<{D9VY>vYyO7_3K~s(MfkYh!Ohc8B zC#&l5r6Nm8*eJnxYX9OZ(6#us38-XHN|j>EP%1b&pz5|9ET-(&f7X*~!C{qHM)mvI zLFF%UzfwHiTW>1__>E-j2boHmkkk;EU*AiXbrWE;Ft${$K{=?V4{c5&S`xZRfZ!j5 z!GDgJfS7>RkP5W|y@2Q?0lUB*pwL4@O!bri+u=Uo_F&-^#og-}0ipKuR;Tvl28;Is z;-B|}3BClb14~`-0~rwg0yt+o%`gr1J{A a9{vDG_V+XAw(M{K0000+K?R-o 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 literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_furnace_front_active.png b/mods/usesdirt/textures/usesdirt_dirt_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..ef00526306404cbaa6fd48e31c2be01324cd4bca GIT binary patch literal 4794 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 UU7|wAb^rhX07*qoM6N<$f>(v)>Hq)$ literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_furnace_side.png b/mods/usesdirt/textures/usesdirt_dirt_furnace_side.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1d47c444dfa3cda857df2fc1f60c15bea56697 GIT binary patch literal 3062 zcma)83sh5A7CkRN0)dza0%FvF%MmQ2p)3SMCH$ons^aQEQ5r$8d=wA_`HVbd?4X07 z#Zg3xv{btok*|VPkWew5LHP|We=DL0PJ@6}mI#tLj}W9RY)w{j^X_{&cb|RsKKCBo z;^CsDVW0s3TCSTNw*k;d0OACjg)^I;H?PEj<>%(&2ny<*TlH-Q&ZviP_KpPLXj2~o zvaNBB> ztNWJSYXa0T$S1CjcH0kj4&M7Hy}Nv|^g+xmEo05N%r3#R*S4;koC}?rzjNPuP`FOF zJDFwC8&}m)|Hap}{ltEbRLqsx9#!NR^|}FwQqOOoA$m5DzyLAOKnMizNC37NfFZ=> zc=O(#H7yy+*+_#PA8V%%^Xt8yFWjozxB~;7%i31kcja@5d%)3aKQnVN{Ph!_wbpG* zAAY={|DIZI<86Rs=JX)>8+BO~si`>wBwRl&iQqP>GZBJ*srctQ_d2Ejr}JVixcB(h=Km53}IrCDRuR&c|FjiQv|o*%p2oYN3mXwR?Fd ze5p-_O)Qu7`#}$T|FO(%=Sm)b-u!x^S@B?#9vxiFE~MNE(yGa-%lj&NF*!ArF_m22 zsQgKVfKCUIK9Wk2Y4!dOQg8^jujvvT=wBg(Bs;6GdIr<3Kj-sEsW5xX@Fth;F?K-# z!I>sx4wMlN`#T7<4!3-T#S0 z@x^CWEgqCOzoA<@Wk=pK3%(ynY#ERFZ>T!PVEL6Zu)g&7eQ0aTIQk$F-Gpa5`zK!1 zkF_NpTn4GgP4#HGuQQc{ugJDFw%ouCmk%uvM4hRyK!qgp@eAo9SCp}MY)f2^yK-xzjxJW;XAZ|vED)Q_s;Tan_9?n=iULq&>sYo`qxtISMoT@uCu zO>x!IlF|YN48I!c3n^Q<+>9k}_M8~WTL5xj558xxd8_=k0Ba;3lG9i-)Fbe@l5a}8 z)I%yF;*m)P%Uo6Xg%MR8F{&=g@Y|HgLL1rTgAL$QIw#vXwR(%kRMX*(jmroScq-9V zI-a_1u1A9O;zgYZ>&u2-p58`-J@P zuB(fY&1m6NqRxX|0*ISDZqY)c@yMjiAc9~^$-7sicV^Sb_0O;%qxTS?sjC|JQK z_^$!^3cK15&naDZ+Wx8m2kQ`8(9Zr3hqBHa9l-CkAd1{W@{Sel&fZ4*E=*!Wr4`ek zV_hnia1igl0@Irf#Fdwql}PQBNF|6gy@RPavxq)+Y|5+Fou<15X!=B>7E|*wAz&+o<8Yr}|fm@&}Jhxn+dOyBT}qij09p zp_eF!QW=BHn`@DG6OHs5E>E`g>6l$u=U?yU=)EBl-4`1C0sl;k!C{MkuI!D|BT-oc z_8$EH9WkjsBiTu>RH+Egnn*yRSGO(kY_0JxVN4-3RgIO{{p%+$Oito|dt~$SIs-9~ zH7{xG`>}VFpp%QIKqn)1l0Tn_rir2CoV!%bjy`NSt*F13Cj&zg?|JN6b}O$Se?wuY z4v9q`5YIq+P&C^*R+=F|Ony`P)x{yv8CnRh+)`!Vhs#2U6kw3t87rMt?3uN(s5B@icS<24v-HRN2mWWJjg~<_ zWm~odn<5nSQ@MJ();mC%)m5bF8!HTqr$HH7QzElcfl~GqvYsyTJ6=82R9-qTVc<__ z`J%dQid#n(n_(nGVCo%gp^G|c_bSEdkWTmYInD&B zjPTkq#DFHIiWis1YkHC%DRp{rg22A~rnf9PgbA_5>y;;iywR<;ApO*To;u7j1sN@1 zXhDL0TbhQrM~u9j*0X(7oLIPY5h=C1o4&mBV}D}&apzWoEfAa4)549{CH>)XMio8` zvDTcrFv;wEn#u%X^Qy<_qcBTdY!@BWseleD3#tC0>IR8a=i;CAtUcA4YGHGl>S$f( zrcXe95ysWv2ytcf+>Gk?lx^XmJSoJ5nQLhS`YFmEWL2E4*Uq6q8I2gI=aSsXwBaRb@M~ayJr}pj zpXKmse6M*K!4{KtnNwgT6xhDiR&NKJq6EuRf)!Cj@Jb6NA~7!;VL)JDVmBD>h`on$-J?(3(k-J U*%(&2ny<*TlH-Q&ZviP_KpPLXj2~o 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 P00000NkvXXu0mjf8LQET literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_locked_chest.png b/mods/usesdirt/textures/usesdirt_dirt_locked_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..28f7554c20600314048deb1953c6e378d8fbe504 GIT binary patch literal 948 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPak2tfj`TMr6tw15!%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq_}V)5S5Q;?~<)`}2ey1={!Dw4JXjBf`O?;>4)IYZ7uH zARv&D)x%^D6TjnGV}-b;EPmMO36^KjoC( zi@y7|#`yQ_ofBCD(kd*{Y9tt#6Bu|J7!4TM4ltl_&fM`>_AP-uuB?8w*j{sWf%aJi zYYp`RTKB}5U)n4^D_^JKwYTQyw^gS3%(Y$FDbP7q|akucII;uDSPI;ia6l0v4VE zy{3ZiPhDl2G(ojJQ1W&DTo(f$R~Bu>)u+l{XB65botrwn{Kv+E&O7BFH?}`2m{pjP z%evfBTm0Q-yZU)oTTi=Ocl)N{s-y`f&uzSVJ?G5arzf{w zUr~`~Yv(Iu=BV7Euqs*A=#7}r*=`0|W`+FHY%%vqHO!*+o5GGZa&X&E|F|&xV#AFu zPAkq83Vl9x*5vomOS|0_n!0N*c$B74P%~s>)~Z{k2=Z4-jqAxe39d3c4FAG>sQwrY|Lkz=~lw!YQ5%Nw4LuN z)jwg&nr}Ufmlr+wPtE-HVbmmuk{)5484EwMtLQ4UgdZw%VgLe9S3j3^P6WFU8GbZ8()Nlj2>E@cM*00VVNL_t(o!|j#LZ&Xzn z#((GDJHrf}whS#4FVty(#2_ItYA~(bxPX{oFhr4n#DyCdek2-*E?k+o@FT`Qz!(xu zx~LXwG={j*#RMwQG)AONRIp6pV#Ac_bnblKd(LsuJGQAHooU0yKFLY$x#vB3pYy!W zIWMeY6{}dq{~h9R?{*7#5qJp5D=7=YFoX>J(V>yd_lq~|-;w0>cy7fASm8LJwLU0> zz_2VIh!}?X*`eJ%uF?u`W=0Aj1X_8g$8%R#RDnHP43ZsPYg^jaMP{dOZY_KHQLVL3 zw0DSDOJY7y2m-%4JTx-dcjUpC1t>rbj8&FJz|72Qew*_AU$17X>t)G9s4f|(Gs0kl z4E$uRT*9wasZ}e;YT18eBXJNa)7>zF8CA7HJm=$Z%SH^IR?zL^V*9Y8oN%5yAsFy61t$O?bBe$0nL;<+Y;cJzFW4)^*w4Z&hcr=Wfjw*Omi) zpJhdb5Tbi$YC}>g_0#yZoLmtCjt!XtWD3YsD<1*7w36Au3zN_M;+B5g+`82h5}`0G2n*O$H={^MLj zC0I~b9GiaN0N?^I0TP|lKW~PH%e_hWOa?@z7+kp0lO&BI_2kr-s0R>KjgYsQ3WTn4=jL}x=Lte+m(27D8Kj{vWP4d;%@0Sp6~o8r?%Tk>TPXSLQ> z8d4xU{a)a6zy?kN@1|Xr)MrC-{;qiZ2N}p=pwWFU8GbZ8()Nlj2>E@cM*00L=AL_t(o!|j&6Yg1tq z#((EcylDy5H2qLAcM}v9QafBb6-0zmv73vilY{?*h##O1f*t%1Y6Jzp=pZ6@$l#)2 zp_b@Uy$+?&*4or~bB{yclr*$@)7&^npXm&j^PKaX=bZb(E_Sht{{iDe16#&XAUh>2 z6ic@Y-d^P^h3ZhQ1pBrw`1m8ZGizU1J{5mFy{GO ziPPzSD?ow3{z%RO@BZbJzP1IQfG5Cf&u6urGjGIik*Lp4D>KeD00000NkvXXu0mjf D-;Ybv literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_stone.png b/mods/usesdirt/textures/usesdirt_dirt_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..a646721ae20ae2ed6e9ed5374a56b5dab048e6f9 GIT binary patch literal 1619 zcmV-Z2CVssP)AtF00009a7bBm001@A z001@A0bXV02mk;82XskIMF-pr5e7C7nNwR?000H@NklPz6-M3JL-Q$JkC{OSUea z8O{8+{=55}!}q~&es=iPtJv285C8x~a)$^QP(FV&{q5iDOpQ0(2VHhU9kplt@p18J zUM}0T=@NYT^ZTn>UY>W&n$clZ+SwSoD0|zv1r5=@-^4Vi2n%8e+<6)0@ZzR_x#kRw zJub7V)T*-gj*<(2*9mOHwg-QBl@7IU1JcsL_E z-F4qwhINifVySn~7Ta!C*#JDUsrUG@9@>USWPJko)2~he zP*oGN11H8r5sn%Y)LrZcoKz5E0t7P9_EHpXTCz_dNj4jWUp$#BY6d`-*v76mAKxn; z9=b&%zx!*q?&ExH@6JmVb(C&8ZjyeuQ+#!{2|@}$ceiq*2>`bWgOrcQ+5QfyQB?Q% z#35Fs(sr>+M%8ZT`1G_u;m7w6nl`RBY=8OF?b)2(_5Mw#D~11DwZH#w|MYl-pmk4m zlX_0u6IbL&)~dj|lf9YNLmZOvg7l9UlB3zp${*Y>Hg%xcsGTR@r)rdy8HYj~+BnFN z5(}Ua2T=F<*XP~aRjPZY&rXZZYv*NA$EwVj(`;!bQMCTk97G%IWf zTsZjncDXxB9F@Lb^iNJQqO8dI%~iNqn7Y@?h57{SB`1D)9w{fX^0)WR!L(R3Y0(9T zI4-QJp*z#k09{@U`v-7xP!WgM=UunfwU5H$gCWp&m;U5%yz9y*Cj~PM15Zb^Y}gq? zt09#G--!JAFKy{y(WITqWfk1oFFrkWen20D6HBr|Rw6NIYWQ^=h^^`GB`ePA0A~%V7*C= zhgIuu>U22Ic+iVBd4{%+Zx=BnB&%B^C(8H7C6#Pdcz?TCFZr7n8_Fqp2|D- zG=ezHnveri-&~ZhXBaV?&Oo#OA+nHk9CKgTxMOi2{ ztyCp#O>wnOFD?>2dXO(#ak(yAIJ+F)J+DikFP=_3)BmozxBrR`-2Rku45(PfGS|s8+p5%|k^=qc zabeN2Dq1)A(0X=a(3sOB+jf~M7zAc6awja;tGMj=`6gbx@nE#H2*3W~U~ek}Fh_fK zQ`^NlSeL2F+0{^>38GbQa|d~@`%@c%M8F7SP8{L#hUtUbWz+GCWV5?t+l@}fYDPc=G1~9mh0B|;=~EbV*>Onb$zdU)>mVDi^!<6?Hrjeg2~JE^iLyghaz9stp$7;GOxAC$q} z)Di-(y-tzdt<%M7*c)4_g+6*e2Hx*4>yS9M=^#$jlJy|ryH8%=U}^}4y)phzMM zHw~Kv)4bR!kP0$Q&DF?$cadJambwio%D5u5)O#(mG~cFI=W#MAr(;>HAxC4aRIJP# zn5j=x0et%|K6}+yBR88+jN+X2z3k0!GO{u7q%iFe{h$RIpNvHVpk%E>`9Fit`#D+z R%m@Gg002ovPDHLkV1nBv5SRb} literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_stone_fence.png b/mods/usesdirt/textures/usesdirt_dirt_stone_fence.png new file mode 100644 index 0000000000000000000000000000000000000000..cf89ae08ba019f7070245463125e699e9d29086f GIT binary patch literal 1630 zcmV-k2BG7@ikwY87Bu4mB%1}Ogec*fpLNHo|FA62}vVYs~M80@4hO89K*?Y%F%`TP4{4FcTV zO+>JG5nfCpVE}7mk5Qm^)*MfcJfV)XlSm!|Z;mzJznya4^r26!@$|i7ujrT+!oV0} zu-Mygrrc3EF-E)yPB{Xg9Pr2EGtt~cT5q_p?0EN*q4A2~1M_*r{`N0(qK+g=VU0yh z!J>xMkum2b{rBfRMb}dL$c@#EkN4+v!4j3ier+X%=ut|ul7Y4Q4W z!i7|LYbQeo;r8`S%Bp8N7wqe=8F~!&_bZ-N8s`j?mor|@!?`=n5=HL~Pmg+TT!t4# zjfkex8hh_?Al0yzlmq34mDjTWKQw=<(##F zNBW5R*>|_%oofl!CSDe4-oRprEMTgUx zQD%q{?3Hm2%5rqva&c2}ZF7i~j;99;7PH8#=?M~OI&aW;Gz9+fK}GHqC#7d~=tzc&OBXY~x#MVBP16O$3&9(@5ZFKQgxFIz zkz}q3q7WajH?LTVCbE(kzV*g3lR{YDu~-AzK!}>A50q^{#NeD|(F!UCv<_6YMgc_~ zu~Bdi?BD-017#T`itSCujjIVhC}wj{*(jz}!)f8!T2GKRa#(p9QB-x$vy-0AYpjW^ z3>+Z}*GD-v7efrf#S0m;iSY389GhBv6X?1CE~1TQc*S4`iZs>qJv6yyXbepsuqrYd zS`ufGzQ@K0X>RC6NK(b_)s*olAxoiH2u0PAxP;ZQrm8#=1dk>}Ay`jY1%|n0WvrRb zJdY1O_SVgmlPciS$fQ#2AGJLHv>;cOcivi}5zC|F1<(H5N~&KYtFj;-~ZqhHD1XXjTKif zDiRlPRx>#j?C#~9av=(7z}l*zS+I8=`p-}NUez^p9`0;qgbhVRNiFeo<2{0>(zXXo62(1^#uW>inw%<*56f zXQkj`%l5jX=_8idaeNH3GLmM7rC~xJgn?slUec#8)xdjU)7a5&!@I literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_stone_ladder.png b/mods/usesdirt/textures/usesdirt_dirt_stone_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5bbd02a93131aacb61bf7d1a67cfca3587d4d9 GIT binary patch literal 1909 zcmV-*2a5QKP)Z%A9w4hK?)Lkic(Txi?MX3t~5mXRFuwcck#1<5a z_{35v)U>f_Xp^)_=KZ*L?(6^jJzND-w6>qsIg9h&4shliFXd!wShoFYH=$7_AA_Z^W0`SM$1N>_1Y&T#I0gVP^M%3oankKhkJ zv(UU-=)!zDd#C>K-Q(UgxYCR|uZkSC`NH?}Q450u?N?CN)IbMmN} zxV!(t*+WZr_k+wu*M}ATp`)P`!E5w=AC5UEQbGt==ZHlk9X@>Y#M`?Cw>K<4_)q`( z%f~-D%w?QL0dW5WUcMuGWH$9H3lW7Cce5qMi}M1B#|XhNkGZm*vC*>(bBDfgG9fDh zS>f3q)-=-y=PaF;qScfH?^s@h+k1w*4iw`WtKe8i(@7Ln7rHW1|+*C>fd1Sl=0iBa=zg9a+7fRTwF0 zC5jM0A8n@~G}}8RvvY#w`Q~%uUh&km+oQp+UfJy~8WZo=b$M!TrqgQM?CM+l6X(wy zZqJ(Z^!>}pGtP;rvUIc?n(oM90NpDsY3Vrdp1-{~rfEd+-9PVMz2n0->$(8Aw7plb z4Z!fF*LF94`RGEjwpR;}B`*TeK;oUiS&v>lsu>o6$w=|3vmN#ZmJh} zB;&Egd51&dgTrgfXzXdGn#s1L*SB2TvgmtOWA?`$69>9u!P<7o=9@!Op?T>11clSQ zwUe=NxyA^?Y+DmcM{XUqgv2RibC^0K7zAc99ZNg4+x+7Xk@fROs*$`rV+eXyS+Mea~HkYul3gL0zn{E67lpybK&r0gb;B2uwpn87dLkE zC%g4jcU%tG>$}cU%S_jJ-!#f;BleXlrkAD~s?_4N4DuNf#8hNFMoYQ}4t?rK$|!R* zjKU~GVtnz9=eIUs>y9OhAANSQe&YG{?p-$R0$lvci9{ztc<(4{$uM*Dh8EpvY7Tca zajaO|9@A<>|7G-cN597jNPHFO_8r|}Nn#YekwZNDrKQkn1P)C_I3JN$`l1#7$t-i- zS1#=`*K{2z)U>Tqe~^uxt;7E6*@@{!B2^v4>BCd{nY{x$m6d_<$kA#V#0yU>2Q4Ly z2}KBsaaQF!Ju$efCd46&5auy8u~z-HI;&Q^)m zaYQo}L|Rak78^u5KdaL501izC@Di;B)+*lFtk^!NT7%qDm4R;Ns4Sd2mf(G$UwH;a zK;K-?8IJl58lq}5{iaH>k``TjY9zcKOh!aVx8TD;&4}A6F&DZ~5^!?;>^GE)5!*`~qc&Z`P z7dQKsqP84vDfG~5R#p|#)s&TBKPxW>>xb``r;q<;YZKV~_9y0xgOLL(XvYbYi9{zF zMngxlp?GJ@a_yFT{W~vi-Qok%X=;=TG+n?sN97zcw;C@DZ*K;!-pEN}t^U{W3y;71 vQG52$h2uYeWbuBBY$^#x2jWN(8Ogr^WeM7hAwVF=00000NkvXXu0mjfi7u>= literal 0 HcmV?d00001 diff --git a/mods/usesdirt/textures/usesdirt_dirt_sword.png b/mods/usesdirt/textures/usesdirt_dirt_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4fee0231399c860986f0ff63817802f27f1c6c GIT binary patch literal 896 zcmV-`1AqL9P)WFU8GbZ8()Nlj2>E@cM*00QJmL_t(Y$F-KtYn)XS z#((GBJCm6vGf5`}nIVu;L_|T6R9mGZS-8-R3q=r$Ac9L5{sI00y0e>h;ZnNtgLW%Q z$=Kk+x{<6DKbqui6Iz?h=R5DmJuZr6f@sa;_1WAD_gn^u7SmrZ88XvX$@)i2B+ zD-jG40W$-r0&$@NCOtpb%@pIY;a>?|&jtAZJ3(2FzDJp6$1wi(G}e>k!Qt1B(8-H2i!e)3Tt zCt1Lou`7;>sLZBGBFLv^cIEnQi~`{SuHA@u{mjXds(&PeuwPCyT7T@b)u`jlSnQ{2 z!qw}yxLU-uAF$y3>QjGB>mvGjI*y;|-n&C8(C7}B$uoMjsw#ZkZt{GQf0vBDdHDJaCTXG>R2z++4&(DQg@b1ei^W9$W2{Sv}yLXom zLMqAz@L?xnuieZ5o--gQeF}zG)%8ZB@mM?>Ap)v$Wo_Hum}pg(f$uR=gN@<^I5#^Q z^!-k>2_he;YUlnx<3W4fV1oFCC1HK5xFC45kdNb-UUwho+@bKJ19>7l@M-piC^s~3G50$bMY%iz^(%_S`Y~HBf_vQ$3 zuHC%)yV^Y(K0gDg=(eT>*XlOBteKhEnw!9X)`)IB*qANN_T)G-0hptDZ(4*Ites`e z%2;}NgY)^7JvGOl%3TF{1J4GWh<0A^Od4o)8|{DTg3q+-3)Xbj-g7mg6#W*km9_jP zc5oCv;iJ`Um|P;97cdV9%UJWCZ|BiKbIyjxYd_Qn=y=l341GTV;9RxHaS$x86Mpu} z>jt29P2mSZpdTj0DVjvveE0Jqfa*N*XIXfv8J$#yUYhmejXN8foeiC<5}wrwvy|Zz zo7|%K^P>WTKxmI+8^;k>qaem$POSgT0A}spo(!VBLBhuQq5udCheKh-j}_w}d%@%e zFz893&`GGQ%S>1(D@y78A4O1d(vux8cpzDZ=2ih=ByI+_9$r1t7)`Wq} zuNE;TEpJN^$D#qZS``rlIch#Hl3aj+YgrjU^I~IB41Ii$hq69NEiv2L|LHD zbSHErJoSiY^hb*a;Mj83FRdA>Wyv%OW2$m3FbpDMotz#G`~#ri VtxR8#>>vOD002ovPDHLkV1ktg044wc literal 0 HcmV?d00001 diff --git a/mods/vendor/depends.txt b/mods/vendor/depends.txt new file mode 100644 index 0000000..b265d80 --- /dev/null +++ b/mods/vendor/depends.txt @@ -0,0 +1,2 @@ +money2 +default \ No newline at end of file diff --git a/mods/vendor/init.lua b/mods/vendor/init.lua new file mode 100644 index 0000000..d903ca9 --- /dev/null +++ b/mods/vendor/init.lua @@ -0,0 +1,71 @@ +--- +--vendor 1.01 +--Copyright (C) 2012 Bad_Command +-- +--This library is free software; you can redistribute it and/or +--modify it under the terms of the GNU Lesser General Public +--License as published by the Free Software Foundation; either +--version 2.1 of the License, or (at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public +--License along with this library; if not, write to the Free Software +--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--- + +vendor = {} +vendor.version = 1.02 + +dofile(minetest.get_modpath("vendor") .. "/vendor.lua") + +minetest.register_node("vendor:vendor", { + description = "Vending Machine", + tile_images ={"vendor_side.png", "vendor_side.png", "vendor_side.png", + "vendor_side.png", "vendor_side.png", "vendor_vendor_front.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + + after_place_node = vendor.after_place_node, + can_dig = vendor.can_dig, + on_receive_fields = vendor.on_receive_fields, + on_punch = vendor.on_punch, +}) + +minetest.register_node("vendor:depositor", { + description = "Depositing Machine", + tile_images ={"vendor_side.png", "vendor_side.png", "vendor_side.png", + "vendor_side.png", "vendor_side.png", "vendor_depositor_front.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + + after_place_node = vendor.after_place_node, + can_dig = vendor.can_dig, + on_receive_fields = vendor.on_receive_fields, + on_punch = vendor.on_punch, +}) + +minetest.register_craft({ + output = 'vendor:vendor', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:wood', 'default:steel_ingot', 'default:wood'}, + {'default:wood', 'default:steel_ingot', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'vendor:depositor', + recipe = { + {'default:wood', 'default:steel_ingot', 'default:wood'}, + {'default:wood', 'default:steel_ingot', 'default:wood'}, + {'default:wood', 'default:wood', 'default:wood'}, + } +}) + + diff --git a/mods/vendor/license.txt b/mods/vendor/license.txt new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/mods/vendor/license.txt @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/mods/vendor/sounds/sound_license.txt b/mods/vendor/sounds/sound_license.txt new file mode 100644 index 0000000..f5f3dcf --- /dev/null +++ b/mods/vendor/sounds/sound_license.txt @@ -0,0 +1,5 @@ +Sounds effects derived from: +http://opengameart.org/content/inventory-sound-effects + +Applicable licenses: +CC-BY 3.0 CC-BY-SA 3.0 GPL 3.0 GPL 2.0 diff --git a/mods/vendor/sounds/vendor_activate.ogg b/mods/vendor/sounds/vendor_activate.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9d3eab215bc936a401e7fc4e213e34429ea984e3 GIT binary patch literal 10092 zcmaiZ2V7Il()S6yOD~EVkQSPRCP7iU5PBe#P=wHX2N9HxfHWZ>0wTS40V&c%dhg9g zK%^)Lq7)HWlULA(0A%0@TpijK zG@5`009pVr=Yr8B*{H(uaoK!+sW=sUuS+B<6&KaTY8eCX{#OGPw_*YSA|Qy5JT7-l z)nOQ6%gP()k%h3=lq!UhM(Zpg$lvbsSh^I{7C5>L!??+)jferzGO{Wh;fyGJgN@{f zU>j-wg&7_c{6$$I6r#P*P<7GIc}bempNn$iq`&ahj>=OC)s7?8;ZypS6)hyD z0iMH%^^Ct8@^d|);9lfO*sN&f$?)tWVFjrkAge!WL4hDpP2lcRM%8M@fok@lF)pp| zf;tQmV`56WdKzf3c$*sdSkL%)&-gqvN)0z|cxcoRZaf=qdKhlO8u54i`EcU;_S z0jJ~UxBapzJ(arJlzlAc?*7XW=KixTYe5Wnjw z-s5=-tarT>`*7+*d+Hbd5Sdtl#kpC6K(?&eWC~P&B!Lqmvp+%8M$>)_A!yQ8vx*thCpx0^(s>(; zQ`65q=rqi>0{Rlx|GX>f`DmKwuqstr{-2&7eL87*@i;ifww^)L&1M14vmZ|*EuJ$3 z*BXtctraygg1snQI&WR0-XDH{!=l(MW4Hsc46cZpPj_r2HwAk~RvFtv^k(^U>y?`(iM|I>!A&N zoQ0JJAishyuAIw+wjl*AND2(2gcKSvBmof6lW5C;vL3;=8Za1C^F z7;Usig1n22AsKv)i#QuWlKqY~tdLfW3PH{3l_19}(~yYhr24Uh;$u=&4~^x%5eKDy zTVSHPDn$k!dqjW^00hB%;qO>IhE@Br6o=vDFL1pG-u$F-RhUo;s~C*CfZlQ?BX?Z2 zFAvA67X2cR-ZH8jTm+DUAIj{}1SW_qBLHBjP!zCm9BLT0mVoMqud<_%h{6orVFcOb zuzonni%?ovKD+KPtcN{pP;NCNbX1NH0HEy<@FUMBZlwg!@&Ze4Tq8;1YK+`!3`!%6 z)-wzmGs)sZ;u1P~=m7@wlpcD4Sp!|qt-+w7v8RV-P(m}ICsH)fbOGV4@ZPkuY3kpsG#JlWNup=!C3L*dI%sPnJ+zUJwb3Ek zVEUmNNY&MtV?v|r(R2IG=#+=cUT9MT>$yX;5%VMCnegRNg7{CNpVTNb4f+Han43bPDy`_ZAnF0e@$g+h0`WTttcv~5iBVYEUhU! zE)m?UFDhv&@2{y!uPEKD-=XXj+-!0ysi-Ke*}_ws$~U{+H=9HP3Sa{TrC*wgo0?oU zo7@NMo!N6szO?cWyshf5+1YHmUhB=FgZBOlXS!kl>fwCPH`DkqyvF%vTlsN6$YA^@ zV#Jlb5nT4lU7qE{iwf zjAvqVO1?Dl543`U;P1O#*_%b!O&26V!i$=6%7>P{hvXxU3*GL=(klnvxs_DpJ@Ftm zAb4yr^vh;*2oMBGK>!ktbw*uU{w}B&E$Rz2PY+JQ;i-x2V#jGC9XN24{M}H!IMv>a zBzmMB3^$G<&Cb_GI%eahQI6FGli07&JZ7Z55N;gfP~1I8dfFGuf-EU zR_j@LH1f#&JVrI7kp3VDPT$d?yc-nGozJRI4x2vO(n5 zS@(!6TqvdZPSvVd_ZU;$YCC z<=!9^^1B8x4&}A8vSj7q)1qqJAQWuM-=$&%0ALH;(AN1m!VM&l0(a*)aF{J92n{C* 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 literal 0 HcmV?d00001 diff --git a/mods/vendor/sounds/vendor_disable.ogg b/mods/vendor/sounds/vendor_disable.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1dc284160e2771066376b441309e84a544635af1 GIT binary patch literal 8181 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 bz=%vH56em>lwts+vz5T^4p{o{t^@xA=@6`% literal 0 HcmV?d00001 diff --git a/mods/vendor/sounds/vendor_vend.ogg b/mods/vendor/sounds/vendor_vend.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9234bcdd9e14624f5beef16721f359b7d1bf76b8 GIT binary patch literal 9631 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 literal 0 HcmV?d00001 diff --git a/mods/vendor/textures/vendor_depositor_front.png b/mods/vendor/textures/vendor_depositor_front.png new file mode 100644 index 0000000000000000000000000000000000000000..f6fe606981d706d43afa3f28f031fe88cc6f60f8 GIT binary patch literal 765 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyq^ z2MrRfwz9nd00MnUL_t(I%Po>SZe&#yMb|m^-dFFrK6Z5%hya0zkWlwvT8yB_z!b4t&%$6s*&-(P4qA*GJVVnr(>$A|a4{QOIzTjA~3-%y&fFHXRjc8a;P%g&+`R3NIb zJvUMird_}se){!$)a!@iqEApX{F=DGsywH5vkk?S@t|`F!Hrw{H*?Vi3F;QM98N7@)xQa>?!OEyLBoZhxTE zO5Y_`%OzjEdPOrQMFAl8S47oF5IE(AJDiROo_0Gnn+>HkaM;v>o0FTND%9oxHcLym|d8=yQI%(C&b{Kj8Ntzaxl{t8uDM>Zimy z9_jS5^J1E~86qhN_xr+&>4aRJ#Sn-p5jE(%=`V%HO`7P3L-FeD`?>N4(3n|j*n|% zEhBvp-aU?-&xIi>cl(NpkOB-r*cE4@T+o0DbV0CMko&)X_Vd#RVm~FOo;b|d-u**9 v?isFEq`t>puvTbg#9E^pX5{0Raz67v(4}KOIe$Mc00000NkvXXu0mjfzI;zd literal 0 HcmV?d00001 diff --git a/mods/vendor/textures/vendor_depositor_front.xcf b/mods/vendor/textures/vendor_depositor_front.xcf new file mode 100644 index 0000000000000000000000000000000000000000..b64e7db0c0050b1eadc2fd2b9919a1b28fd8a775 GIT binary patch literal 2244 zcmc&!c~BE)6i+y^yFilNaD`lC#)~UqL&7DX5D-+fg7rcovN=csfgqqGQ)#W$S_=ii z@wQNHbz0lesbh8O)G{hign}Rl3JP)w%Asf-`k(zi$T~RkXFGkfZ@=IBeeb<}-)}cD znzM7IJ9Qb-470_+0EXKfVgfjm32v^yQT0Iv13EA_;10lHvWE@BJa>>kAM!@fR%Xto zj0Tx8&#VU&1MD+VpZtPCi$QA5ky$e`WO^#!!;}hTC;;TNNfkEW3re+fl+yce6W<50bZ34pr8DOkr3#X64cNjtSsN+ao?|YM znsam}Lq6;P&X8{?csm&^f1jFR-YtcC*o=9U!LYjlF493&U!d1I-yYja_D8_AJZ=81{lsgewA^uA$#H>~Ax>C>x-s z1i5y}?{an&jQejk-l=YDy!W8Jd2;fvm#<$z;{E*n?OuO*&^~=9st*^U&RU{IKMSQWh zfFTgm8bD2;QtTuuzrdiEuA&MJdGPsji3Jn?4Y8m=P_Vhgg1pV_Gi?A0Yn#XZ<99jx zQW$r3G}N}X)z?-J9XeI^WyQIchx_&v6&02@jBQWfvN?56$Ft1DX!V9&4%+Z5_4MSBA<@locO5 z-P8rri$MBwIz4N;bvNRKA@)ch6qf!kfOPed@7NKYojm$t#fQ-wv$Up7x!K#) z=H#KV_%%z@v$vX34e5p`^Xh?d^|~k>wMn14MYAPRAJab(wLS)Xk*AlWg$+N8O5opG#pI9mo@&!V%NTQIo+?NJ; z`THw<{er{81j>0$T@nxnDFb{}k&*n+dG{WAFXa0MlPbTk&~SljUPGs3K3^UpR|NzG zDm+xuKOTq{d6I#CK>;$RY|29+tm_i^2>2|1iKoo7xlQD^K(1Io1_XzyNCp4TTJJ^v zGNoKaE)G|b!NR*Y#0$wFQc22!LrA$?aHmeVFepS8A|pwaoDB48xGVAr4)-Nxq`!g; zlzU!l^5#qD^Swmg0+CoO5nSoK-P+MxbM1C(OH+MqbIorZ7mpl0P*L?o`K7(ZYf;zG=?D)4B8^u^4M(xncxYLR6FfPL75F8HA)fFL}kDUiGhv0EJJa=~% z&-u&+%mrcd2p-36djIhEm@^A^#d%x;Cmac1Z z6Q@y*3r@J;T%IcrCy-;M7@N!G;XK^U4cyUh4q$A8zy`^i(OzCS19$pfwK? z$l)rK!*k={T+n}-*nJE`FlPisF>o=l3G}0Lhbqrq`s&leUsoQlC_7oQ7yPK-`~$OM B_|^ab literal 0 HcmV?d00001 diff --git a/mods/vendor/textures/vendor_side.png b/mods/vendor/textures/vendor_side.png new file mode 100644 index 0000000000000000000000000000000000000000..6f28361464992158317c9610110fce18800686bf GIT binary patch literal 760 zcmVPx#24YJ`L;yVi8UP5tm}%Sq000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyq^ z2ND_gK4q%_00MYPL_t(I%T1H9jvPf0hQF%rp4pq-yEA9Q3SH#j0))g95Rf?b8z2#q zk?;nV2;l+z3=T+0NJtSW0g?r>L;&dQ^X~2J%yjou5zJyyVW~=0_5FXz%O9V4TCHfh zOY(3)Lm;FU4G9saj3dMDmZsZqd3{424%9MI$DY;2Lt@PXUwrqjMhdW|SEh>ULn8TlMMuG|s%;qS< zUvD!Ayt*B^*>*S(RhUa5N{9r3u2rUD#2|e4!!NAY8&XP?Qt0~w<2ds5(@zrUMTOa*>pJS} zd~ngA3b{HtPbWr>s*(+2+o5IbIg0`;^aY49;=oi5PAJ#w4f4O5q~PvEk-#P?U9&Jy zg<%*70(X6(pO$Kbm@jkzzWM%Vnx+L{zu&Rn?=Xj;LQ)|J z#MBU*_4zw^ZBzih{OlvDExM~L#SY|ZxWg(bvx8YB*6|2HJsIR?dqx|Teww-ME9S60 zPwa+DHR$uqdtF=@SSCtP>g>2fF=r@_wJ;PXoh&>SJDs=;na!!T{7l51Y|hKSj|_EL z`?6K)$(e5_V}C3N&=+TRczs_;L6F!YyWd~<>sPPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyq^ z2MiS|$rfJ#00MwXL_t(I%Vm?zZd_Fmgum|7=id3VC)kN%WF;mj><|wFdnCk*1Sw+6 z3m_z5pC@3)GqAuy{OyRH49<*w@7!}vH;V~usC|`6pQ_}SAD%~^&FB_ureTMsM9Mvy zG9p14M~0hgy2Xn1`3KZtM=c|Dyk&NLiq&c0vrnHhH^GC0BG@||WnpMRY2Xo@uZ*EO zo6%YK%GWQx!qhTT3!dDcp#mbHBHT@lSyoC5x+LuO&iTELeRXEr%In>P+5UWo#k@L#l?F(`{Eg&e0WYokQE{V6G^PHlGA~C^G4VAJ0qn; zN{QuifhI!*N()SdaK|(yEFEfRQ+C@e>(z?Kj~-!`K_I6@GUM-8R|tZskOVAuShqX^ zz>?q|bV+$|dV;7hPK9j7(Q3(XH!xo;5rKJ^*p3bNiq-KBfKr2`!shBPE-oJP{?n%{ z*YDu1vD@B|1#UJQ98fqg@ClQo)E0yXX2O@Be~i9eq(@NwFy$7(tV?tz6nCm0K4U~M zdGP1!JwtIy3)Zs)a@fUPgOos3+1xc6LiIvUf>@8-{Q4qZ{qZx4lZT|-vww3_7W`kab|>XFGi-@9y(G-}Aove$OT` zS+a6uyYv~d42#uB1HrQ=#5hPg9b8;NqME}r8cYywAQ>Q`*u##Y&K>CIL*4}1$}L%> z$tXAFS`2`qfqgpalb2s$HOg$+a$81*+(71;eVu$VOnRHumMim_y2*1*I#Na`!h*uX z2sHqzFqKjj3IH(`GNm2(f>PZarPTg=;fDa0?#jy{^_FatOi56!0b4L9YbWJ9vMu>C zOSax@%!3`k8S;$z?{955J?O`2G>6}Toxn%ND~bhoCyxzwqbvJI7Hb2 zH6_qGB+up?NVx9bSA6`~-UFq@B?n%;dHeR&o0qRAC!6j+XlrP#y4!HOe|h4%weg8- z5V->=H(j=vQ=b(F&935F0Y{Q-|!0h1AUsyE9j#=94&SL{k6~ISU8(= zJP6lFMCXIu8#K|0+n%+5p1OHU`i`;s(t^Um&-XrTzEJj6$>}3QRW)_3Ej9J+3;|u( zA?TV`k9K}BrJiUg*|ocHPf>T%IpFuH(xG2()wbQMslCrY+At@idrF;2shfE+DOxl#SEBl5P>viVr zZCYKDVe6Wd*k{9GX-gtl5qoGwG3%oy`eO`{TeMqJ4Vy@P)H==hz-mjBG2NJI-kO!Z zbWQx&P_jj{Ju7FES(mvn`r{QZMw7FmckZ-oNHrNY$7tgxhLg>)w(Xf4*PAz|EKN%s zA6acmSe6i{SrQksVp&SU_(;NvCE?5CH0qexu;7^ZiOHUk(ZSwFlY>1^2Okd&Jum*P zx~ZnFvAN~W_3GaCmOC9+g;I$`Ec6z83FgZL-i_Bi6@i4(pO6#2;lV!Qd-Yy{ghEXa z@(_7Q&_Yq|U7U5f`lToHL*0?#}0M`8WsRVi!+L?ejStoWlj{ z@5-Hcr~}%8un-o8vaxSZVi=2wB4CYz4|cI~- 99) then + minetest.chat_send_player(owner, "vendor: Invalid count. You must enter a count between 1 and 99.") + vendor.disable(pos, "Misconfigured") + return + end + if ( cost == nil or cost < 0 ) then + minetest.chat_send_player(owner, "vendor: Invalid price. You must enter a positive number for the price.") + vendor.disable(pos, "Misconfigured") + return + end + if ( limit == nil or limit < 0 ) then + minetest.chat_send_player(owner, "vendor: Invalid sales limit. You must enter a positive number (or zero) for the limit.") + vendor.disable(pos, "Misconfigured") + return + end + + local inv = vendor.find_connected_chest_inv(owner, pos, nil, nil, nil) + + if ( inv == nil ) then + minetest.chat_send_player(owner, "vendor: Inventory is misconfigured. It must be connected in a line to a locked chest that has items to sell") + vendor.disable(pos, "No Inventory/Improper Attachments") + return + end + + local itemname = nil + for i=1,32 do + local stack = inv:get_stack("main", i) + if stack ~= nil and not stack:is_empty() then + itemname = stack:get_name() + break + end + end + + meta:set_string("itemtype", itemname) + meta:set_int("number", number) + meta:set_int("cost", cost) + meta:set_int("limit", limit) + meta:set_int("enabled", 1) + meta:set_string("formspec", vendor.formspec(pos, sender)) + + local buysell = "selling" + if ( node.name == "vendor:depositor" ) then + buysell = "buying" + end + minetest.chat_send_player(owner, "vendor: " .. description .. " is now " .. buysell .. " " .. number .. " " .. vendor.get_item_desc(itemname) .. " for " .. cost .. money.currency_name) + vendor.sound_activate(pos) + vendor.refresh(pos) +end + + +vendor.disable = function(pos, desc) + vendor.sound_deactivate(pos) + local meta = minetest.env:get_meta(pos) + local owner = meta:get_string("owner") + local description = minetest.registered_nodes[minetest.env:get_node(pos).name].description; + if ( desc == nil ) then + desc = "Disabled " .. description + end + meta:set_string("infotext", ""..desc..", Owned By: " .. owner .. "") + meta:set_int("enabled", 0) +end + +vendor.refresh = function(pos, err) + local meta = minetest.env:get_meta(pos) + local node = minetest.env:get_node_or_nil(pos) + if ( node == nil ) then + return + end + + if ( meta:get_int("enabled") ~= 1 ) then + return + end + + local itemtype = meta:get_string("itemtype") + local number = meta:get_int("number") + local cost = meta:get_int("cost") + local owner = meta:get_string("owner") + local limit = meta:get_int("limit") + local infotext = nil + local limit_text = "" + + if ( limit > 0 ) then + limit_text = " (".. limit .. " left)" + end + + if ( err == nil ) then + err = "" + else + err = err .. ": " + end + + local per_text = "" + if ( number > 1 ) then + local per = math.floor((cost * 100)/number + 0.5) / 100 + per_text = " ("..per..money.currency_name.." each)" + end + + if ( node.name == "vendor:vendor" ) then + infotext = err .. owner .. " Sells " .. number .. " " .. vendor.get_item_desc(itemtype) .. " for " .. cost .. money.currency_name .. limit_text .. per_text + else + infotext = err .. owner .. " Buys " .. number .. " " .. vendor.get_item_desc(itemtype) .. " for " .. cost .. money.currency_name .. limit_text .. per_text + end + + if ( meta:get_string("infotext") ~= infotext ) then + meta:set_string("infotext", infotext) + end +end + +vendor.sound_activate = function(pos) + minetest.sound_play("vendor_activate", {pos = pos, gain = 1.0, max_hear_distance = 10,}) +end + +vendor.sound_deactivate = function(pos) + minetest.sound_play("vendor_disable", {pos = pos, gain = 1.0, max_hear_distance = 10,}) +end + +vendor.sound_error = function (pos) + minetest.sound_play("vendor_error", {pos = pos, gain = 1.0, max_hear_distance = 10,}) +end + +vendor.sound_deposit = function(pos) + minetest.sound_play("vendor_deposit", {pos = pos, gain = 1.0, max_hear_distance = 10,}) +end + +vendor.sound_vend = function(pos) + minetest.sound_play("vendor_vend", {pos = pos, gain = 1.0, max_hear_distance = 10,}) +end + +vendor.on_punch = function(pos, node, player) + local meta = minetest.env:get_meta(pos) + local node = minetest.env:get_node_or_nil(pos) + if ( node == nil ) then + return + end + + local vending = false + if ( node.name == "vendor:vendor" ) then + vending = true + elseif ( node.name == "vendor:depositor" ) then + vending = false + else + return + end + + local player_name = player:get_player_name() + + local itemtype = meta:get_string("itemtype") + local number = meta:get_int("number") + local cost = meta:get_int("cost") + local owner = meta:get_string("owner") + local limit = meta:get_int("limit") + local enabled = meta:get_int("enabled") + + if not money.has_credit(player_name) then + minetest.chat_send_player(player_name, "vendor: You don't have credit ('money' privilege).") + vendor.sound_error(pos) + return + end + + if not money.has_credit(owner) then + vendor.refresh(pos, "Account Suspended") + vendor.sound_error(pos) + return + end + + if ( enabled ~= 1 ) then + vendor.sound_error(pos) + return + end + + local chest_inv = vendor.find_connected_chest_inv(owner, pos, itemtype, number, vending) + if ( chest_inv == nil ) then + if ( vending ) then + vendor.refresh(pos, "Out of Inventory"); + else + vendor.refresh(pos, "Storage is Full"); + end + vendor.sound_error(pos) + return + end + + local to_inv = nil + local from_inv = nil + local to_account = nil + local from_account = nil + + local player_inv = player:get_inventory() + + if ( vending ) then + to_inv = player_inv + from_inv = chest_inv + to_account = owner + from_account = player_name + else + to_inv = chest_inv + from_inv = player_inv + to_account = player_name + from_account = owner + end + + if not from_inv:contains_item("main", itemtype .. " " .. number ) then + minetest.chat_send_player(player_name, "vendor: Not enough (or no) items found to sell") + return + end + if not to_inv:room_for_item("main", itemtype .. " " .. number ) then + minetest.chat_send_player(player_name, "vendor: Not enough room to purchase items") + vendor.sound_error(pos) + return + end + local err = money.transfer(from_account, to_account, cost) + if ( err ~= nil ) then + minetest.chat_send_player(player_name, "vendor: Credit transfer failed: " .. err) + if ( not vending ) then + vendor.refresh(pos, "Out of Credit"); + vendor.sound_error(pos) + end + vendor.sound_error(pos) + return + end + + from_inv:remove_item("main", itemtype .. " " .. number) + to_inv:add_item("main", itemtype .. " " .. number) + + if ( vending ) then + minetest.chat_send_player(player_name, "vendor: You bought " .. number .." " .. vendor.get_item_desc(itemtype) .. " from " .. owner .. " for " .. cost .. money.currency_name) + vendor.sound_vend(pos) + else + minetest.chat_send_player(player_name, "vendor: You sold " .. number .. " " .. vendor.get_item_desc(itemtype) .. " to " .. owner .. " for " .. cost .. money.currency_name) + vendor.sound_deposit(pos) + end + + + if ( limit > 0 ) then + limit = limit - 1 + meta:set_int("limit", limit) + if ( limit == 0 ) then + vendor.disable(pos, "Sold Out") + else + vendor.refresh(pos) + end + end +end + + +vendor.get_item_desc = function(nodetype) + local itemdef = minetest.registered_items[nodetype] + if ( itemdef ~= nil ) then + return itemdef["description"] or "Unknown" + else + return "Unknown" + end +end + + +vendor.is_traversable = function(pos) + local node = minetest.env:get_node_or_nil(pos) + if ( node == nil ) then + return false + end + for i=1,#vendor.traversable_node_types do + if node.name == vendor.traversable_node_types[i] then + return true + end + end + return false +end + +vendor.neighboring_nodes = function(pos) + local check = {{x=pos.x+1, y=pos.y, z=pos.z}, + {x=pos.x-1, y=pos.y, z=pos.z}, + {x=pos.x, y=pos.y+1, z=pos.z}, + {x=pos.x, y=pos.y-1, z=pos.z}, + {x=pos.x, y=pos.y, z=pos.z+1}, + {x=pos.x, y=pos.y, z=pos.z-1}} + local trav = {} + for i=1,#check do + if vendor.is_traversable(check[i]) then + trav[#trav+1] = check[i] + end + end + return trav +end +vendor.find_connected_chest_inv = function(owner, pos, nodename, amount, removing) + local nodes = vendor.neighboring_nodes(pos) + + if ( #nodes < 1 or #nodes > 2 ) then + return nil + end + + -- Find the stack direction + local first = nil + local second = nil + for i=1,#nodes do + if ( first == nil ) then + first = nodes[i] + else + second = nodes[i] + end + end + + if ( first ~= nil and second ~= nil ) then + local dx = (first.x - second.x)/2 + local dy = (first.y - second.y)/2 + local dz = (first.z - second.z)/2 + -- make sure they are in a column/row + if ( (dx * dx + dy * dy + dz * dz) ~= 1 ) then + return nil + end + local chest_pos = vendor.find_chest_inv(owner, pos, dx, dy, dz, nodename, amount, removing) + if ( chest_pos == nil ) then + chest_pos = vendor.find_chest_inv(owner, pos, -dx, -dy, -dz, nodename, amount, removing) + end + return chest_pos + else + local dx = first.x - pos.x + local dy = first.y - pos.y + local dz = first.z - pos.z + return vendor.find_chest_inv(owner, pos, dx, dy, dz, nodename, amount, removing) + end +end + +vendor.find_chest_inv = function(owner, pos, dx, dy, dz, nodename, amount, removing) + pos = {x=pos.x + dx, y=pos.y + dy, z=pos.z + dz} + + local node = minetest.env:get_node_or_nil(pos) + if ( node == nil ) then + return nil + end + --node.name == "default:chest" or + if ( node.name == "default:chest_locked") then + local meta = minetest.env:get_meta(pos) + if ( node.name == "default:chest_locked" and owner ~= meta:get_string("owner") ) then + return nil + end + local inv = meta:get_inventory() + if ( inv ~= nil ) then + if ( nodename ~= nil and amount ~= nil and removing ~= nil) then + if ( removing and inv:contains_item("main", nodename .. " " .. amount) ) then + return inv + elseif ( (not removing) and inv:room_for_item("main", nodename .. " " .. amount) ) then + return inv + end + elseif ( not inv:is_empty("main") ) then + return inv + end + end + elseif ( node.name ~= "vendor:vendor" and node.name~="vendor:depositor") then + return nil + end + + return vendor.find_chest_inv(owner, pos, dx, dy, dz, nodename, amount, removing) +end + + diff --git a/mods/vessels/README.txt b/mods/vessels/README.txt new file mode 100644 index 0000000..150b501 --- /dev/null +++ b/mods/vessels/README.txt @@ -0,0 +1,45 @@ +Minetest 0.4 mod: vessels +========================== + +Crafts +------- +Glass bottle (yields 10) + + G - G + G - G + - G - + +Drinking Glass (yields 14) + + G - G + G - G + G G G + +Heavy Steel Bottle (yields 5) + + S - S + S - S + - S - + +License of source code: +----------------------- +Copyright (C) 2012 Vanessa Ezekowitz +Version 2012-09-02 +Modifications by Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +WTFPL + +Authors of media files +----------------------- +Unless specifically noted, +Copyright (C) 2012 Vanessa Ezekowitz + diff --git a/mods/vessels/depends.txt b/mods/vessels/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/vessels/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/vessels/init.lua b/mods/vessels/init.lua new file mode 100644 index 0000000..81cbad3 --- /dev/null +++ b/mods/vessels/init.lua @@ -0,0 +1,86 @@ +-- Minetest 0.4 mod: vessels +-- See README.txt for licensing and other information. + +minetest.register_craftitem("vessels:glass_bottle", { + description = "Glass Bottle (empty)", + inventory_image = "vessels_glass_bottle.png", + groups = {vessel=1}, +}) + +minetest.register_craft( { + output = "vessels:glass_bottle 10", + recipe = { + { "default:glass", "", "default:glass" }, + { "default:glass", "", "default:glass" }, + { "", "default:glass", "" } + } +}) + +minetest.register_craftitem("vessels:drinking_glass", { + description = "Drinking Glass (empty)", + inventory_image = "vessels_drinking_glass.png", + groups = {vessel=1}, +}) + +minetest.register_craft( { + output = "vessels:drinking_glass 14", + recipe = { + { "default:glass", "", "default:glass" }, + { "default:glass", "", "default:glass" }, + { "default:glass", "default:glass", "default:glass" } + } +}) + +minetest.register_craftitem("vessels:steel_bottle", { + description = "Heavy Steel Bottle (empty)", + inventory_image = "vessels_steel_bottle.png", + groups = {vessel=1}, +}) + +minetest.register_craft( { + output = "vessels:steel_bottle 5", + recipe = { + { "default:steel_ingot", "", "default:steel_ingot" }, + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + } +}) + + +-- Make sure we can recycle them + +minetest.register_craftitem("vessels:glass_fragments", { + description = "Pile of Glass Fragments", + inventory_image = "vessels_glass_fragments.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "vessels:glass_bottle", + "vessels:glass_bottle", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "vessels:drinking_glass", + "vessels:drinking_glass", + }, +}) + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "vessels:glass_fragments", +}) + +minetest.register_craft( { + type = "cooking", + output = "default:steel_ingot", + recipe = "vessels:steel_bottle", +}) + diff --git a/mods/vessels/textures/alternates/vessels_drinking_glass.png b/mods/vessels/textures/alternates/vessels_drinking_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad033e82f90e8cfb903d83f6a7974aec5829267 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+lxV*+pNdutJ98VX=5R21KgLiWsHV~NX%-gyAH*>wyzyHQY)t??HPPV<- zW*l?<*jnjd4SZM2gg7`$4y<2Tb*Nf@smPN#{Cf=9PH#F8wYn|u_dahgPq!*BPbUuc z+FiC$+4|u#s+u}PjJ^5O#FTb**H=DSwKXhX{l|_&`=yUa6q+rOcwFrMd`?fFVdQ&MBb@0EggO>i_@% literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/alternates/vessels_glass_bottle.png b/mods/vessels/textures/alternates/vessels_glass_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..d922579329a8e05c396247ad568a551f405c67fb GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+lxWu-+KF8|r&MMFiEoRpk2Rd4-r%Z}E3ekSi(ly=?`G+Ud!PC{xWt~$(695SsSdjn# literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/alternates/vessels_steel_bottle.png b/mods/vessels/textures/alternates/vessels_steel_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..629c857d793cf88815b2d7e205cfa3e9d83ddb75 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+l6n{fQxg=2Nho_5Uh{fr{XE z)7O>#4!f+ln8B=IQ4OHbM^6{W5R21CgRQ$-9Rzgbwe5}`@cFwWWDSfmB?1pFFc*{%L?$9}1V8y^NB}l;OfaP)NImJ3H4MDH0 zChU9vQ*X=OXJ1ubF4ng#+mL@Rd*3^=X{j%5%ZjERyjJtt!RusbXr;T~k}22uwp{aZ zsZp5{WF)xp+OIo}Tg4m&7HDu;Jh$jeW;kHcr=Y}hm?8V^U)`2Oj{Dy~*6n9xIK3$$ hHvG)znp*DqgXYgy&n(y35DN-522WQ%mvv4FO#n%jhHL-; literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/vessels_glass_bottle.png b/mods/vessels/textures/vessels_glass_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..c325fd1666b487d7783657a87f5eeed76f4bcdf5 GIT binary patch literal 405 zcmV;G0c!q-DOXgJkNMKpO|GCwbt}~zvS#25BQdlE`xSI00000NkvXXu0mjfekP_k literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/vessels_glass_fragments.png b/mods/vessels/textures/vessels_glass_fragments.png new file mode 100644 index 0000000000000000000000000000000000000000..7772a2393e584a06f8d8d6294b484d8c963c453c GIT binary patch literal 425 zcmV;a0apHrP)g`v1PdF9Rw+dSo-KBhr|&(s+ip*F?=W-boHOtr{}$`@ zTKoN8f9vtS79`0zC+D01=JPqv=d=5Ng|&|~O%((IP17(O4grXw2ua*-HvoL!rzi>l z;y5;dk5{%NNm><@W%+x98FgI~MG*kg>6Fvygd~}neUp@BnX0PND_RSZl;`<(D`}c4 z&vQBF^poE#%etB*RaK?840gMnk|g1Nzq8qFn9XM0a2ST2mDZk_aXz2fZnvKyUM?4n z$72Al*DG~h18_VZJF=EIj$?Z~9y%Njp9HV6!!YEhd|Kl60sxk#sYas_lgZ?5xIN!s zFreS>zsZ+G(=;rXOS~WmSS%LZmep#7nORwu_`XlC*P|#3ilV^tJTo)<(*wXS24T!j T9^59K00000NkvXXu0mjf2k@{B literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/vessels_steel_bottle.png b/mods/vessels/textures/vessels_steel_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b846da0becbd073fd3a1d96bc83e8fedae342c GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+l5(j5>oFh=^tEY=&h{fr7UEkt)fEVKi9qx0M49hZ;W~ogHT7PS)@atXoCaXAdeBAWG l=Dfx83sJ$LS9|yOs0S&hTu(UEwH+7$44$rjF6*2UngFLQgf##F literal 0 HcmV?d00001 diff --git a/mods/vines/README.md b/mods/vines/README.md new file mode 100644 index 0000000..6e3f3d8 --- /dev/null +++ b/mods/vines/README.md @@ -0,0 +1,4 @@ +vines +===== + +Vines mod for minetest. Also adds ropes. \ No newline at end of file diff --git a/mods/vines/depends.txt b/mods/vines/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/vines/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/vines/init.lua b/mods/vines/init.lua new file mode 100644 index 0000000..75adf5e --- /dev/null +++ b/mods/vines/init.lua @@ -0,0 +1,251 @@ +print("[Vines] v1.0") + +-- Nodes +minetest.register_node("vines:rope_block", { + description = "Rope", + sunlight_propagates = true, + paramtype = "light", + drops = "", + tile_images = { + "vines_rope_block.png", + "vines_rope_block.png", + "default_wood.png", + "default_wood.png", + "vines_rope_block.png", + "vines_rope_block.png" + }, + drawtype = "cube", + groups = { snappy = 3}, + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + if n.name == "air" then + minetest.env:add_node(p, {name="vines:rope_end"}) + end + end, +}) + +minetest.register_node("vines:rope", { + description = "Rope", + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + tile_images = { "vines_rope.png" }, + drawtype = "plantlike", + groups = {}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + +}) + +minetest.register_node("vines:rope_end", { + description = "Rope", + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + drops = "", + tile_images = { "vines_rope.png" }, + drawtype = "plantlike", + groups = {}, + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos) + yesh = {x = pos.x, y= pos.y-1, z=pos.z} + minetest.env:add_node(yesh, "vines:rope") + end, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, +}) + + +minetest.register_node("vines:vine", { + description = "Vine", + walkable = false, + climbable = true, + drop = 'vines:vines', + sunlight_propagates = true, + paramtype = "light", + tile_images = { "vines_vine.png" }, + drawtype = "plantlike", + inventory_image = "vines_vine.png", + groups = { snappy = 3,flammable=2 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("vines:vine_rotten", { + description = "Rotten vine", + walkable = false, + climbable = true, + drop = 'vines:vines', + sunlight_propagates = true, + paramtype = "light", + tile_images = { "vines_vine_rotten.png" }, + drawtype = "plantlike", + inventory_image = "vines_vine_rotten.png", + groups = { snappy = 3,flammable=2 }, + sounds = default.node_sound_leaves_defaults(), +}) + +--ABM +minetest.register_abm({ + nodenames = {"default:leaves", "growing_trees:leaves", "default:dirt_with_grass", }, + interval = 180, + chance = 200, + action = function(pos, node) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + + if n.name =="air" then + minetest.env:add_node(p, {name="vines:vine"}) + end + end +}) + + + +minetest.register_abm({ + nodenames = {"vines:vine"}, + interval = 5, + chance = 4, + action = function(pos, node, active_object_count, active_object_count_wider) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + + --remove if top node is removed + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "air" then + minetest.env:remove_node(pos) + end + + --the second argument in the random function represents the average height + if math.random(0,3)<1 then + minetest.env:add_node(pos, {name="vines:vine_rotten"}) + else + if n.name =="air" then + minetest.env:add_node(pos, {name="vines:vine_rotten"}) + minetest.env:add_node(p, {name="vines:vine"}) + end + end + end +}) + +minetest.register_abm({ + nodenames = {"vines:vine_rotten"}, + interval = 60, + chance = 4, + action = function(pos, node, active_object_count, active_object_count_wider) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + + -- only remove if nothing is hangin on the bottom of it. + if n.name ~="vines:vine" and n.name ~="vines:vine_rotten" then + minetest.env:remove_node(pos) + end + + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "air" then + minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) + end + + end +}) + +minetest.register_abm({ + nodenames = {"default:dirt", "default:dirt_with_grass"}, + interval = 36000, + chance = 10, + action = function(pos, node, active_object_count, active_object_count_wider) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + + --remove if top node is removed + if n.name == "air" and is_node_in_cube ({"vines:vine"}, pos, 3) then + minetest.env:add_node(p, {name="vines:vine"}) + end + end +}) + +minetest.register_abm({ + nodenames = {"vines:rope_end"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + + --remove if top node is removed + if n.name == "air" then + minetest.env:remove_node(pos) + minetest.env:add_node(pos, {name="vines:rope"}) + minetest.env:add_node(p, {name="vines:rope_end"}) + end + end +}) + +is_node_in_cube = function(nodenames, node_pos, radius) + for x = node_pos.x - radius, node_pos.x + radius do + for y = node_pos.y - radius, node_pos.y + radius do + for z = node_pos.z - radius, node_pos.z + radius do + n = minetest.env:get_node_or_nil({x = x, y = y, z = z}) + if (n == nil) + or (n.name == 'ignore') + or (table_contains(nodenames, n.name) == true) then + return true + end + end + end + end + + return false +end + +table_contains = function(t, v) + for _, i in ipairs(t) do + if (i == v) then + return true + end + end + + return false +end + +-- craft rope +minetest.register_craft({ + output = 'vines:rope_block', + recipe = { + {'', 'default:wood', ''}, + {'', 'vines:vines', ''}, + {'', 'vines:vines', ''}, + } +}) + +minetest.register_craftitem("vines:vines", { + description = "Vines", + inventory_image = "vines_vine.png", +}) + +minetest.register_on_dignode(function (pos, node, player) + if node.name == 'vines:rope_block' then + local p = {x=pos.x, y=pos.y-1, z=pos.z} + local n = minetest.env:get_node(p) + while n.name == 'vines:rope' do + minetest.env:remove_node(p) + p = {x=p.x, y=p.y-1, z=p.z} + n = minetest.env:get_node(p) + end + if n.name == 'vines:rope_end' then + minetest.env:remove_node(p) + end + end +end) diff --git a/mods/vines/textures/vines_rope.png b/mods/vines/textures/vines_rope.png new file mode 100644 index 0000000000000000000000000000000000000000..525bc666d1a9ba069e9d01d328fc6a3d54290db5 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfkRpFi7sn8b)5$3Zc>h^PNE&c__-teV1UWbA zW;6o9#7346@>wV9HD;%Lus?8FY?FVdQ&MBb@042yxod5s; literal 0 HcmV?d00001 diff --git a/mods/vines/textures/vines_rope_block.png b/mods/vines/textures/vines_rope_block.png new file mode 100644 index 0000000000000000000000000000000000000000..ece6d37f1af70ad23388beef13fea812384f20fe GIT binary patch literal 625 zcmV-%0*?KOP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyk> z6)-hl5x%Yf000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0005ZNklQs&n^>-2^x${SsbI{+FbmBJr=7a!bqZ& zGEHoKBS%B(OBLj3$RLRUXf*@V$HU7;J4c*j#UzoDhP7F4p=lWAL*3h|To|ax^q2j3lv#*fUL9&47bHGU~O3NgsrfWcsY# zy_sXM+X)Ee4^ybw*;;#+>`5Hu7?g{1tSnzaDTP;Zjd!f>_G+3WW25QxY;Ylit&IlN zt0luqbFhy0cG77Ey^mjc{<@cIvfBw*S@sc`O%#+;gpuUv{TGw0&X+Ir!HsM4X8-!1 zu!Rt2w|^aJbPrqHtz@2pn&xiO`*D&}6fF}J23fu<-00000 LNkvXXu0mjfZ8i|% literal 0 HcmV?d00001 diff --git a/mods/vines/textures/vines_rope_wield.png b/mods/vines/textures/vines_rope_wield.png new file mode 100644 index 0000000000000000000000000000000000000000..c22f5168a77fa616d65f81ea5516b371e7d43fd5 GIT binary patch literal 673 zcmV;S0$%-zP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyk> z6*D^IgYf(S000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0005}Nklowie<-99l@1016%iT)>5#!e910F`&E!;^Tr+9^ zfQ}u4P;RLZILOo?VxghxP>&Andzywz&X+84DEBtWIp_licgOQS&pn@ejQ#D+zUxT_ z<9FBK^}CO(<+4m(PXbW29p1lr#?sA{&T~D<7=V>ZlTIW#JoZQ@lJt5#0BZFH7j2)a z?eMCYWo{;c>q(SSy2w~~BRf8sr4+K`(+au(Y!vd;>J0$yEzS`(6GG?$MydFqA3nt6 zG0uK=*xCCM`TXMJ+oY!^7|aDQ{>R|O(-odSS17 zdV@-Nods(e+3~MBb$m=KmDaNazQ(`OgMsA$Nz-5MrF2y@oEbQOL7vJ5u->fJHz`Vm3U(=(l%wzR=uk%Q(bu54?o(81W>-t3PW zIG?}r_Jb3F+$!Z+UABfcaZD+N>q+eTk$yQdITbOel-Id+V-nf%wSiI!QwX8|?bSva z5rbCHWx*Qm4qO_9am^g3d2;?&gYQ2sIF|wLnU6J-)CPY5hbs#=b=Px#24YJ`L;xWGHUJ*q3mJ+4000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyk= z0uMVuqH6^J00BQqL_t(I%cYZ{Zo@DThX1ollF*R>C#nWaf+nq~8ZF-xuxA*k)IG<- z`V0e6@(|TfM@s^xE-@$>O+qGlpmCbGj#g{uvzo5R}ui+&ed6g@^CySI^YEks-m&Fl!p_OY}LRE902vupg#=&)V5${ z(iZ~&|GN9OUT)hMu(*Gg$fXOG#73cm&ji!Cn9W002ovPDHLkV1n8ivDE+o literal 0 HcmV?d00001 diff --git a/mods/vines/textures/vines_vine_rotten.png b/mods/vines/textures/vines_vine_rotten.png new file mode 100644 index 0000000000000000000000000000000000000000..11b5474c659acc3f7fa0a40bce3a4c8ee97d7b11 GIT binary patch literal 463 zcmV;=0WkiFP)Px#24YJ`L;xEABLEq&6HS!>000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyk= z0ucZt=)L{`00B=)L_t(I%bilOO2beTJ@-LEGG|HyfoFy;U0m`3`G-PQ3I0I3`2lY2 zyRDREspR$qQT-X=2kMXDz9&8dhHwhn$fnHVK7{x@v|z0)RNOXnB36<%wa341MT~ zU9FE=l>z`JvbTV{`!zRX7&8Ef#nmem52&u1{y&(G!FAQpL=tWuKF}t?-xMrwbJhJm zGS#qrw}%(F-1#!e=a`pDuh&1y + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Cisoun: +- wool_black.png wool_brown.png wool_dark_green.png wool_green.png +- wool_magenta.png wool_pink.png wool_violet.png wool_yellow.png wool_blue.png +- wool_cyan.png wool_dark_grey.png wool_grey.png wool_orange.png wool_red.png +- wool_white.png + diff --git a/mods/wool/depends.txt b/mods/wool/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/wool/init.lua b/mods/wool/init.lua new file mode 100644 index 0000000..9af16ac --- /dev/null +++ b/mods/wool/init.lua @@ -0,0 +1,48 @@ +-- minetest/wool/init.lua + +-- Backwards compatibility with jordach's 16-color wool mod +minetest.register_alias("wool:dark_blue", "wool:blue") +minetest.register_alias("wool:gold", "wool:yellow") + +local wool = {} +-- This uses a trick: you can first define the recipes using all of the base +-- colors, and then some recipes using more specific colors for a few non-base +-- colors available. When crafting, the last recipes will be checked first. +wool.dyes = { + {"white", "White", nil}, + {"grey", "Grey", "basecolor_grey"}, + {"black", "Black", "basecolor_black"}, + {"red", "Red", "basecolor_red"}, + {"yellow", "Yellow", "basecolor_yellow"}, + {"green", "Green", "basecolor_green"}, + {"cyan", "Cyan", "basecolor_cyan"}, + {"blue", "Blue", "basecolor_blue"}, + {"magenta", "Magenta", "basecolor_magenta"}, + {"orange", "Orange", "excolor_orange"}, + {"violet", "Violet", "excolor_violet"}, + {"brown", "Brown", "unicolor_dark_orange"}, + {"pink", "Pink", "unicolor_light_red"}, + {"dark_grey", "Dark Grey", "unicolor_darkgrey"}, + {"dark_green", "Dark Green", "unicolor_dark_green"}, +} + +for _, row in ipairs(wool.dyes) do + local name = row[1] + local desc = row[2] + local craft_color_group = row[3] + -- Node Definition + minetest.register_node("wool:"..name, { + description = desc.." Wool", + tiles = {"wool_"..name..".png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3}, + }) + if craft_color_group then + -- Crafting from dye and white wool + minetest.register_craft({ + type = "shapeless", + output = 'wool:'..name..' 1', + recipe = {'group:dye,'..craft_color_group, 'wool:white'}, + }) + end +end + diff --git a/mods/wool/textures/wool_black.png b/mods/wool/textures/wool_black.png new file mode 100644 index 0000000000000000000000000000000000000000..f22e3bbe0ad921af667ab6382f9cbebfd2372dd5 GIT binary patch literal 3177 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 Ac>n+a literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_brown.png b/mods/wool/textures/wool_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcee4be203eeb753de176e7d06798fe31e34f1f GIT binary patch literal 3229 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 Hu0mjfI9+jC literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_grey.png b/mods/wool/textures/wool_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..86e647c6bc55cf8b241ccb6625ffe9bd41cd851d GIT binary patch literal 3432 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 literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_orange.png b/mods/wool/textures/wool_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..2a76cf9963967c36bc5719aca01c975c5cf5b622 GIT binary patch literal 3386 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 Q1poj507*qoM6N<$f*2!rR{#J2 literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_pink.png b/mods/wool/textures/wool_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..6d59544d23162a6bfa38241f6949443e8dfbe442 GIT binary patch literal 3115 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 FV1k%r@R0xj literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_red.png b/mods/wool/textures/wool_red.png new file mode 100644 index 0000000000000000000000000000000000000000..ab4dd6494aad278fa16ff4edd8b0d2bf02dd57b8 GIT binary patch literal 3355 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 literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_white.png b/mods/wool/textures/wool_white.png new file mode 100644 index 0000000000000000000000000000000000000000..f3371aa6b622579d83e276331f04c9a4ed3e3946 GIT binary patch literal 3275 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 JPDHLkV1lzcN1Olv literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_yellow.png b/mods/wool/textures/wool_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..5c5d72ff5376bb633dda223748fe207fad841d7b GIT binary patch literal 3196 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 ib0Xk8)A%-l82$iC8^;x+?7fWu0000 + +Set the current WorldEdit region to . + + //set dirt + //set default:glass + //set mesecons:mesecon + +### //replace + +Replace all instances of with in the current WorldEdit region. + + //replace cobble stone + //replace default:steelblock glass + //replace dirt flowers:flower_waterlily + //replace flowers:flower_rose flowers:flower_tulip + +### //hollowsphere + +Add hollow sphere at WorldEdit position 1 with radius , composed of . + + //hollowsphere 5 dirt + //hollowsphere 12 default:glass + //hollowsphere 17 mesecons:mesecon + +### //sphere + +Add sphere at WorldEdit position 1 with radius , composed of . + + //sphere 5 dirt + //sphere 12 default:glass + //sphere 17 mesecons:mesecon + +### //hollowcylinder x/y/z/? + +Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . + + //hollowcylinder x +5 8 dirt + //hollowcylinder y 28 10 default:glass + //hollowcylinder z -12 3 mesecons:mesecon + //hollowcylinder ? 2 4 stone + +### //cylinder x/y/z/? + +Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . + + //cylinder x +5 8 dirt + //cylinder y 28 10 default:glass + //cylinder z -12 3 mesecons:mesecon + //cylinder ? 2 4 stone + +### //pyramid + +Add pyramid at WorldEdit position 1 with height , composed of . + + //pyramid 8 dirt + //pyramid 5 default:glass + //pyramid 2 stone + +### //spiral + +Add spiral at WorldEdit position 1 with width , height , space between walls , composed of . + + //spiral 20 5 3 dirt + //spiral 5 2 1 default:glass + //spiral 7 1 5 stone + +### //copy x/y/z/? + +Copy the current WorldEdit region along the x/y/z/? axis by nodes. + + //copy x 15 + //copy y -7 + //copy z +4 + //copy ? 8 + +### //move x/y/z/? + +Move the current WorldEdit positions and region along the x/y/z/? axis by nodes. + + //move x 15 + //move y -7 + //move z +4 + //move ? -1 + +### //stack x/y/z/? + +Stack the current WorldEdit region along the x/y/z/? axis times. + + //stack x 3 + //stack y -1 + //stack z +5 + //stack ? 12 + +### //transpose x/y/z/? x/y/z/? + +Transpose the current WorldEdit region along the x/y/z/? and x/y/z/? axes. + + //transpose x y + //transpose x z + //transpose y z + //transpose ? y + +### //flip x/y/z/? + +Flip the current WorldEdit region along the x/y/z/? axis. + + //flip x + //flip y + //flip z + //flip ? + +### //rotate x/y/z/? + +Rotate the current WorldEdit region along the x/y/z/? axis by angle (90 degree increment). + + //rotate x 90 + //rotate y 180 + //rotate z 270 + //rotate ? -90 + +### //dig + +Dig the current WorldEdit region. + + //dig + +## //hide + +Hide all nodes in the current WorldEdit region non-destructively. + + //hide + +### //suppress + +Suppress all in the current WorldEdit region non-destructively. + + //suppress dirt + //suppress default:glass + //suppress mesecons:mesecon + +### //highlight + +Highlight in the current WorldEdit region by hiding everything else non-destructively. + + //highlight dirt + //highlight default:glass + //highlight mesecons:mesecon + +### //restore + +Restores nodes hidden with WorldEdit in the current WorldEdit region. + + //restore + +### //save + +Save the current WorldEdit region to "(world folder)/schems/.we". + + //save some random filename + //save huge_base + +### //allocate + +Set the region defined by nodes from "(world folder)/schems/.we" as the current WorldEdit region. + + //allocate some random filename + //allocate huge_base + +### //load + +Load nodes from "(world folder)/schems/.we" with position 1 of the current WorldEdit region as the origin. + + //load some random filename + //load huge_base + +### //metasave + +Save the current WorldEdit region including metadata to "(world folder)/schems/.wem". + + //metasave some random filename + //metasave huge_base + +### //metaload + +Load nodes and metadata from "(world folder)/schems/.wem" with position 1 of the current WorldEdit region as the origin. + + //metaload some random filename + //metaload huge_base \ No newline at end of file diff --git a/mods/worldedit/LICENSE.txt b/mods/worldedit/LICENSE.txt new file mode 100644 index 0000000..dba13ed --- /dev/null +++ b/mods/worldedit/LICENSE.txt @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/mods/worldedit/README.md b/mods/worldedit/README.md new file mode 100644 index 0000000..5313137 --- /dev/null +++ b/mods/worldedit/README.md @@ -0,0 +1,57 @@ +WorldEdit v0.5 for MineTest 0.4 +=============================== +In-game world editing for [MineTest](http://minetest.net/)! Tons of chat commands to help with building, fixing, and more. + +For more information, see the [forum topic](http://minetest.net/forum/viewtopic.php?id=572) at the MineTest forums. + +Usage +----- +WorldEdit works primarily through chat commands. Depending on your key bindings, you can invoke chat entry with the "t" key, and open the chat console with the "F10" key. + +WorldEdit has a huge potential for abuse by untrusted players. Therefore, users will not be able to use WorldEdit unless they have the "worldedit" privelege. This is available by default in single player, but in multiplayer the permission must be explicitly given by someone with the right credentials, using the follwoing chat command: `/grant worldedit`. This privelege can later be removed using the following chat command: `/revoke worldedit`. + +For in-game information about these commands, type `/help ` in the chat. For example, to learn more about the `//copy` command, simply type `/help /copy` to display information relevant to copying a region. + +Axes +---- +The coordinate system is the same as that used by MineTest; Y is upwards, X is perpendicular, and Z is parallel. + +When an axis is specified in a WorldEdit command, it is specified as one of the following values: x, y, z, or ?. + +The value ? represents the axis the player is currently facing. If the player is facing more than one axis, the axis the player face direction is closest to will be used. + +Regions +------- +Most WorldEdit commands operate on regions. Regions are a set of two positions that define a 3D cube. They are local to each player and chat commands affect only the region for the player giving the commands. + +Each positions together define two opposing corners of the cube. With two opposing corners it is possible to determine both the location and dimensions of the region. + +Regions are not saved between server restarts. They start off as empty regions, and cannot be used with most WorldEdit commands until they are set to valid values. + +Markers +------- +Entities are used to mark the location of the WorldEdit regions. They appear as boxes containing the number 1 or 2, and represent position 1 and 2 of the WorldEdit region, respectively. + +To remove the entities, simply punch them. This does not reset the positions themselves. + +Chat Commands +------------- +WorldEdit is accessed in-game through an interface. By default, the mod distribution includes a chat interface for this purpose. It is documented in the [Chat Commands Reference](Chat Commands.md). + +If visual manipulation of nodes is desired, the [WorldEdit GUI](http://minetest.net/forum/viewtopic.php?id=3112) mod provides a simple interface with buttons and text entry fields for this purpose. + +WorldEdit API +------------- +WorldEdit exposes all significant functionality in a simple interface. Adding WorldEdit to the file "depends.txt" in your mod gives you access to all of the `worldedit` functions. The API is useful for tasks such as high-performance node manipulation, alternative interfaces, and map creation. + +This API is documented in the [WorldEdit API Reference](WorldEdit API.md). + +License +------- +Copyright 2012 sfan5, Anthony Zhang (Temperest), and Brett O'Donnell (cornernote). + +This mod is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl-3.0.html). + +Basically, this means everyone is free to use, modify, and distribute the files, as long as these modifications are also licensed the same way. + +Most importantly, the Affero variant of the GPL requires you to publish your modifications in source form, even if the mod is run only on the server, and not distributed. diff --git a/mods/worldedit/WorldEdit_API.md b/mods/worldedit/WorldEdit_API.md new file mode 100644 index 0000000..ddf9a1e --- /dev/null +++ b/mods/worldedit/WorldEdit_API.md @@ -0,0 +1,177 @@ +WorldEdit API +============= +The WorldEdit API is composed of multiple modules, each of which is independent and can be used without the other. Each module is contained within a single file. + +For more information, see the [README](README.md). + +Manipulations +------------- +Contained in manipulations.lua, this module allows several node operations to be applied over a region. + +### count = worldedit.set(pos1, pos2, nodename) + +Sets a region defined by positions `pos1` and `pos2` to `nodename`. To clear to region, use "air" as the value of `nodename`. + +Returns the number of nodes set. + +### count = worldedit.replace(pos1, pos2, searchnode, replacenode) + +Replaces all instances of `searchnode` with `replacenode` in a region defined by positions `pos1` and `pos2`. + +Returns the number of nodes replaced. + +### count = worldedit.copy(pos1, pos2, axis, amount) + +Copies the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes. + +Returns the number of nodes copied. + +### count = worldedit.move(pos1, pos2, axis, amount) + +Moves the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes. + +Returns the number of nodes moved. + +### count = worldedit.stack(pos1, pos2, axis, count) + +Duplicates the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") `count` times. + +Returns the number of nodes stacked. + +### count = worldedit.transpose(pos1, pos2, axis1, axis2) + +Transposes a region defined by the positions `pos1` and `pos2` between the `axis1` and `axis2` axes ("x" or "y" or "z"). + +Returns the number of nodes transposed. + +### count = worldedit.flip(pos1, pos2, axis) + +Flips a region defined by the positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z"). + +Returns the number of nodes flipped. + +### count = worldedit.rotate(pos1, pos2, angle) + +Rotates a region defined by the positions `pos1` and `pos2` by `angle` degrees clockwise around the y axis (supporting 90 degree increments only). + +Returns the number of nodes rotated. + +### count = worldedit.dig(pos1, pos2) + +Digs a region defined by positions `pos1` and `pos2`. + +Returns the number of nodes dug. + +Primitives +---------- +Contained in primitives.lua, this module allows the creation of several geometric primitives. + +### count = worldedit.hollow_sphere(pos, radius, nodename) + +Adds a hollow sphere at `pos` with radius `radius`, composed of `nodename`. + +Returns the number of nodes added. + +### count = worldedit.sphere(pos, radius, nodename) + +Adds a sphere at `pos` with radius `radius`, composed of `nodename`. + +Returns the number of nodes added. + +### count = worldedit.hollow_cylinder(pos, axis, length, radius, nodename) + +Adds a hollow cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`. + +Returns the number of nodes added. + +### count = worldedit.cylinder(pos, axis, length, radius, nodename) + +Adds a cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`. + +Returns the number of nodes added. + +### count = worldedit.pyramid(pos, height, nodename) + +Adds a pyramid at `pos` with height `height`. + +Returns the number of nodes added. + +### count = worldedit.spiral(pos, width, height, spacer, nodename) + +Adds a spiral at `pos` with width `width`, height `height`, space between walls `spacer`, composed of `nodename`. + +Visualization +------------- +Contained in visualization.lua, this module allows nodes to be visualized in different ways. + +### volume = worldedit.volume(pos1, pos2) + +Determines the volume of the region defined by positions `pos1` and `pos2`. + +Returns the volume. + +### count = worldedit.hide(pos1, pos2) + +Hides all nodes in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes. + +Returns the number of nodes hidden. + +### count = worldedit.suppress(pos1, pos2, nodename) + +Suppresses all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes. + +Returns the number of nodes suppressed. + +### count = worldedit.highlight(pos1, pos2, nodename) + +Highlights all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively hiding all other nodes. + +Returns the number of nodes found. + +### count = worldedit.restore(pos1, pos2) + +Restores all nodes hidden with WorldEdit functions in a region defined by positions `pos1` and `pos2`. + +Returns the number of nodes restored. + +Serialization +------------- +Contained in serialization.lua, this module allows regions of nodes to be serialized and deserialized to formats suitable for use outside MineTest. + +### data, count = worldedit.serialize(pos1, pos2) + +Converts the region defined by positions `pos1` and `pos2` into a single string. + +Returns the serialized data and the number of nodes serialized. + +### pos1, pos2, count = worldedit.allocate(originpos, value) + +Determines the volume the nodes represented by string `value` would occupy if deserialized at `originpos`. + +Returns the two corner positions and the number of nodes. + +### count = worldedit.deserialize(originpos, value) + +Loads the nodes represented by string `value` at position `originpos`. + +Returns the number of nodes deserialized. + +### count = worldedit.deserialize_old(originpos, value) + +Loads the nodes represented by string `value` at position `originpos`, using the older table-based WorldEdit format. + +This function is deprecated, and should not be used unless there is a need to support legacy WorldEdit save files. + +Returns the number of nodes deserialized. + +### count = worldedit.metasave(pos1, pos2, file) + +Saves the nodes and meta defined by positions `pos1` and `pos2` into a file. + +Returns the number of nodes saved. + +### count = worldedit.metaload(pos1, file) + +Loads the nodes and meta from `file` to position `pos1`. + +Returns the number of nodes loaded. \ No newline at end of file diff --git a/mods/worldedit/modpack.txt b/mods/worldedit/modpack.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/worldedit/worldedit/init.lua b/mods/worldedit/worldedit/init.lua new file mode 100644 index 0000000..6f841eb --- /dev/null +++ b/mods/worldedit/worldedit/init.lua @@ -0,0 +1,4 @@ +dofile(minetest.get_modpath("worldedit") .. "/manipulations.lua") +dofile(minetest.get_modpath("worldedit") .. "/primitives.lua") +dofile(minetest.get_modpath("worldedit") .. "/visualization.lua") +dofile(minetest.get_modpath("worldedit") .. "/serialization.lua") \ No newline at end of file diff --git a/mods/worldedit/worldedit/manipulations.lua b/mods/worldedit/worldedit/manipulations.lua new file mode 100644 index 0000000..ad64df6 --- /dev/null +++ b/mods/worldedit/worldedit/manipulations.lua @@ -0,0 +1,307 @@ +worldedit = worldedit or {} + +--modifies positions `pos1` and `pos2` so that each component of `pos1` is less than or equal to its corresponding conent of `pos2`, returning two new positions +worldedit.sort_pos = function(pos1, pos2) + pos1 = {x=pos1.x, y=pos1.y, z=pos1.z} + pos2 = {x=pos2.x, y=pos2.y, z=pos2.z} + if pos1.x > pos2.x then + pos2.x, pos1.x = pos1.x, pos2.x + end + if pos1.y > pos2.y then + pos2.y, pos1.y = pos1.y, pos2.y + end + if pos1.z > pos2.z then + pos2.z, pos1.z = pos1.z, pos2.z + end + return pos1, pos2 +end + +--determines the volume of the region defined by positions `pos1` and `pos2`, returning the volume +worldedit.volume = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + return (pos2.x - pos1.x + 1) * (pos2.y - pos1.y + 1) * (pos2.z - pos1.z + 1) +end + +--sets a region defined by positions `pos1` and `pos2` to `nodename`, returning the number of nodes filled +worldedit.set = function(pos1, pos2, nodename) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + local node = {name=nodename} + local pos = {x=pos1.x, y=0, z=0} + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + env:add_node(pos, node) + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return worldedit.volume(pos1, pos2) +end + +--replaces all instances of `searchnode` with `replacenode` in a region defined by positions `pos1` and `pos2`, returning the number of nodes replaced +worldedit.replace = function(pos1, pos2, searchnode, replacenode) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + if minetest.registered_nodes[searchnode] == nil then + searchnode = "default:" .. searchnode + end + + local pos = {x=pos1.x, y=0, z=0} + local node = {name=replacenode} + local count = 0 + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + if env:get_node(pos).name == searchnode then + env:add_node(pos, node) + count = count + 1 + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return count +end + +--copies the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes, returning the number of nodes copied +worldedit.copy = function(pos1, pos2, axis, amount) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + if amount < 0 then + local pos = {x=pos1.x, y=0, z=0} + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) --obtain current node + local meta = env:get_meta(pos):to_table() --get meta of current node + local value = pos[axis] --store current position + pos[axis] = value + amount --move along axis + env:add_node(pos, node) --copy node to new position + env:get_meta(pos):from_table(meta) --set metadata of new node + pos[axis] = value --restore old position + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + else + local pos = {x=pos2.x, y=0, z=0} + while pos.x >= pos1.x do + pos.y = pos2.y + while pos.y >= pos1.y do + pos.z = pos2.z + while pos.z >= pos1.z do + local node = minetest.env:get_node(pos) --obtain current node + local meta = env:get_meta(pos):to_table() --get meta of current node + local value = pos[axis] --store current position + pos[axis] = value + amount --move along axis + minetest.env:add_node(pos, node) --copy node to new position + env:get_meta(pos):from_table(meta) --set metadata of new node + pos[axis] = value --restore old position + pos.z = pos.z - 1 + end + pos.y = pos.y - 1 + end + pos.x = pos.x - 1 + end + end + return worldedit.volume(pos1, pos2) +end + +--moves the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes, returning the number of nodes moved +worldedit.move = function(pos1, pos2, axis, amount) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + if amount < 0 then + local pos = {x=pos1.x, y=0, z=0} + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) --obtain current node + local meta = env:get_meta(pos):to_table() --get metadata of current node + env:remove_node(pos) + local value = pos[axis] --store current position + pos[axis] = value + amount --move along axis + env:add_node(pos, node) --move node to new position + env:get_meta(pos):from_table(meta) --set metadata of new node + pos[axis] = value --restore old position + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + else + local pos = {x=pos2.x, y=0, z=0} + while pos.x >= pos1.x do + pos.y = pos2.y + while pos.y >= pos1.y do + pos.z = pos2.z + while pos.z >= pos1.z do + local node = env:get_node(pos) --obtain current node + local meta = env:get_meta(pos):to_table() --get metadata of current node + env:remove_node(pos) + local value = pos[axis] --store current position + pos[axis] = value + amount --move along axis + env:add_node(pos, node) --move node to new position + env:get_meta(pos):from_table(meta) --set metadata of new node + pos[axis] = value --restore old position + pos.z = pos.z - 1 + end + pos.y = pos.y - 1 + end + pos.x = pos.x - 1 + end + end + return worldedit.volume(pos1, pos2) +end + +--duplicates the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") `count` times, returning the number of nodes stacked +worldedit.stack = function(pos1, pos2, axis, count) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local length = pos2[axis] - pos1[axis] + 1 + if count < 0 then + count = -count + length = -length + end + local amount = 0 + local copy = worldedit.copy + for i = 1, count do + amount = amount + length + copy(pos1, pos2, axis, amount) + end + return worldedit.volume(pos1, pos2) +end + +--transposes a region defined by the positions `pos1` and `pos2` between the `axis1` and `axis2` axes, returning the number of nodes transposed +worldedit.transpose = function(pos1, pos2, axis1, axis2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + + local pos = {x=pos1.x, y=0, z=0} + local env = minetest.env + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local extent1, extent2 = pos[axis1] - pos1[axis1], pos[axis2] - pos1[axis2] + if extent1 < extent2 then + local node1 = env:get_node(pos) + local meta1 = env:get_meta(pos):to_table() + local value1, value2 = pos[axis1], pos[axis2] + pos[axis1], pos[axis2] = value1 + extent2, value2 + extent1 + local node2 = env:get_node(pos) + local meta2 = env:get_meta(pos):to_table() + env:add_node(pos, node1) + env:get_meta(pos):from_table(meta1) + pos[axis1], pos[axis2] = value1, value2 + env:add_node(pos, node2) + env:get_meta(pos):from_table(meta2) + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return worldedit.volume(pos1, pos2) +end + +--flips a region defined by the positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z"), returning the number of nodes flipped +worldedit.flip = function(pos1, pos2, axis) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + + local pos = {x=pos1.x, y=0, z=0} + local start = pos1[axis] + pos2[axis] + pos2[axis] = pos1[axis] + math.floor((pos2[axis] - pos1[axis]) / 2) + local env = minetest.env + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node1 = env:get_node(pos) + local meta1 = env:get_meta(pos):to_table() + local value = pos[axis] + pos[axis] = start - value + local node2 = env:get_node(pos) + local meta2 = env:get_meta(pos):to_table() + env:add_node(pos, node1) + env:get_meta(pos):from_table(meta1) + pos[axis] = value + env:add_node(pos, node2) + env:get_meta(pos):from_table(meta2) + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return worldedit.volume(pos1, pos2) +end + +--rotates a region defined by the positions `pos1` and `pos2` by `angle` degrees clockwise around axis `axis` (90 degree increment), returning the number of nodes rotated +worldedit.rotate = function(pos1, pos2, axis, angle) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + + local axis1, axis2 + if axis == "x" then + axis1, axis2 = "z", "y" + elseif axis == "y" then + axis1, axis2 = "x", "z" + else --axis == "z" + axis1, axis2 = "y", "x" + end + angle = angle % 360 + + if angle == 90 then + worldedit.transpose(pos1, pos2, axis1, axis2) + worldedit.flip(pos1, pos2, axis2) + elseif angle == 180 then + worldedit.flip(pos1, pos2, axis1) + worldedit.flip(pos1, pos2, axis2) + elseif angle == 270 then + worldedit.transpose(pos1, pos2, axis1, axis2) + worldedit.flip(pos1, pos2, axis1) + end + return worldedit.volume(pos1, pos2) +end + +--digs a region defined by positions `pos1` and `pos2`, returning the number of nodes dug +worldedit.dig = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + local pos = {x=pos1.x, y=0, z=0} + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + env:dig_node(pos) + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return worldedit.volume(pos1, pos2) +end \ No newline at end of file diff --git a/mods/worldedit/worldedit/primitives.lua b/mods/worldedit/worldedit/primitives.lua new file mode 100644 index 0000000..37e2298 --- /dev/null +++ b/mods/worldedit/worldedit/primitives.lua @@ -0,0 +1,262 @@ +worldedit = worldedit or {} + +--adds a hollow sphere at `pos` with radius `radius`, composed of `nodename`, returning the number of nodes added +worldedit.hollow_sphere = function(pos, radius, nodename) --wip: use bresenham sphere for maximum speed + local node = {name=nodename} + local pos1 = {x=0, y=0, z=0} + local full_radius = radius * radius + radius + local count = 0 + local env = minetest.env + for x = -radius, radius do + pos1.x = pos.x + x + for y = -radius, radius do + pos1.y = pos.y + y + for z = -radius, radius do + if x*x+y*y+z*z >= (radius-1) * (radius-1) + (radius-1) and x*x+y*y+z*z <= full_radius then + pos1.z = pos.z + z + env:add_node({x=pos.x+x,y=pos.y+y,z=pos.z+z}, node) + count = count + 1 + end + end + end + end + return count +end + +--adds a sphere at `pos` with radius `radius`, composed of `nodename`, returning the number of nodes added +worldedit.sphere = function(pos, radius, nodename) --wip: use bresenham sphere for maximum speed + local node = {name=nodename} + local pos1 = {x=0, y=0, z=0} + local full_radius = radius * radius + radius + local count = 0 + local env = minetest.env + for x = -radius, radius do + pos1.x = pos.x + x + for y = -radius, radius do + pos1.y = pos.y + y + for z = -radius, radius do + if x*x+y*y+z*z <= full_radius then + pos1.z = pos.z + z + env:add_node(pos1, node) + count = count + 1 + end + end + end + end + return count +end + +--adds a hollow cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`, returning the number of nodes added +worldedit.hollow_cylinder = function(pos, axis, length, radius, nodename) + local other1, other2 + if axis == "x" then + other1, other2 = "y", "z" + elseif axis == "y" then + other1, other2 = "x", "z" + else --axis == "z" + other1, other2 = "x", "y" + end + + local env = minetest.env + local currentpos = {x=pos.x, y=pos.y, z=pos.z} + local node = {name=nodename} + local count = 0 + local step = 1 + if length < 0 then + length = -length + step = -1 + end + for i = 1, length do + local offset1, offset2 = 0, radius + local delta = -radius + while offset1 <= offset2 do + --add node at each octant + local first1, first2 = pos[other1] + offset1, pos[other1] - offset1 + local second1, second2 = pos[other2] + offset2, pos[other2] - offset2 + currentpos[other1], currentpos[other2] = first1, second1 + env:add_node(currentpos, node) --octant 1 + currentpos[other1] = first2 + env:add_node(currentpos, node) --octant 4 + currentpos[other2] = second2 + env:add_node(currentpos, node) --octant 5 + currentpos[other1] = first1 + env:add_node(currentpos, node) --octant 8 + local first1, first2 = pos[other1] + offset2, pos[other1] - offset2 + local second1, second2 = pos[other2] + offset1, pos[other2] - offset1 + currentpos[other1], currentpos[other2] = first1, second1 + env:add_node(currentpos, node) --octant 2 + currentpos[other1] = first2 + env:add_node(currentpos, node) --octant 3 + currentpos[other2] = second2 + env:add_node(currentpos, node) --octant 6 + currentpos[other1] = first1 + env:add_node(currentpos, node) --octant 7 + + count = count + 8 --wip: broken + + --move to next location + delta = delta + (offset1 * 2) + 1 + if delta >= 0 then + offset2 = offset2 - 1 + delta = delta - (offset2 * 2) + end + offset1 = offset1 + 1 + end + currentpos[axis] = currentpos[axis] + step + end + return count +end + +--adds a cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`, returning the number of nodes added +worldedit.cylinder = function(pos, axis, length, radius, nodename) + local other1, other2 + if axis == "x" then + other1, other2 = "y", "z" + elseif axis == "y" then + other1, other2 = "x", "z" + else --axis == "z" + other1, other2 = "x", "y" + end + + local env = minetest.env + local currentpos = {x=pos.x, y=pos.y, z=pos.z} + local node = {name=nodename} + local count = 0 + local step = 1 + if length < 0 then + length = -length + step = -1 + end + for i = 1, length do + local offset1, offset2 = 0, radius + local delta = -radius + while offset1 <= offset2 do + --connect each pair of octants + currentpos[other1] = pos[other1] - offset1 + local second1, second2 = pos[other2] + offset2, pos[other2] - offset2 + for i = 0, offset1 * 2 do + currentpos[other2] = second1 + env:add_node(currentpos, node) --octant 1 to 4 + currentpos[other2] = second2 + env:add_node(currentpos, node) --octant 5 to 8 + currentpos[other1] = currentpos[other1] + 1 + end + currentpos[other1] = pos[other1] - offset2 + local second1, second2 = pos[other2] + offset1, pos[other2] - offset1 + for i = 0, offset2 * 2 do + currentpos[other2] = second1 + env:add_node(currentpos, node) --octant 2 to 3 + currentpos[other2] = second2 + env:add_node(currentpos, node) --octant 6 to 7 + currentpos[other1] = currentpos[other1] + 1 + end + + count = count + (offset1 * 4) + (offset2 * 4) + 4 --wip: broken + + --move to next location + delta = delta + (offset1 * 2) + 1 + offset1 = offset1 + 1 + if delta >= 0 then + offset2 = offset2 - 1 + delta = delta - (offset2 * 2) + end + end + currentpos[axis] = currentpos[axis] + step + end + return count +end + +--adds a pyramid at `pos` with height `height`, composed of `nodename`, returning the number of nodes added +worldedit.pyramid = function(pos, height, nodename) + local pos1x, pos1y, pos1z = pos.x - height, pos.y, pos.z - height + local pos2x, pos2y, pos2z = pos.x + height, pos.y + height, pos.z + height + local pos = {x=0, y=pos1y, z=0} + + local count = 0 + local node = {name=nodename} + local env = minetest.env + while pos.y <= pos2y do --each vertical level of the pyramid + pos.x = pos1x + while pos.x <= pos2x do + pos.z = pos1z + while pos.z <= pos2z do + env:add_node(pos, node) + pos.z = pos.z + 1 + end + pos.x = pos.x + 1 + end + count = count + ((pos2y - pos.y) * 2 + 1) ^ 2 + pos.y = pos.y + 1 + + pos1x, pos2x = pos1x + 1, pos2x - 1 + pos1z, pos2z = pos1z + 1, pos2z - 1 + + end + return count +end + +--adds a spiral at `pos` with width `width`, height `height`, space between walls `spacer`, composed of `nodename`, returning the number of nodes added +worldedit.spiral = function(pos, width, height, spacer, nodename) --wip: clean this up + -- spiral matrix - http://rosettacode.org/wiki/Spiral_matrix#Lua + av, sn = math.abs, function(s) return s~=0 and s/av(s) or 0 end + local function sindex(z, x) -- returns the value at (x, z) in a spiral that starts at 1 and goes outwards + if z == -x and z >= x then return (2*z+1)^2 end + local l = math.max(av(z), av(x)) + return (2*l-1)^2+4*l+2*l*sn(x+z)+sn(z^2-x^2)*(l-(av(z)==l and sn(z)*x or sn(x)*z)) -- OH GOD WHAT + end + local function spiralt(side) + local ret, id, start, stop = {}, 0, math.floor((-side+1)/2), math.floor((side-1)/2) + for i = 1, side do + for j = 1, side do + local id = side^2 - sindex(stop - i + 1,start + j - 1) + ret[id] = {x=i,z=j} + end + end + return ret + end + -- connect the joined parts + local spiral = spiralt(width) + height = tonumber(height) + if height < 1 then height = 1 end + spacer = tonumber(spacer)-1 + if spacer < 1 then spacer = 1 end + local count = 0 + local node = {name=nodename} + local np,lp + for y=0,height do + lp = nil + for _,v in ipairs(spiral) do + np = {x=pos.x+v.x*spacer, y=pos.y+y, z=pos.z+v.z*spacer} + if lp~=nil then + if lp.x~=np.x then + if lp.x pos2.x then + pos2.x, pos1.x = pos1.x, pos2.x + end + if pos1.y > pos2.y then + pos2.y, pos1.y = pos1.y, pos2.y + end + if pos1.z > pos2.z then + pos2.z, pos1.z = pos1.z, pos2.z + end + return pos1, pos2 +end + +--converts the region defined by positions `pos1` and `pos2` into a single string, returning the serialized data and the number of nodes serialized +worldedit.serialize = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local pos = {x=pos1.x, y=0, z=0} + local count = 0 + local result = {} + local env = minetest.env + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) + if node.name ~= "air" and node.name ~= "ignore" then + count = count + 1 + result[count] = pos.x - pos1.x .. " " .. pos.y - pos1.y .. " " .. pos.z - pos1.z .. " " .. node.name .. " " .. node.param1 .. " " .. node.param2 + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + result = table.concat(result, "\n") --join all node entries into single string + return result, count +end + +--determines the volume the nodes represented by string `value` would occupy if deserialized at `originpos`, returning the two corner positions and the number of nodes +worldedit.allocate = function(originpos, value) + local huge = math.huge + local pos1 = {x=huge, y=huge, z=huge} + local pos2 = {x=-huge, y=-huge, z=-huge} + local originx, originy, originz = originpos.x, originpos.y, originpos.z + local count = 0 + for x, y, z, name, param1, param2 in value:gmatch("([+-]?%d+)%s+([+-]?%d+)%s+([+-]?%d+)%s+([^%s]+)%s+(%d+)%s+(%d+)[^\r\n]*[\r\n]*") do --match node entries + x, y, z = originx + tonumber(x), originy + tonumber(y), originz + tonumber(z) + if x < pos1.x then + pos1.x = x + end + if y < pos1.y then + pos1.y = y + end + if z < pos1.z then + pos1.z = z + end + if x > pos2.x then + pos2.x = x + end + if y > pos2.y then + pos2.y = y + end + if z > pos2.z then + pos2.z = z + end + count = count + 1 + end + return pos1, pos2, count +end + +--loads the nodes represented by string `value` at position `originpos`, returning the number of nodes deserialized +worldedit.deserialize = function(originpos, value) + local pos = {x=0, y=0, z=0} + local node = {name="", param1=0, param2=0} + local originx, originy, originz = originpos.x, originpos.y, originpos.z + local count = 0 + local env = minetest.env + for x, y, z, name, param1, param2 in value:gmatch("([+-]?%d+)%s+([+-]?%d+)%s+([+-]?%d+)%s+([^%s]+)%s+(%d+)%s+(%d+)[^\r\n]*[\r\n]*") do --match node entries + pos.x = originx + tonumber(x) + pos.y = originy + tonumber(y) + pos.z = originz + tonumber(z) + node.name = name + node.param1 = param1 + node.param2 = param2 + env:add_node(pos, node) + count = count + 1 + end + return count +end + +--determines the volume the nodes represented by string `value` would occupy if deserialized at `originpos`, returning the two corner positions and the number of nodes +--based on [table.save/table.load](http://lua-users.org/wiki/SaveTableToFile) by ChillCode, available under the MIT license (GPL compatible) +worldedit.allocate_old = function(originpos, value) + --obtain the node table + local count = 0 + local get_tables = loadstring(value) + if get_tables == nil then --error loading value + return count + end + local tables = get_tables() + + --transform the node table into an array of nodes + for i = 1, #tables do + for j, v in pairs(tables[i]) do + if type(v) == "table" then + tables[i][j] = tables[v[1]] + end + end + end + + local huge = math.huge + local pos1 = {x=huge, y=huge, z=huge} + local pos2 = {x=-huge, y=-huge, z=-huge} + local originx, originy, originz = originpos.x, originpos.y, originpos.z + + --load the node array + for i, v in ipairs(tables[1]) do + local pos = v[1] + local x, y, z = originx - pos.x, originy - pos.y, originz - pos.z + if x < pos1.x then + pos1.x = x + end + if y < pos1.y then + pos1.y = y + end + if z < pos1.z then + pos1.z = z + end + if x > pos2.x then + pos2.x = x + end + if y > pos2.y then + pos2.y = y + end + if z > pos2.z then + pos2.z = z + end + count = count + 1 + end + return pos1, pos2, count +end + +--loads the nodes represented by string `value` at position `originpos`, returning the number of nodes deserialized +--based on [table.save/table.load](http://lua-users.org/wiki/SaveTableToFile) by ChillCode, available under the MIT license (GPL compatible) +worldedit.deserialize_old = function(originpos, value) + --obtain the node table + local count = 0 + local get_tables = loadstring(value) + if get_tables == nil then --error loading value + return count + end + local tables = get_tables() + + --transform the node table into an array of nodes + for i = 1, #tables do + for j, v in pairs(tables[i]) do + if type(v) == "table" then + tables[i][j] = tables[v[1]] + end + end + end + + --load the node array + local env = minetest.env + local originx, originy, originz = originpos.x, originpos.y, originpos.z + for i, v in ipairs(tables[1]) do + local pos = v[1] + pos.x, pos.y, pos.z = originx - pos.x, originy - pos.y, originz - pos.z + env:add_node(pos, v[2]) + count = count + 1 + end + return count +end + +--saves the nodes and meta defined by positions `pos1` and `pos2` into a file, returning the number of nodes saved +worldedit.metasave = function(pos1, pos2, file) --wip: simply work with strings instead of doing IO + local path = minetest.get_worldpath() .. "/schems" + local filename = path .. "/" .. file .. ".wem" + os.execute("mkdir \"" .. path .. "\"") --create directory if it does not already exist + local rows = {} + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local pos = {x=pos1.x, y=0, z=0} + local count = 0 + local result = {} + local env = minetest.env + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) + if node.name ~= "air" and node.name ~= "ignore" then + count = count + 1 + local meta = env:get_meta(pos):to_table() + + --convert metadata itemstacks to itemstrings + for i, v in pairs(meta.inventory) do + for index, items in ipairs(v) do + v[index] = items:to_string() + end + end + + table.insert(rows, { + x = pos.x-pos1.x, + y = pos.y-pos1.y, + z = pos.z-pos1.z, + name = node.name, + param1 = node.param1, + param2 = node.param2, + meta = meta, + }) + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + local err = table.save(rows, filename) + if err then return _, err end + return count +end + +--loads the nodes and meta from `file` to position `pos1`, returning the number of nodes loaded +worldedit.metaload = function(pos1, file) --wip: simply work with strings instead of doing IO + local filename = minetest.get_worldpath() .. "/schems/" .. file .. ".wem" + local rows, err = table.load(filename) + if err then return _,err end + local pos = {x=0, y=0, z=0} + local node = {name="", param1=0, param2=0} + local count = 0 + local env = minetest.env + for i,row in pairs(rows) do + pos.x = pos1.x + tonumber(row.x) + pos.y = pos1.y + tonumber(row.y) + pos.z = pos1.z + tonumber(row.z) + node.name = row.name + node.param1 = row.param1 + node.param2 = row.param2 + env:add_node(pos, node) + env:get_meta(pos):from_table(row.meta) + count = count + 1 + end + return count +end \ No newline at end of file diff --git a/mods/worldedit/worldedit/table_save.lua b/mods/worldedit/worldedit/table_save.lua new file mode 100644 index 0000000..cbc18ae --- /dev/null +++ b/mods/worldedit/worldedit/table_save.lua @@ -0,0 +1,133 @@ +--[[ + Save Table to File + Load Table from File + v 1.0 + + Lua 5.2 compatible + + Only Saves Tables, Numbers and Strings + Insides Table References are saved + Does not save Userdata, Metatables, Functions and indices of these + ---------------------------------------------------- + table.save( table , filename ) + + on failure: returns an error msg + + ---------------------------------------------------- + table.load( filename or stringtable ) + + Loads a table that has been saved via the table.save function + + on success: returns a previously saved table + on failure: returns as second argument an error msg + ---------------------------------------------------- + + Licensed under the same terms as Lua itself. +]]-- +do + -- declare local variables + --// exportstring( string ) + --// returns a "Lua" portable version of the string + local function exportstring( s ) + return string.format("%q", s) + end + + --// The Save Function + function table.save( tbl,filename ) + local charS,charE = " ","\n" + local file,err = io.open( filename, "wb" ) + if err then return err end + + -- initiate variables for save procedure + local tables,lookup = { tbl },{ [tbl] = 1 } + file:write( "return {"..charE ) + + for idx,t in ipairs( tables ) do + file:write( "-- Table: {"..idx.."}"..charE ) + file:write( "{"..charE ) + local thandled = {} + + for i,v in ipairs( t ) do + thandled[i] = true + local stype = type( v ) + -- only handle value + if stype == "table" then + if not lookup[v] then + table.insert( tables, v ) + lookup[v] = #tables + end + file:write( charS.."{"..lookup[v].."},"..charE ) + elseif stype == "string" then + file:write( charS..exportstring( v )..","..charE ) + elseif stype == "number" then + file:write( charS..tostring( v )..","..charE ) + end + end + + for i,v in pairs( t ) do + -- escape handled values + if (not thandled[i]) then + + local str = "" + local stype = type( i ) + -- handle index + if stype == "table" then + if not lookup[i] then + table.insert( tables,i ) + lookup[i] = #tables + end + str = charS.."[{"..lookup[i].."}]=" + elseif stype == "string" then + str = charS.."["..exportstring( i ).."]=" + elseif stype == "number" then + str = charS.."["..tostring( i ).."]=" + end + + if str ~= "" then + stype = type( v ) + -- handle value + if stype == "table" then + if not lookup[v] then + table.insert( tables,v ) + lookup[v] = #tables + end + file:write( str.."{"..lookup[v].."},"..charE ) + elseif stype == "string" then + file:write( str..exportstring( v )..","..charE ) + elseif stype == "number" then + file:write( str..tostring( v )..","..charE ) + end + end + end + end + file:write( "},"..charE ) + end + file:write( "}" ) + file:close() + end + + --// The Load Function + function table.load( sfile ) + local ftables,err = loadfile( sfile ) + if err then return _,err end + local tables = ftables() + for idx = 1,#tables do + local tolinki = {} + for i,v in pairs( tables[idx] ) do + if type( v ) == "table" then + tables[idx][i] = tables[v[1]] + end + if type( i ) == "table" and tables[i[1]] then + table.insert( tolinki,{ i,tables[i[1]] } ) + end + end + -- link indices + for _,v in ipairs( tolinki ) do + tables[idx][v[2]],tables[idx][v[1]] = tables[idx][v[1]],nil + end + end + return tables[1] + end +-- close do +end +-- ChillCode \ No newline at end of file diff --git a/mods/worldedit/worldedit/visualization.lua b/mods/worldedit/worldedit/visualization.lua new file mode 100644 index 0000000..3c1a2db --- /dev/null +++ b/mods/worldedit/worldedit/visualization.lua @@ -0,0 +1,164 @@ +worldedit = worldedit or {} + +--modifies positions `pos1` and `pos2` so that each component of `pos1` is less than or equal to its corresponding conent of `pos2`, returning two new positions +worldedit.sort_pos = function(pos1, pos2) + pos1 = {x=pos1.x, y=pos1.y, z=pos1.z} + pos2 = {x=pos2.x, y=pos2.y, z=pos2.z} + if pos1.x > pos2.x then + pos2.x, pos1.x = pos1.x, pos2.x + end + if pos1.y > pos2.y then + pos2.y, pos1.y = pos1.y, pos2.y + end + if pos1.z > pos2.z then + pos2.z, pos1.z = pos1.z, pos2.z + end + return pos1, pos2 +end + +--determines the volume of the region defined by positions `pos1` and `pos2`, returning the volume +worldedit.volume = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + return (pos2.x - pos1.x + 1) * (pos2.y - pos1.y + 1) * (pos2.z - pos1.z + 1) +end + +minetest.register_node("worldedit:placeholder", { + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + diggable = false, + groups = {not_in_creative_inventory=1}, +}) + +--hides all nodes in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes, returning the number of nodes hidden +worldedit.hide = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + local pos = {x=pos1.x, y=0, z=0} + local placeholder = {name="worldedit:placeholder", param1=0, param2=0} + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) + placeholder.param1, placeholder.param2 = node.param1, node.param2 --copy node's param1 and param2 + local data = env:get_meta(pos):to_table() --obtain metadata of original node + env:add_node(pos, placeholder) --add placeholder node + local meta = env:get_meta(pos) --obtain placeholder meta + meta:from_table(data) --set placeholder metadata to the original node's metadata + meta:set_string("worldedit_placeholder", node.name) --add the node's name + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return worldedit.volume(pos1, pos2) +end + +--suppresses all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes, returning the number of nodes suppressed +worldedit.suppress = function(pos1, pos2, nodename) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + if minetest.registered_nodes[nodename] == nil then + nodename = "default:" .. nodename + end + + local pos = {x=pos1.x, y=0, z=0} + local placeholder = {name="worldedit:placeholder", param1=0, param2=0} + local count = 0 + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) + if node.name == nodename then + placeholder.param1, placeholder.param2 = node.param1, node.param2 --copy node's param1 and param2 + local data = env:get_meta(pos):to_table() --obtain metadata of original node + env:add_node(pos, placeholder) --add placeholder node + local meta = env:get_meta(pos) --obtain placeholder meta + meta:from_table(data) --set placeholder metadata to the original node's metadata + meta:set_string("worldedit_placeholder", nodename) --add the node's name + count = count + 1 + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return count +end + +--highlights all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively hiding all other nodes, returning the number of nodes found +worldedit.highlight = function(pos1, pos2, nodename) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + if minetest.registered_nodes[nodename] == nil then + nodename = "default:" .. nodename + end + + local pos = {x=pos1.x, y=0, z=0} + local placeholder = {name="worldedit:placeholder", param1=0, param2=0} + local count = 0 + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local node = env:get_node(pos) + if node.name == nodename then --node found + count = count + 1 + else --hide other nodes + placeholder.param1, placeholder.param2 = node.param1, node.param2 --copy node's param1 and param2 + local data = env:get_meta(pos):to_table() --obtain metadata of original node + env:add_node(pos, placeholder) --add placeholder node + local meta = env:get_meta(pos) --obtain placeholder meta + meta:from_table(data) --set placeholder metadata to the original node's metadata + meta:set_string("worldedit_placeholder", node.name) --add the node's name + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return count +end + +--restores all nodes hidden with WorldEdit functions in a region defined by positions `pos1` and `pos2`, returning the number of nodes restored +worldedit.restore = function(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + local env = minetest.env + + local pos = {x=pos1.x, y=0, z=0} + local node = {name="", param1=0, param2=0} + local count = 0 + while pos.x <= pos2.x do + pos.y = pos1.y + while pos.y <= pos2.y do + pos.z = pos1.z + while pos.z <= pos2.z do + local currentnode = env:get_node(pos) + if currentnode.name == "worldedit:placeholder" then + node.param1, node.param2 = currentnode.param1, currentnode.param2 --copy node's param1 and param2 + local data = env:get_meta(pos):to_table() --obtain node metadata + node.name = data.fields.worldedit_placeholder --set node name + data.fields.worldedit_placeholder = nil --delete old nodename + env:add_node(pos, node) --add original node + env:get_meta(pos):from_table(data) --set original node metadata + count = count + 1 + end + pos.z = pos.z + 1 + end + pos.y = pos.y + 1 + end + pos.x = pos.x + 1 + end + return count +end \ No newline at end of file diff --git a/mods/worldedit/worldedit_commands/depends.txt b/mods/worldedit/worldedit_commands/depends.txt new file mode 100644 index 0000000..df8caff --- /dev/null +++ b/mods/worldedit/worldedit_commands/depends.txt @@ -0,0 +1 @@ +worldedit \ No newline at end of file diff --git a/mods/worldedit/worldedit_commands/init.lua b/mods/worldedit/worldedit_commands/init.lua new file mode 100644 index 0000000..ad6dac8 --- /dev/null +++ b/mods/worldedit/worldedit_commands/init.lua @@ -0,0 +1,762 @@ +minetest.register_privilege("worldedit", "Can use WorldEdit commands") + +worldedit.set_pos = {} + +worldedit.pos1 = {} +worldedit.pos2 = {} + +dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua") + +--determines whether `nodename` is a valid node name, returning a boolean +worldedit.node_is_valid = function(nodename) + return minetest.registered_nodes[nodename] ~= nil + or minetest.registered_nodes["default:" .. nodename] ~= nil +end + +--determines the axis in which a player is facing, returning an axis ("x", "y", or "z") and the sign (1 or -1) +worldedit.player_axis = function(name) + local dir = minetest.env:get_player_by_name(name):get_look_dir() + local x, y, z = math.abs(dir.x), math.abs(dir.y), math.abs(dir.z) + if x > y then + if x > z then + return "x", dir.x > 0 and 1 or -1 + end + elseif y > z then + return "y", dir.y > 0 and 1 or -1 + end + return "z", dir.z > 0 and 1 or -1 +end + +minetest.register_chatcommand("/reset", { + params = "", + description = "Reset the region so that it is empty", + privs = {worldedit=true}, + func = function(name, param) + worldedit.pos1[name] = nil + worldedit.pos2[name] = nil + worldedit.mark_pos1(name) + worldedit.mark_pos2(name) + minetest.chat_send_player(name, "WorldEdit region reset") + end, +}) + +minetest.register_chatcommand("/mark", { + params = "", + description = "Show markers at the region positions", + privs = {worldedit=true}, + func = function(name, param) + worldedit.mark_pos1(name) + worldedit.mark_pos2(name) + minetest.chat_send_player(name, "WorldEdit region marked") + end, +}) + +minetest.register_chatcommand("/pos1", { + params = "", + description = "Set WorldEdit region position 1 to the player's location", + privs = {worldedit=true}, + func = function(name, param) + local pos = minetest.env:get_player_by_name(name):getpos() + pos.x, pos.y, pos.z = math.floor(pos.x), math.floor(pos.y), math.floor(pos.z) + worldedit.pos1[name] = pos + worldedit.mark_pos1(name) + minetest.chat_send_player(name, "WorldEdit position 1 set to " .. minetest.pos_to_string(pos)) + end, +}) + +minetest.register_chatcommand("/pos2", { + params = "", + description = "Set WorldEdit region position 2 to the player's location", + privs = {worldedit=true}, + func = function(name, param) + local pos = minetest.env:get_player_by_name(name):getpos() + pos.x, pos.y, pos.z = math.floor(pos.x), math.floor(pos.y), math.floor(pos.z) + worldedit.pos2[name] = pos + worldedit.mark_pos2(name) + minetest.chat_send_player(name, "WorldEdit position 2 set to " .. minetest.pos_to_string(pos)) + end, +}) + +minetest.register_chatcommand("/p", { + params = "set/set1/set2/get", + description = "Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + if param == "set" then --set both WorldEdit positions + worldedit.set_pos[name] = "pos1" + minetest.chat_send_player(name, "Select positions by punching two nodes") + elseif param == "set1" then --set WorldEdit position 1 + worldedit.set_pos[name] = "pos1only" + minetest.chat_send_player(name, "Select position 1 by punching a node") + elseif param == "set2" then --set WorldEdit position 2 + worldedit.set_pos[name] = "pos2" + minetest.chat_send_player(name, "Select position 2 by punching a node") + elseif param == "get" then --display current WorldEdit positions + if worldedit.pos1[name] ~= nil then + minetest.chat_send_player(name, "WorldEdit position 1: " .. minetest.pos_to_string(worldedit.pos1[name])) + else + minetest.chat_send_player(name, "WorldEdit position 1 not set") + end + if worldedit.pos2[name] ~= nil then + minetest.chat_send_player(name, "WorldEdit position 2: " .. minetest.pos_to_string(worldedit.pos2[name])) + else + minetest.chat_send_player(name, "WorldEdit position 2 not set") + end + else + minetest.chat_send_player(name, "Unknown subcommand: " .. param) + end + end, +}) + +minetest.register_on_punchnode(function(pos, node, puncher) + local name = puncher:get_player_name() + if name ~= "" and worldedit.set_pos[name] ~= nil then --currently setting position + if worldedit.set_pos[name] == "pos1" then --setting position 1 + worldedit.pos1[name] = pos + worldedit.mark_pos1(name) + worldedit.set_pos[name] = "pos2" --set position 2 on the next invocation + minetest.chat_send_player(name, "WorldEdit region position 1 set to " .. minetest.pos_to_string(pos)) + elseif worldedit.set_pos[name] == "pos1only" then --setting position 1 only + worldedit.pos1[name] = pos + worldedit.mark_pos1(name) + worldedit.set_pos[name] = nil --finished setting positions + minetest.chat_send_player(name, "WorldEdit region position 1 set to " .. minetest.pos_to_string(pos)) + elseif worldedit.set_pos[name] == "pos2" then --setting position 2 + worldedit.pos2[name] = pos + worldedit.mark_pos2(name) + worldedit.set_pos[name] = nil --finished setting positions + minetest.chat_send_player(name, "WorldEdit region position 2 set to " .. minetest.pos_to_string(pos)) + end + end +end) + +minetest.register_chatcommand("/volume", { + params = "", + description = "Display the volume of the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local volume = worldedit.volume(pos1, pos2) + minetest.chat_send_player(name, "Current WorldEdit region has a volume of " .. volume .. " nodes (" .. pos2.x - pos1.x .. "*" .. pos2.y - pos1.y .. "*" .. pos2.z - pos1.z .. ")") + end, +}) + +minetest.register_chatcommand("/set", { + params = "", + description = "Set the current WorldEdit region to ", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" or not worldedit.node_is_valid(param) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.set(pos1, pos2, param) + minetest.chat_send_player(name, count .. " nodes set") + end, +}) + +minetest.register_chatcommand("/replace", { + params = " ", + description = "Replace all instances of with in the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, searchnode, replacenode = param:find("^([^%s]+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not worldedit.node_is_valid(searchnode) then + minetest.chat_send_player(name, "Invalid search node name: " .. searchnode) + return + end + if not worldedit.node_is_valid(replacenode) then + minetest.chat_send_player(name, "Invalid replace node name: " .. replacenode) + return + end + + local count = worldedit.replace(pos1, pos2, searchnode, replacenode) + minetest.chat_send_player(name, count .. " nodes replaced") + end, +}) + +minetest.register_chatcommand("/hollowsphere", { + params = " ", + description = "Add hollow sphere at WorldEdit position 1 with radius , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, radius, nodename = param:find("^(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.hollow_sphere(pos, tonumber(radius), nodename) + minetest.chat_send_player(name, count .. " nodes added") + end, +}) + +minetest.register_chatcommand("/sphere", { + params = " ", + description = "Add sphere at WorldEdit position 1 with radius , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, radius, nodename = param:find("^(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.sphere(pos, tonumber(radius), nodename) + minetest.chat_send_player(name, count .. " nodes added") + end, +}) + +minetest.register_chatcommand("/hollowcylinder", { + params = "x/y/z/? ", + description = "Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, length, radius, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis, sign = worldedit.player_axis(name) + length = length * sign + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.hollow_cylinder(pos, axis, tonumber(length), tonumber(radius), nodename) + minetest.chat_send_player(name, count .. " nodes added") + end, +}) + +minetest.register_chatcommand("/cylinder", { + params = "x/y/z/? ", + description = "Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, length, radius, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis, sign = worldedit.player_axis(name) + length = length * sign + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.cylinder(pos, axis, tonumber(length), tonumber(radius), nodename) + minetest.chat_send_player(name, count .. " nodes added") + end, +}) + +minetest.register_chatcommand("/pyramid", { + params = " ", + description = "Add pyramid at WorldEdit position 1 with height , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, size, nodename = param:find("(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.pyramid(pos, tonumber(size), nodename) + minetest.chat_send_player(name, count .. " nodes added") + end, +}) + +minetest.register_chatcommand("/spiral", { + params = " ", + description = "Add spiral at WorldEdit position 1 with width , height , space between walls , composed of ", + privs = {worldedit=true}, + func = function(name, param) + local pos = worldedit.pos1[name] + if pos == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, width, height, space, nodename = param:find("(%d+)%s+(%d+)%s+(%d+)%s+([^%s]+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not worldedit.node_is_valid(nodename) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.spiral(pos, tonumber(width), tonumber(height), tonumber(space), nodename) + minetest.chat_send_player(name, count .. " nodes changed") + end, +}) + +minetest.register_chatcommand("/copy", { + params = "x/y/z/? ", + description = "Copy the current WorldEdit region along the x/y/z/? axis by nodes", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, amount = param:find("^([xyz%?])%s+([+-]?%d+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis, sign = worldedit.player_axis(name) + amount = amount * sign + end + + local count = worldedit.copy(pos1, pos2, axis, tonumber(amount)) + minetest.chat_send_player(name, count .. " nodes copied") + end, +}) + +minetest.register_chatcommand("/move", { + params = "x/y/z/? ", + description = "Move the current WorldEdit region along the x/y/z/? axis by nodes", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, amount = param:find("^([xyz%?])%s+([+-]?%d+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis, sign = worldedit.player_axis(name) + amount = amount * sign + end + + local count = worldedit.move(pos1, pos2, axis, tonumber(amount)) + + pos1[axis] = pos1[axis] + amount + pos2[axis] = pos2[axis] + amount + worldedit.mark_pos1(name) + worldedit.mark_pos2(name) + + minetest.chat_send_player(name, count .. " nodes moved") + end, +}) + +minetest.register_chatcommand("/stack", { + params = "x/y/z/? ", + description = "Stack the current WorldEdit region along the x/y/z/? axis times", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, count = param:find("^([xyz%?])%s+([+-]?%d+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis, sign = worldedit.player_axis(name) + count = count * sign + end + + local count = worldedit.stack(pos1, pos2, axis, tonumber(count)) + minetest.chat_send_player(name, count .. " nodes stacked") + end, +}) + +minetest.register_chatcommand("/transpose", { + params = "x/y/z/? x/y/z/?", + description = "Transpose the current WorldEdit region along the x/y/z/? and x/y/z/? axes", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis1, axis2 = param:find("^([xyz%?])%s+([xyz%?])$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis1 == "?" then + axis1 = worldedit.player_axis(name) + end + if axis2 == "?" then + axis2 = worldedit.player_axis(name) + end + if axis1 == axis2 then + minetest.chat_send_player(name, "Invalid usage: axes are the same") + return + end + + local count = worldedit.transpose(pos1, pos2, axis1, axis2) + minetest.chat_send_player(name, count .. " nodes transposed") + end, +}) + +minetest.register_chatcommand("/flip", { + params = "x/y/z/?", + description = "Flip the current WorldEdit region along the x/y/z/? axis", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "?" then + param = worldedit.player_axis(name) + end + if param ~= "x" and param ~= "y" and param ~= "z" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + + local count = worldedit.flip(pos1, pos2, param) + minetest.chat_send_player(name, count .. " nodes flipped") + end, +}) + +minetest.register_chatcommand("/rotate", { + params = " ", + description = "Rotate the current WorldEdit region around the axis by angle (90 degree increment)", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local found, _, axis, angle = param:find("^([xyz%?])%s+([+-]?%d+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if axis == "?" then + axis = worldedit.player_axis(name) + end + if angle % 90 ~= 0 then + minetest.chat_send_player(name, "Invalid usage: angle must be multiple of 90") + return + end + + local count = worldedit.rotate(pos1, pos2, axis, angle) + minetest.chat_send_player(name, count .. " nodes rotated") + end, +}) + +minetest.register_chatcommand("/dig", { + params = "", + description = "Dig the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local count = worldedit.dig(pos1, pos2) + minetest.chat_send_player(name, count .. " nodes dug") + end, +}) + +minetest.register_chatcommand("/hide", { + params = "", + description = "Hide all in the current WorldEdit region non-destructively", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" or not worldedit.node_is_valid(param) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.hide(pos1, pos2, param) + minetest.chat_send_player(name, count .. " nodes hidden") + end, +}) + +minetest.register_chatcommand("/highlight", { + params = "", + description = "Highlight in the current WorldEdit region by hiding everything else non-destructively", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" or not worldedit.node_is_valid(param) then + minetest.chat_send_player(name, "Invalid node name: " .. param) + return + end + + local count = worldedit.highlight(pos1, pos2, param) + minetest.chat_send_player(name, count .. " nodes highlighted") + end, +}) + +minetest.register_chatcommand("/restore", { + params = "", + description = "Restores nodes hidden with WorldEdit in the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + local count = worldedit.restore(pos1, pos2) + minetest.chat_send_player(name, count .. " nodes restored") + end, +}) + +minetest.register_chatcommand("/save", { + params = "", + description = "Save the current WorldEdit region to \"(world folder)/schems/.we\"", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + + local result, count = worldedit.serialize(pos1, pos2) + + local path = minetest.get_worldpath() .. "/schems" + local filename = path .. "/" .. param .. ".we" + os.execute("mkdir \"" .. path .. "\"") --create directory if it does not already exist + local file, err = io.open(filename, "wb") + if err ~= nil then + minetest.chat_send_player(name, "Could not save file to \"" .. filename .. "\"") + return + end + file:write(result) + file:flush() + file:close() + + minetest.chat_send_player(name, count .. " nodes saved") + end, +}) + +minetest.register_chatcommand("/allocate", { + params = "", + description = "Set the region defined by nodes from \"(world folder)/schems/.we\" as the current WorldEdit region", + privs = {worldedit=true}, + func = function(name, param) + local pos1 = worldedit.pos1[name] + if pos1 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + + local filename = minetest.get_worldpath() .. "/schems/" .. param .. ".we" + local file, err = io.open(filename, "rb") + if err ~= nil then + minetest.chat_send_player(name, "Could not open file \"" .. filename .. "\"") + return + end + local value = file:read("*a") + file:close() + + local nodepos1, nodepos2, count + if value:find("{") then --old WorldEdit format + nodepos1, nodepos2, count = worldedit.allocate_old(pos1, value) + else --new WorldEdit format + nodepos1, nodepos2, count = worldedit.allocate(pos1, value) + end + + worldedit.pos1[name] = nodepos1 + worldedit.mark_pos1(name) + worldedit.pos2[name] = nodepos2 + worldedit.mark_pos2(name) + + minetest.chat_send_player(name, count .. " nodes allocated") + end, +}) + +minetest.register_chatcommand("/load", { + params = "", + description = "Load nodes from \"(world folder)/schems/.we\" with position 1 of the current WorldEdit region as the origin", + privs = {worldedit=true}, + func = function(name, param) + local pos1 = worldedit.pos1[name] + if pos1 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + + if param == "" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + + local filename = minetest.get_worldpath() .. "/schems/" .. param .. ".we" + local file, err = io.open(filename, "rb") + if err ~= nil then + minetest.chat_send_player(name, "Could not open file \"" .. filename .. "\"") + return + end + local value = file:read("*a") + file:close() + + local count + if value:find("{") then --old WorldEdit format + count = worldedit.deserialize_old(pos1, value) + else --new WorldEdit format + count = worldedit.deserialize(pos1, value) + end + + minetest.chat_send_player(name, count .. " nodes loaded") + end, +}) + +minetest.register_chatcommand("/metasave", { + params = "", + description = "Save the current WorldEdit region to \"(world folder)/schems/.wem\"", + privs = {worldedit=true}, + func = function(name, param) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + if param == "" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + local count, err = worldedit.metasave(pos1, pos2, param) + if err then + minetest.chat_send_player(name, "error loading file: " .. err) + else + minetest.chat_send_player(name, count .. " nodes saved") + end + end, +}) + +minetest.register_chatcommand("/metaload", { + params = "", + description = "Load nodes from \"(world folder)/schems/.wem\" with position 1 of the current WorldEdit region as the origin", + privs = {worldedit=true}, + func = function(name, param) + local pos1 = worldedit.pos1[name] + if pos1 == nil then + minetest.chat_send_player(name, "No WorldEdit region selected") + return + end + if param == "" then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + local count, err = worldedit.metaload(pos1, param) + if err then + minetest.chat_send_player(name, "error loading file: " .. err) + else + minetest.chat_send_player(name, count .. " nodes loaded") + end + end, +}) diff --git a/mods/worldedit/worldedit_commands/mark.lua b/mods/worldedit/worldedit_commands/mark.lua new file mode 100644 index 0000000..d2568ed --- /dev/null +++ b/mods/worldedit/worldedit_commands/mark.lua @@ -0,0 +1,70 @@ +worldedit.marker1 = {} +worldedit.marker2 = {} + +--marks worldedit region position 1 +worldedit.mark_pos1 = function(name) + local pos = worldedit.pos1[name] + if worldedit.marker1[name] ~= nil then --marker already exists + worldedit.marker1[name]:remove() --remove marker + worldedit.marker1[name] = nil + end + if pos ~= nil then --add marker + worldedit.marker1[name] = minetest.env:add_entity(pos, "worldedit:pos1") + worldedit.marker1[name]:get_luaentity().active = true + end +end + +--marks worldedit region position 2 +worldedit.mark_pos2 = function(name) + local pos = worldedit.pos2[name] + if worldedit.marker2[name] ~= nil then --marker already exists + worldedit.marker2[name]:remove() --remove marker + worldedit.marker2[name] = nil + end + if pos ~= nil then --add marker + worldedit.marker2[name] = minetest.env:add_entity(pos, "worldedit:pos2") + worldedit.marker2[name]:get_luaentity().active = true + end +end + +minetest.register_entity(":worldedit:pos1", { + initial_properties = { + visual = "cube", + visual_size = {x=1.1, y=1.1}, + textures = {"worldedit_pos1.png", "worldedit_pos1.png", + "worldedit_pos1.png", "worldedit_pos1.png", + "worldedit_pos1.png", "worldedit_pos1.png"}, + collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55}, + }, + on_step = function(self, dtime) + if self.active == nil then + self.object:remove() + end + end, + on_punch = function(self, hitter) + self.object:remove() + local name = hitter:get_player_name() + worldedit.marker1[name] = nil + end, +}) + +minetest.register_entity(":worldedit:pos2", { + initial_properties = { + visual = "cube", + visual_size = {x=1.1, y=1.1}, + textures = {"worldedit_pos2.png", "worldedit_pos2.png", + "worldedit_pos2.png", "worldedit_pos2.png", + "worldedit_pos2.png", "worldedit_pos2.png"}, + collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55}, + }, + on_step = function(self, dtime) + if self.active == nil then + self.object:remove() + end + end, + on_punch = function(self, hitter) + self.object:remove() + local name = hitter:get_player_name() + worldedit.marker2[name] = nil + end, +}) \ No newline at end of file diff --git a/mods/worldedit/worldedit_commands/textures/worldedit_pos1.png b/mods/worldedit/worldedit_commands/textures/worldedit_pos1.png new file mode 100644 index 0000000000000000000000000000000000000000..4c304aa88d80420e8f4f005d7f0030234210d5ed GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5hd`K7RKu$QDCpqn z;uvCaIyogF;m3Ig#RW$i{`*Y1b{XE z)7O>#4hNTrCbL1S#2TOwkEe@c2*>qg4c;kC3{3J256?-yx&stv@O1TaS?83{1OV&H B78(Em literal 0 HcmV?d00001 diff --git a/mods/xdoors2/textures/xdoors2_bottom_1.png b/mods/xdoors2/textures/xdoors2_bottom_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7026c8218e04c787cfec98e4b62556c136bf4b GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrl1cWNlnkIyjHioZh{pM39o{KbU*@$k>RZ%3wPa>)UfTEM@bdLDB|KPk zj%aMUGSTJwhYv5an{GW>>Kd5S@S%{=@}PbHJ!1m{g9&fi19?p@9%zy=RmqqzU98nb gB~Yrv)1!cap-4(JJj$l%8_*sGPgg&ebxsLQ08jQh!T{XE z)7O>#4hNTrnqpF|YdcUV%G1R$MB{w24)2tzFY})MnEITDhi97AB%X?chnKIPDdEAQ zBhahMj%MB@5x%w$tLz>g`#6KP+CQ)^OA#) cQxh}8t$U*3Ppa=P0@}jh>FVdQ&MBb@0FwnfI{*Lx literal 0 HcmV?d00001 diff --git a/mods/xdoors2/textures/xdoors2_door.png b/mods/xdoors2/textures/xdoors2_door.png new file mode 100644 index 0000000000000000000000000000000000000000..120fc982f7aeb151b2c014678b205072b2b20907 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|5{XE z)7O>#4hNTrhQTyHkKaHc9#0p?5RU7~8oX1O7?|W49-fnYbq6TU;OXk;vd$@?2>=ZL B7W4oB literal 0 HcmV?d00001 diff --git a/mods/xdoors2/textures/xdoors2_top.png b/mods/xdoors2/textures/xdoors2_top.png new file mode 100644 index 0000000000000000000000000000000000000000..2009fb9915a64c1551b79bcf4469af27f893afee GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrhUNQ7AL4;RJf1F&Asp9}HF&2mF)+z9JUl1)>JCtx!PC{xWt~$(696d~ B7p4FJ literal 0 HcmV?d00001 diff --git a/mods/xdoors2/textures/xdoors2_top_1.png b/mods/xdoors2/textures/xdoors2_top_1.png new file mode 100644 index 0000000000000000000000000000000000000000..49b3c2279484fcd13265d231c91f62b6703049af GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4hNTrn$-)5o@}6yzNd?0h{pM39o{KP3Q{urKFw=wY{XE z)7O>#4hNTrI;(r?1aY8{zNd?0h{pM39o{KP3Q{urKFw=wY4nJa0`PlBg3pY5H=O_B%WRf(9yw60Y+Dg=8~BB1)X| zb8}PkN`PDj2Ir#G#FEq$h4Rdj3pF literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_blue_pres_top.png b/mods/xmas/textures/xmas_blue_pres_top.png new file mode 100644 index 0000000000000000000000000000000000000000..57fbfc9faeea99f1b70aa8e84d1a3b322367f7aa GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Mcx zSq!zymW2Z;&H|6fVg?3oVGw3ym^DWND9B#o>FdgVhetqAmwVdXHZP!%Y-UJAiF1B# zZfaf$kjuc}T$GwvlA5AWo>`Ki;O^-gkfN8$4iwMuba4!^IGucD)9#=18QE{__LITv?Sa`QLu*ul^|^QG{oJqmhy z2R?jy%DyKq;mFhpx47p%G|Rtt=&(WJ&B#kU626@!CP0g(%HH?77qT4W7*AI}mvv4F FO#pWNS3&>) literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_gree_pres_side.png b/mods/xmas/textures/xmas_gree_pres_side.png new file mode 100644 index 0000000000000000000000000000000000000000..bc43b015785c4cb8ca08a646b92a27406ab6c404 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^P(6 zb}$$gTr8*tif|TqL>4nJa0`PlBg3pY5H=O_B%WRg8DpG{e{^;A=%83h!W@g z+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kXl^rOqFdgVhetqAPeXqClHWif+02lL66gHf z+|;}hAeVu`xhOTUBsE2$JhLQ2!QIn0AVn{g9Vnjf>Eak-aXQ)Le&Ub$jO;(|Y-?%+ zf$dsM(}md7*tia^V65QTG3^a^`u+3kk7Y6}o_5!F&cz=;-UYGw$=R|A7RG+sbKvCS z;~)N>R^1bqaAfL)chAEQ=hoGfYc^lIb9Tv2hr%T7IlbPWGn^JpVr1}Tm7Y@)%zYo^ NCQnyCmvv4FO#naiUWotz literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_lights_b.png b/mods/xmas/textures/xmas_lights_b.png new file mode 100644 index 0000000000000000000000000000000000000000..692d7e986e753f731b2743818133a0744f4ee1e9 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rl| zOktQ}7jNAJ6yYrJh%9Dc;1&j9Muu5)B!GhKC7!;n?00ws1Wk>+4^NW@3dv@MM3gw^ z=jNv7l>oU649-QVi6yBi3gww484B*6z5ywEsq8@UAD%9bAr_~XPIk;|HV|-?uaGfk z37x3*RlwHeeSK@3qP7@k$p?vD3L>fw-c$B(UR(LgxPDG;P2E=;MaBZ9j$(_6zOE;E zygO6O7>-yvakL1SF@}hSs5b~JwjB5v@yPZ~&9;ae$L2{aTy-FbDKyWfnm=`7vBosU z>ARlClz*1&x%IQhdE&=^)0CP1{gUE6^T5SjdUNT4_e&i~RFd}p5NF|%*48zdgaoL{^v zeu<>Q%!R8$L}!Ov##Rf>xOOS1>V@%L3y-t~zY2Qn&wOmMF*9uf1v7)EtDnm{r-UW| DU>2J1 literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_lights_g.png b/mods/xmas/textures/xmas_lights_g.png new file mode 100644 index 0000000000000000000000000000000000000000..d94e156ab4e4717eeb94b73802477c9da1f53aa2 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rl| zOktQ}7jNAJ6yYrJh%9Dc;1&j9Muu5)B!GhKC7!;n?00ws1WmQ|SJ>SK3dv@MM3gw^ z=jNv7l>oU649-QVi6yBi3gww484B*6z5ywEsq8@Uf1WOmAr_~XPIl}%Y{26h|5jsR z~Z^mNovq9bGBx=`1nf?e?QND#vICE$mY~@MC*;#rjv!n zXKEN*Bqq8|h$>^;qA@FyaU++9?wnootV~Qc-qSe~rZI2l5=L|9(`#FIzq)YYs_fh^ zvm2H$ugpm)2p7(_dTF^m{fR_m2OJn?xt^ZI~>2ngQ+3dv@MM3gw^ z=jNv7l>oU649-QVi6yBi3gww484B*6z5ywEsq8@U_nt0}Ar_~XPClJ?SV6$m-%!GP znoz3n)Bpdq>L1K~$~uXi?N;k-lXdc?Q+G2ProXfKvE#6M{s|_DY{Ssjjo$(S0+&AV z3H-|zB6_WQ&i8f(PZrTi#)$6E^PUwQv}j-X`s*3PprEFG%b)Nlow1RAz9F|e`}Wr} ziVGBVsz0z?FigzVmHyXFa1=&k}(Jug#7}B;8?L($cm;;%d^wI_54dPnKW* vK4^(w6?ZsyIq&(O_2*5B147KL_b%6;aJ*&HhgnqN}VSj8{9ZHvi->WH;fw;4Qj=`K|lBea&(+<#<*ticDX? zGWDcH!-R8nTo+ce_zWH}(sofb?fk*R2 z>t4nJa0`PlBg3pY5H=O_B%WRf`+^^Pu3{`g=8~BB1)X| zb8}PkN`PDj2Ir#G#FEq$h4Rdj3gTe~DWM4fz12D2 literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_red_pres_top.png b/mods/xmas/textures/xmas_red_pres_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c44e8f584bf9651e39c05985615ed1128946e063 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^P(6 zb}$$gTr8*tif|TqL>4nJa0`PlBg3pY5H=O_B%WRf`-g>g~6&oA=%83h!W@g z+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kXl^rOa@9E+gVsSco&&dNH<}_O+XMsm#F#`j)FbFd;%$g$s6l5>)^mS#w!y_Q5Whg)4q&-kbHZvrm#5q4V zH#M&W$Yo$~E=o--Nlj5G&n(GMaQE~LNYP7W2a4xaRf|CJpzr>57a7Gy6Dcf9MU9DlaMnfvPUkG^wvFzbA`;ZS5;wg%)P MPgg&ebxsLQ0Bv|#V*mgE literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_tree_angel.png b/mods/xmas/textures/xmas_tree_angel.png new file mode 100644 index 0000000000000000000000000000000000000000..f3648438d4fd604295c5151f49b315de5794b1a4 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBhTD0YMF=l@hO#fkLvGArU3c`MJ5N zc_lzD1A}u>YGO%hib8p2Nrr;Er*A-tUMf3Kyw}skF~s6@a)QK_2mkk8`~Uy_)_>~J z#%5+$V-Ga>f4a{e+ceGK(WD>MdBR<1&$!h^Tr~=mx?sUup_tb*)pv^cJiFRc2M!!) zkgMpqbm`I!-XH(}+q-$#SAXMa)mK$*T{&~&M8S7VDb5#6lZ{!HP3Mel$ZG5`e>YJl t+3B;nWB7vAi7wogISczuA0!$wF)Tl7;m&Ys?gWsFJzf1=);T3K0RW)fYRdos literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_tree_leaves.png b/mods/xmas/textures/xmas_tree_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..cc36586ded73ebba6cd40cddaffdef5110b99ba5 GIT binary patch literal 475 zcmV<10VMv3P)Px#24YJ`L;(K)y#N6Ip%JhE000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iy!0 z5hfF6MaS0w00CP`L_t(I%av2HO2beTJx$3b*kX%>lqb&&LCGA%)e3Hc62zgPI0=pp zeuUuUSBRYzd>_+7XYJN0$02z)uQ5@~mdicoo^$Sf005mT(trd=1BOvRohtbU0I4~B z0DvTmNdqps9nxS90F%=`pTbQcOR|_@6p#kYOK_6KOtP4u0hhkV+0 z4yh|D2mmf#JnB^O?y|?{{Vmdf=7T|opd3M3Fg|;SJuanAPfY7O0TUFi; z{-nXY93q*ao@$ewFR#Pd)Gzuzis)^yKjcZ#sV`o;OtP4{slY5P;}6+%@5BY$I|1vr z-LQr0$xy)Od)qub7)l?S9*j#0RDqox@9^kqmthoe^^R%_O-CY+#ZGEDrf)+du_&$! R8Q%Z^002ovPDHLkV1m#>!@B?g literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_v_wall_lights_b.png b/mods/xmas/textures/xmas_v_wall_lights_b.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb6fd34c6c002e4249d101467e1a6947dea137e GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<9syxC6^|d2M1VqFo-U3d7N_q{ z+Q`{pAmIAHQ`n;`M}Q+wA!Py2ltvcw2@TRqIMx+}MRlkxFZ=gt$D_Z;*|{#pZTzt- zF%LVNr5LZv)ZBCQReEb(q5W~jm$@#J-YB&Gc`lo?M98k`%aqVtKvyw%y85}Sb4q9e E0Pu%gVgLXD literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_v_wall_lights_g.png b/mods/xmas/textures/xmas_v_wall_lights_g.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4cb3777b6441a4c8aa51dbff9bd8392fa58870 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<9syxi;|FXmATw(`T^vI!PT!qm z$k(92<67UTtjwH#0*aRtMvPn zlo=T~7{2sgd}$?b6CRa1OSgLef@O2mUa(|MJvmv=Lc&webCHaWU3!A8f>`r)xd?&G piVq@>R(_Fn`BZU1>;KJWSsONU!=-x;?*qDn!PC{xWt~$(69Ca#RFMDx literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_v_wall_lights_r.png b/mods/xmas/textures/xmas_v_wall_lights_r.png new file mode 100644 index 0000000000000000000000000000000000000000..487f642c2e14946fe1108a8745ca5890a5e6fac8 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf<9syxixurKHQh`EMo-U3d7N_q{ zvgSLWz~h{IL{Q?Ac9Fumh_*Y5u>re3aE30g>REK8&d6Zmlaxu9b66Len;cM4Z+4Ec z$oSr{S>wjd{(1UaHQeVv(m3=n<+&L%(;C;8h2kQL70(Y)*K0-AbW|YuPgf<9syxip0I>WU7%2_r;B5V#p%0~ zck>=l;Bh(ck@KKQjoZkji|1fdrp6w|)?ijwF8Ow&@Tg;U_Ob^Y6gRb zOPGXCP-SGA+e}Lbo=Q1&jYpp$^bP0l+XkKej8Rx literal 0 HcmV?d00001 diff --git a/mods/xmas/textures/xmas_wall_lights_b.png b/mods/xmas/textures/xmas_wall_lights_b.png new file mode 100644 index 0000000000000000000000000000000000000000..be1944fae3b5ce085b6d9bb5f5612f258bbb6249 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^J-7 zvKU0ZdH&rF6yYrJh%9Dc;1&j9Muu5)B!GhKC7!;n?00wsggA8$ROZ|R3dv@MM3gw^ z=jNv7l>oU649-QVi6yBi3gww484B*6z5ywEsq8@U5KkA!5R22v2@=>q|*P58#|{Sm$F!LqMwP2 Zk)i*LV(yCdH>NAxvAKdEf*}Z`q=2)@<(F<&oU649-QVi6yBi3gww484B*6z5ywEsq8>;drud~5R22v2@4nJa0`PlBg3pY5H=O_B%WRg8JI?TaN%m7-Ta;B1)X| zb8}PkNFdgVhetqAk3ma`hY=_wn;8;O;+&tG zo0?Ywi&Bs5qSvpq0e5EvtI?%s*xt(O^&&F0y$xNzqNgXV+Z-}B76zi;Am*5>#3CG`r5 z9(_Oj-=63H#)rHyG5_<84F2ptdEmo-$A};HdZj&!H46oR&I}Q7(CL`Xm;`c-r>mdK II;Vst0MKn&2><{9 literal 0 HcmV?d00001

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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_side1_off.png b/mods/technic/textures/technic_nodebreaker_side1_off.png new file mode 100644 index 0000000000000000000000000000000000000000..5e36d3a0b881232e9e3c07e1845111d1bd8b43e1 GIT binary patch literal 42142 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_side2_off.png b/mods/technic/textures/technic_nodebreaker_side2_off.png new file mode 100644 index 0000000000000000000000000000000000000000..622ff7c6518eac1da9f5fe1798f20e6044303a66 GIT binary patch literal 42183 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_side2_on.png b/mods/technic/textures/technic_nodebreaker_side2_on.png new file mode 100644 index 0000000000000000000000000000000000000000..c54e46789558c44f1abce94ce530cbdc56c2665f GIT binary patch literal 42283 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 bSj_(~J5JW#P*p$?00000NkvXXu0mjfP(m!8 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_nodebreaker_top.png b/mods/technic/textures/technic_nodebreaker_top.png new file mode 100644 index 0000000000000000000000000000000000000000..941d3339da4b69e0b7d75e38e5186789ca39e491 GIT binary patch literal 38904 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 YKdg*gfc&VtP5=M^07*qoM6N<$f>81x3jhEB literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_deployer_front_on.png b/mods/technic/textures/technic_deployer_front_on.png new file mode 100644 index 0000000000000000000000000000000000000000..368ce3274147b49afb5738618818751776a3685e GIT binary patch literal 23351 zcmV)fK&8KlP)000McNliru+zAW^IvO)-n!5l1AOJ~3 zK~#9!YW+(pysBl0;on;W|X^`imDub`Q=yn-~QMC#YGiyK~+ep zU~c4`D9Z|fiev7$Ik^6FDc`pw@$wGb+L`Lsdztn8&k}oT;_ZYGXUCBvpnP?vAR`TA%Nead$+(+%PlB zdWm)G22g8b*r4Q$%6sURZsF&LvGK=1J!;DC|8 z|KktjTyUR%hSPed^@bxXxzKu}w~D5OJG9o=wvC(;t#^_p9E%4s!^}}pL(! z1l5F@;btHpqNvV)05hZYj;bOlHm3-P2jioFM8<_e1Io#v_=bY)I)B8YGS(laG zJFVCGtUvd6Fx&>_p!2!nnPUSApgF~NxebOXDne2afs~X|792rPa!JVfguBIpK%6Wy z(n#Q-5?_GGePQCX$F5aPxEnSMRl)qrqKYau1|ab{NjZto=Yqg(fx*mKmW8A#HtQGw ztm{fj^E=!rlzH+65uq%Zv;4B&!RI?972-(^5V|{<*5Z?!m zNMcwgsnXqXhZMhvjgFb)NyvF&^cEYUwO9{#M3loC;?9~14pcM59VNbUh|~MP+*wKq zFC&7uFvg&@9U@|a5N_TRh@%?esMR{{pbYDbK3GylBykLn_ckz5K3(AB4v;vXR`U7b ziO;XUL$b4a<=KqyzIh?%jP*u84paoz=}vN@9S3Vlb9W|Gj4=+D(?;<}S>p;YBl7mB$!WD2*>~1l_hTGj8m!;qs0J*GaQj!S* zR3DUOiA~as-ggi|eZ$N^<5YD?v|2f(f&kacpez{>aw(`P^*9(q;{@gu-#=nq((=f0 zy`b}R+?|v&qaCzbkrMB8ZT#wj|CP<1?**<+{Ntv8;oCq`eOva`UL_OkLYn8ID*yxdHmK8UNlY`orb}JI8frj2;_QB3Bx{V`k)KnHydht>M>$(K~M8aRfN_>rA|$_d#ooxA#xvw6e@i zd6>ugWYDC%U$5ZGuoi1L3>78zU5&&vXS`NYO4GwQHjeNn>q@H~YsRq7QjBdo!@J{V z7={BmNg^T;s0xc4pI$3Vf@M3APlc>2=AEpGF?z(hVTcO7HQJ@2qO7NlYu}*?Ys&cE z5K=6Jq;ThII8MqXVr*WfyOlWgC1Yk(jNJySrbuekc}xpUj6OOHD0x9LC>hMiWue)D zI0&)eQdZ0k{1V^MdZpGKJw1Rs$s9=umrg3eS`~GnCC7cRW8rPG;z{Vek#i=k8!`;9 zot!hrzSCR7`apBy^8Ox4R?hbgi3npfQqGa}m%_T7W{BJ=Wnozgm)BQ{Xsm6kq?~XR zDFr>iY9|SJZ}_r89gK6V+kRZhrC^sgdh6t}P?D0Tx5663LBtS;tg4aZdIDEcR#Hls z4Sx9J8y~)Tq^t|0!RQr|qbg_;#JRtSrZAw+{2-@{jc~h&;oj)o5Q)Sm>xzwm$smQ370K}l7+n< zkrjI+Z;~RqN22GbE~J#Genm9T5>MvIs*FC+l(62Zw=n6BWAtV$+lrgdFsUrdnPcDa zq14)72-cka^-6D@Mk7By(fkw!93w)f8#dy(dT+dqhM*LW#8c{l^}#VcuK9>{*T{3k z2PH)kX}#kD!<>|$EDKpuoa#{$B5|tv_>7dor$4+=*32?0>Ov|7bTEGr2gWcoX(U{l z@fp95VGKIjc2Y{yfW~2llCXZvxT}n#lQdphW~RL)!A!6qn6KQrS1nS zN*V*Rfuzi3R3s~7uaO`03OJ+A4Kg67l`$G3f}U6UzRzSXjJTao2rG3M%lj1-LAJSJ z4VF?EGe>xk2vuDjF~@qRiIA(#DkJP@V<7I7vITZ?Z47p7q?ueRszP?3u}~wp-Tv3z zBe6p8ZVVCH<$`JsgIk*!dc@pC6H<)PZI&krDDMntolP_hR94zJ(3$l|UF--J`Lzuo zQAcH2GmAOBcQj`(MLf+-7+?;4mPwlEd&h@?D#!H-z_AO%0=VkEa(GlE%XXso&b#da zc=ZDTBpIbFs3u15kubK({=QR|h2}yonIw^YBLWJV5-Q44&e-UjUrwZ)XniM1q4&=9 z{lalQ5Mh>wVPQjQ9?zIk!Bx0^-f6YbbK!EiqNa>Kc(;m;K_0@otw@Se)zrvYQO%?* z3ZWlH$P>o^6aXrwIK*3VRC9|X@%EHmfC2=}Gu?#>uqdTvyQ;!P0Ar9N= zfia9aD$R}0?{Ab+c-~H=CE@K#-7CFyQYqwAK%Mvg&e%J-WNfquRmGtOn&~BDy<}GYZJ=eP?jW@T1ChoU6%`HRuY+8Kx7VGV7Lb5;4>c@<4;a98G!2PN zTK^bm>=0USSP4YWq?1zOR8~$8XIkCSE+mKZ(}vg1!_%2D8q2yedXGxQIz^P6XAVGk z?ralEqj$En;hUnlGFlI)RvVf#VhxqVCYf@2qFESsl>n*U z80?qK`=>$QJ7Wwk?>jp^`VlQhaw&uLlz2LAoS)B>=2(NqpdW+06oxe(pH|9ukDvoL zW6e3Lfj&4rJkVR^*!O$#J*r||sMk)mL`s4d#XW;|K)--_IpNkZgQP-IB}>wKjqb#k z-Zq4a(vCq9MG{DIk}0+C{KF5gs4gs0$%}B#(PVkdnY0N$0#QpjVb$**C6%j=c4H(Klb@Q<&!YHaYWASyhF@bcZaxC^B$j4`Ok!QqLc zc6Nt-uV6wOnf-uq-AUaT%^24ByI+5UwH_{h;`*uqYimlhBT!S3=vAob3;`1}b{v&J zyF`>!3Sx<}C@I6L!mGkLDgXXA-y&(mmvtBdxNx~fE!^B04XW2j@-&fC=A?qAM9Rv} zK)Umr?_OA~1++@Rb#U>{hqPj4qo%}bgKHZ+JwCH+nYZ_yr}GQ{`FH=oH|HmQ_n&{u z!^;b&oXKV3R0@L7Byt$`@BquYqA77{I|%3)sKcTuaP`v?8*)FWQrVYEX$$Ax0s(q- zG-Z~huxu-spvA!w`{lxN+UTuu-FMst*`0bctc6$l=H-RFDDV4~i#JN_QB0lpPp@p} zGu0aBawZkUN8`gc&-hjty^~Zpt`|gwTo&s41ry_UzrEh=v$T%8qLQHxY&axXA6M{! zNCuavZhW>^MWTs8>fl7{whV@iNZisAaPKf`&SV2kg&#g%a0|?P$=j`^$WjUqFDs8Z zN~+doJ#T_L?Dd_er*GMN<^Amkv~1L)BJ4bTc;s|CMT>V-@CCVE`J2D}4sSbx^Zd8J z;`+Ap@BiJuLoSuS`XB#0K7ao`DKDJP4`d5(wv>QskLn!zb)Kxsb+5GAsI5myr;6F2 zNMIYHjtv1d&MzA}W==CQqYuUyT;D2?8U2_o@kBiW=*i0xeF*Jrk59BCVBzcKmE4sD z#RSs1P?iN9z@s5UaTA(VE}t*7HFJFWBW*xEcCK&lAQDNTz&DRi{5OC9@?YDBfWSo* zDdEv?eHRgBDMIg+9LCXDAupM~e*6{} zqq|b~eO4(6ZG&2`R218HmRus7N#)^TBc(ITy0IS@dP`(o$Z5g%N^gxfGg>=1%-G+K zfQ?I{tcA<_!I6c!@1$N3aSq$T6|+b>QD;4$Nu%-f-6P3C^%3klYORP0qjr3{{C~6-$EQciy3>xGho=v;{or&uvpzl|4oM5ch2H9{ zkE2=hhky7-QUW~}TodoFAK8}7hu{2$3C-3L-s$x-$Ms+gWAD*T%(JBRMX}K- zz`Cuh>%!@2#ThKy5-r+(#UC{nc>~R6ZLw~@Lc^>}eXyLisNGK+@7Em}gK`XV z2REa6#YmurdyiVU?P!7j_&@wTy>`ZKJUlM?Q+ERiRPXsk`K#}qdHa!lboNpHY5T0FE%Kq$hQ1p)IX>b*HOMd{60mlgMgmk-ap{_zh184FN^L?$hc zXr}E4+xaPKQycV;uWZXRN3PWCj-MYGGSKQQrxQ<44{X=Q(GQ9may}#OY|oFhcID-7 zzN2Hjzy3h$2fnNvudiUBDO0i_;^b;1RW8ywJ#Bawd}stramM9J0=ipp_;74=7Edgi zkyThu8$JdPX<^8qSL4%l2T{C-$2cK~D(7{hEYG0xq~*eKJ+R@ldT@Bh1iW{~=;(;X z&pzr*qoMV|AhSF@;Hj{w@c6XC5RT)@^W!7tJN0l*r@~wBtQL)<+B&%?NR+@OZ&;t9 zbzD(5dN*?Ion@%dt07lJ7>2B}6(IV^FOOnU7+ zr9@4S?Dd@!!dglsgy`hcB}NZ7=^~s?kMv$KHz&N_J_`QU$w_(d#@jCJwqowQUlMzRs{|Vrk9K2HLB)CP#%ymz7&d~jEKo!-5@~mG z77icroT{{L@&`dab)T+ab+JrWgy)x-g(TfkjNm*1lByqe}*5W*W zIPv`z@q7bThm!JW1!FMi2J6-EEaX#RTUNvyNi+0d6sc_d-~Z45%m4m={GX&8 z9WlA{3nYxu2S=^o&bDpzF`_jr%CZz72$dj|oFNe{)ZP(RSU5N-5-&x$M`VtCc07=-wyK zAdzm&<1zT3|EK?+|M>U+0rNT$(x8J6$-Eu#c^CGPIEGR^j-4TxgX`?f3g8AB@cZat zGZl?LGerdq14+^P_XrcY)=E-gNU%m@gV=;86XMb3b01-I0$aAxL51wMY*VmcrQ_;c z_kokc$X$D(&1LkUsePr`=B@01c0uvQx`VMI5h9S06~Ze43_4t^v+>26pZLEldC z+5K1=-0 zk~8KWT!hhPBP_mixRWF{t($`wB7SEn-zet8U=X~>I)oPVX1YO=Fs!9H5YvM;mqfuW zsAQI6pk-3-w1cQk2DG#9iuQH{EqQd9Q!ry#aLHI)Sh1PcJenG@z&CG*!<>_cO|RL!4Qo;ae&8jVSuDov0=dl3iBs6xWcK2u6s_muXt;!XmK*B^*tYHd-#GD1qDnVoOm6>nI^lS< zbj`whc<>S2ozu464KPL!VN?^ng;8a04tM7`0^dKc8^e8i2kzdWwZ@p7$8}j^5~x+2 z2m`eSO*^GTnWUJ0V-n91xnpiPna`x6m>4N9Y^TI=8FOaA5Xq>9cPlx~VUg%x+~x!D zU>3)q%CwINNduW3W|8k9hy{L;Rh5^QCx%4=;{-~S=S-b@#Mxz0#xSne$eK^5)13h; zb8sO}3zM3ps3dYK^tw|PVckwaICW!KowI7uX8lsSMOavt6*ptAmEj)7oil|3_jujM zm`@bCT$EK4WHFE|-X7dSfj|Z(u2z zv~9H3c>Vl2+;K{1&b+_Bvn&e_4-Y}qxLo3-rI-%7x%6dO+152^WXC~L<>~Q}S}UJF zzmle*Av}Sqayp$64b<>;-_ev<*A+8o-*>j@ZQ5)N-=2GnzzN#SZxHA7@WA`$Pr-}{ zw-lSt!h0;IGeu(H^j~M6HobQsy|?docNSkGVg2jB`5T^IUTC$!3Mj+}@&f{~>|O(e;1?bwoorgc;vpPzaE_%^>s5J|LV_&wpYncass z$uoPuC2cn^U}MlHmHXyJL?m`S(RS{AkkXg`)@S_HIkeIHxD#NbankXe$@AUrjQvltx{5ptSCnIp)h+qThq z3lvc#+MKs3+_}?l^MN9PP(~)-?|)xP`4QtOl`mu0!)%5=y`S`yGp9MaeoG8heY*1& zWX_b3RVE$#7V|ycZSwz8p6sD}r2zYJL^9VqNNnEI`5d9>e4@8#Wapeo%SuWsx|HZ4 zEIHizpJ|_x^PKDsuY8(FY)T0=^PoQUh=npqqVMk)%%Sy8ok`aDA+pu$z6Thx@6=g$ z`!KpW)*T=7vn0xy<>`ff3`~T#{dHn7#uz$F1{Hy_WXjYEXwv{U4(htuN|Suj$B4m>6qVJ##y++8C`pG= zYiGDqYo`w*UoP)_{NW>g#1!mpo~^b1RT(o!oJ8)~{@dFdcrV-%q(7T3{VBnF)3^or`{}t8%8jeWr;X$&I~_tceSnEGVMryZkh1S z9Un8nyX7A3PKeQat$$0b`fTv@J}4#MXB=;{5I&RG5Rn*jpf%mcvzf8?#_#i6^)Wvq zDw5e{otsBze&cfluS=!vJB`Vx(ioBLt=~`ezi6L*XI+;$`WMvm+Xl}$li%Ln?%DCZ zKAnqy+YGnZbKAu-=geAd4C~ZV0y|Pc5lRBGp?jrRGbP07(+Kg=lJvO(?_SZ^l=4?D5sq4?h=G1Fz?`x* zGq!bOKlUgkN{jMhGH{n9qy+pmAw&^N~O*MH$L9{qzLXb}JaAOJ~3K~(jBDqnq&`~BPR zakEd4b^EpZ#`@~ne*DE>KL6|Fm0J?GZSg*>lhVrj+eb=T`S`={`S9VJAg9zyFO4=1 z_U3`q61J$d{n_@3WHHdwoKo~sdJ7x?m?THLBV)Id5+#pJ!pOwFHMnd{^@|wG?udFQ zPNa-vp=!*~WmQfO8}|MRCGq+FjfaO7u2-tZVC8-su_Nbc`zIIltHu2K@Bf8g{jWCB zpL`JhC!hPzf9LI!{$zvw$!GjapMU$wDX}aI%d${wrF!T6dZpUn{rv(ZA*1o|_{8Po zfp@2CqgG=OYBhGZ&%`RevX6*_;U`!nNN6|BzwavK(Xr_%bIg=a{=7!tIR^Kf)(&t; zsoclMbQnIIy6>1o(PGtTNmB!6A=}boV>mEjzKv;)a zKUC!Ux;xSv<+QLaftux%X!<1y`?>wxDv;aBziAL9Rn{e_ZlhL$hYhdS3sN@BJW4(j z5-}m?Gud_}<_=UaA7qVHH}@c)_DGa_GfGLQ2P$ZNb_9JO39?9(Pb>~7S*Gg};Ut30 zff1jCMYHHQ$<*MPY78h-eM*F+M$UqH06nel9ItPz%Z8-z3_ek;Tf!zk4(2~QU+Pf?H2UQZR_-;p>wcE-A<$S-&KUes9}H zsPKC#;-r+x>yl?fMpz4!8S_IP4bmLd@~F9RPoy~#?KkEr!K=IV$JK--3sr^Fx}f_` zd3a!Vur|mPYy>m6-CD#y(+zMl{;enQ_0Q2e&A>)ODfBiNIq{Gmf^4%bbcb_Fh&a7Z z3ggVhHjS2aS#vaZriZwJJeGpj7@UEqdfZ@4++$q}dD~9BzP_TWJQihJf)0=ca?zOD zkMZGvP6w1cbp%w=p%X&po`ou~E}2g$v;oQ*(+c}Bg7+@bQf{;Uy#X{ox08QECvV`= zy^@(_p%80eG8on|581b6jZWv$cDB5bHs@(g^a00+wy?S*NpRQb77lQ6hIt%fbxc8f zR6LC-xhk^`SzTs*N!ipYcskHR1K{1AO791`N!Y=k>{c; zr-dtnr%mVrC=`uK<83rfqC8zP<70?SolmDo0?k6VR~*=P*gNaC@ZI136=sd^ULJXU z`^@6-ycKd0PH3oV069adN?9^V1_9^^Wm~5PUkscq>%wupQpNBkQwTcK7s7@A#T)nm9@r&H#%J+PG% zYsvWNBsJ7Skl-d>e3vxMnKlkai|lsv-~uR_q-CmSg?7L&r?y5P<1gOrmr{PT0sj9I z+nn=k-A;a_7Lwb=t>&WS@}Lv)k}EdgIUKl5y`LE0$MAS!kNMzU?gA zBlXw=n;!j(mfj>mq?{+}6z)wW)V#`;SeA`euk;ZzYGqm2&S$pmOkQH-TK~e!z?rlCqR`xDy?2wCT?nux^5dKmw6Y! zO5Jx}F9+kevMvjwWd6$!zvEZmd`n(JuO{Uj@@yt(5hQ=X+lTkrX)B!0j~vGvrEHAW zx%5iY;Mdn9w03Uz|6g(n_@}4+pUY)@Dn8#r#F%84dQ>ziO`S^*ouX1Uj^hpKuxKQc z4^JO{vVDx`Vg}0_G?K4~)9%i9fAd#tPb=GZzd|2hkW1y8^V8JfIfWwE-QAH*P@AdFln<<`)v9 zHeSB_7LcE8ADJy>2#sWIJ%o!K$nJc2eBnR+xBrQkZ+=648*I-D-~aZvF?wy$RxH~Z z!wYl{AHf};u`QQEF8My}up}iXrI}I0$=%qN6&;ZK?Aw3U%=kI~+>Fv%n?#gE?v4)F zmX+LNjhY!bDN9oN5w`jK!yh;~KiNJqhkwT8T4a?lK+FIP_UmU}KYh<-D3`Z4`myow z@`9$q{{GJCym7sLX0wI7Wz>9%G}n-0zwzGI(5?IU`4eIUeamAaw(i%v)cHDrl6_9? z{QQ6XP8wa7HLjaUO5LwKzPv<8lquRJW6nD!PUnr|xcp@Mgv4az0yZr80JlZ~xlD@j zLh^(2`asHwQ#S0{P~ahN93GtdvaWb16uKp##<)nq?o8cPG8I_nY??|)wm6O6Yrw&O zLdf{J|LAPi1Wmr;#F$$)!6YVo5MhCZ8QcBc) z=ke)VN?JLcA8h9z`~?s~_!Cc;b7pwQ#Y1*Bhro6&g;W$#L(9tETEubt>Gtud#2Pakph4$~ zU4aVw`w{y3IkUfC=J=At%^f+1v{}lmrxUp>=n|zy$}yba_?;13kIK3|kk^DvL5UlS z_BPM~n zI&&N<1}^3;TS+IysK!)}jY*9z3_IrS9Z|dHWdR0GXLX?+b505b+oJ=u{Sd;y7nThih?36(}V(oNJG~LkBe+&EAu<3!6tY3>on{gE7n`Py5Yls;~ zb=Z$+*3^T&8)wPrO%u$hX69RnF zy+tG>WJKuJDdw0AvL;qpLh&PIQW08>*?xv`Ea@lNr`L9$VoGs|#}~2akP=NOh0z;= z-*3E1bL2bC8^L-HSvO$b8Ik8;lWj<{M8S=knG0_?a937H)~r^xJJ@X?E_4Cqx}d ze!oC7POY+R3)k2Er`cyp*Njo;<<$B`EZRp$e6n>%r<@9}`_8596iEz^8d8Wm1$9w& zZ|LbEu7l}&Bp41ODKw)jncib;9EnR4^AHx1*v%6I_@!V0Kk68YlLjmzxwJ8xdftxhfY^tgv!jjMU(4TCd zm|>GSajSX5o6Qj#LMF|wRLn1*3&6SoFnPJA778X~Eg=UX>x(_;x=Ae#{ zX>Jq|bV;m|P@PN{A3vH*{-yK*Zc{>{q5c(jHV|vGB#H>l4IyLRu~Ctf{!Q%jMgJ+_ zdL6xowCKDw+ktuV_M9{@((v#4ixpqnfus@51Wi~qDkB7pT}h-l7PYZGJaG8ny&aslGkV(C z)(w_SA}%ocb12k5w<_Q^A(T*9GTXYLr;YP==Di&pKG+@}7~*t?>@j-(Q|-fujne9I zQz=O-W!^n+7FsqoLKi^Oye&Iat?|k0@8Py?GAbd9n&VdO8Ef2xUI)i zNxV6*BsznO4?aA<#4i04xt5=M4)8S=@ZtG|iw`;jmRO@yLIC@6RIJC{1vf6?Pqh!k z2*53zsA{^)t=?3^A&{tAuh-EaEZ5-Df(@wj@+Vo?P^Fq5e`eAe6 zbEmf+g5E#TKAOsuspTfQ(D0OaS~vFVJEcu5;z?5%S22{~)@v0ok*UO#fDME{~fzyxQ;7+6oddv&#R%&AF!l6`I}X*X7o0#iXckoex>Mvl?Jyt8bf;?-KE#65G-#9#_G&r1r- zY?2K1PI$QWyW^#0_Na~eKG>ehlwFPa0sjR+!FR#Rlvr|}^MB6vRH*NBKEp!A6GGy} z=Z0zZhzp>8qJ88mZxn+m!jxwVQpnbgtc5;0TQ2A@=#6Tf6Pe^tM-5?z64#Rlxgi=C z)txSa^g$No|10m@mgGo|^!$08GPA0?f#Gn^G?__Px{_W^dRjezw8o`K&J4P%Dl_Bc zy70*C2A15@teLpR3mSm|(A`-P8R7o>f50`S7)dUWrbMZk+$%5FD|;Izki{fTefXuuj>d|I6ftUBs&O$B{X_@~W*2f&&a^4Shu-U5G!kMi|3NvM^hTyee{y%G@ z^o%xG?>C~F2Hl9BWw@L>Vpn8@DJX@|A$m|JZ2LM=J)rCr-S^Y?|IeWhI4b{-LQ>s# z%3g8K96+{xMV+~=h7NJO@lL$Kxj%D#0(KR{h}4N85`09uGJCr-g7?&%Nz**I>H#0$ zN0V{LzxwdL55e54^RRmD!xpuS!VfT2O6zAdYAtoJQ%C3F{(Oo+9|C@aN*pd!**PF?=khZdS+Dr=Pt(2L=%iZlNV{6)V!TQF-@NqQA7et zBgTcA`@h@z^zn6q_wF<&+H1!}*lK30g>8QT=2Ypn!fgaHKFW$nB-foq6&C`MEHzxG zfYyMtfUZ04vWy5=Z+SO(h>o@F_QQ{CKlhD?-hb5l{h!(hCo6amLerE?)>U?h4#A^h zMA@2moCHc%BZ4N!mmfBq`+4iry@AU9xC&ac#E#Y*rE;1=9%)*w?zp%RC&%{K$=gl| zFwGIvu<3IVokx7a`2sppJ5`Mvn8#gj`LF~(ouP~W+F8KIqVq)e?M;b*ST5RO=Q zuM*M}O`7Z+Avm;KXtUA?-i(d6#{(SH%_3P{FvL%tIgNK6v+8|^%YwEx5G-vN0-PwH)>glAz5IvB%<@Q$4bwgd5PqrT%Q8nK`9$)4%FS@ zFYn}`DJAxO|7Y*cWAUG!o|xx(*v;@Kw*gKY*s(c3Zh~(;1HJjT;yUIjj3%}%6SkZ!ZOc3E9k#7ARoLW-|8uk5+qx25;O1tsM(%e< zkdZ&{1=U6jLad#*X3);Hf=*8~El7{#n&};!SUafF&6Hv!TInBo^A7^$<#J(~rmqq+ z|5V$+KV*OZu_id`gj(yMXjvib#G}1Y_JX)T)kf7ok%e2{C>_=YuSK}YXa3g@g%NB{ zbdj4rld|WxKVpjPT1_d`3qC;H9JgH!7bun2+Z&S*DKn+~G~ z={R-t5ZFY{x6`bp|4ly{kZa-9Uj@czzAED6RQN3r&h2}ZiIX__JkBh%7%lYOXZ`FS!#PHjb z;GoMLS3;U+nujeHqW1)EVc1+Af>P6PMV?>}A#t(hl4 zFN!uOCEJ`p0y$So7ix3VY&BS8tVeHj95Uj4Y{J-$)FT!kMYH5m_@K;Id$EtrBdP>z zzZ4xQAxEsp;q;;-Txe_qK+gX^GysTNu<@WP(Xmu2ZyP73K#0Pg9WFWYW98F)#W%YL z{kYeUx8{1i^8EbFJkMVpq2GSEe~4`HE%*Lka$@|Ujqu0*-M5weA94f#y5a{2?|H=^ zGYnh9H(`pAFZoWKX0vXK=A_;qoz|fFPVV4F;&{`3m^+MgGBpVqpx&|@>mj}wE%^~o z>zxNRQ?R0q;KY==CeH?rFhV$^V0wR-kD1d%IHmlD+7&?5RIKVoHg8A-t#r*OLMe4f zqJ%VJUhA-l15UT?yJLh9 z9YKU-TgPZiz0sVSd4Y3hrcR0`9@$3Zx<#uw+ORk|7TC1)hko9ji*Y7~VoWD@7&CK( zCE4HqI%#y6HjL24BiWN9iSt9@c^u#NJ>L<(j|FO}#qtx+op)HX*>UZTh&LxRrxx@S zBVHlmaN-GmggSapj1wXGaXR<&`+bbLP07((XI)oPilk++fuC94W7 z^L+Z_^wzBn%9%E5gOrk)S##WP2Cf_#!5N)+C;hq}kT~5T)e&4NIDg_Z|NvbiP zG4mm){M`tiB>!P8V#l3I#cc=_}_-+g+b z)IP$W-mS~ZfM~t*h_}4@lox!k)9~1d1}1JXv+Cn5DYaVrGlZ)-8@FCn zNhzJA$>VEi?>rul_sDtp3gI)X{}5)n@pIeoOH>CL!|rMkJN;U#?7M|z`H?4dWF@EP zC)VHnj_LUmwN>->?{=(T=7se11Y#$S`!I7j47U6*ipr&s(vbVBa(#ZGYyWzEMA-9A z8c=%Zsyu)G1?#q%UR=c9RBeQ83Dd2sRjBH|$*1=tpFR$StL?y6GPFu89hw*?u$hXr z)Numja%L2lT##X1>JJ}*aRrr}sily`f|U*hld2M<(aetz;$XTqZDV5g@u)vSsO{I5 zx~X4*OERvf-WuDsnPJ0V@O%qS9beBhmFBF{Y9%;_cb*`Q-1^x;fzoQFl)@x(wzeq4 zxXDpQhLR<>N2|TWv&;)B4(H>!KB`I>Y@a?oS-+QO#LhE*{?ng|!n)_ADmAVz8I9zM=YIm9Q zj@pKSq_B&M4v=3s5J5P?oOhLr4?Zz>fQo@IDCXvm{a{BTe(eWw9 zL9A$JxZ@$(5bwD@JrQC&kJ00f&m-V^ni5m830EnF7^49@SY&&Mk!eap(UZ^9CWJxN zD#dd zgNIxH0GNz|^j$&BSFKbZ-Uh~SeGk2KA{ItftD%(R3OKGe#mb~Q(&?bkuo z?*pIUN0Rs9>II1R=f=!~^kD_HKTWVg2 zs-L+&N8ofRcDje#?e>*RhlspKnf_by>Am2c`P8{`=kn6HxIk+=(M7i2a8EP6Rsr1_ zBISZ|QlrAy*?C0A9|j8Rx&koIMlY+%A`G_x02-`GL_t*5j^1fDfT-qjR{v>Av_8}? ztusv%y*2JbOfk>%dkc1aXyYzDzJ?!l#v>ajGtcvR|2yZ#*I-bVt+@7)3~bxZetR1fF&W`rKVyA{Ayp}b-Wox>^5x4H z3n?0X>2WvzTl48-hj${8Q$og0;=N&yaq91unPLO8&y|Qm~ zcc+VO0O#b7uMg(T-n%kS6Wj0y_;!6lw9i5NXf;i7+Ro!s|EYX>C+FSzhw|yWH*|0E zLhy~YS8{Bm+0n{|$5X4)#6E;+ng}tl?JKP*^E8hSd8d@jvMhM-S=ZH|Q*Wn5Z;dkE z%5=G)+If9@MVuoIfy=r+P~dvK;+*6DxKr!cq$weI9{1ZB>n`KOQB|IwpXt5x_VzXk z&UgY>tu>}8SrJ?^x0_kv&C3G7HiVx?+qG^R+S;IN$I}&Mo@eVY#35DjUdft?Zes6^ zo=xP@n%VgD0nQ!0|JUoI=k<6le9edoxs3JEu|CbZ6o8=ETc@M{KR9X1QM{O*oMUR& z#RLrNc1{UD=F_*TbXTz8`D)IfXN8?8TV>o}H`I1G>N_%ik~ zgK|}i&C}g^LO~Gg42*I$KuQ^Nt1*2H!5c4r$We}aziX$~Hrz9e$$X%n2PW{|4l3G5 zFFuY|`<~W?NH_C~-u3)!-#z-;SyNd3wZXvE2CuTHA+kfm2V!-AiV(aQ z=|c>Wkv59x0hFOimrf8{pE`^>4QM;LV$G66N9*LhSm?0YQ51r+uhp$}Qf=06AwG<|h~#b`Eb)-8n5MurcA7%@3jt>ltV%T?{xeuh!mABx(K?4DX1+O0sH=Xn52 zHiiv8oF_#Hfhoixe&qzcVvMv}NmH^&-hCy;3Fjb%K#7g4j-ZM}p%=@6P`piUWIzLI z#j`)|S0Icl^-v*;3OL0LpMfK%Ervi473OJ1qbYeiHZF9|iV?4#q7^rssoUs%MeMDa z$5>c!IIjb4RF3&(d%ul= z)$x`d4(K5S)DN`o@G-lHJ+e!nT}Kf^>Rt)bWg6oDJV}I6CMU-5))G zbBJ1+cpr0)W99=L)Sh=r3HhJ@<9}$^V^8R4XM}*z`S`gRi>K8-_;?ODK1j8Jgq_ZK zI+sasb>n5OyiAVh>|Bervpw$gZtG)u8M%nXekvB~7H?sjG>T?;agK;@aJgeC^W^JJ$zT_YLN8P^+HH7 z@^-)Bz31W^t`)op(FYjuE^~@zNa)~g-*{QBl-fw%pF%^CMu;9SHi3S54*cz3|BAm{ zCZ2=CErC`t?XmK>-N@Pa>RQ@4ND?P>*9@!2V$bN{B%<9;fzpN2b}N3=2#{SZX)8>2 zpMHLx+1C|BsG>k)a>&Ptjj@I+YH*P03Z?0ToD4sNP?eZR}CbMco_t=_M{ESx8 zcNr7S>3s1KM;_VAl1<{()qtn=*wH3DEfb|={_a2hHN7{2x59ACJDVzNg)grwx3?AV z-KqTXKEPlVFH>SIHl%x7H(r(}YBN-_^#3HmGgsBt!bmkh>*^b;W`sbv>aM1_EC%d0pqpo=re^z@iEZSWu z?2nal^zAvb?>lZ;Y?!oe1H-on*gnJ`u_@2V;VywkspNenxIl7|<&t>KJAd>2!f$^2 zg^L%q{K{WMN2W1f;;B85Zj$leiRX0(Q4<6O14}yUltkq@HuARd^7NT$g2xYUJjW|} zRz6LUAAY;@6dG$TT)f4c`w-CFNHcu*Y3B3u)q2`qndgA^MB5AMpzaUKR{7z_JAd=5 z7lU3~G{1a!FP>bq>m&wB9SWM5@F(YP6jEAA?&Z|J_g0O`B;27-u_eZk*1kPv$6JNdZMec z4zS42Gjpr#v~$vD&jr&m(<_wP(Ef&xFvXecy7O9Ylx^kZ`4iU}Zso>Pc;T@KpXbCs z{5o^>4cT`t-XKcvBf1x+S@@E>@e9;8L~sLbqkMd@T4}QEcKT0bK|dn^$bo}l2z^%L)GX) zi*?NT19-)!nJAGJ=xXhodLe5!IvYyfw-JnJ{Zo)=J~&;hQko{hAepq%4Ga>&si)+8 zI&kb_zh8W$w2k%gAf{+PPmJIkdEej1!rD>S2(4509hV~O{e~M~M^zyN-pa$0LIx5i z^NdPoQj=~McSOioL0K{Sw;11!&??gdfL5r*c4XNe)SM|}Uf@)XVN&vlBB@-LfUi6I zqYL@WGC5AI)ngQ}8~puj|=H?dwKsBiG=x)ElYm$-Me) zV-N+2K?u zUQumqbmQ#@hkA3{2qEC78EG9IBlCURsHM#|WUCEuNR0R$E|W2X^pC7h2EtgMsDc-3ea{&JMmVvWCR@>>BTRUH zn&Ee^=hRBa-P`(u5NDR_#b(;G9o^4!WC?=vBZp=X6@$02XH3bmaJ5jYkvKpJ&IUDI z8a_r!E(08CW_?1S`*Om)E?9O>YlE$PaR0_gch`n1jY$I9g(eMk!oJ@uXK$#9yhLIU zwrrh*R~!Dwpu`=jS?2~pMOVayGugwOIrEwF*=r>a=8+LJJGGc*Uk?;i94TGcw+(I1 z6hTesMcLj~OZA`-o}MYXoSX#1KCB&f&QojQ)(V0nj(X*vTOT=?*CCGFz`^+T&PX$L zAZ62(nC6KTOiB#Ua!1vZ?+<+Kw7gT+yBSJM%G2zaqQ#V|cDxJdh&kC?r%`cbGgviP zb-nkF!_(_N?p;UQEfC2@$;R4AUg%xuQ=qAmc4Z3{rvlC6=U{zy7t|~Butbg1MBOvZ zJ6ueJ=tq2QC$F33==6?Dj+P7ECkT!nJZ0ahc^%{4Ky8gy&BrLjiM;JhIDBi?vG~BF zWh6M-W=LYLMl@-8Y>;O1@7Bz$*wHnD?2477uz{1cUPi~ns1yVOy z*M$JxdVgF48D6+`sEeGZZWV1EoJH3H?A!1s>`JYfeFQY5d7;+Iy>C|8*L?scL!#|W zTGdLYmdtjyBD1Ji%Q;*)Y=ml_erCFPp|{HA(_$mpy5S{KYh}GZ*w_7}v8mb$cN}G~ zn7ogu6V}(w#P+SwA{-=;;0(C&4t0(uj;7|I6;KLhgW@NHT>Tu_9}nUb*!qK6Bjir& zoqgSL(Sw8T11f>!ZH(MoB}C71c_uYL%x3+qRPvso7DQoQuEwNknWCN7`;8bQFY|&= z9xW?*%ND#H&2S5+-0PjT)xi(6scDM}*;&yY1HD#yHJg6ljjVCsH>(@c%>1+r_poFp z(No~by&xk5zLY|}JB#+kl{p-U}xj2zGkX(U=$Vl`O zXNx~ILKJRq+o|Ud-m|+-4<^%Zz}gBmXY$&}`-4({qSS&mqj2{)OeMrB{UuIz-{%ci zZD{8%lfmI`5Mt{)+sPkjpcAgkg_<|^Z6|o=Y??QsM7M1N*U{1lb40WwwNp^OOM!X5 zAYOTPLUWxW(8`KyX`BR(k~`e2P)cdGqspcXgMO~W7-&8pIa4g6>}Pa# zxR7b3(zR1uF>jq-aN?OI5SM4lc#9@6R?m&b_6Xd+H0ov`*5kghVZ;M$xGM3D~ZD$wJvZGf!om*+95qO$# zF3?@2Yhzni{IuZvMAIE{X{f%ModAcB#kc{=ye#HiEj!XDkPa1o_jafKctbq+0Ny8( zWI_@y!2}ggA>e00n|ajw;OV_mDfBX&FM&=2wdr8Vg&l_r%CmTbZAbOoYsE=I)UiJ@ zw^B$X@Ir2lU(TPn{q%ccio|)LuZ73kE04GJBt3|?&Emu064Xi*BbQFgVz`B?OmiT2 z=$JRpy6x0mDdi_}ABx+x;bS1rmeS$2LYyqu2d7+~uUtPT<}ySllcTlD<87sEg;FX% z{^kvJ&NldL5cgGtPv8FnRUyV?%;kM&SI?d+o5Hqb=t60MZHKmQR{Ry4h4fY_DESR8 ze=!ZUmbb2AEOKx5bA{lU=L@0Ne!5f&hLXi;rUg$@hkDPGOML#j$=+5kXoHxB{#*pD zHmgR3$7;QBQ8iZ!%~s?M|N6zrh)8p6G^8qj_5CNNKA=@1>KYHNeD)JP&SdX-E3lTv z^V17y4&3e=&zDd9?|=AvzPmj05C8kuTt9tc34st3%V7N$QEPv;eaNsTOW`b=jZj;| zDI{m13c4iQklRj{%$72-BrdgB3-zQpA548SPv+1S6}p8$r)8#=Vk{sPWK;59=*3Q@ z?>>DZB*%SQd1xUHWm$L1{mUEkcdiuTt7`b1#78F8U1`Wh0d1mJU{<}t!D1GA8~Oe?-^m^`q@;$ zMz+kL30YVE=5N18%Z8x5{OvDUZyW#VSHD6YnZNw+|CQI@{~jL_%jHVwc7&#A#m=5B zXV>1W%(|H#A(v_`-C*-XF)pDvr8fcBxqO;&ZPYX^oD{nCmVrR4yN$@jlXnApLP~gX zsH@CR&tv4QtdBQBbtD{Jz+WOUC0qlZI?@cjEC7x4RYO`;H2z zdcJ?Yuskn>c}AR_2y1inoO!+m!x?f$B$$}RC!`yhAQ;6;5w$eREQJW<+K9IYkGC7Q z-tF(;jQ}CejEG_*l1Q`Xc}mQ!69+e5e8qc3#o<%HdHeUJRO<-l3n6*jw$X{`J{&}y zgYKD~qfx2dX+a{=fY4FMrA7{z_fnC@wIygnRkK;CtW9f1z8^iBqP_1>XwK-#=NA z=boT{Z_a9N2wt)Ua^M5|x)J6`bvsENm!~TZkRY_u*io7o-0z%eD?=V+2p9O^^$%Wl zE>qz8^fXkqj#kFZUEafyo)ro00rxht*`yv-~R^h!CfNiJomSsm{Z{MU;P#P{sr$Em*<7` zH($8CEX>h1?W0s5%$tIE!nC6LTN-WP4N+Zo_a8e?laP-T?V&jry3CXJVaYvU@tW9i! z{|T@6%R_QZ%Zya9&aE_ZooM2DyzcfQ2j%5uMkEZHT|peijbuo!yg0+f zn-F}Z^v>(OQQL+hV}Kwy-p!6sh;!m8?YIQb&kGTAq;#r=>q{Z{MCl!^3hK%0P6>&+ zd)8Z{?5}Knr~U56%gc=r1Gi~08}$ZR1Sy5y8|$`H%F2uXL}qcOXm_`AROJKlW9 z`-$zx-xDXJLG9hz&X+Xd;)VWVkZS3WH(SJf-`VPJmUhE{!T5cq#tAVJT;%$B=H=6i z1wQzIAZ*n(sO&>sJcKc|G&=Qc2P(+E&rm&KmnWAy*YA0aYQ>$XiA` z+`eR5GlR$~9;BawRvlbJTxVVu;xv<%Nc5&KZrUwR=&+$1!>14r1x#&J-(V_)Nw_AH zY{j@(zOCBOB#7OuP9pe&r8>k4(F0!=tw!UM*oM}(7hOPSUdeK^Kf?jmfnUib`WKq z4YyXcDP!I)@KbnA^6|o6<^0vyi2r9p3JRTomW7qah!L(ZB!cN7R|T`=&Eg$9%JX-PB7u zIR9>t3P%W$?>Gra2qZBkt*YWS+hwkMvn|1y9lck;Q?rdw4=Oreej=_Ir% zzxnNN36Hlo!T?Bi@#HqqD~uF)bNU{VqgJh?I+CcoH=TNGHq^1nl_82o(Q-q|b?Ep5 z`z~zzMvCcF`+~7}ycc?Z426=%$=D=^!-fmgT&T^ed&Li>kf*k4jGgFcHGW_R%fRVJ z(Nqk9QuW^`e zI8UV@!J>Ryeb*^c>{N8_gVOm}hx*|e%0FI*7(KxWRU1M>t9485ThU1{IGjz&2;h6x`dpI*_jQ` z;8H7jFU(6C^kk!R8I@d4ubx^P&N1?E8Q8f4XZ*bo%+R4$qm}oeaPiL5>6EPyqPH3O zVC@*==^$r}XDFFCB;n^Xbo1M>XOQs>$2B3ty*o3{lcAJDd1GXskIzugXD|Yh;s56| z#0b5c000McNliru+zAW^IT?XYn8E-6AOJ~3 zK~#9!?7YX1Wm$gb_c`X;=U>>&NK=)SRauVJmd$Rq$RUTK8A`)hNPspHAVCWWf&eYF z6a?^(&`Jh^Rx%iXBVcC8(Xcrbr%ARiUtKPpTL1l!CG- zQCgFv3EqRV764;ggcoF4hR5Ta$9sph7AXY+iLnOnJVHv8l7OJ8Yoa7Z2yn(BltN00 zvlio8A{Eip4Q@R7c;{%F z2IoC-5+j5_2#IYCLJEvA#7TkxybpgkJX$H7b<}l*jv|zjNbiwKA*BGoI!mM@nx>_x z8`3OADS@>P??EZm-Lph%h4;RDox?ecRuRrvyaeG1_Z(^Pg1Rp8fYurz1lC&Uo~LsT zr4>R*ytO#zvCbldq9|7^<_nMt&Hw-Pug%vx?|n!T#~5pA+6Ju@cxc*|G|SLR(zXUA z6&{Z@7Uvz#IiwH>DX-s42*8670;M!wfC8kF#7P8FqOLYToWy9YX-&gov1B=0V64Sh zgAfwDKq_!9ym4z|OA*4hgz}v8BNrd(qZ#{?*`l48XhbYoWA(1jHwsYb2 zxs)MX8w)}ZClTJ$eXtN-@gCnjROftnE#axfN|MP8(;Dc)ZP*|J=Nxeyqq>LGS_^nm znV^)yJBN3kD2ec0s1pJ-5qX}4&?=x$I1wSdYCJwHcqS1dq#Ex-7{z;>cPJ@C`f?tL zz|(z(F75p5de3zCtPmg^LWGo~wWfA0&igI}c#jYeClRjpEaqp#aZH*d=r~428BNnL z==Yc}me{61COw1*r%WdqS(=5@p?h4MJfmElaDH@(6rLCFzrtiR;`!looOMW@($s6b z2amuxL)IUmq^2yEv~5F_WF$#SZ!n}NDw_3*#qxv*#d^IUjx-?9O0lzdm!c}jdP7=c zY3c%NJzFolPF1XNZG~+shLan#>kFJv#9Fg=>qXvs_lI1b9U*K>6lt_ly!iUJNaBcU zagM3iESGa88(XYbOT2efjRO%D_0x~vCyq2}7O^$TxwSoH+)MGo;a%7yLI{LZ6h%d> z1zN=*42`vQTQ+aex(bO%*c+xyY zM-pcnqzmgBB?)b}L9>3&%JITZi8Ozm*&2gW)c6i~5vI&$c)^3Bd zvoF}*+@M%p66ZtmEFx~z#JO)t+t=8QIPa&ov&QPix~B}4;Sr?i72~X+Bs{{hH| zqA1zuEAmJpRK#?UvN_2aOm>-!dMuV}E=tG6<%|%&#C7HFokuDOUEyV|MMz1KWe6$I zDnbZ>^FCDQQev&eG%X+y2y`5E^+Z>1SVw3)Jh64;S`ud(>rJRzoWHIoKwwRa)F7Nh zpiojHgeQ(8A|;5mLJ5iUj<#*X1`r;+v$V$Gk=V9ItI!_BNuQI$XZWTd)`BQbv9_f@ zoKV#zaW)`Qg45#@&d$z=;uK>H#)h^J?~r&}<7gd7-4%qbBT|qg37gwDD9)bZnu6uU zF?CbZG%eOkF3wN!&Y+Y6AraCevz+(deTQ$n^#;Q{# ziG<_k=8)cC#AH06s#==HFv=BiuIW!kSSJ{cH`(3UMF_zk|D*qv*~JmUtQm|p@M^%> z*%_uWOg6TVw#7SxQ%P4Oit9QF5jF*3*}}p$7Ujc&IO`EeJPs^GQX{-W3ypU!ENU#N ztU(D05~Nhb&H@f81+n+EjYU{bZ5tBramLXI&$4Y1Xh5QzLwiFKCtyR0(OQ8IEwC|d zNC7TXE`X;tmi}Nwf3(Tb;Q{N_g86KTv7j&r71NXjXJx_8?jD$mINm_GCH3+G<0Nqu z5i3b$9c5VqigA`>ohORZP<<*z-FlpeI668G6|qvZbwR&3Kxs`=SL8iSo~Kl0Labq3 zH^@?;qnJF;=qHj{E;-o$g1wtNJb3L5?mc*o;dGnY*sjrV^anY%E!e&FBF0$i#-Jm` zaL^-7Q<69W@9;7P*Wz8v&W&44Cu6*+*xtKGlBGBg5d(^H#e-L0MdOjaCCP_uZ*8Hq zWOHMaVtz&*No?EFHikHgX_|)3jV<)>I_QvUzilJj-c(#OZ8Buh%C@Qm}@) zDriN_(dii~O3-PJQj%WYCr@L_vJAcU)x-6GPESVdz?<6(}K5 z_|O>%gOU+SDg+jnb{&|LC?RNtN1zZw5a~DoZIQ&{F)Bjq7^el>g8@}hAfy1NXxoq` zbQD4Bu}vK|ffvL&x=H~dekm!rar-`THekJ6FdXEJHg53b;2HU32O$LOb%7U(#tO>S z93?$%RWQ3eM`c4+%N1=?6X}RJiAd9!SW7l<+`&1^a5N%GQ(RkPyZkvCPe{@fQx^!G zvRIWo-+vrZhKi8F(jSbGN>MCBVVT4c4?q8e;b=mfWIR8cadditml2oq1!sp(xOw|7 z^Z6xK^8D$is3apDOc@R*tdcGrM*SkN0#4VL%4sH0?S9fz}a9#CR8?nRgzcBvFzO zTZqkqLd8noz@^cI#vN$l@e=1(I>h?AMhMNM+!vf zTO+MWw4j$rE-y|=vW%NA|02&He?n2Wcp<3Dk~B`}^>gBE!1m@8uX2u$k8!}|>0zjX zg&>JjS}Ujx%oYob^|VzUL0&COeP znT~syY89SlSHgMcP$EKjy5h{z)D6~ItZ8ZMD%1;rbu|bZ{_Pzg5v`@I*0kPZg`^T5 z=_STHh~uj=5#v49dOQIi_S%D%I4c25KZ%g7Lr9Q5w3f~rbU%h9LTJ^soK1%Vi160d zSXRqRe(hJj%fZvnxLCDB)7u<<@rT@f=~Yh7E;v7Z&Um`b>G1)B=`L-3j*j-&*&fn1 z70bnfQ0BOh1EuD2zQ7|H4F{}OGonb6=@h9Xo`kZhF-{RlL7F5uAsCG&c-!*h@Bay} zefxKK^z(Pw81-sB%>WZIo;=S@ewEcpP^MiNHnzWn)I`T=M7jgM!omtCKxn-1C>8R(cMcFZ3qrR@r4h~}r9^3sH4g7>hbmp= zZikZ&r4y_Q8_u>aRQg(nj4nNRjdLMNIBSWM1ZxaBjs7dVS6^vYU`$8+%X zF?ReiA3Z+j^z01XTypEq9d5ty5|JwyWC^}mfoo~XB^x(iqFA0Y%p)ef7%4oFk_^Wq z+NPl@DsToVLtB&gN0e2Aah__uq-h;RQBf{uELLm0jF39z{Bp)}enH&d;-`Q4r$kZs z0N%pc#RWS%J4C{g4|iCX4I3LfI8(E^vBBx-5lND=nw@iYG2{GV#>4$%j?ddV_e3H>D?zR_D(>1o7hq$F3gKNwf%FmzBQ4f~^$IParz5NrARXR2B9(%0 zXkn3fbkdPd9)uEDq0(%cimF(%JJk55 zpq?L+^*2eh;?})4kis*}B6e@wX7lcwT%J59j|5-*{Ac8Y2~E?Y;*5*S8A`|WQpI>U zK)Qx3&l!xT3IN?Vs`DX5kg42NUdy5Qxn{~F_IpW83o z!&=LafAV9F4jz-FIo4Q&H%uoJgm)wwW)~+&6;rJjfI|sS94nNs84miq{OTM0oqy}^ z^3uHr)b)z(ogF5VDQS}OgYSQjAHVw{^U~6Kg{{{laYoY`tcSL(sT#-Z^87jlgp(RJ zfmDHolTw6GYa4{}hzKN#I8KO@qyv;eb|G2G7@cTP9&ZB{5I78pcUSD6?IH*Pju(=) zws;Fdfl!_(j*&uKV-i=ew3Gp8y5bzJaR8+y)>yoUEKO)mKj-zY{1PwUdy%qgIeGpB z)7120$8nWGBIaOJbk9K+Kjc+0yaEd5aC=H1e7zw^L zcn4Bwr1j7^Xe_Z*2s}z@(lq_D4OB{@RHzi69Ut=XCm)kdZ!wx|;%&p_=~Hx)v-jYe zltqbk5NpM#pRv2M$$0l37Z)>}ki=;Z?;NHs@W$Z1V19N&xws&b4yhA#oN{t>fU}0S zZE1|bw1y~27*988t!KVi@#N!ouuaKibDOegSu_Qgiv{4>9uLvg8GHA?hSD()UVgx6 zIHGDA2BQhDz5W&6xVOj6tr2l=gCrj^O=|Wwd)(QG7!Pw+t2Iqy!IXUCYhS~;fKg~+ z*tv0wrfEpy2w`hP(nsrvrm-|_OB83<`M>Mt0xxeYZQF*BD*`Mel??4=*D**Rg;os^ zUg0qy9ZJR>w%~Cck1r72`UJ8FWxxj=fQ)QcWEzx;v9>0*hDOLQuPr1hQXQ7ygBHQL z@Hqiu9mEb&3Zzh+96e{0C#)7J@pzY`4?p1P^Aq-N*H|wYZQo*bd4exah?JnB$K_eg zc--J^%jw}$LRS(1rm9#4dX&(%oSYnyrz!njPD9LkxkLy^^8v+j!HHBPag3BO7>#L- zr>QHP^Yr6ws`iBMe)BCZF3ve#8gAX4&=zyj{*ad*e3i@71LABzs$pYu3n5--uWcFU zmK!g}TS(UPOOhmJ(Ma67VK^GIT+A5u;?TOqik*!OF3ttT@{-Nz7^xzT zPtRDb76{MvXTyV#nl$avHf1Q@T&VE9cbK*bEjNLcvlfK#Nb9gd5vc^{gYZQvNsT}m zi}ao}iLlZlb&R);D2>4yB4TQ9=!uwED7=nH6?g%Su{i6|QqtBnag-tmk*c+Z)^uEe zv4I-2*5Pr)O0j=oe+SL=rxH|6QJ*6)Xw^ZOwW) zqg=1h66(4Ip{c4C>l|sC&|0vjC5N-Y-~{# zYl^aDH9yBXftHT*lQVww_6L0L`#->s?(xI7-{qbC6+iv(5kLI#Ut&GPT5@sxl-_X4 zbUI~Ydk>`}j*p(PwY9}~x=Xb#S*?~tT49@t{b$cPJ2@tj2B8xci#em|HYdxPLi8zI z%Cr5)sQv~w9{dtu|B7ZHpnY0vys#)0iZLMsI@00fcZ{Euft>MP5UCVrxCVKoRzV*j z1-Vw(Bn^rmWk`WsN)jvR#{wlH;xqy$@dk7(u(m-eg*66oMbEo{`wQifLUpupm!=?e z0C5x}gd|OJ9)JEJiPlJ0(;ADn4d3|MSJ~Q_bQI`EOmDo%?(G-pXBll>B3#2{GN#`j zu(7?1vkrl0Z+DAZdwcZqjLpdiDZpBgO0!%n&{B}Zim1QE_~w1A>M@(mh-|^ebj;?? z9(g1fPIt(&jKy-s*5-s!KjE!^g*<~^sur5}l;~SXO zDXy*linPMxq(@l5N{}8UHBv-)>rg^~7wA}{J@_a<(#E#5-VqBGbQDhFTSp3bCDC4h z1ZzD>lAzF(-XdeLMN5(>YS&@~S$;}f)&SO;~}FicW5?!Lz6-hEbQ2V|^S+KT<7it)i?dgB|Y z^d1LK9GUUZHNia^azrWA?^neGiy~%5@ zJs?*NNt*G&J3r#ROI~;#-wA3wLW-{cS2$XP2clE)KQ50c~!ABt)si=zp-jZY~-Z`Q)0Tce;TH9@a zNMmgf8+cRm(yL#mEY`GbjTI5Ii&Hjk+~eo({g~~YJr)S+*5KmotQlu}#V5jn|ppe3?h@|2g*`yvg&YXY})ogesgs z>sc+ARI52VdpB8}owKZJ5Dh>3^MA~@e&GRc{?6ZJJ-=X*e49@`dYk3#*ZKU5XB-}% za-PIIKKLFxAAW*04bzP+E>{g3ySKPFd%|LQit_2IspT3fA~53&kh+5hhYOqAy8TeC5no8`s5)h%FsH(yA~N|JbnE6wE}lAy@jm{ z)~AmdOm6+^=d{EMfiT7YUQzj(*vHKH4sUPRl%S?KxG4lqYVyL3qJn%BYyX_ zZ<58K-`?5Y;rQ8Ss5C*1Zjp|+SnfX|$$RXdeL+Nt6`p4Yhcxb8-hTfhws&uF`{pjg zTvLx;=kpKVMd^sLSkbl#b-AXff(T=O|A5KXF4jX;6eL4Qe>Ec2iovkQOK*ION1uE| zKhHsF>iH4p7Z+SCe!_6$7QMWOuoZQ=AWITP;|-!%ll6P}IA>)v=WB=Yo+J}E6Jy#I zYbBI)fQyR@Zrpj9$Dh83GcXus;bd)YqT?REskyj3LmA7<_wTcRaExQcXu3_ko{?(U zzHx^~j~=ls8p_o%&-Wj)b@N4v;*xtW{{mGpV|eocR`{x=sK4M~{~;S&H}Ja8vnLNxTA_7}DGHjVBFS>r>orOWkf&5-MUpo32MO_b zjPyY|m8A(Ao10YSn%Vg=-dQXuMPXPs&q$L5d45Tp#CWT@bN>~j6r^#4i8J2OtA}=sRLoD1mbVXC=lsaEeML2dCs6WV19Oh zFctm55EZA8ZSvuV?@`YV7>|a;`HN{f{gg!?H};qjjxeyyvW?d_`z+?=LMI=LoSX#r!Al3^*OsY zw@_(@ZEBbpqR3IK=Hx1;Se1xo$+B8?x_rf|sBvweqaACa)Zp3{-Ro2MC-k>>Ion^7 zxP&-OiQ=4#^E2W&!3#kgMF^1uX2ZMgNd+E#T~y#JwzhUce=b85Ev%xd1$gx(NZ1() zypV`iB8A7GypeYrYaPZz(FCCh-cuR@NUApYH@x@Z z9&D#wvI6BGN^*uWw7J)!P!CvRdFB4geDe82mi3xCPDx@x*;-6H=fP{=M5>6mKH|eK zj@jPbL#c?1(<9QXPi;!>+{Ga{-))Z9D z5=+b3?40F~|2gB)2CWHZjWm`l&JW4^DOMW9AZ9ojayc)k7cIN-gu!5&XmW$1T%r0S z7OR?HeDkZ!E-oonE0m5yju+h@-e` z#{#jVx}IJLf$wBm);p3k2^@Z>2loh^71t{-lt2Y&kSpDd69R|D`EF4K2p!@b*w?v0H9OHMk%U6XPLzran?gvmqSFibt0GY0y~86Q z>ajB&a`8Bsl8iUGH?7BdR zgvnsY;_@lYV#cbO3p93z=T9GYsAG_%X({j>m+yo? zsUX9GpraFjlVOoV0Udt#D&B|1)CezdG*~Bzyv52dQ-W#hKnHstT1IP;E=aj8A%EM} zf%M2YP{H_s@1r^#rQ2jdd*H5FN$))9@V&+3Euhr3??XU%MqTa?MPS{~8bcCiIMdQL zEm4$kaXDi&o}l7{y7KIQ_8t%3`VMDDPw-J6SqFt}mS)sdO_KK*4u>qxkJ!9@i^qqD ztY?c5+Dygn&D*Ss8t-9ybIPcflJ-W7^RJM|mS6qdf1h{$;t#p|;saV@UcC1j$IqV7 zh=^48p=t1@q%2yr$SI1NTVMH2{_K1IkWc^e`$!OsQLz93AOJ~3K~$;nLXo67gTy2C z7+Wo<>Yy@4X_k#Z)v$N}O=j~Yi}OROq9%?LBAo=+5*DeV5IzZ^|BBr4of23G!bA1$ zS_SN^!F9^u;MEg>kWp7DLUtaEpc%MA4vjHEC%Enm9eARSAq;S`4`5FBGrH?bnRM?b zI%wHqtwVROwf0Ll5+b0D;E6@Z|NhDtl4ijgR@W6bZr*~nAWvhK>p42j84N}!DOt_V zs29hi<2~lkefTrb(Z zeV>#4hde)c%HFHr!G8KP3cKR?=m}r_&YM*01!ZHfLa?#B$HOmvz;Lp~OE165t$VMd zq{MnSxGZ^oe8Fm6Vowe+8@mi+&*AAM#(m7z&JD`-g5h9_9F2M5&TU*WW&a=i&pdzn z6uT@s&%luV{U>~T{)Fjx!1JeqA{5Q3&{!^6GO`*$bNdr#~WqA2<+ zC)r(5h9pUhF$O7Bpk<{Zj^k_halrBa`mf)~!Y$qfJ|NB#o}Vsw`09MO z9Xw$)-9iXS(=_O+pe+|PPSVVtViHR_y+hvHBr+wRz5fH+@`5*i`S*y^9#RnWa@Mh4 z7ie|Hpa12bvz(oCF)!H7$E<6|vu6j4hkcX`>KxK3^Vuo#@G+CEJ)DmaN@I%^{eGXO zSfJyWEX#<~6fFZaE~UJtbyZi4HEl~ACqdffJ-xvY=N%H!rHF9)>Zb16NYR~Qu1}(O zoiRiRnx-L+gKD{L+OY9D!su_}`ud8=3Kk{F?(Pn*S~5FG@UCLLn$znKvDT6grr5S2 zm4<~gY)&UUe|E`we$MT?FQIhIY(8f(zoc5N5JK_r=Wp}%U;RCVki_|jrd(ps#0pGZ z(5x51I^|ks>xN#g*=3DXmgyiPSB7G>2=ehPr(G1`_hs1q)9pRxho3PV1cB8b#bFVQF(gSal2~i6`Iks)l+r{} zgA7bw9LGo@S+CcB?bp{=h5^y#o;-=@_l7K9yw7LP=bRkxbK~~Qv`x!&=XUT1G!;!< zqNT*?9w*1o$Ocog-jF*lzQTv^zl%_k#k}Aj{G)%ulY zMT|B!X_qxB&e(q8HH2xw8Is-xheyXecxBAV`5eP^RIH9h~ zAd$D=oV{KQL2hxn)+nWE+ZJanNtz&ppsMQ57Vo-65AT0v z%2A!RUx?6(UfJ&dIM{+h>@#Ntr)WsUxh3QpUvfT@sz56fU=luMfx8Hq_NWO>n zo>fs2$(@DpbB;7gsp<-W=yG)sT56@xQH1FRWRz8j)?sKyUDwy+aGbM$r47{ANTKWm8-F9$ zzhbhb2%a=AB}XTx_-aYnv}|neVMM}gu_Wsa_+S2~|AzncKl?BEv&&;%dh?g4i#c^P z!RS6uAAQ2J$Dc9i=NudaA|#TqH62jfF{{$By|c&B^CuMRHO@3-`5;uhzG z^Go{uK6|@2*}rHx{`vpGdbOabeV{`TXdQOsK78*7n6{*8TSQr+BOSUT>#(M!?83P~1dxXSw^mg! zd9-b4wVI~6{<)C?ZB20Yc8H>mf{yQM9?+E{(zND zdHe03F|Q@37fa4h4_RDZvYwr=C{EC^qh8g-k>Xc>?cc;ZgK>asDT|`R4r;vAte2Mz zMxNzhZ)I@nC@I7D&UIs90<0V0-_AzvzwFoj)x42zp`b(dL_igdaTwcz z7uOLWAcY3!Tz8-D|8{-nIqUFx* zo6HvHXepRq&ZvtOLJDS=2b9&C`D{sDEKpI*;^Gunud(iubXQTYTk6@GIEuKqJR{Dh z93CC9S{JlUMc&KV+zMt6W5Jo0H0xp8mi}N!Syc?DTTHk2Sj}gwmop4&%K0h?Bu&d} z-}qa+_Kn}5Jp7R9)(wWKpk6Qd$xnXB*S_|PByr5Dh11g$GTE|TuR$o(MWQKrs?pK!hilAf*%(#hNshcp)jvIuvJ<4c1jdmL)h8>#}4x7*MyC;ba?O z8(dp47!9e4B}XTp1wJ3o?Y$f9?(Cqkr1^lsV8rM9pR%#NN7|q82mjmu$ba~s{FjVY zYxWU@ai?t!QiPd6Hi#OL zT^`MF-5@P_eZG8GsQD|?2*JVQJL`ayfe8e8ttd9eUJscP;)=k@5Z&CLU@RrDh*txp zx;aB(08nTA5@2okeVhv(!cO=TdkhgE!0yLJ$T_i4gWB5~;3A za1~O9_F;8B-3%g+4*Mpwcikou-B2$n1Ww367Im_IEdyF8x)(ZRP#g)@xtGFl4m?ES zYEGaClw#{WqkPEiSAT(%gU9^B8*eaQEV=vIH~EWy_D5*xFk2&b_I@3SJHN~RlgHfI$oPk!yicq>O;rWeu9Pg=hVj-mtN8-uK_xMDQHEkn zgt0ko+cFsRuu5}&e2f>6L=od*kNzkpy@Fr6yzYE(^#rj89TDTYh~ZI$Hrx?L@(E|L z!eN@0x((e_mL**tht`FSs0bU;bnvjkBZbE}h~*U{7+ed%4*)35J-A^nlfB#qa&QzrxAEBQA~)`0g+NGRvZ5b7zn7 zbcgT#$shCRpM6Z(%#hx5xu|K(IsM5F<$A$*>o&c94{LG+Cv4uhO;M~F_fw1wV^xIG zNU0bMM;sqMW3;i0R1(!axG0HPuh%%|_{sPFKHJkCy*%dT)`TUCE4&c8u;<&-zQEq!#rb}?6Q@_Y;L5%kt+n&fRqtBifHO8K+_1Ucf_#{@_Fe) zUY1el6zZC)u0UDNe1VQ4wl?xGOv-s$C$Oz0(+a5~R#gRYL?*&GxTbRS5``8X?*vYB z?NaJzeI6g4b8&h3FG|9!vB+2lM~^d9E&S;}|1@@7y_B+s^8X_5y?!Lk@-w~XxX(vKW<*A$FVof4UG2tjhBKU9 ziWFD7G!U_p06`E0-RU3Eod7|1f^@fl1W1q}u~-QUXhp7;4xAx}(`MRMcX^X0GBbR9 z-s$2*X3uJ|e}OIv1ym(aKt<*`zw`dy_j%I{&v6*uK4Nt5hfL3(+YOx8XL|Asr6M|_ z!88fu(+dU%_o&;9Kx-x!XKeKc7~`;a`z^lt`YSsWwN{`>lO>)bc=7yeo;}wb94(;A z>GZbP9eSwpHG4;IQr0c*$z!rrO;c|3`A2`ty?1|ugF6pcC3Y7v*x4cKZt?QvOP)M= z#*csUTZsOE!@Fa#PuE0HmB>iR6-(TgOSEs_4ke@4{l zP*n|`C`1ZL*xAO9wu!TvP8bp|r&LH@pIz|ii(hbdc7_*r34(xLr(<19QOIxp_V4oY zn-39ANRbz;(t`PN&66jO(Mn+y^anfK`tI-X&Eu!Me)SZb4%5j6!~H{gTYY}?;~(<& zTlZbw4rWmq}h&lW)jiHqaM<_Ic`kEnB3#8Qi;Jy1C z9v*F$NPsa`N3IGRf^8&8tj9`|*O#AqL5th$J(p|RRVRW}=KjJS!hmt|>n zfPeoFe*eFmTwPl9NL8|oGqe&`0BI^*qwswX?YI<0NtR`V-9C%?g1XGfikeq1pA$q~ zYU!hUBc4D0CHXo*D#@2$eo309y#4k&^t%DZ^=Y#ud%HuVRCKonG%8H?2w*(!#nMk-0a7G>y5Kt&v`b zMCtU-es%As@ZjeS&<>igx^jdGePOLehf-sPz>6%}D{<$Sk_)n2(=3-5$F+mbYQbVYrOI=w4Fn#3Z$ztos-ht1_K8Nf$kublufE~+t7jbT z?}L;$+GV*~a&fh$x6@_u)mI$e{~o8W&$ybd$eanEe>S7r*OVAA|(vq^xFvhc|pfNNE(shR8MXZtqMk!j=;yDg&RiczeDLVj`O|jWH zs*T#Y*#*><^^&zxA>9rom-IRj#u$`w(4HlM4!8SMb%Wj|QYDT@tIj3WcH~2qUth1X=>$#q0FB8o$PM9MUwSC~`32 zHPV>T?h!5-TiuYoyWc@5gCi-hxZ_(&niljK`BP%V&X9M}C8V6}mDN~<8r%~M37Ma{v%0YCZs|A1|` z!O6$GF>>j3LX;F-OqXP`OH#DB-4VCn{V{%bhz$D7mn)*srL7a{e1()S8jZMn`-nH* zdJiR9;xr)&16)6#l@79uIXJ$}PT$(brE!qjrOp#Noepto*T8jIQf8UGikh0+ckl7` zyC2XEUB3HkKjO~8kWnOf^VS|(3J&-7=nnRoPA|#x)aKwEpSCVq7()KtP z0$~g)@G0_~x@>8sLtZyDqOp^Ey+O9N5*kpA#Fd(+%E4%=yrKn`vn%`-wxS;Iz4acw z?Olp>jn{RUoSk7DL(|x`u<=~GfTALAYg_iP>11#m2PGuswI|S4xIkH#xJGjD_D`5! zozn3Hm)V-L^@8Ey8+5jIIeq<%eq?y>?H?jc2!0Pk$yT?+i%-A68@!FHY7X~~IN0ga zi8|!Yh>PLTaOyIK~e=(sYT}IA~8Jn-*;x%BHXuu|(X=7ZwoF zHXHd_k+&{NYrLStY_UQbALWLO$7hsf!S3!p%f%JxdO<%l+&kEz*X^Q=Lw~!+xP|!JKTHk*YUi7qr(G6gD!XO-r?xpd%SV~ zZQ?W|iXz^8@B5qdQcGPm6nRb>ulSR{_!+Y*por(Veu(LesMZtq`aXf{5b6pc4MEtW z+v&1eE;xDi6@h2ygaK8a;<-LW9TWAo_~_?<#dKZr@fTlHx+B|e;<#vKms+lB*@^HO&(8FwA2-Vkj5j+bEJTHy`ac5q}S)Ohu`qo!*7^gjk$g6 zn5Ia$_x_J@)Mgc`6iE`}h=w|z5IHUV$iZK+H|T;g zG|HvFy-ja)i?kH<_wTd2yGys*CG-t%J$Rpf-&(?os$sfVLYY!aLsqsZ(0~E;{39VsME(N7e5GT+lDk*B2`N(YpCsRqsoiTrdQt7;7Gn*Y0K-jEvY1R z)leo=B9+q%Ea!LF-=Y^7q!aP#`PXdi-(&BM59kl}n9b+>KY#Lnl86pPQPLpE(v+RS zfHJdNJSD-jDZS9QGVR_GQhhBgx4rVvKQIG7)ih`ijf56SUu0T&5fYeTu0RE%?x0SLs68p z(%@+Y`4Xq!CrNWcPhs}k zn!r``2Sd&;t_b~ry3Vn{{CFM=pNMHNJudPUq z=Mg#$S+ZiQ*I{|Jq$+dTDo4SQ?N0yzAOJ~3K~#$xssbnIQsx@blx+1!7}sNKXCJSf z;Cc>$031Q%zVC7C_8sCl=HTFnldBbVk>Y4cn$;{8Gq#7fiB}Wqyr3IJOsj@CD=?Jo z4*U3>9mcPp<2oLPZ{8<~*A%J4;v#0NH$W=5b2Ow(4te?PYx;)|XwoU?Cod`DDZl*> z|BxW;vYbybs-@Ch@V3a)7}gVf*HEM}QPiVat+{=)$Gh)-hmSw}IdM|JbPC#KdNro5 zD|QdwWi`L#?)~?eP9}7=w{W#}=wAQdm1T)C4sBysy=_&H*A4Azg-lXfX-J!ddfng& zjjCIuaH&O&<2smD&?rfs$H>+t&tjyIG#emd`~pr~4n>qfL?j%u!5L7VW&4LEpnKRAv{Q@2!&1wI?CC@N^Bi{l1li?P+!w}upD zO)v5}y!#&O`31`B@#^_=wt79DK6}Bl7q3~w8QJ2Dqk|ESW7r+-B9LV337%_^N)sm; znu=cN(%l+Rw3_kw%!)>JLn~dn+dG7vts6x9+36X7_R|lUCpF(Zdd$g_Pnpjbc-x0e zih#fS_!FL-T=DgbGcHoaQtq&tUE#Y9q0{1MX_4)+rQ6$LzD#-d?KkQ5cgfP2GK--q ztU2}88(dvoAl(j4m2+ztkgjJ0-M(G+NbzlyTPhsSqsViTwq~BLaXin0p=5(VldM)q zZEadgDqJVTaU%4_s~-eiq_!c`y0(L)G3Le=E|r4D7F4vfHxY87ulD+^(HeWH#EvDhd>p~vy!sa76?@rbOV=LhleCdiW6)hm1eQdU~+*r zE@o4ql9e@{Z>Q&YHN(-8Wn7@NL!9OWfzRaX%1V&}_V;#etxS<1MTcjPzh-ZDm-T8% zfA&1mlyQRw6J-+*Gx zdO5{Y4Hbs60quAsaZD6=tY%X_dH9^c&XB!9M4UI|X-sc)#A0$ml_xCAoUcCnkhUr~ zJUHTTcW1L$*`Q(_hZ0DelBTHX1QEKmSGS$7VoWchs5N*7C2cFK6GWuR0?HbFJs`>r zW4MthPf->YIZxe?JBn?`Wm%SprXep{$a1Q>h9W1c8Umq_O>O1rR#GG-LJQ=tXadzW zD6-wSMWqnvjq#$$6Lxk6gj*wAqv(b{ZBz5&@#loP!Xd*IB~j=jtC;Qnkh&^aEM}B> z%3^v&lBPJKA}?#|JSGUjjbX86YipZiy`~n1hcCx0Ymc}#TwPvpu)Bj)nw`NmUT?_x z#h7?C$Mt>MreU#Ia&dXZ`S=3Ybr|$_2%0tBW=2rY`FDT&-(#!O;l-oR*uD1yyTyC< zC5|YG96{IDY<0T~hNGJp*4}79vbbcuUh?Afl2ww?8|*T@98(kpd6tu{SF9E@PG3Fa z*^@8%>0kfFuM*-YtDHPvQ{*{iRgxtsuJ2QoB|#LiHQc5y8v46Ks=|gkk%F?!342?} zPLJBScwvN;(iS~zekhy9GXIsd!<@t#V+AewCNrV5{1xPUNmUgTsogGWV>Ty=0~=sO zSrwbY2>oqg#4mpS*9^9L+_`<5!C+`>TI5DUZWQNNbAI;Me@>Z9IlTV?WveO60)*gj ze`s@VN^pGV4Fr&+8ATQo`3}8a53L<8FUJT0fh(EL78n{-IwoCQa(Hk=qg+P&$J~AU zd+dyE5r%z~GOSl?i$WK+`lN`b)MZW*uXuHG%H@2?#nlC0e*KWv?bB+HuRi_@n)Mln zqdu~&3A@S+I@%iJ<=j)(bU$_+~hP=ER!{5(~u`ATD$c2 zju5U#hNN)8)tg=bt4b>CHB^$kttmGI)2b;p^z!S5 zljd7e=&u$=Os>ZKt3Ue_##b}E;avimS?koQAlTYPJBFgH_~mDxu@)U)x>0kYvi^+ndRJ?k9MN^k(35%;!n!4oR);(@N_#wgY7=mqvciy9tF5%V? z-%;!iEHlC4VH&DDqbduMcx}CYE%;$b8n2n9E96#(t-&r*LsPa?X-%GHaF0 z*~J-k;Np1xO&q)~tLu^%8?f~}>Y}8oN{fZn8#mVm4_g!kRaKFvDOFio)?!&vWEoXf zQ&$#Fd0lp;ug@=A7-2=6vMPD};uWhV;Ny=zBn%^@*P*OiiYh}&i68Y?j9=38Jfs^U z-7eEr1yb|k^nyFbM|Q~aLgLwqPSj(S*pA%AV!`%cm*qMpNhML>V}dU8!jPr~N-1`> zN5ty|zVDM|Yw~nOH}n`cHAPX-@AoOP1mkZZ6`WsO5%?an$pyW^K3C`G_)(X1wZip$ z=C9A#?nN}cJLGvnuiIg{T3A0|TjBd2O)ChaF2_d)>_7NTeBUSV9KJq(LW&@bR~FP@ z3<60}q?@#ey;k!i!w(OUO--KVM4pGDLMIvd#U+KB($oc!3dlrm#iOzy)Q0tPf!x+O zX+zZAhN@z^TvN6UMp%YZDO;#)`DWQbSyy-+pH-IOOZ#C#MN~r6cbU7x8my8bI zL_02vs}r*IoM+FUBBaK39kRT@@9mP7kmLnIDq3Y&E|-i?U*d%w@?=dI1ZZh<_49Sg z#l@-RAi5U+R<#*}!HCs5A#gOe4~7UgBI@=rTG3P$TfGk5z;Ng2h~wQIw1jn>5O@~9 zTGthIUEp{Qb(w<@n?JLJ?zXY-^E^rL0-vhRXdAgf$3RPsV|=87biE``5~8gwI@^8n z%-YTn0!Ih5wGFQnS#Dv}V7UUDEJ0P4IIf4(imIxpuL~kJj->1D<-gV!V2r*gjBxyj zsu8T>jPa{SbVj!^!4`FyBD812A$g2v1UrL1TY62CEtp)6$;*sx=(0B&(H|Yr>qb2M z>Pv>BA$y0n>F)^f_sgaB@0kHlGs5OPVSpPZJzJ zqNOD4xHieG1Ja_x@q8PfYFgIoj5IH4S~x#>O(PUVt0;uV@gnM`WqNhV`S~f&pFQRB z;^hDLmG%EdVFZn>RBsB~38=J2Xop~QkFE#0%`k4nlZPK8nu5jblH*%(I`%L)Oa$ zMYd*sbxu`RT)zH-?rx9%!4Nkb5cGCfEf<@5_=>u&2|FE>c33XvNTuxtFOEr*gfvZA zE*4y#pOEJTm*=mUojv8??H$`;R8}Y@*uDJ#-}OZ&> zdJ)mi(an7-r9##XV$+N02uV{}R$rc1%;!sbt_Mjl%qC-y7EIXdcKQ12uXy_UlBX|T z;%)77adts1G^^Pqr>~x|w>zT0Gveej;gA3KKf>?ytjszb5_Y?6?Y}|p?(y>JHxzkJ zRh49EOd~bx`4x53a`N<3R;Qn`yBpG~2E3HPtq4JhV+`xrgfflE)=O5Cb3|KH=4)C} zQRH)qJS9(J+S-;^m05yn3*yCd%4k7LL8lX1BdBtu_VIm>`Et$HR-Z}*ym-nol%Lr$K4&YQFgqXm+^SQ@f(NCuhyJ?GpF0zrYKU3qgkghk?-SoD?C3Z zas<1#k9qz2f^?k{btI-A;zS8~71Q-X77L4(ZLmOP>Wsr-kHdp~=Iesh#Z!8rM_si< z-5zma{K_cmTwt_E+cq>*xF$r@5)*YO zvYccwqu&{@Gdf~Axgf1#9O2_gLt3QNRfP1ipjkhpZM8c1HVbcO$Az z4T{(4+diPVowTD)m$nsXwWh2u@H&Q;1!u26 z>;+{Wvr5)Hdh|7p(a0)g{jwm;BHlW>i^?mGMu&`gyWBgxOQbx!R#Pkz0&l?NY(_oH zh=iu&bQtyy=(|Jq^j+ji(1?mOUgLTmb=~lHKmRFlSu<}stY>2eJ45!5?^2^li;|)S z&vh|WtX3=gAE~Z6JmpP8h;d!qz@f~lO*qsRNoZwzgJ@g(c5iKWKvkBc>lJ<&Q4|SM z82UT=xNfuoJ2h0BHFH^%w&_)AiY(gzGc>dOMm3{7EQ${y{%Bs9hp8o5F5lX6? z!ic7b8IAVA38}6gF&>Xm!8QdhS+Zt#XF!q`2rXHzRt(#M>2$_&SrQ71H0y;v>(!LY zvsVmuk9qp&D}um9*FI&LGZ^gAar$IMg$i6;RU=bH-L?dgi;QEC72$T5tZ5i_d))v2 z1J<&l2pXDI!f3yb@gw&3522|T^tbU{jc9BB>A(1wynOkb{m}vc$$$D^aQgTYw)(p~ zefgT{WI~)*C@Jyk0psT{q0}^WO&A8;J=`JMxrL|;E+;dDXerZ_-qtqSjVO{eRhc2Q zi|e|ZhV%{0!IFYE%s>0OGDaYs2t`7kuWe>f8LFzlZ4Jhew)wLt@ch6^w@t-zHlgb} zr12Wh52;$vtxXqcAxK(q1CMyV#t3MYLy@eh>k2nAtjZjtgk2nYE=^HWhz3_!xaGgK zFd{1&nqU`4!1QWN>5fQiNtImkaynsnco&ixPT0qH3>O!d+&}t&`Sb!el=M0gpFdv` zIEp08Ir0qMC?pu};=9{ij!($*66tHoa=~^tKu|H*8L?a}kXq8;>R?PCkVKhjIXAYU$4+TO*Wemb|T#ETg18I!1sCYgYWV9)4xW^7Ats-h}3?%lv+ zy_ga>9!hJL)0s^Y)fNUJHgKpS&n=#IbBsH#OIegO_RP1ChzgWztV+vf&$BscY~}2x zOYqths=&(<(8!{RV**`eMa}1$p814-59YcR-NS@`ib&b)ATX*kq zaCD#k&OJW;@Px;YUvf1*C$Ag6eE1dXw4iNk;jx2Er^qfx~aIhoU*t&;r@enDUvmw@AKA!_fWK) zT}&A5-(otO;di!a>WaLqz9oLNV5C4Ajg4NrCGJ47xtr@xbYl zWhJhoI6OKg?2QPwM_kQTWKSNkI6I*zE2h&a^R`ASh1VG{+&iXd9Zt?JX@%tZ*I%IO zgq|-Ep+^?4aE+!ZbNsCluTRb?$|+^tk{2bl5Hzho(6WwGBF`{h%n)IpDDVj!MIBFg z`0Rvt-}@d{Pd~&MLsJzu_q%qiR^MWaC#14YpQhk7qAlb9VBY@%R$qM8t~;+42I{7>an# zWOBjz#W}0I;q}Foi&aIE

-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 rFOR;Yf<7wyB00000NkvXXu0mjf1bpF4 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_chromium_dust.png b/mods/technic/textures/technic_chromium_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..a33358b80d43a9adcf255a374d299275c5503952 GIT binary patch literal 1162 zcmV;51aK8Z9W~xBNKY zIp6pHf9G&ui!HYJKQlQq^VoQ~tO2~WFTJTfZylvxvBATdHVxV;OfGHvD|EaU|ZJV7)00iiQ|}NrvpH<)8WaX zA@y^mB34~@&*2weIM-AEQUO;gm14*DYf33B(mYYqIhC$ji(Gv+QUB?RodO@(E?2h9T z6YAYB$~*7dg73!q7#?5QxZ~d#nznbT(NIOl5m6KoL=g!g&~=?CiqI1YrswBLn0Sb=QOt7vea68<;ve`jS^`$M-7m)qw)T<13UWCue@Rc1@YO zzBf_|J&_OqmT96%iDjBdpw?)x>bhi-Ne1$Hnw<_s$DxqPAcSD0)gp)@p(hggIF3hv zbHJ$|=c@7^3#!L+#+i?g#Qy&!l**L47bAfV5-iQ|~++8SXTqe+RB65FyUI?kP0 z$lEqS6w&N-FfPEFHvgtH&yzZADhREC9Z^VKq!ZJ;~ zUXQt24W$%$+a_rk(IermoWqf>Z5Y?@TWUJ{~KTTmh*2eF;Aq&GPzZjk{vy z$;qetvsr(BdHL28gM;pkYW10}?`vzW%i}{st&7*MPno)&>-zqRABL^5Qb}!nUbfg` ci~lTt0N-%u5g>iT)c^nh07*qoM6N<$g5J9`X8-^I literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_chromium_ingot.png b/mods/technic/textures/technic_chromium_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..91d5b20e0268ad4a9f0e34832b5ff9aa9492a870 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq}Y|gW!U_%O?XxI14-? ziy0XBfUe5)PAOCOv z_fJpjbBcOeOp=7dg~Zd3WHadX-rz}6bXR6(Wu%oBKj{rPL{*K3jd@Wj{GA2v9cF~ll67Cia&_5bbj fbAQ`2ed1)uwzg4{+VNyR&?yX_u6{1-oD!M<9}iL# literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_chromium_lump.png b/mods/technic/textures/technic_chromium_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..1588f92822de49e54c0af890405caff065794763 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPahd8UEc2QkTG*BqX)5S5w;&gI?1S>PYM4{)Ns;{r? zdvw**j(KchJRxmXrf+WAJqKb6Mw<&;$U? CYeee+ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_coal_alloy_furnace_bottom.png b/mods/technic/textures/technic_coal_alloy_furnace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5eed77a5e55ebf1a800e01c61da0251be60902 GIT binary patch literal 2957 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 Ef(?KhDgXcg literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_coal_alloy_furnace_front_active.png b/mods/technic/textures/technic_coal_alloy_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..b41f6194917bcff99b08a3269659d8c5103f5bf9 GIT binary patch literal 2953 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_coal_dust.png b/mods/technic/textures/technic_coal_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1da0c80f9feafc7124f8b8fe96e5c8f83662a1 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rhea8DPnt+0M1n=^VKr0wLUHx3vIVCg!0K!}`=l}o! literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_concrete_block.png b/mods/technic/textures/technic_concrete_block.png new file mode 100644 index 0000000000000000000000000000000000000000..91364f33f5d51e6b83765b15bb57ac1fab0698a6 GIT binary patch literal 2319 zcmV+q3GnubP)#R7{j`*<9PuCBMxgFDP1`4F-AC!lQBBC+eXO+?>){ttOy?;cb3KDose=z z6`U3N7`U7ZKYo1Y^YcNi6=Pso7J_%Q-m%u=oW(lJ+qWC7K`9w)1q?i&2O@$hc;~2f z5JF&CB04&$6s)tT8fsHi2daV*A$pILS{S_%mw*+65n+h|?>z=kRj%ve{nsbP7-~th zT4}8z#>`?wFh)49%yAq5JRVQ1b2uvuRmK?f-Z`&KZH<&OtyN^(Hs0?~z_4u_PQZId z${FVzITvahhzR%llhy}{;pfl)!5HD&+Z!SVYvwn`!2A0L&*R|Z{R3lQ4URDsV}xZ{ zsHL#23){9L+ACtfTA|i5k4`&c3|Gn+W9WU5OXE0Z_acVZw>MgEwANAWC?KMM!H0lz z4kMQ9O57h$6iB&XP(rYX70&a*ZTk%nLhyhmM$c#+=PJ%;PyqcZq|=7w^VcWezr9jg z=XTp^CDU4`sG-z?>job@IcItwgy7N9F#xJK=XiYH+4dcGo)@hT`jr@CP>N%X9vB4g z`Mf`9trKHpT~}&rh_wt=taUsePY}x(1MeN)J5-ezJjZdeZX2~0dLKAvDYX%TL#*JP z;0$2IphFp|)Y>@D3ss0qM8vZ15gmi;Itd~2eHLfdh90_;j!Wun~>tcy3y$@8O56Gn=)_^MBIlTAuUeP|d-yeur zj_cxiCJgYmzy1b544zVi);lRB)WE*27_mGacXSM*cU&pqoCw>tq8O|dK0co~XE9>% z&SEV%=jeUVTF3i9ADw^w`|qS&X{}JJqQK*EV2qNTCj>uP(gv!XkIy@;502wxTNluQ zSV7ixVObVpjHD~E#E7avbzrT*I}h4Oh@GhP&LiS5 zhB-tbV1U*d06*StSZjH?ZFo2NURwhUxpYK?HF|>gIA_t(sb#XnIfq#1Ij%G@TPsF{ z$K#k&o-(CYu9Q%PQVJ<0wryn$#W~?P6V3_F3EQ?1y`}d)uS;g3$CYMbwQ)QTu9OJD zkJ}-wO`$b$dB7jtCcGk+`2^eZQ=2}z5w9~A<)ObiouHEyb=It!&!qd4n+_n80#1{ zbAKLKnR9TS7cVb6A0Ky0tvG90*M&X?0IhYbb&N4^t#^8^EYY)XD~BY`D^E(hg1-p>xb^V4!hxUR%d&{4VV8{T_rZ9E=d zYTtK6rW;}mtn17h>k?p0FYMcjdpu9pH4>aHR7x#T^DC=eB7VN%WWs6!j43OImStsK*BMks z=e!a+qXnQ}AhHY{3{|f474LhB7HGnD!mS^Jojvlh(2S)uhYT@VA;dC^D5 z7;vq1_HDx$_;%ZPKA$t58N<45I5E`LIG!iVy0EM(I+Rip+ZMl+?dIKH378%!Ib)2{ zo$zwo0j0HxdLx1}LMatztwnWUjN$YCVDvHD(;2tCcPwjUS>r@=aG+6mC{Yj}6D>L{GZS>aIww=)jPQobIi;m@D%h{()=DAGFK2}_KWoVmT+V03!#_^@E@ z%nrr~?;oGIF&d9&ruT+5hM~%DKfZIN3&R|s<4oN4jeXy#wbJ_x9k-Vot#wB4^j1-n z(L1NkqrXzYmdX+X06Ax_bRotPLcmT=SaL3e5LwsA@jN-Nix?cvI=T*Gh+L`A+QHCi zyluN-bnyFcZ+v_{$)#fLG-S$!S{uE0#5k@i5tlgsi)CHnTzMF z&Y9ylamSg!7;gK pLtt4vs){OL46SuST)w)8{{?77tH*U*h@Aic002ovPDHLkV1g4LUh)6{ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_back.png b/mods/technic/textures/technic_constructor_back.png new file mode 100644 index 0000000000000000000000000000000000000000..6baf788a8c0bd864d7a7148cb0401cc9fac18763 GIT binary patch literal 2094 zcmV+}2+{Y6P)Px#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbAB8`MFh)&Kwpz)3_wR9M4B zmsz&lx^9L)G^C{3+rG`pol>$^=0A?>9NW7}5(yv=tT=k62!O!fK>q8$|Fg!p0l~}w zh&d<(HN(t^47T3MOaQ7NDQX5HLRC^#m>VEO1S(43I`@4uM&ND;MHPQOcf-dVs2VCl z378p~iHe}6AkfShW1=c#CZ+~i@1Tz1L?w}dH%CNJF(M0p7p3ZCO-zhACho?Jz*jDU zs6Yaym^Z8$jESft&EOuSKnWCJ?x-l5z;5J7_Ky$780`DOJqD6Rim>U%mkc}&5k*Rv z5mY7)MOA`znhDpO*rTHf;vGT|S5!KfFwYy@&@2XtNkdWSLdOw>5a@d+t{`jT-uRxz zodXqx))6amPJG{XB8$kRx6ZM3Ocf}!APr(9SxJ*dHfP^=uKT8|LQ~v3Z6<0;nUFIv zbI`(U$K5%fFQge(O5~t2>Dz{m`RgA%%#AYW=7y# zLsi+fosO}!PSZussfM-y?3gTjZQ|W{Uw(SVQ)^|h%_l9}n```bLh;ZLG5=l}>72|a> z#=uP#6(uU^WekEn8f|O1I|*baZQD^15KvWG>p-oRWHIiW{df==s46ppecPGi=JRiV z7`G%9i>}5Pi)_r<_XA4U_Z?WQckDZ& z!soYds2bb0aqK(2chrpk`SFA6x@g`Q_h97Y{CW`zy*0MSfr|*L#ub6rK$?+N%o%@% zOS~bvf?wD5eu?0^F4T5GoeBdhdKazZN}@&1}^ zW-5xSpe7WcW<*Rx1l}+d)rAQ6KfM0=`N{cwa$hg*`=%mMG0yYE)Tk^{!JG5=$2UY2 zGedI*y>~_>HH&!-W)_)+6vUi}C}Rw+>jK_-5levD`*p7K+W z;u=II*Uv9Xp&uPBS?U&^h{FEQ57Zaj=A2X}tou-8X@Dxn;{XIis4TX<)0z_*;>KFsx zSI-N0c;j_GS;$rHd2@sl3Z6xd$*jVwiXxGOX+pb#&|;z-9}i58>$>>YfBcJIKYtRj zIA4Gnv7S1Dt#4!&t+myHT5=r`+;gls0(3LxyxFZ|1uDq<{DPjC(Y#SWWg#ML+s4<| z7v37jv2$P7`xPb#WEIcn6IJCrFJer7ef?g%pS2WFm22Ky&l5usTNLireGLJ^rVVjj zff2Hjm_f-x$DETAVc$AGe*Bx`ILHWkcjgd&{r*KnAi&l-ulb_&&OL6tgzSw}qq!0! zo`N@buJZ;dVyvHi-)OD9FB57M=M0qpSHol9m*BL{b=`;xRYgTo0u;D6W-Jdd3rrS& zL=EDecr*MwPx{u$k@!bPdG~irObs)~R2P<|-WMdjH3azi`iXm6ZmJ4Zp%9W-8sd%T z*B2E*sh|c!S#}RWn>X%jz}xTL=fyp4D&B@OlR1Od8(BqUEL2pXZ@+h47uR_)$KZH8 zP+I~gDr5!-SaaMQMB$oDf;lG|b7G>X+M-_<g~*^N?y=;0fqNyAnar3(t_dGw z^6S?xs&a|Xd(c+3aK4_5aWB(a0$I3kos0l2_O>na@J7PE?U*~y^F_pDjz!5=oMa`_ z2Xib7Upd}GyR?5lj^ztlLkhlLCx|Qk;{f<1n0Pr z!|6C<+;~xB3|^J=Y+Rf$7kh~*_jNHVuwz*;p}5AyjKFecpq4!q+}1m-A#m8~1(Vn?nk2ro>Ew zLUOK!GK0Qvs45u+tc6u;`TDqmnaRwxJIt8u{T)=~4}%skYM{+9^|cS&7YM`%9>>A| Y0yx=F^NI|8%m4rY07*qoM6N<$f--CEf&c&j literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_front_off.png b/mods/technic/textures/technic_constructor_front_off.png new file mode 100644 index 0000000000000000000000000000000000000000..f878e5542a2e72907bde48411287c0efed0d5c78 GIT binary patch literal 2677 zcmV-*3X1iKP)Px#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbABFZK0MV*mgO2T4RhR9M4p zmdWd;*;U6scYMZo`b{;ZtEy8OENP7*4jU0Q3;zS75E8Oc$j*(R5VLWWl?xHUfS?OO z2t;=-bYUZcI3T#_q*L8?SJiJG-uIcGJGpqP6`{}aayjSlz2|#ASA6$Relxv%bqPqU z)c}m+NJ3(*A+ws<1YmHFw_{jm<3LZRMkrg0SLMX{{upSgjX0Y^s# z+uOk8M^=lR(iwKmfYF+|E{P$cq(rY*HErvdoTn;FmaCG?YP^q-Ko^3s^Y{=kI;W}v z_fD4F-1ca#DJscwQ8N#oEZ1l&82X6O7Hd1|#frMhc>Vg0qBJNp{WRcQ;PBo8IShft z!jcz?5F;rlvRqLWB}J7}l^SgmRbeqkvRD)}&CKVYKB6o#7I{r>4903sj#gyavRPGB zc}`v`7Ij95k*AMO&`L8*j%f#L@v4z4-iAjw-dwRq$c;qxW zLiF5TO*j|0xNLFB({&S|`24f`Jb19dT7?i2qChFlqemN_|JZ%1%0iNy9Ip^Ua&)jp zDZ!#HsjHGN{p1srlHA;O_}LRvB&EpZ#g4We(Z(o@vbf-}$>7377D`qJ1$CVf6U?*c z@NkV*5~&i_DmJSHiNJDM;9cbQw&T&mBgSdMT1`JV?wzdJ?i${C=P~cU|B8!iL2f4I zD~}Heghz)M*lY^&LSZsRt_wB?IaV7MbLnPETL)&ENTJuCF_g0s;K$FMWY;|NgIGw4rTVVv79BzrH|g z$-@ULPS3Ushm>Jr@>Dd--1R(^h z^+;_b=NDUy$T3==l_tvsS-wx6=azmLD613BFV6PG6Cn15Nr@OEQV6Em^Y!2Qb1tuT zOk+T+jMK9%xwUwgkO~$H%kv*UMkz&>Y1A+O;%c!(4Ntt8+7+yCNj z+aUnw_5`h~43jHJu#sDcHxyfXPP}#sp-0jKm690SuRRmpWQIe z9)Ttyc>l#Y%T-2MSiE;^cN1Bm7{|!z*$w^ZkV+B*1Rv3hWzM!~P&%+#E~x8_EH^Cc zlKUqc>N@A+*EjUTz-~98ltd7aGJy!xl_8ZmT1kBHwC&9GP0OQ)2Ph?3ElW}qT%4aG zl-w_~keL0=YFV;tM!a*(v**#nH9!2(IZxg?;q3f| zwjBu}G0!7al`#x601xi3xZ5@;CAq#H`S|5Ev-2nkpL=%1-L7G`mDt>%->eXb8Ko_8 zF0nS6rtA5){}@>PKGLDh98!$#Odry(s{d36uY$QBdC%*8x z6SljSkRom0^4}kB(OR%rlxQ~xkdizzU>x_3)=Z;Apr|Xs)m6*=2Me@KbX|{en)N#8 z?rtC?N8dXDl++Byv0hi4pWpH5(E)8ca(Q)&n-eJp#>sJY+p<11Se4Tc13D3zrh)6* zKt1PZxn&x8gJs3lb<6B#4o?bVf{-G&+lH=pq@ajVU~@scn=n~ov#Pk>?uZeB?jb7X z)H02d-~{V>!IVaD3L!N*vj)&;B?#Vg@8pDk|Id%9vV!B213rEk8K=PQ_1>2K;0S)d z2No+qyG>kgZ&}tAP2+emU0{r+urp^Lwail@ric`hZW>tDIetzMJ;uJ70VTovJ)ft^ zTw%Z9f38T;vD|g()~Y-?3R&+-?WfYeS3*y;|k$b^|dbOa|6i z@=SAbQe&;5>pUq&Hk+CdJt;-ptO?!&5@RIJM>eaHt{*81$zo9wLjS-2#k|mDHm7Mv jeDExnIReSkCx`qG**jiip)RKa00000NkvXXu0mjf6lmwu literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_front_on.png b/mods/technic/textures/technic_constructor_front_on.png new file mode 100644 index 0000000000000000000000000000000000000000..89189d6075d5ad06c2acb290dff660e0e599cdc5 GIT binary patch literal 2627 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk1_side1_on.png b/mods/technic/textures/technic_constructor_mk1_side1_on.png new file mode 100644 index 0000000000000000000000000000000000000000..c897942734ff37cd4f66d0325caf54ff0198f3e7 GIT binary patch literal 2342 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk1_side2_on.png b/mods/technic/textures/technic_constructor_mk1_side2_on.png new file mode 100644 index 0000000000000000000000000000000000000000..da8ed3490bb52fae015715b5dcab9f30e81071bc GIT binary patch literal 2338 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®fF~42@eFt+`)pH3d4-v z28fWBO3oPs_RCHNK?Ndbx)?wE>Cf2reSVE9A_4>+GgK3*I{!$7h`@2O zX8c<20Pp|-nM=jo*|v?p{@cIdgAYD{tkj2RY&#GiWPp?sBxM_ogrX_)r+@wz?9ZN& zhp|dfhf#W?_D-=uG9wS03lyQ}OlaazE7y}stHN)J|>lqOcj;j*x7($55YcmEy4;T@A_^@mFq)L{A?-wkBCbQ>K6A=lK<=XezUJ=2~XB+2@sT7@p z1S4z^9wbeirLgCY?Sr~5WK9W83Vk5C^7h+r^ZtA9BM9z+2;AM@^DjU7XFmFmkLYbs zm&zE1s$gTFDb4Y{Y^Wx_|JJYYJHPeYy!P5_0P`79KKjp(_{+chF@AT!*QqIa_xIin z1hQr{C6-#LwX&R69^O2_BB-?@BHTW{rL{&$nGr_PgpC0aq@3xav#cwnl&e@38-snj zaBTa$?u~66EU7>U+1w~8AtfPMX}xp!)P;NC?x-lAfA$$a`1K#~?mO@Do!4Ib)_6TX zE|-lDfBGT+_)q`98{d1A`^!DJV-b|K((gMtB~D&(H$cftt@J*ibyO-IPK`WQdw)+^ zRvZJMx6T)z{1sT$G)S$aL0!s3h7jleQ?Mi zTPEd#x;v_Z3y_483nWEzMl_)!_;U1k4;wN^cz-gGax3 z!p%+L$T+h;s@u<+;? zUt=S9??-=vMG!Ig{HqHppfV#l=lreQNG_zBIeMeD#_&NF5mL_61*Jeys$@i!W8Y_% zCpeDAdNTh0C(j6f!fc(=M<*QWvS4HI;)^fPj)QHxU}IdZyklllQ%6uD;XVbX5l%vo zHKR$XxuQ9N1U`&$vbeljFdFTc3clulgmZWIlrRGUP3fwoDbTEWX3P~n5=u0ql**bH z5MiwgIpu`8vEJNJnN?Vp_4=M*J)Hqi&8(*t5y8T*$YBI9TEmiEsVP9Ak3ld$CTqgg zAc1$|=H`a>^q`MEi71y$?;TNyBPUkbZ zWZazRK9g%@iOMs($;Lv6qQ8low`<1%HPa!x&mb_h1L#Inw0C| zS8>j$1uzDZ5_Yv%)x>%_(R+gk*3$_tVCPKS$8~y~T$hS@ARgFZpuwI83)B79Wo6&? ziP`f1W2X|6dd8SYCjw!(8^>|bd;7)*oH;#P9@x{JHrjKhL0fA`I8M-GKvGJ|xCN)v z84sJ(>`prl!luZMt-6G8a3-zm{sW4l}?m=5Q%ZIm6t0&%FRpdx7R#xSFhIOTb!1r9C@Gx8t)!LMNs>neCSITf;2PHW+^A3S_m*|vl8 z&BAEH)2A2e3OQ%C?Lb0#>7@r;E{&U4oN>vlYnc^0I;{l?bTd?xoP?tr+tyKK64A{m zvmG;JYE~|noy)#)KApI`+fh}%`251M%$@CM!hYZ#O0o3HuRj#~>+$3(JxS8q1<=Tca+M6&KZ+ z0YhjRZX8*jYvkpBa0f4IPx#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbAEBK9-bn*aa^p-DtRR9M4R zmrbuF*Hwm}wf0BVIp=n}?WPlVY$cYML_!L~$YL6rj{yS)Ha~#@nez+yAN&InK1PTT z;+ca)L}Y|O3~YC3yW4$z?>*;K)&5wE!9Lx{CDl=>R64cyTJL(_r{u{W{m9$a&>T=v z@|0PZ6;Wls-?N+-94Cf=sA6u+(@blP^SY2?qHGH>CfpqjN=g|wLsaOk6H_9k#O=*3 z3Ya@7XJQO!YYj~iHz&q~q99Y3BRid%)qaXE)DaPE|q7iM>_Kj1UuHpRsG>)6YNUIK4yY9o$EW-7$B%8P2O6 zj?*uvU7qzzTfBEl@3fe6GSMK}| z;~ws)I||4YkbD3+AR^Rm@VW&HoL5*B^A4AGz4h=RK?8e9tg+J9MxH04hJXfz+K`xe z|NZy*@PiK#1T#kjj;9m<@{6DI$$xx8EsZ>7TI;9^y)`t1F}~*o)xdY(`yPMz`+vZr zM~?u;GopO*pP%qI|L{}nc*f?TDS7h8PaJ`$5e$t9krEN?hfeW!)Cxw8dfJCL#%4S0s zW{#PmqI~h}89(^lAMoTyPx#iON8cE)SI7Ch@bND{=4b!>Pdt9-T~6l{n9(GXW-P znc)I$Em(>~O@tJY%e?h&Xi#dY^wxO#n;Q;?#LexQ&p&WV={$b>4Z2lYsq~az8`kl7 zL{tz}1gG^^3t>2+I|L15gkoTxXIgFa+7MAxm6S6egrM|G%LRD;{Eovi}bCd#xNHVMa|ht;r{LlfO(#n=N(Z4At-a6Jh-i_KD zbmQ)P#LdwVhR3N8V$$QfStQB0`99xS%9RN|uPIvaRdL@&Mabn0K9j{KXw^H;mRPwN>08PZPa0-gx6a zW!qSmGrcw3oz^P7_o1oHNggm80#kP*AjllipyZg*7(g6rowk($Bq?Ft=&kW8m{Xp{ zLPEfM$9qRaUi*h5m!#B@+EG~hO7n*GPHPo)ce)$3R+<>njNZrG=Xt_$T5Ghj4F$gn z8aIx|TfBD=&=4+K8Ul?PN5)*>BcOQcq?DQC1R~6NB8C{~)|n3nGNTI9G+*B1%)31R zs*!m&BO-LS3vzTEXr<6YzfhBdLTwFaY$j^Jv_k-^ox|Zkx!tI(4kC&vQfoyNJP5jM zn8K82x(yf+1#3pH4OB@{pmX6qLwz8ZeGv|sXi zP8pAaHN!>7c^aj?L~#g_)+-?etTl`gHkbo;afb0*Ya^yODm%~Y4truy7AmSr%fd8I z%=1iCQB(q@R`Q$)A--2Gw*hA zhQ5#Z$uHAm#5`rXIbu%VI;gY8#>8;Hd74?5bzrvq|JbQGy?0t`1L;J-J7%42+o-j? z_5ou|&k`H`cBQm3GzMrX1#!c0sy7Hq3K8qhZnww04{A1}Y#ZK($hK|!Mik?Y+oj(j zP)lJsp9h#W z>oyFkIXGhh%?KiNZcDyt#c}LnV2*(a zt#{&|{>ksq4dz)eH)2Rc&FtpHdEK~oFS9Hg`@=*l!tL#uJVT6;W!Vr{9z3|>d@dZ` zGTJ#Z&uLU_tCTWOzV?oa5`(bS&azZg8ANp0MV4)ZOpeO=ymDR__PZU&C+6l21MQ-lm>V%BmSy9xpD3jh_xs4p z>xBVC!n!%j)(8r2!ZZb(!Zaz%QpnR_#YuH!KoiPV2?0vk=p9bymD(EL`mK9B`|@j4 p18z?1fxEi}_s;e8!sEyH_&=fov9X2{s?-1g002ovPDHLkV1m#uTYUfk literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk2_bottom_off.png b/mods/technic/textures/technic_constructor_mk2_bottom_off.png new file mode 100644 index 0000000000000000000000000000000000000000..83c5b077ae2f84dbdcc64110c5c37d6973071de1 GIT binary patch literal 2281 zcmVPx#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbAEF8_s;umAuEdr3q=R9M4Z zmtC)HSyhIg@iEt0RkiooXK(1ku^YOjqk^_vh_ogIX|zcQ;l>;Pg^??Nh>6A<6D8pu z60Yn!h&BOZVxs;42qX|1&q?o(ssjpP6F~@qw`@U2D`s;s^w|7TC znP&&!cs!9P^ITZw!n$o-Ki*So2cUO|4AxUaRfy>H2zEOMlyz;G8aFpPo1=E?<8f&dw zUKC6fw~1}zTojZt)B1_oChqPx4m;;~s_3XiaThX`G8y~bj+>7hFj1Ci=IZeU%Th3R zd@@8}zn?kmc4Qa!7mgUb{>BYH3BU2`74r_%5;5iK(FHP9rfFiDjb#yzYhzmj`K>pv z6H%sOhzPBB=Gh=YM2HZ)2+W#xM8Xgi6#WlBlzi0eo86M^ZQ?5si-<3otlCKNGfYUs~ewq z{dI0$`6y8FU5OvdM;f_uTd@aXYlM1*bIkRAkyWKxeO zYOT1bqN4N+rZg&@r5DOvaCZWT2;2(OG$A6G8-kFTpo0^lV``WwrcPwC%nPkQKJ#}m9C7@EM*j+YOKBES&?EyCarZc6IDgL(4$ex z9y5g$qID23b5sOTAwwV&MaUj_ai(eF{^6e9J6eN>;}KNYGUySgsd73V*@Yu2s3@+2 z+PTeU^xlXFdM1KW+%Pwa85zSLGIBhVqjNn_F;1rwrbb2%9VpKJ`Vx^bF&eEiO%pYP zY)M-yEs}^t5_)ThD4EH&uB1TiolMwTABw5QJTHTOD?>CGh9x4@TIsFP*Gi9I{qUYt zn06DIqib{zL}9r(pe{&4YmJNmfkY8Kw^)a9nGN}#e2k-+(W4W+v(*iO@q57CX+@EQ zW3On!cC07}5rKASwQ;_e5i;7s>1#- zlL4m2d*3?_z0jc(y?3@&$D{!|8?9|DHem@WjFn^#h{TNIg*<~LBFytl?+tU~wI>(s zX87!9KF&9u{R6K)x#aJD{I^_RP5kyJZ-&71;P(D*=zipoYgN{^u|AwI1hK)D+T@rS zF2^7!h&)y08l&+oW-KPhG6=KW+UPD+v)Lsh+y31ylPQ(Od} z3O-Hjd;wG3953#yrwt_OwIhHpGo=)I??ZBHQd^^Lm5d!WIZvNn^2^V|;V|*b&%={f zuIPOf9K8>f^Fr$t6{RJZ7`=CTR{GZPV(95~qRfto;)jVc6@&q#q+sUwS!}#GR*b8w znd_@dWDy=c+98YZ?Abk+7Y9TH5K@wepm?FxO7>2Ys6jVSQ$Wz-g>9{%V;Z*8%2qeB zcSMAYptX*waQ%@Rmfgb5^%aQn?Z5bYF7^k$`PIMS`uY-p-+c3vs11XYb6`cl%2)`Z zur?Z<)*9Yh!$eUvTI+}lf}l2RwMR$Q2!z*OeU*>D`DHF2KW4xy9QH%953dNvvK;o&?9%e-Lj9M=;PL62lv zmSH3rxcQLj1QVr4XI(dr#|I9Vmt@8m#jSFGcS}8guaUIu!?;ez6K+muC+f;OUwnrz zzVjtq6f*~s`-gkp|Ni&+&;R}}KD_;q{r-^C5%$E{> zK4e%==6F3GBjnpKAI|zBz+1on7Q4e9U!41Aw}=X5n(*vFy5nkW9%Kgp^YahTd5=Zl zJ@DR`TVv{tsWnP(l-}_kkU^-@%xG$CW^C>>Gpae&oNmgGe)MDBc;gc|GqQ6goLV&oZrjFpzxQ3f^__3i zIAAU5FQos=UwJoWI0Dnfo`3(>AF`fKq>RWNF+3d^JEa#~WG3+<{p9cr)sg#C!BUBg zm#v5#p6~}>cpFEM3axGUNHYLIKd!v}g+Jo{`5moQcKbaM0cXl15)qj83&x1r5lQrZ zCUgXud6{35KUpD1-8?)zFo&^iD?U4fpd;grmh@<7LT0e+cc_m12a0()@1Tsnb=K2H zZH*p5?G4k>trwlji1Yrjk&+`7i%_=}1bXf4cRT(UI~%3etxG_M00000NkvXXu0mjf DmQOx2 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk2_bottom_on.png b/mods/technic/textures/technic_constructor_mk2_bottom_on.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad76f4056cfe6d307e52306c299aa6aac602863 GIT binary patch literal 2316 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 JPDHLkV1f%YS!VzM literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk2_side1_on.png b/mods/technic/textures/technic_constructor_mk2_side1_on.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0204290de19c3610610008ccbbbc618b611bc2 GIT binary patch literal 2355 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_bottom_on.png b/mods/technic/textures/technic_constructor_mk3_bottom_on.png new file mode 100644 index 0000000000000000000000000000000000000000..f76f29b0854da032926ceffed791f3ba88af4ed8 GIT binary patch literal 2318 zcmV+p3Gw!cP)Px#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbCnCQ_}m0{{RBph-kQR9M4B zmtCuDS5}6f@iEt0Rkioo`|R{dj!BzfqbAab_z}e>c3RWWXwzW-620-C2!dX;ikFJs znoBVWDuQ4OUU=0clJ6XI_TE)%%{j;LV%A9)1+zX@)f#K8=Y7XJ7Iz58j&H-gz8>Yt1&5kEej@;fhc6&z% zB7|p;{oe80`xB)U%mfiwmO^bEQ)QYJ(PY0XJbk)Rico83nhL$<`J@Y`Gp#k&TDiO^ zm?~})+s3&lC}pPg6SGa+-fbLq&hb>yQH$a(WGZDc_PZT7&mAyPmTBhd`hsOCm^(fh zBCy}j9Ckah3;PR43|@Za2A_nVdGU&Q2Wp9!a`oT>nJUvXG0n!Z2*05I~RMgZDq66z9p^Cs-<~PDrPwAOVuf8qn&-&%XRJ zH;=wX)C#5)cTV?5LcvqnqCyKwDQImSFOImX%F`B+$%1r^0inZ$7v z$1o9GmB%kUW-1etj{lt8$xIH13mm2QPV^uX)@{QD*w&5dVnJH6>;_Qc#;y#2d~=q0 zrc4uI;N1X71r_~@YD_UR%2ZHSW|@ed6n8{~UKH!es_@|Af^A*V);pO&94isQdRo~e z=&b?5<>7*Pw_}c+*@75BGK z$xT2SZ4DxmjKCv30ooEV zBQsD{yo}rQeW{@pu zYo$dJkw`*s4G|?X+18a5sJ)X3TkFFy)tKjH&~Ig!24i4}2(?yvYxK3!BUrz@BNe9I zgy!fP-2+irZVspmlF(WsBS0WgM9(eOF}TczeNR5*XlC^2MDJ{MLty+KaCcf!B;nXA zny?)!3PMDn9a?Q1pWd^r+fT2+Y@8@MD#|>~L?p<$h%+-i0zokmtT>mK4=^7}ntVc3 z+2Oc4juExdYQ-~?B#?k+LRmXqlZLW8>@hXgb!A=_iaW3W`oiN!HyrOPB7v%~Kg?u+ zsqywd9fx1&@QL0#TdPB9fX+s18;ea?f(qkGG6zIrM)5+P!4eVXd8YS;L(4t{=?&=(E4TCHb?T{3*Zib2r0adhqn_cKCkeuxnM;wz1xyFa)u|mD=Q(87{`6 z1#|tXn8={FPCG+aYvuatz}3Zp$L}SF-JY9w$NJoV3n@uv3|I9+CX{JHOmPu>D)=<9 z^94+CbF{bnyF&ig-vUwZ8^pM7hr%Ln5Y^fn;O zNZbqk%uXbj7}=9nEA4J2vZJTdi84DTiXSG*R1gM`l7g9!N=5MESTU}yX5=TrJUgGbr2ZWD5 z`jD@`@-lCI%XsC*OO|D#6yff+k|a-W@7eEW{_5{<`TVobxW2xo^$r=FPA4D%VO>|& z?L^4P9^PBSL{T+b>xc`2pf<*8kB+Jl2rs?(B47W;ce%X2X22^P_QSFdkA&m#$Z!1G zfAEiQzdZ&RNvj<-C3@#{yr=b!h@c5XBH#bR?`QOmx-pk|gom>dmU+S4Ij$!pf*#4T zEMt&l;O4`o6HJsIops$f9`89^UXmF@id*IG_9^xJy++cqkHK|1o^W$QJ5g8O{PvrC z`_1p*qL?|5+}+>t?tAa?pa1n^zI^&6`~88_@g5N&BZvsho!&cU#%r&=%I|*X_qcg@ zGgQ$!k-5`|?#w>%$)}%k^|fpM?VtbU?DNCdGoM-f zPd65jXUWR5=Lq>WhR^WgA?a6NdzH(p2l(RLeeo1gp-dB=JxF(4jm?A1;Pa0@<>4>C z!NW+d*E=4cjyyWu^V0F2N2fcUJKpnXJ8`+KXmq~xi6_&{|4j=YFMB>(_Ixrge7@}Y zc-isgvgd>Mf6OaxI5V1-Fnukj5zNf o8!0(bu?TfrL7>;pez)WQ0nop^nb@s+e*gdg07*qoM6N<$f=GjQ@c;k- literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_side1_off.png b/mods/technic/textures/technic_constructor_mk3_side1_off.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea1fc0a10755a614a23ee0a35071197df8fb034 GIT binary patch literal 2378 zcmV-Q3AOf#P)Px#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RX3KbCoG>SQvhyVZx+(|@1R9M4B zmrbiK*;U7X>t$Ef^PF?f$xUmATm+q{bR0Q}ZwT#6(imDNg3=#A2il+rfq)ai=v?q4 zIC0=4gYLwcG)bByNJJ4^AsSj*P2cpr=iGCir)s~f<)98p4R_VvYuA7OU)Gk-e(p2b z*M?4piZaa;>v=^~IUbLkPiK0gJoXmy>nX66fe~6jC&z7QBz8p$OuG*(Fa}% zr4(*&Zh7yYzsYaC{tDMuM=p+zjy@>ML`LFXP!t5Bch=LHAW>1ol!$>Km9eLr?xR^VG|f_APU6= zKNQZ}hKnj8$-CeD22Y-RlI5_U`*N6h{g;1}Z~xP`*|wEbr81bju*#sgLx&P)UK0^c_d;A!yjTnO_U}{`mUQz4De3%)d(`sj$XGS0N z+S&Tbyv)qY%<1l)F$Ncxm#pi`JkOBHdS2<#Arjz$oX+j-33Yce169S%urVlOplX;Y zWiA|!$6e#_jLEc1e^(Ikk3)BT29^62V-#~Abx z4~v1dibQ}H?(gprQOMX$C<6CFStb@WA_ldBq(FjO!Njm4EXNDh^^Cbww~G73EP}go zxF|e+bjj)cr+AsB9~38H9>ExcoSe76@)hXG`~US_tT@|RcUN@B)DRPT@3h)56{cyX zkB*2SVr<(=nVfB1iA=WE5D_kxiU0fF4Q7tt-``WBalqS2x1I=_0?bD?!zzf8?XKt>sq;azA;AQ_C@7y{_X?D7zj#?vBQWk za*!iHp!Eg`DKJK0D%_toE{+qfZuHi6%gsc4$1@=l5f~AC?E0Fx3$|^eZHZ};3G=cm z1(Z^p)+&Os)eRFRY~PM~q4&0vH(^9_^=P5D#M@Sxr-{rYMX(Gs0)WUQGZ9hT3V-nB zKjSCfNuEE3r`Pa>*Z-IiiMj5@Md`Hy>^vfggwB9Wx+ZQ)0CgK|b;Che&l>=eU=a|p z7Zu}pJRl;}*7>W?eUT4-_8Fxpr&Hs+HZliwYY<=s%#7><%;>%E3IZbb^&=B<=bM@0 zBEse65fLE>GUvMhAXA1JY#k+DyRNY-^_L^8(UuYc`}eDJ9sBJlji_c?uF zW~a#p zy>L3+^X%!y=l}B0>7&tqrg1tAK77`R?8H#U7(3-7@oA#>O0t{UkVI4v3^KWYo=j$( z?mJEf>bAoqLZ2o^@4G58X}$3e@4UnJo)-S~U*01|uq-np0x{wG`Y{nfWZ>@PNJMtI z_2`V+=p*Q(bANY76ytCxj4JeAaTVR!`tVdQ^aMnB^5m0f*C_6|8@9~28buV5 zq^U8LLTep0#Y~Bj)NRAV2rF!LgLQCqeZ_kBzg%4vo;~d>v*WFG#N>fEolTW+2N7QT z%xir0>tE%imtLaP#^K_KmkBo|1D0i`)y8sIxVgDudhio9V_R2R+hy2#BU+<5{LlOU z#{F%A3?cB$6d`J3v`)l8Wmmzrt(ZG)1omLz zwN?aJmW9k+zQvtZclnt+rozpOTWl_DTjRs0_kfYv@w!z;3^Ib-+goIs_iRvMS|-+Q zrM0>Ti|XFIJOuc*ZIDSDoybIWm-Fd#Vwxr*gKb^O1VtDzP%-8s^v$@rJ)z~{)*=XR zz5N!izWR&&=#O0UiBG)D=mP;xeWSHbYn4$O=kq;nbhd2;a(B@fs0yR)ozb>#)NNzL z*gIu2qz9s4In(=KTfrj(RYO#G_Z#oB%m*G_U1G)g)<1rWoAn-TFxbC~3~ZS=uV)I% z)*9x!|nbTA6132A%Ip4JU_M|$GYf>S^30V2W}eQ&X3j{`LY0yAOsj+%i8lNf`(hs+qH0Hc$+ ww_q8;vMij>Cq$HyiKNo{ptV8Wf_X0dKi99dkHyTe#sB~S07*qoM6N<$f)?nF{r~^~ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_side1_on.png b/mods/technic/textures/technic_constructor_mk3_side1_on.png new file mode 100644 index 0000000000000000000000000000000000000000..ba86332c9699d446a31d82c14e9a320ecaa993cd GIT binary patch literal 2402 zcmV-o37z(dP)Px#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RX3KbCq2V=8P7ytkW^hrcPR9M4B zm(Qy$*;U6s>&LFDbIyJDzSnKPP9B1SVCV>flcl)onW!nH3}ghNLT?=} zg;EMP*EhWLZ{Of|UVDYB%RPs^qrG*?G?0B4ELo{^4#P-Y7Tk@Vuxp77hMTcxtK4I{2J3A{KI!%JZrN323`!AM~c#x7gcmC&&wtK?6-~BF;$vBQo(}b8}WdH$L10Mfu3%mV(ycUq78V(`LpB6~mv$Kw$Zg^W#vB5*I1X<$+#qO-0bDUje+FfptM)BeCbpD}mV zWyO796v18D9SV;gTyT2tDPD%*$BUEj(& ztx?yCsW1#9tv5sj5o1|q%HS;XOk}duiimKS27dU#HD-<0f#g5_ z^Bwm41E2ckU*dRo$GiXaF6&ZJGgK8*!A05c_CS!LXx*Mg2G~TlU^nfkt#LY^$xKe? zhKMpRCwv@6A`(%>)cDxEflv&352AN|{nNk3-G^V~w?6%o%=60i^M&3kH@7Q)|Bvs} zdq+^B_pOZxJ^MCFf!Zo0q--@!h2v@Aupe-Bqt&`eZYEdrnE+%zAObythgVm`U9c<* zbxBNZi|c3))j!>J4q4=jSiVKP27|K)}^zo z3l743UI37U!@6wb5^yp0`yC>}S{r}+xi9ekFFd0Z<#ei?=SpU0T`B}v0W%|82Qyl0 z8-sv|t$t)eZg?|OTtv9I*drnYfr}uS7|?p9)`keY@MzEP|HJ2b@Fv{+6!3}U51;%2 zZjKJdJf8ujXUE;{ol*eBh4WNJhXMe%}{$6tUV)Ejw{O+IpF(9}pttXkm+A095LTh=yi4Flo-{eL+?!s$VPOf_r5_s5+4Ry zTS-*DT+styq zlP4cXMEUC1zDjY&-LPrI)hMEfBvp-}6l!g#DP~IaWL*|KjIhG8E--g4uP&MIe!%5r z;n~y1G&){uLrm_0)A+%(+h%?vy!x3}`O4S6!iz7yNL?$t!yYdKZb}AB(@0$_({AGW z`kLWhPt=TMo~d=CVQrPDmFn>Q_rAmNCP6xpf+r9)$N*F2!`;P(hlIzEAM^bAHS4-= zx}ckNN8c8S+*<$aqaP8mnN)3+T%i=l-RZqCi~}ifcYVV!7+05jo?g!kIpU=ltpzBE zD$n)@A~wGE+KA|=Y%Exo8FQ!h!0sh{T~`E{risjrzQvuoZuB#EOoi*)8*D5rOXb6- zN5IHz_`0n0=wt*pH#Z!2d)C?zRfcI`US?`tH)B!V!ppsZFUta%)ZU0pR5v=GPA7(8 zATn6yd5d2NJvu7JxQDhF*Ec7$+@D$m;f*)n;OAc+;D_Jl<(FTgw~hd(woq%M)|I|i z&gUbwH{WP$w4R4Z+!^pfYD4;I1R;j&WUg&j`* zCfh-z!z>kRNxE&Vj=)bwi=a{&heBH_rb^936VkR=ewr8D9chV64NmQ}8HfnIw=H7H zmafzk2+V}u8fpe23}STJW-`5#0`x}a7Qr%tX_`2nPl)Ii^HQm;Q)_2kf^jVTAO9w( U%CH3jBme*a07*qoM6N<$f~u;TrvLx| literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_side2_off.png b/mods/technic/textures/technic_constructor_mk3_side2_off.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8dce4ebaebc5ae900b144e24a1d6c70b0ae096 GIT binary patch literal 2313 zcmV+k3HJ7hP)Px#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RX3KbCt6H-LirT_p4n@L1LR9M4J zm&@;L$5F>WRn^_+%*=iMV&f~DIFLm!G7I7m@lb#yAOs5}BJp2jVF`&pARG3HWL_JP zNVb5)1`I@U1hD``ARdARlEJb`P<-*t?=^GI>8fJUb1#fEiW2!_3B7%sF&)rD@5Hb@%uvVz0a5|l+rQ*F)rpDUc^^saDpdgAz(x%3`tf&eq$~4cocT|nj@kncpOo#}Q00A;tPV2dL!$b*p ziWMNqQV8DwK?E|udr&|z6H0+r4JV0o+MSs=Zg>V#6ft9QXFu=RGVmIxD-w{IfPf^i z1*H^J4KxXLG>xLhF#{7JBZ0t4$}|;3p!d<@U2Qmt^h8W)X<*8pO34i=LhCweveQif zn6%=XQx1)Ypm%4k6R|B!QdvvTqCy0EXTpyQ5*-DY=gPhNjqVP`s9HJf546(As!SAC zNu(ND3MtSY9*|w7Vl-<=wecJ!R!3B*rSOYC_X~XYgAaJ}?GJeT_%R<|UGlBJ{#)vP zVt+WG$K#3bU7onT38u*~RctbP?|2nvt(2*UhznDhXsv+?VtNL%P_@u%qn1h$RZ+9S@nVRz^M-NOqCvqs&QOS+}z#(P<$X>RS^-00F?6Z!JezDm8;7W;mP~&y^jdY)0l6uN(xME z#-k7M$s|!E{Fz8)!qz(~f~pV*FTMDPZ@&FDnK1PZFg6#kQm|4f+ve0dzEl%xEzI*w zZKJ)dHLMgQgy0K>^sdq3!G9Jh}NU^E?v ztr6V`K-CZdE5h-1<9Gh?cX{-7^4=Ff-WC4v*M1X0hzw50+o26U9QLV$8bXhtET@h~ zP^{4132}-GsZUKVQ8B`O-~?FRF*AfjBzXN(U*zzaJwN=)Bc`cPYePgRRtD%uipTi? zNo2CFD?K_zRoLxj(!sQ_r4X5@C>}ms+MN!V6_#~{1dqU~p(=d&Ki}Zuo5|y!0-1%c z{nA%B?0vA~%o;Mr_L(RHgdmg%$8=(Uub?VOfSk`-%?QBL(VnQBn`lNWg~()on0Wop z7dgE0e;ruYu~D2e0|=pdUiJLUo$j6D5%k`JncOoVh~T|)es$C-fDfePzHSE z-8cBizX|jE@LxX(Z+zi5I6Nsd22&9J z=ka6y?9DfsTH}>heu%IC#n)L&K>#%+6{dMQGewPJjmyg;rf~86b2KezQA(*qj+v|3 zNVXp5F|6FZdk<0J>gJkODj7-2V33&+nSAcEpXayU`0ZyHP}Q^8IT=B@xY)6-(0j6N zNo*TSaVBZFDDyPaTI0!wA5v-=nvi3Tr{y>(7QwPCz-j!}sS7Y{E$V6*Z}S0aNr z(^8*2Ig+`JKoJh6R4arhyWJl5&hc~v6(0&f6_LTKKk_QmVdj%R@k!qL##_YGXs3lD1l>$r|>(a|jk1@E0jf}M}KF6)VC6%!*>02wAE!he6~JM0d7KK8MX za`U}w{^(Escy#La789XF2$MBRu`!d>5iUIm5~R}(d*Wu}_IRY!f@h#h;0ij~a7i`X z9ktQ+?v8u#dtd#1%3LT+9BiUsRYu&g6tM{>KKST1joUEyes^`s!I>+;N9IqVASnq&e! zkbrypJIq=!VB1zo3`F04cty`(5<_}t4x>rI34HD78iXX7Nlz!1J^~1ZsSA=I8%$deT(R3!iG-dB39&i4C8ds=l7@gMsw2MD*4Va{ j&HMS@xYF0oZl3vH(p={OL4Wwx00000NkvXXu0mjf^zUAB literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_side2_on.png b/mods/technic/textures/technic_constructor_mk3_side2_on.png new file mode 100644 index 0000000000000000000000000000000000000000..12dff69e4d76b865f5c7bae33c50191176ee70e9 GIT binary patch literal 2338 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_top_off.png b/mods/technic/textures/technic_constructor_mk3_top_off.png new file mode 100644 index 0000000000000000000000000000000000000000..705f255527a052efff31d2caa6f54d55fe28168b GIT binary patch literal 2313 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_constructor_mk3_top_on.png b/mods/technic/textures/technic_constructor_mk3_top_on.png new file mode 100644 index 0000000000000000000000000000000000000000..cef077e72b12a78005dcaed613da39467bffe7d0 GIT binary patch literal 2338 zcmV+-3ElRIP)Px#32;bRa{vGis{jBFs{xMe#QXpN00(qQO+^RX3KbC$4BF3L#Q*>Zv`IukR9M4R zmrc(k*Hy=V=iHa7?w)5n<6#mzwqgqwK|%@(7LmmgGXWMXSi~&&07wY7@Coug_yULo z0t+Gn#5*Sv5s^_g2ss{@%-HkznWwv}>b{)A;`R(mOVwSvDpj9*UjF~zl}Eq-zPGKR zIiRBCDYGssqRM{1XE`r8P7DE2#oU;unbsQTbs@z>*%o3DvAWftRo0P1&zXfHzPQ^d5;nhQQRCs z>1NQK91^W}YH1)sm@+X&5LnME5d;2`|7)V@WCJR#v5+}j`fae zKvl2?5f5Refn-Hc^f_`C1@Js*DfAw(r#?di*gSR(?25FjW^D+Ck` zk#GO?cbIOE++B`5T+TdPPrSXH`SNz=!Rg4ovU0y{1nZn)<~mIr=N(VxJx`_`Pj`E+ z_jh+ZpM#4`iR#b+~@iAHK{>&$E*__K}85DpawyeD1p!a{Re#R z&VMo1a7W!yK&F7?1IPgpp>~5;C0O9R!lIaWxRmSl2M-7u*h^xKmA*FeJP|bnG$_=D z#LRo|y~hXN`T#*Nb41{HI`MBm{8v8y&yT64k*7>+9aW*XhK4Z4_q?DQ`0Bgw@O!`e zO&&gc2r!-z<>Q}y%-{aQcd_Fcn@3N{qd$1$2t;JCf!-Rp6Jn&c$~4cUlrGJx^wwCHGuyI``&wAq#uO5`5W96!2uKP@R7$OE zHu}QMF*8(@Up#rj*MIZtJbM2TUwZiPm&WVm=X_rH=tm#%gMayF-hAtAPUjPt(cMXN zrk*M>1a_7&>wprcoT;@zsiV%ls))fVs8P+|GecD{0fLZXf}m)Ohz3-Im?Et< zK7IU{vK_Hr_>=Gd1t|yq>QDcioZ!#?=`RVv`RPypgVrjoH)?H6^Ngs{TZc9@B!`5V z<8CMy#WFYATBzPIg^(g41`z1o(4f>(>86jK6(5R`r?`TS#e_Ux9!cb#X?Zh7$z zJbiXc2$7sKIb{Uc?+@URasqKMC+rjXFrz5ZxGctqnzNO{{rz3GTA1gFl=3j3pr{6x zb>nz@P5Uk3+2=PrSe0j=-@wS}Lt~9LGv0hd?t!-v8$BxchKI z50FzPhDZvDJ9n=Ls)z>u_wi#6`#XH?SHIw`H})J)6-CIClBProPP540eD4dcu3qE* z>-SmLh1MFqbxJRIH7vsEd}h)>ZH*`*m)%2<1WCyf5mmNz9bO(_+Y0lp^Zg&*;&#I* zol;xH4e~V6TjRCY?ozgmWjWJZ!`*4E(tAf7*qr16vmxl}ZUh9GBN~((Ga3VkW3AJ+ zGJqr{tQ);GUK(@C(+DI4ym!2JMC6rzIC61H9j+aPwXZa9Snsq}QFo`iQER1%AyJ_N`(9$(mig!x(0RIbatu7~i!vVu~ZP z^UUtBCkADqqN=nkO!LG%&qNhPB~WT5&zTV7t2quApv);z%0>u-a?S11oWp7XIt>Yd z{!(H!FzulRbt%VrlmJ5UDLd3eW+wC#$gPP4K z+lKeiWZSm=k`?2Q+oj$iP)lJsp9h#WF3_lm01XtO_RbU& zK_gLc%p1`H#VV2lr}ack5t?(eo`{uUETvFdK|~2L&<54gLV%9qGon;;=FELU1gSKV}F=vMR@Vz zOr9ae$g*sREBEf*;e0L}UN_n~GS6vbY^#(qP`>t#iV}mc)y}e1R2e6u!!ELH!(?() z&gYf$y0G8vI38D2m8ZWrGfm_0(TcEcE3G*5PPsjuX|>Tm%e1y}bF*>(-ozKz8#xEs zrEg+x#F$u?jl+JTluq35BhRlF0Adi<%~`faP;e8bDc}^QNm-Uco(3yUs>1`CP_{}4 zP|8N{a5}Hl*7(w|T=C@T7pMl@oYn)kw+rr_>+6L#-@M}g07mYkwjD%t`v3p{07*qo IM6N<$f){6NsQ>@~ literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_copper_chest_front.png b/mods/technic/textures/technic_copper_chest_front.png new file mode 100644 index 0000000000000000000000000000000000000000..1769435837308c08dc1812fae4b7977cc235fec6 GIT binary patch literal 2614 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 literal 0 HcmV?d00001 diff --git a/mods/technic/textures/technic_copper_chest_side.png b/mods/technic/textures/technic_copper_chest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7943f3939438696a300b5dada720ba251d02b3 GIT binary patch literal 2568 zcmV+j3itJiP)V^j*V5^nxcChlBlvTC!uw~>(Tmxf++_H-|4kmQiIXKehrgmZ zmzeD(?&`eHR45QY49Lk6HQmR){|V9zp%Rb^)sz(1pP0;-)X|ex*Vyy7pfnnRu@$`f zFFH9VpZ`6J*&O}bfA}4{vg4qLgf>Cgn(E^j>E1&++mhG@g71?L5oY&L`Izm`&qzZ@ zR6BTWP;H5nimY8zt}OZ8$JjHAvJE&3LK1=}Ob&Q7nIdO1mdhnlDNQOop{oh5BX%`% zb3uLj3LEABS6PgN!7hW{eX7+lCUnH{9&s?C`*cBQ3WDnpKw>MlZ~m8}tcbybki-xW z(*v@dT{cHA$zq363Yld&byZ@0gltUc8ibG-B}l_fr3--*3ca|;_UtW5w20{vGu@*+ zdxvlhT@*x>+{T+L7$>4%9wG3_0J0IApP!QWmb$ZKS%%zhx3nJ2@+)jz5rG&zp)Lrv zC3*+m5h8RaFHp@EvN0;nSs%S3mjSi2KtUgdy6~)Ko#4PO|?1x;_)3dhwBI z-amz)3z72Oj~H9x%n(7OTAeV+QuOi>$=$EPbr2)b``Yj4~SAj3<#;nV@HZ7BpGJ1pt`&u*8=AEk?DZ)^4D*~He)xer&&jfkEXy#);G{%NAKq5@XIYIgQr)z>8~OgMm)?6q z2y|V?r>3D94ya|#U;p$c%DQGCTE2dKAN}m@IalkNKu2(nH*enDf+&RW3m6$=NRs3h zHlHg##&`=WYb{;Z{Q^c(%3C09w_D1pro`jko}<4x7_%NHgz;TQS;oP^0Yy;|W4r}U znx+ULegUH|2mKt(moSPk(zfj_sDu!VMk976I}~+;+@3KRXXuZO;@j_k&)3Tt+BW#7 zf5hB*jJ-OCa!phTW_KT36~uaT+nJIQqyizqTY|Ir5D3aJy#EBh`A96UXh_J$6I@-O zi<)o$_Mhm4;`Qo~7tek|JFhr7KIh))U$`d=r0=NDpEFx5v9Tf+moy(scJF_SJG%ti zfDlCM0D+LQAKVN`$0PjqlKSWWVYa-7tu2G~DbY{KmJji(EBMQQa_TaU)9!qe5*)z8G>ky3!{sm9J8YB0f_zCZzlo)ywxQGOI;vwa%d zl5H=kk6$1Gtqmb~+P0(W96B+GDA3+}0+vv1iA1P2Y&KU+e)VhI$M+<4K@jwwKxyRs z5MrQs|C~$)#9%@IM6&@TV!NW~TJk#&@xf!dis&p+2!eB1Bm#kT4v+7bAT@>I1{eu>5- zhP(Ytgg}ge7$PxvQsKxGftLo6kCDOlGF=n}UA0B~2C=hGvU~(xO?0kzL~TWImf$@& zOWV{m$InUe$jOr7c*6SlHHq(FX9?pys;d>m*s~&r8!NARe-Q&=eSvq5qA1Xt&4ygo zh{XfUXhL!P5+iyL2_b0pkR*1{)(E9ZT#XcxIGSPh9#EaXCdU$&k4W+%C$F9|!UO$b z#+w1cS%hnVh?W9~)J@ICgS6JtBxADCg!=ql?{>XID%CGTy&+^1NC(6ikV2w{I|KyX z$#aZ|Fq)I3Ios2B>}p4D^sSS2Z9~k)J-&TFNQqF2R%Tdhk*&2{+sM_sXNY>!uR9W# zPY{DCMnP9?Nfw7NnBKrhVxl8aH*R_N4)yAoEOr=^B9+DsW{?iizN1*3A+#Y9Z*BUO zSG3k5KV7acMiUP}3#Vqkp70{0+uvK3%R5|MBnt9HkjDIebF7UNfK1nM@|P z2E-VHQi>!=ZV#EC9gp|@iAgDiQtH;6#2B%*ukx3XD;gb;|ItNiAj5aRaTmu~5E0N#79udlhdxS*_R e@+7d_oAZCC;eVc!XGCoP0000 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