From b4ccf78d9c1965afa73b9f85aceb13f3a97deecd Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Sat, 15 Dec 2018 11:28:11 -0500 Subject: [PATCH] Glitchtest --- .gitignore | 22 + .luacheckrc | 22 + .travis.yml | 12 + 3d_armor.LICENSE | 9 + 3d_armor.README | 86 + BUGS | 31 + LICENSE | 682 ++ README | 1 + TODO | 2 + game.conf | 1 + game_api.txt | 1017 +++ menu/header.png | Bin 0 -> 423 bytes menu/icon.png | Bin 0 -> 408 bytes minetest.conf | 43 + minetest.conf.example | 66 + mods/3d_armor/LICENSE.txt | 9 + mods/3d_armor/README.txt | 191 + mods/3d_armor/api.lua | 516 ++ mods/3d_armor/armor.conf.example | 65 + mods/3d_armor/armor.lua | 399 ++ mods/3d_armor/crafting_guide.txt | 79 + mods/3d_armor/depends.txt | 8 + mods/3d_armor/description.txt | 1 + mods/3d_armor/init.lua | 383 ++ mods/3d_armor/models/3d_armor_character.b3d | Bin 0 -> 178730 bytes mods/3d_armor/models/3d_armor_character.blend | Bin 0 -> 802568 bytes .../textures/3d_armor_boots_admin.png | Bin 0 -> 389 bytes .../textures/3d_armor_boots_admin_preview.png | Bin 0 -> 356 bytes .../textures/3d_armor_boots_bronze.png | Bin 0 -> 368 bytes .../3d_armor_boots_bronze_preview.png | Bin 0 -> 336 bytes .../textures/3d_armor_boots_cactus.png | Bin 0 -> 405 bytes .../3d_armor_boots_cactus_preview.png | Bin 0 -> 355 bytes .../textures/3d_armor_boots_crystal.png | Bin 0 -> 389 bytes .../3d_armor_boots_crystal_preview.png | Bin 0 -> 356 bytes .../textures/3d_armor_boots_diamond.png | Bin 0 -> 389 bytes .../3d_armor_boots_diamond_preview.png | Bin 0 -> 356 bytes .../3d_armor/textures/3d_armor_boots_gold.png | Bin 0 -> 368 bytes .../textures/3d_armor_boots_gold_preview.png | Bin 0 -> 336 bytes .../textures/3d_armor_boots_mithril.png | Bin 0 -> 368 bytes .../3d_armor_boots_mithril_preview.png | Bin 0 -> 336 bytes .../textures/3d_armor_boots_steel.png | Bin 0 -> 391 bytes .../textures/3d_armor_boots_steel_preview.png | Bin 0 -> 347 bytes .../3d_armor/textures/3d_armor_boots_wood.png | Bin 0 -> 389 bytes .../textures/3d_armor_boots_wood_preview.png | Bin 0 -> 361 bytes .../textures/3d_armor_chestplate_admin.png | Bin 0 -> 508 bytes .../3d_armor_chestplate_admin_preview.png | Bin 0 -> 431 bytes .../textures/3d_armor_chestplate_bronze.png | Bin 0 -> 440 bytes .../3d_armor_chestplate_bronze_preview.png | Bin 0 -> 382 bytes .../textures/3d_armor_chestplate_cactus.png | Bin 0 -> 520 bytes .../3d_armor_chestplate_cactus_preview.png | Bin 0 -> 414 bytes .../textures/3d_armor_chestplate_crystal.png | Bin 0 -> 508 bytes .../3d_armor_chestplate_crystal_preview.png | Bin 0 -> 431 bytes .../textures/3d_armor_chestplate_diamond.png | Bin 0 -> 508 bytes .../3d_armor_chestplate_diamond_preview.png | Bin 0 -> 431 bytes .../textures/3d_armor_chestplate_gold.png | Bin 0 -> 440 bytes .../3d_armor_chestplate_gold_preview.png | Bin 0 -> 382 bytes .../textures/3d_armor_chestplate_mithril.png | Bin 0 -> 440 bytes .../3d_armor_chestplate_mithril_preview.png | Bin 0 -> 382 bytes .../textures/3d_armor_chestplate_steel.png | Bin 0 -> 493 bytes .../3d_armor_chestplate_steel_preview.png | Bin 0 -> 399 bytes .../textures/3d_armor_chestplate_wood.png | Bin 0 -> 474 bytes .../3d_armor_chestplate_wood_preview.png | Bin 0 -> 407 bytes .../textures/3d_armor_helmet_admin.png | Bin 0 -> 431 bytes .../3d_armor_helmet_admin_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_bronze.png | Bin 0 -> 426 bytes .../3d_armor_helmet_bronze_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_cactus.png | Bin 0 -> 469 bytes .../3d_armor_helmet_cactus_preview.png | Bin 0 -> 352 bytes .../textures/3d_armor_helmet_crystal.png | Bin 0 -> 431 bytes .../3d_armor_helmet_crystal_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_diamond.png | Bin 0 -> 431 bytes .../3d_armor_helmet_diamond_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_gold.png | Bin 0 -> 426 bytes .../textures/3d_armor_helmet_gold_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_mithril.png | Bin 0 -> 426 bytes .../3d_armor_helmet_mithril_preview.png | Bin 0 -> 343 bytes .../textures/3d_armor_helmet_steel.png | Bin 0 -> 478 bytes .../3d_armor_helmet_steel_preview.png | Bin 0 -> 350 bytes .../textures/3d_armor_helmet_wood.png | Bin 0 -> 473 bytes .../textures/3d_armor_helmet_wood_preview.png | Bin 0 -> 337 bytes .../textures/3d_armor_inv_boots_admin.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_bronze.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_cactus.png | Bin 0 -> 407 bytes .../textures/3d_armor_inv_boots_crystal.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_diamond.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_gold.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_mithril.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_boots_steel.png | Bin 0 -> 382 bytes .../textures/3d_armor_inv_boots_wood.png | Bin 0 -> 414 bytes .../3d_armor_inv_chestplate_admin.png | Bin 0 -> 398 bytes .../3d_armor_inv_chestplate_bronze.png | Bin 0 -> 402 bytes .../3d_armor_inv_chestplate_cactus.png | Bin 0 -> 430 bytes .../3d_armor_inv_chestplate_crystal.png | Bin 0 -> 398 bytes .../3d_armor_inv_chestplate_diamond.png | Bin 0 -> 398 bytes .../textures/3d_armor_inv_chestplate_gold.png | Bin 0 -> 402 bytes .../3d_armor_inv_chestplate_mithril.png | Bin 0 -> 402 bytes .../3d_armor_inv_chestplate_steel.png | Bin 0 -> 412 bytes .../textures/3d_armor_inv_chestplate_wood.png | Bin 0 -> 420 bytes .../textures/3d_armor_inv_helmet_admin.png | Bin 0 -> 366 bytes .../textures/3d_armor_inv_helmet_bronze.png | Bin 0 -> 365 bytes .../textures/3d_armor_inv_helmet_cactus.png | Bin 0 -> 381 bytes .../textures/3d_armor_inv_helmet_crystal.png | Bin 0 -> 366 bytes .../textures/3d_armor_inv_helmet_diamond.png | Bin 0 -> 366 bytes .../textures/3d_armor_inv_helmet_gold.png | Bin 0 -> 365 bytes .../textures/3d_armor_inv_helmet_mithril.png | Bin 0 -> 365 bytes .../textures/3d_armor_inv_helmet_steel.png | Bin 0 -> 359 bytes .../textures/3d_armor_inv_helmet_wood.png | Bin 0 -> 364 bytes .../textures/3d_armor_inv_leggings_admin.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_leggings_bronze.png | Bin 0 -> 372 bytes .../textures/3d_armor_inv_leggings_cactus.png | Bin 0 -> 413 bytes .../3d_armor_inv_leggings_crystal.png | Bin 0 -> 379 bytes .../3d_armor_inv_leggings_diamond.png | Bin 0 -> 379 bytes .../textures/3d_armor_inv_leggings_gold.png | Bin 0 -> 372 bytes .../3d_armor_inv_leggings_mithril.png | Bin 0 -> 372 bytes .../textures/3d_armor_inv_leggings_steel.png | Bin 0 -> 378 bytes .../textures/3d_armor_inv_leggings_wood.png | Bin 0 -> 414 bytes .../textures/3d_armor_leggings_admin.png | Bin 0 -> 406 bytes .../3d_armor_leggings_admin_preview.png | Bin 0 -> 363 bytes .../textures/3d_armor_leggings_bronze.png | Bin 0 -> 381 bytes .../3d_armor_leggings_bronze_preview.png | Bin 0 -> 339 bytes .../textures/3d_armor_leggings_cactus.png | Bin 0 -> 449 bytes .../3d_armor_leggings_cactus_preview.png | Bin 0 -> 364 bytes .../textures/3d_armor_leggings_crystal.png | Bin 0 -> 406 bytes .../3d_armor_leggings_crystal_preview.png | Bin 0 -> 363 bytes .../textures/3d_armor_leggings_diamond.png | Bin 0 -> 406 bytes .../3d_armor_leggings_diamond_preview.png | Bin 0 -> 363 bytes .../textures/3d_armor_leggings_gold.png | Bin 0 -> 381 bytes .../3d_armor_leggings_gold_preview.png | Bin 0 -> 339 bytes .../textures/3d_armor_leggings_mithril.png | Bin 0 -> 381 bytes .../3d_armor_leggings_mithril_preview.png | Bin 0 -> 339 bytes .../textures/3d_armor_leggings_steel.png | Bin 0 -> 430 bytes .../3d_armor_leggings_steel_preview.png | Bin 0 -> 348 bytes .../textures/3d_armor_leggings_wood.png | Bin 0 -> 426 bytes .../3d_armor_leggings_wood_preview.png | Bin 0 -> 372 bytes mods/3d_armor/textures/3d_armor_preview.png | Bin 0 -> 349 bytes mods/3d_armor/textures/3d_armor_trans.png | Bin 0 -> 274 bytes mods/3d_armor/textures/3d_armor_ui_form.png | Bin 0 -> 9116 bytes .../textures/inventory_plus_armor.png | Bin 0 -> 533 bytes mods/3d_armor/textures/preview_index.txt | 44 + mods/3d_armor_stand/LICENSE.txt | 22 + mods/3d_armor_stand/README.txt | 21 + mods/3d_armor_stand/depends.txt | 2 + mods/3d_armor_stand/init.lua | 367 ++ .../3d_armor_stand/models/3d_armor_entity.obj | 193 + mods/3d_armor_stand/models/3d_armor_stand.obj | 280 + mods/3d_armor_stand/models/3d_armor_stand.png | Bin 0 -> 1628 bytes .../models/3d_armor_stand_locked.png | Bin 0 -> 1992 bytes .../textures/3d_armor_stand_feet.png | Bin 0 -> 381 bytes .../textures/3d_armor_stand_head.png | Bin 0 -> 408 bytes .../textures/3d_armor_stand_legs.png | Bin 0 -> 387 bytes .../textures/3d_armor_stand_torso.png | Bin 0 -> 423 bytes mods/backpacks/LICENSE | 685 ++ mods/backpacks/README | 13 + mods/backpacks/depends.txt | 5 + mods/backpacks/init.lua | 389 ++ .../textures/backpacks_backpack_back.png | Bin 0 -> 151 bytes .../textures/backpacks_backpack_front.png | Bin 0 -> 182 bytes .../textures/backpacks_backpack_sides.png | Bin 0 -> 153 bytes .../textures/backpacks_backpack_topbottom.png | Bin 0 -> 144 bytes mods/backpacks/textures/backpacks_leather.png | Bin 0 -> 719 bytes mods/beds/README.txt | 30 + mods/beds/api.lua | 228 + mods/beds/beds.lua | 110 + mods/beds/depends.txt | 4 + mods/beds/functions.lua | 447 ++ mods/beds/init.lua | 63 + mods/beds/license.txt | 61 + mods/beds/spawns.lua | 63 + mods/beds/textures/beds_bed.png | Bin 0 -> 540 bytes mods/beds/textures/beds_bed_fancy.png | Bin 0 -> 537 bytes mods/beds/textures/beds_bed_foot.png | Bin 0 -> 390 bytes mods/beds/textures/beds_bed_head.png | Bin 0 -> 387 bytes mods/beds/textures/beds_bed_side1.png | Bin 0 -> 296 bytes mods/beds/textures/beds_bed_side2.png | Bin 0 -> 316 bytes mods/beds/textures/beds_bed_side_bottom.png | Bin 0 -> 561 bytes mods/beds/textures/beds_bed_side_bottom_r.png | Bin 0 -> 537 bytes mods/beds/textures/beds_bed_side_top.png | Bin 0 -> 611 bytes mods/beds/textures/beds_bed_side_top_r.png | Bin 0 -> 596 bytes mods/beds/textures/beds_bed_top1.png | Bin 0 -> 583 bytes mods/beds/textures/beds_bed_top2.png | Bin 0 -> 616 bytes mods/beds/textures/beds_bed_top_bottom.png | Bin 0 -> 495 bytes mods/beds/textures/beds_bed_top_top.png | Bin 0 -> 556 bytes mods/beds/textures/beds_bed_under.png | Bin 0 -> 304 bytes mods/beds/textures/beds_blanket.png | Bin 0 -> 274 bytes mods/beds/textures/beds_transparent.png | Bin 0 -> 143 bytes mods/boats/README.txt | 31 + mods/boats/depends.txt | 2 + mods/boats/init.lua | 299 + mods/boats/license.txt | 63 + mods/boats/models/boats_boat.obj | 358 ++ mods/boats/textures/boats_inventory.png | Bin 0 -> 851 bytes mods/boats/textures/boats_wield.png | Bin 0 -> 546 bytes mods/bones/README.txt | 12 + mods/bones/depends.txt | 1 + mods/bones/init.lua | 287 + mods/bones/license.txt | 58 + mods/bones/textures/bones_bottom.png | Bin 0 -> 740 bytes mods/bones/textures/bones_front.png | Bin 0 -> 656 bytes mods/bones/textures/bones_rear.png | Bin 0 -> 637 bytes mods/bones/textures/bones_side.png | Bin 0 -> 700 bytes mods/bones/textures/bones_top.png | Bin 0 -> 662 bytes mods/bucket/README.txt | 13 + mods/bucket/depends.txt | 2 + mods/bucket/init.lua | 222 + mods/bucket/license.txt | 51 + mods/bucket/textures/bucket.png | Bin 0 -> 205 bytes mods/bucket/textures/bucket_lava.png | Bin 0 -> 221 bytes mods/bucket/textures/bucket_river_water.png | Bin 0 -> 221 bytes mods/bucket/textures/bucket_water.png | Bin 0 -> 221 bytes mods/butterflies/README.txt | 14 + mods/butterflies/depends.txt | 2 + mods/butterflies/init.lua | 133 + mods/butterflies/license.txt | 58 + .../textures/butterflies_butterfly_red.png | Bin 0 -> 110 bytes .../butterflies_butterfly_red_animated.png | Bin 0 -> 125 bytes .../textures/butterflies_butterfly_violet.png | Bin 0 -> 110 bytes .../butterflies_butterfly_violet_animated.png | Bin 0 -> 125 bytes .../textures/butterflies_butterfly_white.png | Bin 0 -> 110 bytes .../butterflies_butterfly_white_animated.png | Bin 0 -> 125 bytes mods/carts/README.txt | 23 + mods/carts/cart_entity.lua | 428 ++ mods/carts/depends.txt | 2 + mods/carts/functions.lua | 248 + mods/carts/init.lua | 16 + mods/carts/license.txt | 54 + mods/carts/models/carts_cart.b3d | Bin 0 -> 3008 bytes mods/carts/models/carts_cart.blend | Bin 0 -> 544408 bytes mods/carts/rails.lua | 59 + mods/carts/sounds/carts_cart_moving.1.ogg | Bin 0 -> 14761 bytes mods/carts/sounds/carts_cart_moving.2.ogg | Bin 0 -> 14749 bytes mods/carts/sounds/carts_cart_moving.3.ogg | Bin 0 -> 14989 bytes mods/carts/textures/carts_cart.png | Bin 0 -> 1103 bytes mods/carts/textures/carts_cart_front.png | Bin 0 -> 459 bytes mods/carts/textures/carts_cart_side.png | Bin 0 -> 486 bytes mods/carts/textures/carts_cart_top.png | Bin 0 -> 522 bytes mods/carts/textures/carts_rail_crossing.png | Bin 0 -> 612 bytes .../textures/carts_rail_crossing_brk.png | Bin 0 -> 684 bytes .../textures/carts_rail_crossing_pwr.png | Bin 0 -> 676 bytes mods/carts/textures/carts_rail_curved.png | Bin 0 -> 580 bytes mods/carts/textures/carts_rail_curved_brk.png | Bin 0 -> 618 bytes mods/carts/textures/carts_rail_curved_pwr.png | Bin 0 -> 614 bytes mods/carts/textures/carts_rail_straight.png | Bin 0 -> 602 bytes .../textures/carts_rail_straight_brk.png | Bin 0 -> 660 bytes .../textures/carts_rail_straight_pwr.png | Bin 0 -> 661 bytes mods/carts/textures/carts_rail_t_junction.png | Bin 0 -> 707 bytes .../textures/carts_rail_t_junction_brk.png | Bin 0 -> 698 bytes .../textures/carts_rail_t_junction_pwr.png | Bin 0 -> 697 bytes mods/clothing/LICENSE.txt | 9 + mods/clothing/README.txt | 31 + mods/clothing/api.lua | 97 + mods/clothing/depends.txt | 6 + mods/clothing/init.lua | 228 + mods/clothing/loom.lua | 155 + mods/clothing/textures/clothing_inv_cape.png | Bin 0 -> 227 bytes mods/clothing/textures/clothing_inv_hat.png | Bin 0 -> 232 bytes mods/clothing/textures/clothing_inv_pants.png | Bin 0 -> 245 bytes mods/clothing/textures/clothing_inv_shirt.png | Bin 0 -> 225 bytes .../textures/clothing_loom_background.png | Bin 0 -> 489 bytes .../textures/clothing_loom_bottom.png | Bin 0 -> 336 bytes .../clothing/textures/clothing_loom_front.png | Bin 0 -> 368 bytes .../clothing/textures/clothing_loom_side1.png | Bin 0 -> 368 bytes .../clothing/textures/clothing_loom_side2.png | Bin 0 -> 368 bytes mods/clothing/textures/clothing_loom_top.png | Bin 0 -> 359 bytes mods/clothing/textures/clothing_ui_form.png | Bin 0 -> 7880 bytes mods/clothing/textures/clothing_uv_cape.png | Bin 0 -> 345 bytes mods/clothing/textures/clothing_uv_hat.png | Bin 0 -> 624 bytes mods/clothing/textures/clothing_uv_pants.png | Bin 0 -> 873 bytes mods/clothing/textures/clothing_uv_shirt.png | Bin 0 -> 1670 bytes .../textures/inventory_plus_clothing.png | Bin 0 -> 219 bytes mods/craftguide/LICENSE | 9 + mods/craftguide/README.md | 14 + mods/craftguide/depends.txt | 2 + mods/craftguide/description.txt | 2 + mods/craftguide/init.lua | 588 ++ mods/craftguide/intllib.lua | 45 + mods/craftguide/locale/de.po | 90 + mods/craftguide/locale/ms.po | 91 + mods/craftguide/locale/ru.po | 90 + mods/craftguide/locale/template.pot | 88 + mods/craftguide/mod.conf | 1 + mods/craftguide/textures/craftguide_arrow.png | Bin 0 -> 242 bytes mods/craftguide/textures/craftguide_bg.png | Bin 0 -> 169 bytes mods/craftguide/textures/craftguide_book.png | Bin 0 -> 3128 bytes mods/craftguide/textures/craftguide_fire.png | Bin 0 -> 3131 bytes .../textures/craftguide_furnace.png | Bin 0 -> 3365 bytes .../textures/craftguide_shapeless.png | Bin 0 -> 227 bytes mods/craftguide/textures/craftguide_sign.png | Bin 0 -> 685 bytes .../textures/craftguide_sign_inv.png | Bin 0 -> 685 bytes mods/creative/README.txt | 17 + mods/creative/depends.txt | 2 + mods/creative/init.lua | 74 + mods/creative/inventory.lua | 193 + mods/creative/license.txt | 61 + .../creative/textures/creative_clear_icon.png | Bin 0 -> 708 bytes mods/creative/textures/creative_next_icon.png | Bin 0 -> 727 bytes mods/creative/textures/creative_prev_icon.png | Bin 0 -> 728 bytes .../textures/creative_search_icon.png | Bin 0 -> 1908 bytes .../creative/textures/creative_trash_icon.png | Bin 0 -> 712 bytes mods/default/README.txt | 376 ++ mods/default/aliases.lua | 77 + mods/default/chests.lua | 321 + mods/default/crafting.lua | 1235 ++++ mods/default/craftitems.lua | 349 ++ mods/default/depends.txt | 2 + mods/default/functions.lua | 605 ++ mods/default/furnace.lua | 337 + mods/default/init.lua | 57 + mods/default/item_entity.lua | 74 + mods/default/legacy.lua | 46 + mods/default/license.txt | 155 + mods/default/mapgen.lua | 2272 +++++++ mods/default/models/chest_open.obj | 79 + mods/default/models/torch_ceiling.obj | 58 + mods/default/models/torch_floor.obj | 50 + mods/default/models/torch_wall.obj | 64 + mods/default/nodes.lua | 2858 +++++++++ mods/default/schematics/acacia_bush.mts | Bin 0 -> 114 bytes mods/default/schematics/acacia_log.mts | Bin 0 -> 55 bytes mods/default/schematics/acacia_tree.mts | Bin 0 -> 207 bytes .../schematics/acacia_tree_from_sapling.mts | Bin 0 -> 208 bytes mods/default/schematics/apple_log.mts | Bin 0 -> 88 bytes mods/default/schematics/apple_tree.mts | Bin 0 -> 209 bytes .../schematics/apple_tree_from_sapling.mts | Bin 0 -> 208 bytes mods/default/schematics/aspen_log.mts | Bin 0 -> 120 bytes mods/default/schematics/aspen_tree.mts | Bin 0 -> 174 bytes .../schematics/aspen_tree_from_sapling.mts | Bin 0 -> 174 bytes mods/default/schematics/blueberry_bush.mts | Bin 0 -> 80 bytes mods/default/schematics/bush.mts | Bin 0 -> 99 bytes .../schematics/emergent_jungle_tree.mts | Bin 0 -> 504 bytes .../emergent_jungle_tree_from_sapling.mts | Bin 0 -> 497 bytes mods/default/schematics/jungle_log.mts | Bin 0 -> 94 bytes mods/default/schematics/jungle_tree.mts | Bin 0 -> 255 bytes .../schematics/jungle_tree_from_sapling.mts | Bin 0 -> 247 bytes mods/default/schematics/large_cactus.mts | Bin 0 -> 94 bytes mods/default/schematics/papyrus.mts | Bin 0 -> 73 bytes mods/default/schematics/pine_bush.mts | Bin 0 -> 110 bytes mods/default/schematics/pine_log.mts | Bin 0 -> 93 bytes mods/default/schematics/pine_tree.mts | Bin 0 -> 178 bytes .../schematics/pine_tree_from_sapling.mts | Bin 0 -> 175 bytes mods/default/schematics/small_pine_tree.mts | Bin 0 -> 173 bytes .../small_pine_tree_from_sapling.mts | Bin 0 -> 171 bytes .../snowy_pine_tree_from_sapling.mts | Bin 0 -> 235 bytes .../snowy_small_pine_tree_from_sapling.mts | Bin 0 -> 202 bytes 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_chest_close.ogg | Bin 0 -> 10768 bytes mods/default/sounds/default_chest_open.ogg | Bin 0 -> 11092 bytes mods/default/sounds/default_cool_lava.1.ogg | Bin 0 -> 9583 bytes mods/default/sounds/default_cool_lava.2.ogg | Bin 0 -> 7977 bytes mods/default/sounds/default_cool_lava.3.ogg | Bin 0 -> 6499 bytes mods/default/sounds/default_dig_choppy.ogg | Bin 0 -> 6794 bytes mods/default/sounds/default_dig_cracky.ogg | Bin 0 -> 6628 bytes mods/default/sounds/default_dig_crumbly.ogg | Bin 0 -> 7567 bytes .../sounds/default_dig_dig_immediate.ogg | Bin 0 -> 6714 bytes mods/default/sounds/default_dig_metal.ogg | Bin 0 -> 5245 bytes .../default_dig_oddly_breakable_by_hand.ogg | Bin 0 -> 6940 bytes mods/default/sounds/default_dig_snappy.ogg | Bin 0 -> 7258 bytes .../sounds/default_dirt_footstep.1.ogg | Bin 0 -> 9155 bytes .../sounds/default_dirt_footstep.2.ogg | Bin 0 -> 7553 bytes mods/default/sounds/default_dug_metal.1.ogg | Bin 0 -> 7076 bytes mods/default/sounds/default_dug_metal.2.ogg | Bin 0 -> 7260 bytes mods/default/sounds/default_dug_node.1.ogg | Bin 0 -> 6630 bytes mods/default/sounds/default_dug_node.2.ogg | Bin 0 -> 7863 bytes .../default/sounds/default_glass_footstep.ogg | Bin 0 -> 7094 bytes .../sounds/default_grass_footstep.1.ogg | Bin 0 -> 10273 bytes .../sounds/default_grass_footstep.2.ogg | Bin 0 -> 8759 bytes .../sounds/default_grass_footstep.3.ogg | Bin 0 -> 8473 bytes .../sounds/default_gravel_footstep.1.ogg | Bin 0 -> 7326 bytes .../sounds/default_gravel_footstep.2.ogg | Bin 0 -> 10136 bytes .../sounds/default_gravel_footstep.3.ogg | Bin 0 -> 8086 bytes .../sounds/default_gravel_footstep.4.ogg | Bin 0 -> 9017 bytes .../sounds/default_hard_footstep.1.ogg | Bin 0 -> 4915 bytes .../sounds/default_hard_footstep.2.ogg | Bin 0 -> 4922 bytes .../sounds/default_hard_footstep.3.ogg | Bin 0 -> 4919 bytes mods/default/sounds/default_item_smoke.ogg | Bin 0 -> 6651 bytes .../sounds/default_metal_footstep.1.ogg | Bin 0 -> 6847 bytes .../sounds/default_metal_footstep.2.ogg | Bin 0 -> 6926 bytes .../sounds/default_metal_footstep.3.ogg | Bin 0 -> 6970 bytes mods/default/sounds/default_place_node.1.ogg | Bin 0 -> 8584 bytes mods/default/sounds/default_place_node.2.ogg | Bin 0 -> 8644 bytes mods/default/sounds/default_place_node.3.ogg | Bin 0 -> 8846 bytes .../sounds/default_place_node_hard.1.ogg | Bin 0 -> 6578 bytes .../sounds/default_place_node_hard.2.ogg | Bin 0 -> 5623 bytes .../sounds/default_place_node_metal.1.ogg | Bin 0 -> 7518 bytes .../sounds/default_place_node_metal.2.ogg | Bin 0 -> 7854 bytes .../sounds/default_sand_footstep.1.ogg | Bin 0 -> 11897 bytes .../sounds/default_sand_footstep.2.ogg | Bin 0 -> 9228 bytes .../sounds/default_snow_footstep.1.ogg | Bin 0 -> 7159 bytes .../sounds/default_snow_footstep.2.ogg | Bin 0 -> 8726 bytes .../sounds/default_snow_footstep.3.ogg | Bin 0 -> 8722 bytes .../sounds/default_snow_footstep.4.ogg | Bin 0 -> 6795 bytes .../sounds/default_snow_footstep.5.ogg | Bin 0 -> 8126 bytes mods/default/sounds/default_tool_breaks.1.ogg | Bin 0 -> 6019 bytes mods/default/sounds/default_tool_breaks.2.ogg | Bin 0 -> 8440 bytes mods/default/sounds/default_tool_breaks.3.ogg | Bin 0 -> 6875 bytes .../sounds/default_water_footstep.1.ogg | Bin 0 -> 31719 bytes .../sounds/default_water_footstep.2.ogg | Bin 0 -> 29335 bytes .../sounds/default_water_footstep.3.ogg | Bin 0 -> 32107 bytes .../sounds/default_water_footstep.4.ogg | Bin 0 -> 3974 bytes .../sounds/default_wood_footstep.1.ogg | Bin 0 -> 5967 bytes .../sounds/default_wood_footstep.2.ogg | Bin 0 -> 5772 bytes mods/default/textures/bubble.png | Bin 0 -> 459 bytes mods/default/textures/crack_anylength.png | Bin 0 -> 348 bytes .../textures/default_acacia_bush_sapling.png | Bin 0 -> 151 bytes .../textures/default_acacia_bush_stem.png | Bin 0 -> 476 bytes .../textures/default_acacia_leaves.png | Bin 0 -> 444 bytes .../textures/default_acacia_leaves_simple.png | Bin 0 -> 688 bytes .../textures/default_acacia_sapling.png | Bin 0 -> 359 bytes mods/default/textures/default_acacia_tree.png | Bin 0 -> 579 bytes .../textures/default_acacia_tree_top.png | Bin 0 -> 5010 bytes mods/default/textures/default_acacia_wood.png | Bin 0 -> 261 bytes mods/default/textures/default_apple.png | Bin 0 -> 251 bytes .../default/textures/default_aspen_leaves.png | Bin 0 -> 873 bytes .../textures/default_aspen_sapling.png | Bin 0 -> 320 bytes mods/default/textures/default_aspen_tree.png | Bin 0 -> 4429 bytes .../textures/default_aspen_tree_top.png | Bin 0 -> 656 bytes mods/default/textures/default_aspen_wood.png | Bin 0 -> 4023 bytes mods/default/textures/default_blueberries.png | Bin 0 -> 166 bytes .../default_blueberry_bush_leaves.png | Bin 0 -> 813 bytes .../default_blueberry_bush_sapling.png | Bin 0 -> 204 bytes .../textures/default_blueberry_overlay.png | Bin 0 -> 165 bytes mods/default/textures/default_book.png | Bin 0 -> 204 bytes .../default/textures/default_book_written.png | Bin 0 -> 262 bytes mods/default/textures/default_bookshelf.png | Bin 0 -> 471 bytes .../textures/default_bookshelf_slot.png | Bin 0 -> 140 bytes mods/default/textures/default_brick.png | Bin 0 -> 351 bytes .../default/textures/default_bronze_block.png | Bin 0 -> 356 bytes .../default/textures/default_bronze_ingot.png | Bin 0 -> 224 bytes .../default/textures/default_bush_sapling.png | Bin 0 -> 165 bytes mods/default/textures/default_bush_stem.png | Bin 0 -> 428 bytes mods/default/textures/default_cactus_side.png | Bin 0 -> 314 bytes mods/default/textures/default_cactus_top.png | Bin 0 -> 267 bytes mods/default/textures/default_chest_front.png | Bin 0 -> 423 bytes .../default/textures/default_chest_inside.png | Bin 0 -> 102 bytes mods/default/textures/default_chest_lock.png | Bin 0 -> 469 bytes mods/default/textures/default_chest_side.png | Bin 0 -> 375 bytes mods/default/textures/default_chest_top.png | Bin 0 -> 423 bytes mods/default/textures/default_clay.png | Bin 0 -> 272 bytes mods/default/textures/default_clay_brick.png | Bin 0 -> 160 bytes mods/default/textures/default_clay_lump.png | Bin 0 -> 167 bytes mods/default/textures/default_cloud.png | Bin 0 -> 83 bytes mods/default/textures/default_coal_block.png | Bin 0 -> 240 bytes mods/default/textures/default_coal_lump.png | Bin 0 -> 157 bytes mods/default/textures/default_cobble.png | Bin 0 -> 268 bytes .../textures/default_coniferous_litter.png | Bin 0 -> 873 bytes .../default_coniferous_litter_side.png | Bin 0 -> 371 bytes .../default/textures/default_copper_block.png | Bin 0 -> 359 bytes .../default/textures/default_copper_ingot.png | Bin 0 -> 225 bytes mods/default/textures/default_copper_lump.png | Bin 0 -> 177 bytes mods/default/textures/default_coral_brown.png | Bin 0 -> 401 bytes mods/default/textures/default_coral_cyan.png | Bin 0 -> 202 bytes mods/default/textures/default_coral_green.png | Bin 0 -> 287 bytes .../default/textures/default_coral_orange.png | Bin 0 -> 358 bytes mods/default/textures/default_coral_pink.png | Bin 0 -> 242 bytes .../textures/default_coral_skeleton.png | Bin 0 -> 256 bytes .../textures/default_desert_cobble.png | Bin 0 -> 520 bytes mods/default/textures/default_desert_sand.png | Bin 0 -> 350 bytes .../textures/default_desert_sandstone.png | Bin 0 -> 275 bytes .../default_desert_sandstone_block.png | Bin 0 -> 587 bytes .../default_desert_sandstone_brick.png | Bin 0 -> 630 bytes .../default/textures/default_desert_stone.png | Bin 0 -> 280 bytes .../textures/default_desert_stone_block.png | Bin 0 -> 4368 bytes .../textures/default_desert_stone_brick.png | Bin 0 -> 4420 bytes mods/default/textures/default_diamond.png | Bin 0 -> 313 bytes .../textures/default_diamond_block.png | Bin 0 -> 344 bytes mods/default/textures/default_dirt.png | Bin 0 -> 5889 bytes mods/default/textures/default_dry_grass.png | Bin 0 -> 303 bytes mods/default/textures/default_dry_grass_1.png | Bin 0 -> 219 bytes mods/default/textures/default_dry_grass_2.png | Bin 0 -> 265 bytes mods/default/textures/default_dry_grass_3.png | Bin 0 -> 295 bytes mods/default/textures/default_dry_grass_4.png | Bin 0 -> 316 bytes mods/default/textures/default_dry_grass_5.png | Bin 0 -> 339 bytes .../textures/default_dry_grass_side.png | Bin 0 -> 890 bytes mods/default/textures/default_dry_shrub.png | Bin 0 -> 148 bytes .../default_emergent_jungle_sapling.png | Bin 0 -> 190 bytes .../textures/default_fence_acacia_wood.png | Bin 0 -> 232 bytes .../textures/default_fence_aspen_wood.png | Bin 0 -> 4170 bytes .../textures/default_fence_junglewood.png | Bin 0 -> 231 bytes .../textures/default_fence_overlay.png | Bin 0 -> 219 bytes .../textures/default_fence_pine_wood.png | Bin 0 -> 233 bytes .../default_fence_rail_acacia_wood.png | Bin 0 -> 444 bytes .../default_fence_rail_aspen_wood.png | Bin 0 -> 235 bytes .../default_fence_rail_junglewood.png | Bin 0 -> 230 bytes .../textures/default_fence_rail_overlay.png | Bin 0 -> 141 bytes .../textures/default_fence_rail_pine_wood.png | Bin 0 -> 235 bytes .../textures/default_fence_rail_wood.png | Bin 0 -> 230 bytes mods/default/textures/default_fence_wood.png | Bin 0 -> 230 bytes mods/default/textures/default_fern_1.png | Bin 0 -> 370 bytes mods/default/textures/default_fern_2.png | Bin 0 -> 691 bytes mods/default/textures/default_fern_3.png | Bin 0 -> 1172 bytes mods/default/textures/default_flint.png | Bin 0 -> 397 bytes mods/default/textures/default_footprint.png | Bin 0 -> 466 bytes .../textures/default_furnace_bottom.png | Bin 0 -> 274 bytes .../textures/default_furnace_fire_bg.png | Bin 0 -> 129 bytes .../textures/default_furnace_fire_fg.png | Bin 0 -> 558 bytes .../textures/default_furnace_front.png | Bin 0 -> 307 bytes .../textures/default_furnace_front_active.png | Bin 0 -> 1024 bytes .../default/textures/default_furnace_side.png | Bin 0 -> 296 bytes mods/default/textures/default_furnace_top.png | Bin 0 -> 274 bytes mods/default/textures/default_glass.png | Bin 0 -> 270 bytes .../default/textures/default_glass_detail.png | Bin 0 -> 125 bytes mods/default/textures/default_gold_block.png | Bin 0 -> 483 bytes mods/default/textures/default_gold_ingot.png | Bin 0 -> 225 bytes mods/default/textures/default_gold_lump.png | Bin 0 -> 165 bytes mods/default/textures/default_grass.png | Bin 0 -> 377 bytes mods/default/textures/default_grass_1.png | Bin 0 -> 300 bytes mods/default/textures/default_grass_2.png | Bin 0 -> 336 bytes mods/default/textures/default_grass_3.png | Bin 0 -> 418 bytes mods/default/textures/default_grass_4.png | Bin 0 -> 503 bytes mods/default/textures/default_grass_5.png | Bin 0 -> 628 bytes mods/default/textures/default_grass_side.png | Bin 0 -> 779 bytes mods/default/textures/default_gravel.png | Bin 0 -> 4715 bytes mods/default/textures/default_ice.png | Bin 0 -> 4114 bytes mods/default/textures/default_iron_lump.png | Bin 0 -> 160 bytes mods/default/textures/default_item_smoke.png | Bin 0 -> 307 bytes mods/default/textures/default_junglegrass.png | Bin 0 -> 197 bytes .../default/textures/default_jungleleaves.png | Bin 0 -> 425 bytes .../textures/default_jungleleaves_simple.png | Bin 0 -> 417 bytes .../textures/default_junglesapling.png | Bin 0 -> 190 bytes mods/default/textures/default_jungletree.png | Bin 0 -> 5592 bytes .../textures/default_jungletree_top.png | Bin 0 -> 5175 bytes mods/default/textures/default_junglewood.png | Bin 0 -> 260 bytes mods/default/textures/default_kelp.png | Bin 0 -> 312 bytes mods/default/textures/default_key.png | Bin 0 -> 415 bytes .../default/textures/default_key_skeleton.png | Bin 0 -> 423 bytes .../default/textures/default_ladder_steel.png | Bin 0 -> 587 bytes mods/default/textures/default_ladder_wood.png | Bin 0 -> 467 bytes mods/default/textures/default_lava.png | Bin 0 -> 5706 bytes .../default_lava_flowing_animated.png | Bin 0 -> 2315 bytes .../textures/default_lava_source_animated.png | Bin 0 -> 2193 bytes mods/default/textures/default_leaves.png | Bin 0 -> 773 bytes .../textures/default_leaves_simple.png | Bin 0 -> 838 bytes .../textures/default_marram_grass_1.png | Bin 0 -> 253 bytes .../textures/default_marram_grass_2.png | Bin 0 -> 447 bytes .../textures/default_marram_grass_3.png | Bin 0 -> 341 bytes mods/default/textures/default_mese_block.png | Bin 0 -> 188 bytes .../default/textures/default_mese_crystal.png | Bin 0 -> 222 bytes .../default_mese_crystal_fragment.png | Bin 0 -> 121 bytes .../textures/default_mese_post_light_side.png | Bin 0 -> 353 bytes .../default_mese_post_light_side_dark.png | Bin 0 -> 353 bytes .../textures/default_mese_post_light_top.png | Bin 0 -> 128 bytes mods/default/textures/default_meselamp.png | Bin 0 -> 5103 bytes .../default/textures/default_mineral_coal.png | Bin 0 -> 141 bytes .../textures/default_mineral_copper.png | Bin 0 -> 134 bytes .../textures/default_mineral_diamond.png | Bin 0 -> 262 bytes .../default/textures/default_mineral_gold.png | Bin 0 -> 126 bytes .../default/textures/default_mineral_iron.png | Bin 0 -> 172 bytes .../default/textures/default_mineral_mese.png | Bin 0 -> 546 bytes mods/default/textures/default_mineral_tin.png | Bin 0 -> 171 bytes mods/default/textures/default_moss.png | Bin 0 -> 485 bytes mods/default/textures/default_moss_side.png | Bin 0 -> 328 bytes mods/default/textures/default_mossycobble.png | Bin 0 -> 315 bytes mods/default/textures/default_obsidian.png | Bin 0 -> 155 bytes .../textures/default_obsidian_block.png | Bin 0 -> 3913 bytes .../textures/default_obsidian_brick.png | Bin 0 -> 268 bytes .../textures/default_obsidian_glass.png | Bin 0 -> 128 bytes .../default_obsidian_glass_detail.png | Bin 0 -> 1167 bytes .../textures/default_obsidian_shard.png | Bin 0 -> 110 bytes mods/default/textures/default_paper.png | Bin 0 -> 197 bytes mods/default/textures/default_papyrus.png | Bin 0 -> 234 bytes mods/default/textures/default_permafrost.png | Bin 0 -> 283 bytes .../textures/default_pine_bush_sapling.png | Bin 0 -> 166 bytes .../textures/default_pine_bush_stem.png | Bin 0 -> 280 bytes .../default/textures/default_pine_needles.png | Bin 0 -> 766 bytes .../default/textures/default_pine_sapling.png | Bin 0 -> 210 bytes mods/default/textures/default_pine_tree.png | Bin 0 -> 280 bytes .../textures/default_pine_tree_top.png | Bin 0 -> 574 bytes mods/default/textures/default_pine_wood.png | Bin 0 -> 223 bytes .../textures/default_rainforest_litter.png | Bin 0 -> 940 bytes .../default_rainforest_litter_side.png | Bin 0 -> 497 bytes mods/default/textures/default_river_water.png | Bin 0 -> 716 bytes .../default_river_water_flowing_animated.png | Bin 0 -> 5851 bytes .../default_river_water_source_animated.png | Bin 0 -> 4935 bytes mods/default/textures/default_sand.png | Bin 0 -> 253 bytes mods/default/textures/default_sandstone.png | Bin 0 -> 258 bytes .../textures/default_sandstone_block.png | Bin 0 -> 4548 bytes .../textures/default_sandstone_brick.png | Bin 0 -> 439 bytes mods/default/textures/default_sapling.png | Bin 0 -> 190 bytes mods/default/textures/default_sign_steel.png | Bin 0 -> 537 bytes .../textures/default_sign_wall_steel.png | Bin 0 -> 550 bytes .../textures/default_sign_wall_wood.png | Bin 0 -> 758 bytes mods/default/textures/default_sign_wood.png | Bin 0 -> 770 bytes mods/default/textures/default_silver_sand.png | Bin 0 -> 4069 bytes .../textures/default_silver_sandstone.png | Bin 0 -> 211 bytes .../default_silver_sandstone_block.png | Bin 0 -> 290 bytes .../default_silver_sandstone_brick.png | Bin 0 -> 314 bytes mods/default/textures/default_snow.png | Bin 0 -> 522 bytes mods/default/textures/default_snow_side.png | Bin 0 -> 848 bytes mods/default/textures/default_snowball.png | Bin 0 -> 446 bytes mods/default/textures/default_steel_block.png | Bin 0 -> 357 bytes mods/default/textures/default_steel_ingot.png | Bin 0 -> 201 bytes mods/default/textures/default_stick.png | Bin 0 -> 130 bytes mods/default/textures/default_stone.png | Bin 0 -> 233 bytes mods/default/textures/default_stone_block.png | Bin 0 -> 498 bytes mods/default/textures/default_stone_brick.png | Bin 0 -> 4196 bytes mods/default/textures/default_stones.png | Bin 0 -> 411 bytes mods/default/textures/default_tin_block.png | Bin 0 -> 274 bytes mods/default/textures/default_tin_ingot.png | Bin 0 -> 198 bytes mods/default/textures/default_tin_lump.png | Bin 0 -> 166 bytes .../textures/default_tool_bronzeaxe.png | Bin 0 -> 192 bytes .../textures/default_tool_bronzepick.png | Bin 0 -> 210 bytes .../textures/default_tool_bronzeshovel.png | Bin 0 -> 233 bytes .../textures/default_tool_bronzesword.png | Bin 0 -> 168 bytes .../textures/default_tool_diamondaxe.png | Bin 0 -> 195 bytes .../textures/default_tool_diamondpick.png | Bin 0 -> 219 bytes .../textures/default_tool_diamondshovel.png | Bin 0 -> 222 bytes .../textures/default_tool_diamondsword.png | Bin 0 -> 177 bytes .../default/textures/default_tool_meseaxe.png | Bin 0 -> 205 bytes .../textures/default_tool_mesepick.png | Bin 0 -> 201 bytes .../textures/default_tool_meseshovel.png | Bin 0 -> 213 bytes .../textures/default_tool_mesesword.png | Bin 0 -> 194 bytes .../textures/default_tool_steelaxe.png | Bin 0 -> 199 bytes .../textures/default_tool_steelpick.png | Bin 0 -> 202 bytes .../textures/default_tool_steelshovel.png | Bin 0 -> 213 bytes .../textures/default_tool_steelsword.png | Bin 0 -> 168 bytes .../textures/default_tool_stoneaxe.png | Bin 0 -> 177 bytes .../textures/default_tool_stonepick.png | Bin 0 -> 210 bytes .../textures/default_tool_stoneshovel.png | Bin 0 -> 221 bytes .../textures/default_tool_stonesword.png | Bin 0 -> 183 bytes .../default/textures/default_tool_woodaxe.png | Bin 0 -> 168 bytes .../textures/default_tool_woodpick.png | Bin 0 -> 181 bytes .../textures/default_tool_woodshovel.png | Bin 0 -> 184 bytes .../textures/default_tool_woodsword.png | Bin 0 -> 159 bytes .../textures/default_torch_animated.png | Bin 0 -> 833 bytes .../default_torch_on_ceiling_animated.png | Bin 0 -> 916 bytes .../textures/default_torch_on_floor.png | Bin 0 -> 214 bytes .../default_torch_on_floor_animated.png | Bin 0 -> 830 bytes mods/default/textures/default_tree.png | Bin 0 -> 309 bytes mods/default/textures/default_tree_top.png | Bin 0 -> 659 bytes mods/default/textures/default_water.png | Bin 0 -> 257 bytes .../default_water_flowing_animated.png | Bin 0 -> 1607 bytes .../default_water_source_animated.png | Bin 0 -> 1283 bytes mods/default/textures/default_wood.png | Bin 0 -> 218 bytes mods/default/textures/gui_formbg.png | Bin 0 -> 679 bytes .../default/textures/gui_furnace_arrow_bg.png | Bin 0 -> 324 bytes .../default/textures/gui_furnace_arrow_fg.png | Bin 0 -> 251 bytes mods/default/textures/gui_hb_bg.png | Bin 0 -> 98 bytes mods/default/textures/heart.png | Bin 0 -> 14830 bytes mods/default/textures/wieldhand.png | Bin 0 -> 129 bytes mods/default/tools.lua | 442 ++ mods/default/torch.lua | 131 + mods/default/trees.lua | 590 ++ mods/doors/README.txt | 85 + mods/doors/depends.txt | 2 + mods/doors/init.lua | 861 +++ mods/doors/license.txt | 164 + mods/doors/models/door_a.obj | 40 + mods/doors/models/door_b.obj | 40 + mods/doors/models/doors_fencegate_closed.obj | 106 + mods/doors/models/doors_fencegate_open.obj | 112 + mods/doors/sounds/doors_door_close.ogg | Bin 0 -> 6161 bytes mods/doors/sounds/doors_door_open.ogg | Bin 0 -> 6184 bytes mods/doors/sounds/doors_fencegate_close.ogg | Bin 0 -> 10032 bytes mods/doors/sounds/doors_fencegate_open.ogg | Bin 0 -> 8942 bytes mods/doors/sounds/doors_glass_door_close.ogg | Bin 0 -> 7289 bytes mods/doors/sounds/doors_glass_door_open.ogg | Bin 0 -> 7288 bytes mods/doors/sounds/doors_steel_door_close.ogg | Bin 0 -> 8574 bytes mods/doors/sounds/doors_steel_door_open.ogg | Bin 0 -> 5510 bytes mods/doors/textures/doors_blank.png | Bin 0 -> 95 bytes mods/doors/textures/doors_door_glass.png | Bin 0 -> 625 bytes .../textures/doors_door_obsidian_glass.png | Bin 0 -> 420 bytes mods/doors/textures/doors_door_steel.png | Bin 0 -> 1099 bytes mods/doors/textures/doors_door_wood.png | Bin 0 -> 1662 bytes mods/doors/textures/doors_item_glass.png | Bin 0 -> 169 bytes .../textures/doors_item_obsidian_glass.png | Bin 0 -> 186 bytes mods/doors/textures/doors_item_steel.png | Bin 0 -> 132 bytes mods/doors/textures/doors_item_wood.png | Bin 0 -> 130 bytes mods/doors/textures/doors_trapdoor.png | Bin 0 -> 257 bytes mods/doors/textures/doors_trapdoor_side.png | Bin 0 -> 169 bytes mods/doors/textures/doors_trapdoor_steel.png | Bin 0 -> 153 bytes .../textures/doors_trapdoor_steel_side.png | Bin 0 -> 101 bytes mods/dresser/AUTHORS | 7 + mods/dresser/README | 3 + mods/dresser/init.lua | 144 + mods/dresser/skins.lua | 37 + mods/dresser/textures/dresser_dresser.png | Bin 0 -> 571 bytes mods/dungeon_loot/README.txt | 11 + mods/dungeon_loot/depends.txt | 1 + mods/dungeon_loot/init.lua | 8 + mods/dungeon_loot/license.txt | 24 + mods/dungeon_loot/loot.lua | 62 + mods/dungeon_loot/mapgen.lua | 168 + mods/dye/README.txt | 13 + mods/dye/depends.txt | 0 mods/dye/init.lua | 97 + mods/dye/license.txt | 60 + mods/dye/textures/dye_black.png | Bin 0 -> 169 bytes mods/dye/textures/dye_blue.png | Bin 0 -> 161 bytes mods/dye/textures/dye_brown.png | Bin 0 -> 164 bytes mods/dye/textures/dye_cyan.png | Bin 0 -> 166 bytes mods/dye/textures/dye_dark_green.png | Bin 0 -> 168 bytes mods/dye/textures/dye_dark_grey.png | Bin 0 -> 169 bytes mods/dye/textures/dye_green.png | Bin 0 -> 168 bytes mods/dye/textures/dye_grey.png | Bin 0 -> 169 bytes mods/dye/textures/dye_magenta.png | Bin 0 -> 169 bytes mods/dye/textures/dye_orange.png | Bin 0 -> 169 bytes mods/dye/textures/dye_pink.png | Bin 0 -> 169 bytes mods/dye/textures/dye_red.png | Bin 0 -> 169 bytes mods/dye/textures/dye_violet.png | Bin 0 -> 169 bytes mods/dye/textures/dye_white.png | Bin 0 -> 170 bytes mods/dye/textures/dye_yellow.png | Bin 0 -> 169 bytes mods/farming/README.txt | 40 + mods/farming/api.lua | 391 ++ mods/farming/depends.txt | 3 + mods/farming/hoes.lua | 49 + mods/farming/init.lua | 139 + mods/farming/license.txt | 61 + mods/farming/nodes.lua | 190 + mods/farming/textures/farming_bread.png | Bin 0 -> 393 bytes mods/farming/textures/farming_cotton.png | Bin 0 -> 316 bytes mods/farming/textures/farming_cotton_1.png | Bin 0 -> 110 bytes mods/farming/textures/farming_cotton_2.png | Bin 0 -> 120 bytes mods/farming/textures/farming_cotton_3.png | Bin 0 -> 144 bytes mods/farming/textures/farming_cotton_4.png | Bin 0 -> 150 bytes mods/farming/textures/farming_cotton_5.png | Bin 0 -> 159 bytes mods/farming/textures/farming_cotton_6.png | Bin 0 -> 164 bytes mods/farming/textures/farming_cotton_7.png | Bin 0 -> 170 bytes mods/farming/textures/farming_cotton_8.png | Bin 0 -> 196 bytes mods/farming/textures/farming_cotton_seed.png | Bin 0 -> 150 bytes .../textures/farming_desert_sand_soil.png | Bin 0 -> 467 bytes .../textures/farming_desert_sand_soil_wet.png | Bin 0 -> 351 bytes .../farming_desert_sand_soil_wet_side.png | Bin 0 -> 272 bytes mods/farming/textures/farming_flour.png | Bin 0 -> 159 bytes mods/farming/textures/farming_soil.png | Bin 0 -> 706 bytes mods/farming/textures/farming_soil_wet.png | Bin 0 -> 677 bytes .../textures/farming_soil_wet_side.png | Bin 0 -> 96 bytes mods/farming/textures/farming_straw.png | Bin 0 -> 887 bytes mods/farming/textures/farming_string.png | Bin 0 -> 166 bytes .../textures/farming_tool_bronzehoe.png | Bin 0 -> 212 bytes .../textures/farming_tool_diamondhoe.png | Bin 0 -> 183 bytes .../farming/textures/farming_tool_mesehoe.png | Bin 0 -> 181 bytes .../textures/farming_tool_steelhoe.png | Bin 0 -> 181 bytes .../textures/farming_tool_stonehoe.png | Bin 0 -> 185 bytes .../farming/textures/farming_tool_woodhoe.png | Bin 0 -> 171 bytes mods/farming/textures/farming_wheat.png | Bin 0 -> 241 bytes mods/farming/textures/farming_wheat_1.png | Bin 0 -> 120 bytes mods/farming/textures/farming_wheat_2.png | Bin 0 -> 142 bytes mods/farming/textures/farming_wheat_3.png | Bin 0 -> 172 bytes mods/farming/textures/farming_wheat_4.png | Bin 0 -> 191 bytes mods/farming/textures/farming_wheat_5.png | Bin 0 -> 218 bytes mods/farming/textures/farming_wheat_6.png | Bin 0 -> 234 bytes mods/farming/textures/farming_wheat_7.png | Bin 0 -> 253 bytes mods/farming/textures/farming_wheat_8.png | Bin 0 -> 310 bytes mods/farming/textures/farming_wheat_seed.png | Bin 0 -> 141 bytes mods/fire/README.txt | 35 + mods/fire/depends.txt | 1 + mods/fire/init.lua | 355 ++ mods/fire/license.txt | 84 + mods/fire/sounds/fire_extinguish_flame.1.ogg | Bin 0 -> 9583 bytes mods/fire/sounds/fire_extinguish_flame.2.ogg | Bin 0 -> 7977 bytes mods/fire/sounds/fire_extinguish_flame.3.ogg | Bin 0 -> 6499 bytes mods/fire/sounds/fire_fire.1.ogg | Bin 0 -> 57957 bytes mods/fire/sounds/fire_fire.2.ogg | Bin 0 -> 60497 bytes mods/fire/sounds/fire_fire.3.ogg | Bin 0 -> 56781 bytes mods/fire/sounds/fire_flint_and_steel.ogg | Bin 0 -> 10443 bytes mods/fire/sounds/fire_large.ogg | Bin 0 -> 62808 bytes mods/fire/sounds/fire_small.ogg | Bin 0 -> 50004 bytes mods/fire/textures/fire_basic_flame.png | Bin 0 -> 646 bytes .../textures/fire_basic_flame_animated.png | Bin 0 -> 1051 bytes mods/fire/textures/fire_flint_steel.png | Bin 0 -> 459 bytes mods/fireflies/README.txt | 22 + mods/fireflies/depends.txt | 2 + mods/fireflies/init.lua | 287 + mods/fireflies/license.txt | 58 + mods/fireflies/textures/fireflies_bottle.png | Bin 0 -> 172 bytes .../textures/fireflies_bottle_animated.png | Bin 0 -> 205 bytes mods/fireflies/textures/fireflies_bugnet.png | Bin 0 -> 192 bytes mods/fireflies/textures/fireflies_firefly.png | Bin 0 -> 113 bytes .../textures/fireflies_firefly_animated.png | Bin 0 -> 121 bytes mods/flowers/README.txt | 30 + mods/flowers/depends.txt | 1 + mods/flowers/init.lua | 321 + mods/flowers/license.txt | 63 + mods/flowers/mapgen.lua | 182 + .../textures/flowers_chrysanthemum_green.png | Bin 0 -> 236 bytes .../textures/flowers_dandelion_white.png | Bin 0 -> 142 bytes .../textures/flowers_dandelion_yellow.png | Bin 0 -> 138 bytes mods/flowers/textures/flowers_geranium.png | Bin 0 -> 163 bytes .../textures/flowers_mushroom_brown.png | Bin 0 -> 155 bytes .../flowers/textures/flowers_mushroom_red.png | Bin 0 -> 167 bytes mods/flowers/textures/flowers_rose.png | Bin 0 -> 136 bytes mods/flowers/textures/flowers_tulip.png | Bin 0 -> 143 bytes mods/flowers/textures/flowers_tulip_black.png | Bin 0 -> 172 bytes mods/flowers/textures/flowers_viola.png | Bin 0 -> 153 bytes mods/flowers/textures/flowers_waterlily.png | Bin 0 -> 690 bytes .../textures/flowers_waterlily_bottom.png | Bin 0 -> 327 bytes mods/give_initial_stuff/README.txt | 8 + mods/give_initial_stuff/depends.txt | 2 + mods/give_initial_stuff/init.lua | 44 + mods/give_initial_stuff/license.txt | 25 + mods/jas0/chatcommands.lua | 33 + mods/jas0/classes.lua | 506 ++ mods/jas0/depends.txt | 3 + mods/jas0/init.lua | 104 + mods/jas0/paper.lua | 93 + mods/jas0/players.lua | 164 + mods/jas0/recipes.lua | 63 + mods/jas0/sounds/default_chest_close.ogg | Bin 0 -> 10444 bytes mods/jas0/sounds/default_dig_crumbly.ogg | Bin 0 -> 6069 bytes mods/jas0/sounds/default_dig_snappy.ogg | Bin 0 -> 5853 bytes mods/jas0/sounds/default_dirt_footstep.1.ogg | Bin 0 -> 7051 bytes mods/jas0/sounds/default_dirt_footstep.2.ogg | Bin 0 -> 6466 bytes mods/jas0/sounds/default_grass_footstep.1.ogg | Bin 0 -> 6978 bytes mods/jas0/sounds/default_grass_footstep.2.ogg | Bin 0 -> 7119 bytes mods/jas0/sounds/default_grass_footstep.3.ogg | Bin 0 -> 7118 bytes mods/jas0/sounds/doors_door_close.ogg | Bin 0 -> 7051 bytes mods/jas0/sounds/doors_door_open.ogg | Bin 0 -> 7201 bytes mods/jas0/sounds/doors_fencegate_close.ogg | Bin 0 -> 11779 bytes mods/jas0/sounds/doors_fencegate_open.ogg | Bin 0 -> 10291 bytes mods/jas0/sounds/doors_glass_door_close.ogg | Bin 0 -> 7483 bytes mods/jas0/sounds/doors_glass_door_open.ogg | Bin 0 -> 7288 bytes mods/jas0/sounds/doors_steel_door_close.ogg | Bin 0 -> 9832 bytes mods/jas0/sounds/doors_steel_door_open.ogg | Bin 0 -> 6634 bytes mods/jas0/sounds/xdecor_bouncy.ogg | Bin 0 -> 5131 bytes mods/jas0/textures/crosshair.png | Bin 0 -> 194 bytes mods/jas0/textures/empty.png | Bin 0 -> 174 bytes mods/jas0/ui.lua | 116 + mods/mailbox/LICENSE | 682 ++ mods/mailbox/LICENSE.xdecor | 39 + mods/mailbox/README | 3 + mods/mailbox/depends.txt | 1 + mods/mailbox/init.lua | 102 + mods/mailbox/textures/mailbox_blank16.png | Bin 0 -> 82 bytes mods/mailbox/textures/mailbox_botton.png | Bin 0 -> 116 bytes mods/mailbox/textures/mailbox_logo.png | Bin 0 -> 196 bytes mods/mailbox/textures/mailbox_side.png | Bin 0 -> 176 bytes mods/mailbox/textures/mailbox_top.png | Bin 0 -> 116 bytes mods/mechanisms/LICENSE.txt | 682 ++ mods/mechanisms/README.txt | 22 + mods/mechanisms/depends.txt | 1 + mods/mechanisms/init.lua | 156 + mods/mechanisms/mod.conf | 1 + .../textures/mechanisms_lever_off.png | Bin 0 -> 270 bytes .../textures/mechanisms_lever_on.png | Bin 0 -> 273 bytes .../textures/mechanisms_pressure_stone.png | Bin 0 -> 258 bytes mods/mobs/AUTHORS | 6 + mods/mobs/LICENSE.sounds | 7 + mods/mobs/LICENSE.zombies | 6 + mods/mobs/api.lua | 3918 ++++++++++++ mods/mobs/api.txt | 742 +++ mods/mobs/bunny.lua | 93 + mods/mobs/crafts.lua | 113 + mods/mobs/depends.txt | 9 + mods/mobs/description.txt | 1 + mods/mobs/dungeon_master.lua | 112 + mods/mobs/init.lua | 59 + mods/mobs/intllib.lua | 45 + mods/mobs/kitten.lua | 95 + mods/mobs/license.txt | 21 + mods/mobs/locale/de_DE.po | 131 + mods/mobs/locale/es.po | 128 + mods/mobs/locale/fr.po | 129 + mods/mobs/locale/it.po | 131 + mods/mobs/locale/ms.po | 131 + mods/mobs/locale/pt.po | 133 + mods/mobs/locale/ru.po | 129 + mods/mobs/locale/template.pot | 128 + mods/mobs/locale/tr.po | 133 + mods/mobs/mod.conf | 1 + mods/mobs/models/Zombie.blend | Bin 0 -> 577280 bytes mods/mobs/models/Zombie_base.blend | Bin 0 -> 689864 bytes mods/mobs/models/Zombie_crawler.blend | Bin 0 -> 569088 bytes mods/mobs/models/Zombie_one-arm.blend | Bin 0 -> 666508 bytes mods/mobs/models/creatures_mob.x | 5524 +++++++++++++++++ mods/mobs/models/mobs_bunny.b3d | Bin 0 -> 106937 bytes mods/mobs/models/mobs_dungeon_master.b3d | Bin 0 -> 26289 bytes mods/mobs/models/mobs_kitten.b3d | Bin 0 -> 98176 bytes mods/mobs/models/mobs_oerkki.b3d | Bin 0 -> 42149 bytes mods/mobs/models/mobs_rat.b3d | Bin 0 -> 6956 bytes mods/mobs/models/mobs_sheep.b3d | Bin 0 -> 71405 bytes mods/mobs/models/mobs_sheep_shaved.b3d | Bin 0 -> 55932 bytes mods/mobs/models/zombie_crawler.b3d | Bin 0 -> 31122 bytes mods/mobs/models/zombie_normal.b3d | Bin 0 -> 49866 bytes mods/mobs/models/zombie_one-arm.b3d | Bin 0 -> 27180 bytes mods/mobs/nodes.lua | 131 + mods/mobs/npc.lua | 203 + mods/mobs/oerkki.lua | 50 + mods/mobs/rat.lua | 39 + mods/mobs/readme.MD | 83 + mods/mobs/settingtypes.txt | 29 + mods/mobs/sheep.lua | 171 + mods/mobs/sounds/mobs_dungeonmaster.ogg | Bin 0 -> 12624 bytes mods/mobs/sounds/mobs_fireball.ogg | Bin 0 -> 22342 bytes mods/mobs/sounds/mobs_kitten.ogg | Bin 0 -> 10020 bytes mods/mobs/sounds/mobs_oerkki.ogg | Bin 0 -> 35208 bytes mods/mobs/sounds/mobs_punch.ogg | Bin 0 -> 5946 bytes mods/mobs/sounds/mobs_rat.1.ogg | Bin 0 -> 9584 bytes mods/mobs/sounds/mobs_rat.2.ogg | Bin 0 -> 9564 bytes mods/mobs/sounds/mobs_sheep.1.ogg | Bin 0 -> 8745 bytes mods/mobs/sounds/mobs_sheep.2.ogg | Bin 0 -> 9499 bytes mods/mobs/sounds/mobs_spell.ogg | Bin 0 -> 15205 bytes mods/mobs/sounds/mobs_swing.ogg | Bin 0 -> 6895 bytes mods/mobs/sounds/mobs_zombie.1.ogg | Bin 0 -> 7362 bytes mods/mobs/sounds/mobs_zombie.2.ogg | Bin 0 -> 5166 bytes mods/mobs/sounds/mobs_zombie.3.ogg | Bin 0 -> 6693 bytes mods/mobs/sounds/mobs_zombie.4.ogg | Bin 0 -> 16893 bytes mods/mobs/sounds/mobs_zombie.5.ogg | Bin 0 -> 32207 bytes mods/mobs/sounds/mobs_zombie.6.ogg | Bin 0 -> 27143 bytes mods/mobs/sounds/mobs_zombie_death.ogg | Bin 0 -> 6047 bytes mods/mobs/sounds/mobs_zombie_hit.ogg | Bin 0 -> 5516 bytes mods/mobs/textures/mobs_blood.png | Bin 0 -> 267 bytes mods/mobs/textures/mobs_bunny_brown.png | Bin 0 -> 999 bytes mods/mobs/textures/mobs_bunny_evil.png | Bin 0 -> 809 bytes mods/mobs/textures/mobs_bunny_grey.png | Bin 0 -> 771 bytes mods/mobs/textures/mobs_bunny_inv.png | Bin 0 -> 466 bytes mods/mobs/textures/mobs_bunny_white.png | Bin 0 -> 809 bytes mods/mobs/textures/mobs_chicken_egg.png | Bin 0 -> 235 bytes .../textures/mobs_chicken_egg_overlay.png | Bin 0 -> 191 bytes mods/mobs/textures/mobs_dungeon_master.png | Bin 0 -> 1906 bytes mods/mobs/textures/mobs_dungeon_master2.png | Bin 0 -> 1195 bytes mods/mobs/textures/mobs_dungeon_master3.png | Bin 0 -> 1963 bytes mods/mobs/textures/mobs_fireball.png | Bin 0 -> 220 bytes mods/mobs/textures/mobs_kitten_ginger.png | Bin 0 -> 440 bytes mods/mobs/textures/mobs_kitten_inv.png | Bin 0 -> 377 bytes mods/mobs/textures/mobs_kitten_sandy.png | Bin 0 -> 404 bytes mods/mobs/textures/mobs_kitten_splotchy.png | Bin 0 -> 456 bytes mods/mobs/textures/mobs_kitten_striped.png | Bin 0 -> 416 bytes mods/mobs/textures/mobs_leather.png | Bin 0 -> 196 bytes mods/mobs/textures/mobs_meat.png | Bin 0 -> 411 bytes mods/mobs/textures/mobs_meat_raw.png | Bin 0 -> 426 bytes mods/mobs/textures/mobs_nametag.png | Bin 0 -> 247 bytes mods/mobs/textures/mobs_npc.png | Bin 0 -> 901 bytes mods/mobs/textures/mobs_npc2.png | Bin 0 -> 1018 bytes mods/mobs/textures/mobs_npc_baby.png | Bin 0 -> 684 bytes mods/mobs/textures/mobs_oerkki.png | Bin 0 -> 1727 bytes mods/mobs/textures/mobs_oerkki2.png | Bin 0 -> 1789 bytes mods/mobs/textures/mobs_rat.png | Bin 0 -> 1056 bytes mods/mobs/textures/mobs_rat2.png | Bin 0 -> 834 bytes mods/mobs/textures/mobs_rat_inventory.png | Bin 0 -> 565 bytes mods/mobs/textures/mobs_rotten_flesh.png | Bin 0 -> 461 bytes mods/mobs/textures/mobs_shears.png | Bin 0 -> 224 bytes mods/mobs/textures/mobs_sheep_base.png | Bin 0 -> 635 bytes mods/mobs/textures/mobs_sheep_shaved.png | Bin 0 -> 983 bytes mods/mobs/textures/mobs_sheep_wool.png | Bin 0 -> 1028 bytes mods/mobs/textures/mobs_zombie.png | Bin 0 -> 2145 bytes mods/mobs/textures/mobs_zombie_head.png | Bin 0 -> 168 bytes mods/mobs/zombies.lua | 213 + mods/multiskin/LICENSE | 21 + mods/multiskin/README.md | 51 + mods/multiskin/depends.txt | 2 + mods/multiskin/description.txt | 2 + mods/multiskin/init.lua | 311 + mods/multiskin/mod.conf | 1 + mods/multiskin/models/multiskin.b3d | Bin 0 -> 113954 bytes mods/multiskin/models/multiskin.blend | Bin 0 -> 713976 bytes mods/multiskin/screenshot.png | Bin 0 -> 156727 bytes mods/multiskin/textures/multiskin_blass.png | Bin 0 -> 291 bytes .../textures/multiskin_blass_inv.png | Bin 0 -> 219 bytes .../textures/multiskin_blockcolor.png | Bin 0 -> 4598 bytes .../textures/multiskin_blockcolor_inv.png | Bin 0 -> 1353 bytes mods/multiskin/textures/multiskin_cheapie.png | Bin 0 -> 643 bytes .../textures/multiskin_cheapie_inv.png | Bin 0 -> 246 bytes mods/multiskin/textures/multiskin_female.png | Bin 0 -> 1164 bytes mods/multiskin/textures/multiskin_male.png | Bin 0 -> 1478 bytes mods/multiskin/textures/multiskin_me_only.png | Bin 0 -> 2211 bytes .../textures/multiskin_me_only_inv.png | Bin 0 -> 686 bytes .../textures/multiskin_sam_ii_winter.png | Bin 0 -> 3158 bytes .../textures/multiskin_sam_ii_winter_inv.png | Bin 0 -> 1012 bytes .../textures/multiskin_temerlime.png | Bin 0 -> 1162 bytes .../textures/multiskin_temerlime_inv.png | Bin 0 -> 389 bytes .../multiskin/textures/multiskin_urotsuki.png | Bin 0 -> 764 bytes .../textures/multiskin_urotsuki_inv.png | Bin 0 -> 292 bytes mods/multiskin/textures/skins_here.txt | 1 + mods/player_api/README.txt | 32 + mods/player_api/api.lua | 139 + mods/player_api/init.lua | 34 + mods/player_api/license.txt | 84 + mods/player_api/models/character.b3d | Bin 0 -> 73433 bytes mods/player_api/models/character.blend | Bin 0 -> 698016 bytes mods/player_api/models/character.png | Bin 0 -> 2754 bytes mods/player_api/sounds/player_damage.ogg | Bin 0 -> 6176 bytes mods/player_api/textures/gui_hotbar.png | Bin 0 -> 411 bytes .../textures/gui_hotbar_selected.png | Bin 0 -> 175 bytes mods/player_api/textures/player.png | Bin 0 -> 142 bytes mods/player_api/textures/player_back.png | Bin 0 -> 140 bytes mods/protector/README.md | 121 + mods/protector/admin.lua | 146 + mods/protector/depends.txt | 4 + mods/protector/description.txt | 1 + mods/protector/doors_chest.lua | 689 ++ mods/protector/hud.lua | 61 + mods/protector/init.lua | 667 ++ mods/protector/intllib.lua | 45 + mods/protector/license.txt | 21 + mods/protector/locale/de.po | 196 + mods/protector/locale/fr.po | 198 + mods/protector/locale/ru.po | 197 + mods/protector/locale/template.pot | 191 + mods/protector/locale/tr.po | 195 + mods/protector/lucky_block.lua | 18 + mods/protector/mod.conf | 1 + mods/protector/pvp.lua | 72 + mods/protector/screenshot.png | Bin 0 -> 12165 bytes mods/protector/textures/license.txt | 30 + mods/protector/textures/protector_display.png | Bin 0 -> 96 bytes mods/protector/textures/protector_logo.png | Bin 0 -> 138 bytes mods/protector/textures/protector_overlay.png | Bin 0 -> 116 bytes mods/protector/tool.lua | 126 + mods/screwdriver/README.txt | 13 + mods/screwdriver/init.lua | 172 + mods/screwdriver/license.txt | 50 + mods/screwdriver/textures/screwdriver.png | Bin 0 -> 182 bytes mods/sfinv/README.txt | 13 + mods/sfinv/api.lua | 178 + mods/sfinv/init.lua | 1 + mods/sfinv/license.txt | 24 + mods/shields/LICENSE.txt | 8 + mods/shields/README.txt | 16 + mods/shields/crafting_guide.txt | 36 + mods/shields/depends.txt | 2 + mods/shields/description.txt | 1 + mods/shields/init.lua | 235 + mods/shields/textures/preview_index.txt | 11 + .../textures/shields_inv_shield_admin.png | Bin 0 -> 443 bytes .../textures/shields_inv_shield_bronze.png | Bin 0 -> 391 bytes .../textures/shields_inv_shield_cactus.png | Bin 0 -> 442 bytes .../textures/shields_inv_shield_crystal.png | Bin 0 -> 443 bytes .../textures/shields_inv_shield_diamond.png | Bin 0 -> 443 bytes .../shields_inv_shield_enhanced_cactus.png | Bin 0 -> 430 bytes .../shields_inv_shield_enhanced_wood.png | Bin 0 -> 428 bytes .../textures/shields_inv_shield_gold.png | Bin 0 -> 391 bytes .../textures/shields_inv_shield_mithril.png | Bin 0 -> 391 bytes .../textures/shields_inv_shield_steel.png | Bin 0 -> 410 bytes .../textures/shields_inv_shield_wood.png | Bin 0 -> 421 bytes .../shields/textures/shields_shield_admin.png | Bin 0 -> 456 bytes .../textures/shields_shield_admin_preview.png | Bin 0 -> 435 bytes .../textures/shields_shield_bronze.png | Bin 0 -> 403 bytes .../shields_shield_bronze_preview.png | Bin 0 -> 394 bytes .../textures/shields_shield_cactus.png | Bin 0 -> 455 bytes .../shields_shield_cactus_preview.png | Bin 0 -> 444 bytes .../textures/shields_shield_crystal.png | Bin 0 -> 456 bytes .../shields_shield_crystal_preview.png | Bin 0 -> 435 bytes .../textures/shields_shield_diamond.png | Bin 0 -> 456 bytes .../shields_shield_diamond_preview.png | Bin 0 -> 435 bytes .../shields_shield_enhanced_cactus.png | Bin 0 -> 441 bytes ...shields_shield_enhanced_cactus_preview.png | Bin 0 -> 428 bytes .../textures/shields_shield_enhanced_wood.png | Bin 0 -> 442 bytes .../shields_shield_enhanced_wood_preview.png | Bin 0 -> 433 bytes mods/shields/textures/shields_shield_gold.png | Bin 0 -> 403 bytes .../textures/shields_shield_gold_preview.png | Bin 0 -> 394 bytes .../textures/shields_shield_mithril.png | Bin 0 -> 403 bytes .../shields_shield_mithril_preview.png | Bin 0 -> 394 bytes .../shields/textures/shields_shield_steel.png | Bin 0 -> 439 bytes .../textures/shields_shield_steel_preview.png | Bin 0 -> 414 bytes mods/shields/textures/shields_shield_wood.png | Bin 0 -> 433 bytes .../textures/shields_shield_wood_preview.png | Bin 0 -> 422 bytes mods/shop/.gitignore | 1 + mods/shop/README.md | 2 + mods/shop/depends.txt | 1 + mods/shop/init.lua | 310 + mods/shop/textures/shop_coin.png | Bin 0 -> 2982 bytes mods/shop/textures/shop_shop_front.png | Bin 0 -> 771 bytes mods/shop/textures/shop_shop_side.png | Bin 0 -> 575 bytes mods/shop/textures/shop_shop_topbottom.png | Bin 0 -> 534 bytes mods/sneak_jump/LICENSE | 502 ++ mods/sneak_jump/README | 13 + mods/sneak_jump/init.lua | 536 ++ mods/sneak_jump/mod.conf | 1 + mods/sneak_jump/settingtypes.txt | 29 + mods/sneak_jump/sounds/sneak_jump_eat.ogg | Bin 0 -> 14073 bytes mods/sneak_jump/sounds/sneak_jump_item.1.ogg | Bin 0 -> 8178 bytes mods/sneak_jump/sounds/sneak_jump_item.2.ogg | Bin 0 -> 8522 bytes mods/sneak_jump/sounds/sneak_jump_item.3.ogg | Bin 0 -> 7611 bytes mods/sneak_jump/sounds/sneak_jump_item.4.ogg | Bin 0 -> 7983 bytes .../textures/sneak_jump_armor_sb.png | Bin 0 -> 553 bytes .../textures/sneak_jump_armor_sb_bg.png | Bin 0 -> 424 bytes .../textures/sneak_jump_bandage.png | Bin 0 -> 255 bytes .../textures/sneak_jump_satiation_sb.png | Bin 0 -> 522 bytes .../textures/sneak_jump_stamina_sb.png | Bin 0 -> 148 bytes mods/spawn/README.txt | 7 + mods/spawn/depends.txt | 2 + mods/spawn/init.lua | 154 + mods/spawn/license.txt | 24 + mods/stairs/README.txt | 27 + mods/stairs/depends.txt | 1 + mods/stairs/init.lua | 927 +++ mods/stairs/license.txt | 16 + .../textures/stairs_glass_outer_stairside.png | Bin 0 -> 255 bytes mods/stairs/textures/stairs_glass_split.png | Bin 0 -> 249 bytes .../textures/stairs_glass_stairside.png | Bin 0 -> 249 bytes .../stairs_obsidian_glass_outer_stairside.png | Bin 0 -> 194 bytes .../textures/stairs_obsidian_glass_split.png | Bin 0 -> 129 bytes .../stairs_obsidian_glass_stairside.png | Bin 0 -> 195 bytes mods/terminal/LICENSE.txt | 674 ++ mods/terminal/depends.txt | 2 + mods/terminal/init.lua | 343 + mods/tnt/README.txt | 57 + mods/tnt/depends.txt | 3 + mods/tnt/init.lua | 680 ++ mods/tnt/license.txt | 66 + mods/tnt/sounds/tnt_explode.ogg | Bin 0 -> 12808 bytes mods/tnt/sounds/tnt_gunpowder_burning.ogg | Bin 0 -> 34335 bytes mods/tnt/sounds/tnt_ignite.ogg | Bin 0 -> 29271 bytes mods/tnt/textures/tnt_blast.png | Bin 0 -> 855 bytes mods/tnt/textures/tnt_boom.png | Bin 0 -> 178 bytes mods/tnt/textures/tnt_bottom.png | Bin 0 -> 99 bytes ...nt_gunpowder_burning_crossing_animated.png | Bin 0 -> 612 bytes .../tnt_gunpowder_burning_curved_animated.png | Bin 0 -> 432 bytes ...nt_gunpowder_burning_straight_animated.png | Bin 0 -> 461 bytes ..._gunpowder_burning_t_junction_animated.png | Bin 0 -> 672 bytes mods/tnt/textures/tnt_gunpowder_crossing.png | Bin 0 -> 245 bytes mods/tnt/textures/tnt_gunpowder_curved.png | Bin 0 -> 268 bytes mods/tnt/textures/tnt_gunpowder_inventory.png | Bin 0 -> 301 bytes mods/tnt/textures/tnt_gunpowder_straight.png | Bin 0 -> 225 bytes .../tnt/textures/tnt_gunpowder_t_junction.png | Bin 0 -> 328 bytes mods/tnt/textures/tnt_side.png | Bin 0 -> 128 bytes mods/tnt/textures/tnt_smoke.png | Bin 0 -> 202 bytes mods/tnt/textures/tnt_tnt_stick.png | Bin 0 -> 149 bytes mods/tnt/textures/tnt_top.png | Bin 0 -> 148 bytes mods/tnt/textures/tnt_top_burning.png | Bin 0 -> 159 bytes .../tnt/textures/tnt_top_burning_animated.png | Bin 0 -> 238 bytes mods/vessels/README.txt | 22 + mods/vessels/depends.txt | 1 + mods/vessels/init.lua | 216 + mods/vessels/license.txt | 52 + .../textures/vessels_drinking_glass.png | Bin 0 -> 371 bytes .../textures/vessels_drinking_glass_inv.png | Bin 0 -> 313 bytes .../vessels/textures/vessels_glass_bottle.png | Bin 0 -> 229 bytes .../textures/vessels_glass_fragments.png | Bin 0 -> 497 bytes mods/vessels/textures/vessels_shelf.png | Bin 0 -> 354 bytes mods/vessels/textures/vessels_shelf_slot.png | Bin 0 -> 201 bytes .../vessels/textures/vessels_steel_bottle.png | Bin 0 -> 348 bytes mods/walkie/README | 3 + mods/walkie/depends.txt | 1 + mods/walkie/init.lua | 272 + mods/walkie/mod.conf | 1 + mods/walkie/sounds/walkie_blip.1.ogg | Bin 0 -> 2833 bytes mods/walkie/sounds/walkie_blip.2.ogg | Bin 0 -> 2947 bytes mods/walkie/sounds/walkie_blip.3.ogg | Bin 0 -> 2998 bytes mods/walkie/textures/walkie_compass_n.png | Bin 0 -> 1355 bytes mods/walkie/textures/walkie_compass_nw.png | Bin 0 -> 1491 bytes mods/walkie/textures/walkie_empty.png | Bin 0 -> 174 bytes mods/walkie/textures/walkie_intercomm.png | Bin 0 -> 446 bytes .../walkie/textures/walkie_intercomm_wall.png | Bin 0 -> 456 bytes mods/walkie/textures/walkie_talkie.png | Bin 0 -> 284 bytes mods/walls/README.txt | 7 + mods/walls/depends.txt | 1 + mods/walls/init.lua | 50 + mods/walls/license.txt | 14 + mods/warps/LICENSE | 22 + mods/warps/README | 37 + mods/warps/depends.txt | 1 + mods/warps/description.txt | 1 + mods/warps/init.lua | 342 + mods/warps/mod.conf | 1 + mods/warps/models/warps_warpstone.obj | 70 + mods/warps/screenshot.png | Bin 0 -> 210874 bytes mods/warps/sounds/warps_woosh.ogg | Bin 0 -> 48872 bytes .../textures/warps_amethyst_warpstone.png | Bin 0 -> 2492 bytes .../textures/warps_diamond_warpstone.png | Bin 0 -> 2569 bytes .../textures/warps_emerald_warpstone.png | Bin 0 -> 2561 bytes mods/warps/textures/warps_mese_warpstone.png | Bin 0 -> 2530 bytes mods/warps/textures/warps_ruby_warpstone.png | Bin 0 -> 2458 bytes .../warps/textures/warps_warpgoo_amethyst.png | Bin 0 -> 7547 bytes mods/warps/textures/warps_warpgoo_diamond.png | Bin 0 -> 7547 bytes mods/warps/textures/warps_warpgoo_mese.png | Bin 0 -> 7547 bytes mods/wieldview/LICENSE.txt | 5 + mods/wieldview/README.txt | 23 + mods/wieldview/depends.txt | 1 + mods/wieldview/description.txt | 1 + mods/wieldview/init.lua | 83 + mods/wieldview/transform.lua | 24 + mods/wool/README.txt | 16 + mods/wool/depends.txt | 1 + mods/wool/init.lua | 41 + mods/wool/license.txt | 60 + mods/wool/textures/wool_black.png | Bin 0 -> 209 bytes mods/wool/textures/wool_blue.png | Bin 0 -> 264 bytes mods/wool/textures/wool_brown.png | Bin 0 -> 267 bytes mods/wool/textures/wool_cyan.png | Bin 0 -> 302 bytes mods/wool/textures/wool_dark_green.png | Bin 0 -> 254 bytes mods/wool/textures/wool_dark_grey.png | Bin 0 -> 260 bytes mods/wool/textures/wool_green.png | Bin 0 -> 304 bytes mods/wool/textures/wool_grey.png | Bin 0 -> 248 bytes mods/wool/textures/wool_magenta.png | Bin 0 -> 296 bytes mods/wool/textures/wool_orange.png | Bin 0 -> 284 bytes mods/wool/textures/wool_pink.png | Bin 0 -> 218 bytes mods/wool/textures/wool_red.png | Bin 0 -> 288 bytes mods/wool/textures/wool_violet.png | Bin 0 -> 244 bytes mods/wool/textures/wool_white.png | Bin 0 -> 243 bytes mods/wool/textures/wool_yellow.png | Bin 0 -> 255 bytes mods/xpanes/README.txt | 24 + mods/xpanes/depends.txt | 2 + mods/xpanes/init.lua | 249 + mods/xpanes/license.txt | 64 + mods/xpanes/textures/xpanes_bar.png | Bin 0 -> 155 bytes mods/xpanes/textures/xpanes_bar_top.png | Bin 0 -> 3516 bytes mods/xpanes/textures/xpanes_edge.png | Bin 0 -> 269 bytes mods/xpanes/textures/xpanes_edge_obsidian.png | Bin 0 -> 98 bytes mods/xpanes/textures/xpanes_pane_half.png | Bin 0 -> 83 bytes mods/xpanes/textures/xpanes_space.png | Bin 0 -> 149 bytes mods/ydecor/depends.txt | 2 + mods/ydecor/init.lua | 198 + mods/ydecor/textures/ydecor_baricade.png | Bin 0 -> 258 bytes .../ydecor/textures/ydecor_coalstone_tile.png | Bin 0 -> 463 bytes mods/ydecor/textures/ydecor_cobweb.png | Bin 0 -> 209 bytes mods/ydecor/textures/ydecor_hard_clay.png | Bin 0 -> 215 bytes mods/ydecor/textures/ydecor_ivy.png | Bin 0 -> 234 bytes mods/ydecor/textures/ydecor_moonbrick.png | Bin 0 -> 371 bytes mods/ydecor/textures/ydecor_packed_ice.png | Bin 0 -> 305 bytes mods/ydecor/textures/ydecor_stone_rune.png | Bin 0 -> 265 bytes mods/ydecor/textures/ydecor_wood_tile.png | Bin 0 -> 364 bytes mtg.LICENSE | 519 ++ mtg.README | 28 + schematic_tables.txt | 2176 +++++++ settingtypes.txt | 66 + 1207 files changed, 54724 insertions(+) create mode 100644 .gitignore create mode 100644 .luacheckrc create mode 100644 .travis.yml create mode 100644 3d_armor.LICENSE create mode 100644 3d_armor.README create mode 100644 BUGS create mode 100644 LICENSE create mode 100644 README create mode 100644 TODO create mode 100644 game.conf create mode 100644 game_api.txt create mode 100644 menu/header.png create mode 100644 menu/icon.png create mode 100644 minetest.conf create mode 100644 minetest.conf.example create mode 100644 mods/3d_armor/LICENSE.txt create mode 100644 mods/3d_armor/README.txt create mode 100644 mods/3d_armor/api.lua create mode 100644 mods/3d_armor/armor.conf.example create mode 100644 mods/3d_armor/armor.lua create mode 100644 mods/3d_armor/crafting_guide.txt create mode 100644 mods/3d_armor/depends.txt create mode 100644 mods/3d_armor/description.txt create mode 100644 mods/3d_armor/init.lua create mode 100644 mods/3d_armor/models/3d_armor_character.b3d create mode 100644 mods/3d_armor/models/3d_armor_character.blend create mode 100644 mods/3d_armor/textures/3d_armor_boots_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_admin_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_bronze_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_cactus_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_crystal_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_diamond_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_gold_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_mithril_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_steel_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_boots_wood_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_admin_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_bronze_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_cactus_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_crystal_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_diamond_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_gold_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_mithril_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_steel_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_chestplate_wood_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_admin_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_bronze_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_cactus_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_crystal_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_diamond_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_gold_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_mithril_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_steel_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_helmet_wood_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_boots_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_chestplate_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_helmet_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_inv_leggings_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_admin.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_admin_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_bronze.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_bronze_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_cactus.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_cactus_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_crystal.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_crystal_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_diamond.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_diamond_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_gold.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_gold_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_mithril.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_mithril_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_steel.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_steel_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_wood.png create mode 100644 mods/3d_armor/textures/3d_armor_leggings_wood_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_preview.png create mode 100644 mods/3d_armor/textures/3d_armor_trans.png create mode 100644 mods/3d_armor/textures/3d_armor_ui_form.png create mode 100644 mods/3d_armor/textures/inventory_plus_armor.png create mode 100644 mods/3d_armor/textures/preview_index.txt create mode 100644 mods/3d_armor_stand/LICENSE.txt create mode 100644 mods/3d_armor_stand/README.txt create mode 100644 mods/3d_armor_stand/depends.txt create mode 100644 mods/3d_armor_stand/init.lua create mode 100644 mods/3d_armor_stand/models/3d_armor_entity.obj create mode 100644 mods/3d_armor_stand/models/3d_armor_stand.obj create mode 100644 mods/3d_armor_stand/models/3d_armor_stand.png create mode 100644 mods/3d_armor_stand/models/3d_armor_stand_locked.png create mode 100644 mods/3d_armor_stand/textures/3d_armor_stand_feet.png create mode 100644 mods/3d_armor_stand/textures/3d_armor_stand_head.png create mode 100644 mods/3d_armor_stand/textures/3d_armor_stand_legs.png create mode 100644 mods/3d_armor_stand/textures/3d_armor_stand_torso.png create mode 100644 mods/backpacks/LICENSE create mode 100644 mods/backpacks/README create mode 100644 mods/backpacks/depends.txt create mode 100644 mods/backpacks/init.lua create mode 100644 mods/backpacks/textures/backpacks_backpack_back.png create mode 100644 mods/backpacks/textures/backpacks_backpack_front.png create mode 100644 mods/backpacks/textures/backpacks_backpack_sides.png create mode 100644 mods/backpacks/textures/backpacks_backpack_topbottom.png create mode 100644 mods/backpacks/textures/backpacks_leather.png create mode 100644 mods/beds/README.txt create mode 100644 mods/beds/api.lua create mode 100644 mods/beds/beds.lua create mode 100644 mods/beds/depends.txt create mode 100644 mods/beds/functions.lua create mode 100644 mods/beds/init.lua create mode 100644 mods/beds/license.txt create mode 100644 mods/beds/spawns.lua create mode 100644 mods/beds/textures/beds_bed.png create mode 100644 mods/beds/textures/beds_bed_fancy.png create mode 100644 mods/beds/textures/beds_bed_foot.png create mode 100644 mods/beds/textures/beds_bed_head.png create mode 100644 mods/beds/textures/beds_bed_side1.png create mode 100644 mods/beds/textures/beds_bed_side2.png create mode 100644 mods/beds/textures/beds_bed_side_bottom.png create mode 100644 mods/beds/textures/beds_bed_side_bottom_r.png create mode 100644 mods/beds/textures/beds_bed_side_top.png create mode 100644 mods/beds/textures/beds_bed_side_top_r.png create mode 100644 mods/beds/textures/beds_bed_top1.png create mode 100644 mods/beds/textures/beds_bed_top2.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/beds/textures/beds_bed_under.png create mode 100644 mods/beds/textures/beds_blanket.png create mode 100644 mods/beds/textures/beds_transparent.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/license.txt create mode 100644 mods/boats/models/boats_boat.obj create mode 100644 mods/boats/textures/boats_inventory.png create mode 100644 mods/boats/textures/boats_wield.png create mode 100644 mods/bones/README.txt create mode 100644 mods/bones/depends.txt create mode 100644 mods/bones/init.lua create mode 100644 mods/bones/license.txt create mode 100644 mods/bones/textures/bones_bottom.png create mode 100644 mods/bones/textures/bones_front.png create mode 100644 mods/bones/textures/bones_rear.png create mode 100644 mods/bones/textures/bones_side.png create mode 100644 mods/bones/textures/bones_top.png 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/license.txt create mode 100755 mods/bucket/textures/bucket.png create mode 100644 mods/bucket/textures/bucket_lava.png create mode 100644 mods/bucket/textures/bucket_river_water.png create mode 100644 mods/bucket/textures/bucket_water.png create mode 100644 mods/butterflies/README.txt create mode 100644 mods/butterflies/depends.txt create mode 100644 mods/butterflies/init.lua create mode 100644 mods/butterflies/license.txt create mode 100644 mods/butterflies/textures/butterflies_butterfly_red.png create mode 100644 mods/butterflies/textures/butterflies_butterfly_red_animated.png create mode 100644 mods/butterflies/textures/butterflies_butterfly_violet.png create mode 100644 mods/butterflies/textures/butterflies_butterfly_violet_animated.png create mode 100644 mods/butterflies/textures/butterflies_butterfly_white.png create mode 100644 mods/butterflies/textures/butterflies_butterfly_white_animated.png create mode 100644 mods/carts/README.txt create mode 100644 mods/carts/cart_entity.lua 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/license.txt create mode 100644 mods/carts/models/carts_cart.b3d create mode 100644 mods/carts/models/carts_cart.blend create mode 100644 mods/carts/rails.lua create mode 100644 mods/carts/sounds/carts_cart_moving.1.ogg create mode 100644 mods/carts/sounds/carts_cart_moving.2.ogg create mode 100644 mods/carts/sounds/carts_cart_moving.3.ogg create mode 100644 mods/carts/textures/carts_cart.png create mode 100644 mods/carts/textures/carts_cart_front.png create mode 100644 mods/carts/textures/carts_cart_side.png create mode 100644 mods/carts/textures/carts_cart_top.png create mode 100644 mods/carts/textures/carts_rail_crossing.png create mode 100644 mods/carts/textures/carts_rail_crossing_brk.png create mode 100644 mods/carts/textures/carts_rail_crossing_pwr.png create mode 100644 mods/carts/textures/carts_rail_curved.png create mode 100644 mods/carts/textures/carts_rail_curved_brk.png create mode 100644 mods/carts/textures/carts_rail_curved_pwr.png create mode 100644 mods/carts/textures/carts_rail_straight.png create mode 100644 mods/carts/textures/carts_rail_straight_brk.png create mode 100644 mods/carts/textures/carts_rail_straight_pwr.png create mode 100644 mods/carts/textures/carts_rail_t_junction.png create mode 100644 mods/carts/textures/carts_rail_t_junction_brk.png create mode 100644 mods/carts/textures/carts_rail_t_junction_pwr.png create mode 100644 mods/clothing/LICENSE.txt create mode 100644 mods/clothing/README.txt create mode 100644 mods/clothing/api.lua create mode 100644 mods/clothing/depends.txt create mode 100644 mods/clothing/init.lua create mode 100644 mods/clothing/loom.lua create mode 100644 mods/clothing/textures/clothing_inv_cape.png create mode 100644 mods/clothing/textures/clothing_inv_hat.png create mode 100644 mods/clothing/textures/clothing_inv_pants.png create mode 100644 mods/clothing/textures/clothing_inv_shirt.png create mode 100644 mods/clothing/textures/clothing_loom_background.png create mode 100644 mods/clothing/textures/clothing_loom_bottom.png create mode 100644 mods/clothing/textures/clothing_loom_front.png create mode 100644 mods/clothing/textures/clothing_loom_side1.png create mode 100644 mods/clothing/textures/clothing_loom_side2.png create mode 100644 mods/clothing/textures/clothing_loom_top.png create mode 100644 mods/clothing/textures/clothing_ui_form.png create mode 100644 mods/clothing/textures/clothing_uv_cape.png create mode 100644 mods/clothing/textures/clothing_uv_hat.png create mode 100644 mods/clothing/textures/clothing_uv_pants.png create mode 100644 mods/clothing/textures/clothing_uv_shirt.png create mode 100644 mods/clothing/textures/inventory_plus_clothing.png create mode 100644 mods/craftguide/LICENSE create mode 100644 mods/craftguide/README.md create mode 100644 mods/craftguide/depends.txt create mode 100644 mods/craftguide/description.txt create mode 100644 mods/craftguide/init.lua create mode 100644 mods/craftguide/intllib.lua create mode 100644 mods/craftguide/locale/de.po create mode 100644 mods/craftguide/locale/ms.po create mode 100644 mods/craftguide/locale/ru.po create mode 100644 mods/craftguide/locale/template.pot create mode 100644 mods/craftguide/mod.conf create mode 100644 mods/craftguide/textures/craftguide_arrow.png create mode 100644 mods/craftguide/textures/craftguide_bg.png create mode 100644 mods/craftguide/textures/craftguide_book.png create mode 100644 mods/craftguide/textures/craftguide_fire.png create mode 100644 mods/craftguide/textures/craftguide_furnace.png create mode 100644 mods/craftguide/textures/craftguide_shapeless.png create mode 100644 mods/craftguide/textures/craftguide_sign.png create mode 100644 mods/craftguide/textures/craftguide_sign_inv.png create mode 100644 mods/creative/README.txt create mode 100644 mods/creative/depends.txt create mode 100644 mods/creative/init.lua create mode 100644 mods/creative/inventory.lua create mode 100644 mods/creative/license.txt create mode 100644 mods/creative/textures/creative_clear_icon.png create mode 100644 mods/creative/textures/creative_next_icon.png create mode 100644 mods/creative/textures/creative_prev_icon.png create mode 100644 mods/creative/textures/creative_search_icon.png create mode 100644 mods/creative/textures/creative_trash_icon.png create mode 100644 mods/default/README.txt create mode 100644 mods/default/aliases.lua create mode 100644 mods/default/chests.lua create mode 100644 mods/default/crafting.lua create mode 100644 mods/default/craftitems.lua create mode 100644 mods/default/depends.txt create mode 100644 mods/default/functions.lua create mode 100644 mods/default/furnace.lua create mode 100644 mods/default/init.lua create mode 100644 mods/default/item_entity.lua create mode 100644 mods/default/legacy.lua create mode 100644 mods/default/license.txt create mode 100644 mods/default/mapgen.lua create mode 100644 mods/default/models/chest_open.obj create mode 100644 mods/default/models/torch_ceiling.obj create mode 100644 mods/default/models/torch_floor.obj create mode 100644 mods/default/models/torch_wall.obj create mode 100644 mods/default/nodes.lua create mode 100644 mods/default/schematics/acacia_bush.mts create mode 100644 mods/default/schematics/acacia_log.mts create mode 100644 mods/default/schematics/acacia_tree.mts create mode 100644 mods/default/schematics/acacia_tree_from_sapling.mts create mode 100644 mods/default/schematics/apple_log.mts create mode 100644 mods/default/schematics/apple_tree.mts create mode 100644 mods/default/schematics/apple_tree_from_sapling.mts create mode 100644 mods/default/schematics/aspen_log.mts create mode 100644 mods/default/schematics/aspen_tree.mts create mode 100644 mods/default/schematics/aspen_tree_from_sapling.mts create mode 100644 mods/default/schematics/blueberry_bush.mts create mode 100644 mods/default/schematics/bush.mts create mode 100644 mods/default/schematics/emergent_jungle_tree.mts create mode 100644 mods/default/schematics/emergent_jungle_tree_from_sapling.mts create mode 100644 mods/default/schematics/jungle_log.mts create mode 100644 mods/default/schematics/jungle_tree.mts create mode 100644 mods/default/schematics/jungle_tree_from_sapling.mts create mode 100644 mods/default/schematics/large_cactus.mts create mode 100644 mods/default/schematics/papyrus.mts create mode 100644 mods/default/schematics/pine_bush.mts create mode 100644 mods/default/schematics/pine_log.mts create mode 100644 mods/default/schematics/pine_tree.mts create mode 100644 mods/default/schematics/pine_tree_from_sapling.mts create mode 100644 mods/default/schematics/small_pine_tree.mts create mode 100644 mods/default/schematics/small_pine_tree_from_sapling.mts create mode 100644 mods/default/schematics/snowy_pine_tree_from_sapling.mts create mode 100644 mods/default/schematics/snowy_small_pine_tree_from_sapling.mts 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_chest_close.ogg create mode 100644 mods/default/sounds/default_chest_open.ogg create mode 100644 mods/default/sounds/default_cool_lava.1.ogg create mode 100644 mods/default/sounds/default_cool_lava.2.ogg create mode 100644 mods/default/sounds/default_cool_lava.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.ogg create mode 100644 mods/default/sounds/default_dig_dig_immediate.ogg create mode 100644 mods/default/sounds/default_dig_metal.ogg create mode 100644 mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg create mode 100644 mods/default/sounds/default_dig_snappy.ogg create mode 100644 mods/default/sounds/default_dirt_footstep.1.ogg create mode 100644 mods/default/sounds/default_dirt_footstep.2.ogg create mode 100644 mods/default/sounds/default_dug_metal.1.ogg create mode 100644 mods/default/sounds/default_dug_metal.2.ogg create mode 100644 mods/default/sounds/default_dug_node.1.ogg create mode 100644 mods/default/sounds/default_dug_node.2.ogg create mode 100644 mods/default/sounds/default_glass_footstep.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_hard_footstep.3.ogg create mode 100644 mods/default/sounds/default_item_smoke.ogg create mode 100644 mods/default/sounds/default_metal_footstep.1.ogg create mode 100644 mods/default/sounds/default_metal_footstep.2.ogg create mode 100644 mods/default/sounds/default_metal_footstep.3.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/sounds/default_place_node_hard.1.ogg create mode 100644 mods/default/sounds/default_place_node_hard.2.ogg create mode 100644 mods/default/sounds/default_place_node_metal.1.ogg create mode 100644 mods/default/sounds/default_place_node_metal.2.ogg create mode 100644 mods/default/sounds/default_sand_footstep.1.ogg create mode 100644 mods/default/sounds/default_sand_footstep.2.ogg create mode 100644 mods/default/sounds/default_snow_footstep.1.ogg create mode 100644 mods/default/sounds/default_snow_footstep.2.ogg create mode 100644 mods/default/sounds/default_snow_footstep.3.ogg create mode 100644 mods/default/sounds/default_snow_footstep.4.ogg create mode 100644 mods/default/sounds/default_snow_footstep.5.ogg create mode 100644 mods/default/sounds/default_tool_breaks.1.ogg create mode 100644 mods/default/sounds/default_tool_breaks.2.ogg create mode 100644 mods/default/sounds/default_tool_breaks.3.ogg create mode 100644 mods/default/sounds/default_water_footstep.1.ogg create mode 100644 mods/default/sounds/default_water_footstep.2.ogg create mode 100644 mods/default/sounds/default_water_footstep.3.ogg create mode 100644 mods/default/sounds/default_water_footstep.4.ogg create mode 100644 mods/default/sounds/default_wood_footstep.1.ogg create mode 100644 mods/default/sounds/default_wood_footstep.2.ogg create mode 100644 mods/default/textures/bubble.png create mode 100644 mods/default/textures/crack_anylength.png create mode 100644 mods/default/textures/default_acacia_bush_sapling.png create mode 100644 mods/default/textures/default_acacia_bush_stem.png create mode 100644 mods/default/textures/default_acacia_leaves.png create mode 100644 mods/default/textures/default_acacia_leaves_simple.png create mode 100644 mods/default/textures/default_acacia_sapling.png create mode 100644 mods/default/textures/default_acacia_tree.png create mode 100644 mods/default/textures/default_acacia_tree_top.png create mode 100644 mods/default/textures/default_acacia_wood.png create mode 100644 mods/default/textures/default_apple.png create mode 100644 mods/default/textures/default_aspen_leaves.png create mode 100644 mods/default/textures/default_aspen_sapling.png create mode 100644 mods/default/textures/default_aspen_tree.png create mode 100644 mods/default/textures/default_aspen_tree_top.png create mode 100644 mods/default/textures/default_aspen_wood.png create mode 100644 mods/default/textures/default_blueberries.png create mode 100644 mods/default/textures/default_blueberry_bush_leaves.png create mode 100644 mods/default/textures/default_blueberry_bush_sapling.png create mode 100644 mods/default/textures/default_blueberry_overlay.png create mode 100644 mods/default/textures/default_book.png create mode 100644 mods/default/textures/default_book_written.png create mode 100644 mods/default/textures/default_bookshelf.png create mode 100644 mods/default/textures/default_bookshelf_slot.png create mode 100644 mods/default/textures/default_brick.png create mode 100644 mods/default/textures/default_bronze_block.png create mode 100644 mods/default/textures/default_bronze_ingot.png create mode 100644 mods/default/textures/default_bush_sapling.png create mode 100644 mods/default/textures/default_bush_stem.png create mode 100644 mods/default/textures/default_cactus_side.png create mode 100644 mods/default/textures/default_cactus_top.png create mode 100644 mods/default/textures/default_chest_front.png create mode 100644 mods/default/textures/default_chest_inside.png create mode 100644 mods/default/textures/default_chest_lock.png create mode 100644 mods/default/textures/default_chest_side.png create mode 100644 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_block.png create mode 100644 mods/default/textures/default_coal_lump.png create mode 100644 mods/default/textures/default_cobble.png create mode 100644 mods/default/textures/default_coniferous_litter.png create mode 100644 mods/default/textures/default_coniferous_litter_side.png create mode 100644 mods/default/textures/default_copper_block.png create mode 100644 mods/default/textures/default_copper_ingot.png create mode 100644 mods/default/textures/default_copper_lump.png create mode 100644 mods/default/textures/default_coral_brown.png create mode 100644 mods/default/textures/default_coral_cyan.png create mode 100644 mods/default/textures/default_coral_green.png create mode 100644 mods/default/textures/default_coral_orange.png create mode 100644 mods/default/textures/default_coral_pink.png create mode 100644 mods/default/textures/default_coral_skeleton.png create mode 100644 mods/default/textures/default_desert_cobble.png create mode 100644 mods/default/textures/default_desert_sand.png create mode 100644 mods/default/textures/default_desert_sandstone.png create mode 100644 mods/default/textures/default_desert_sandstone_block.png create mode 100644 mods/default/textures/default_desert_sandstone_brick.png create mode 100644 mods/default/textures/default_desert_stone.png create mode 100644 mods/default/textures/default_desert_stone_block.png create mode 100644 mods/default/textures/default_desert_stone_brick.png create mode 100644 mods/default/textures/default_diamond.png create mode 100644 mods/default/textures/default_diamond_block.png create mode 100644 mods/default/textures/default_dirt.png create mode 100644 mods/default/textures/default_dry_grass.png create mode 100644 mods/default/textures/default_dry_grass_1.png create mode 100644 mods/default/textures/default_dry_grass_2.png create mode 100644 mods/default/textures/default_dry_grass_3.png create mode 100644 mods/default/textures/default_dry_grass_4.png create mode 100644 mods/default/textures/default_dry_grass_5.png create mode 100644 mods/default/textures/default_dry_grass_side.png create mode 100644 mods/default/textures/default_dry_shrub.png create mode 100644 mods/default/textures/default_emergent_jungle_sapling.png create mode 100644 mods/default/textures/default_fence_acacia_wood.png create mode 100644 mods/default/textures/default_fence_aspen_wood.png create mode 100644 mods/default/textures/default_fence_junglewood.png create mode 100644 mods/default/textures/default_fence_overlay.png create mode 100644 mods/default/textures/default_fence_pine_wood.png create mode 100644 mods/default/textures/default_fence_rail_acacia_wood.png create mode 100644 mods/default/textures/default_fence_rail_aspen_wood.png create mode 100644 mods/default/textures/default_fence_rail_junglewood.png create mode 100644 mods/default/textures/default_fence_rail_overlay.png create mode 100644 mods/default/textures/default_fence_rail_pine_wood.png create mode 100644 mods/default/textures/default_fence_rail_wood.png create mode 100644 mods/default/textures/default_fence_wood.png create mode 100644 mods/default/textures/default_fern_1.png create mode 100644 mods/default/textures/default_fern_2.png create mode 100644 mods/default/textures/default_fern_3.png create mode 100644 mods/default/textures/default_flint.png create mode 100644 mods/default/textures/default_footprint.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 100644 mods/default/textures/default_glass_detail.png create mode 100644 mods/default/textures/default_gold_block.png create mode 100644 mods/default/textures/default_gold_ingot.png create mode 100644 mods/default/textures/default_gold_lump.png create mode 100644 mods/default/textures/default_grass.png create mode 100644 mods/default/textures/default_grass_1.png create mode 100644 mods/default/textures/default_grass_2.png create mode 100644 mods/default/textures/default_grass_3.png create mode 100644 mods/default/textures/default_grass_4.png create mode 100644 mods/default/textures/default_grass_5.png create mode 100644 mods/default/textures/default_grass_side.png create mode 100644 mods/default/textures/default_gravel.png create mode 100644 mods/default/textures/default_ice.png create mode 100644 mods/default/textures/default_iron_lump.png create mode 100644 mods/default/textures/default_item_smoke.png create mode 100644 mods/default/textures/default_junglegrass.png create mode 100644 mods/default/textures/default_jungleleaves.png create mode 100644 mods/default/textures/default_jungleleaves_simple.png create mode 100644 mods/default/textures/default_junglesapling.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_junglewood.png create mode 100644 mods/default/textures/default_kelp.png create mode 100644 mods/default/textures/default_key.png create mode 100644 mods/default/textures/default_key_skeleton.png create mode 100644 mods/default/textures/default_ladder_steel.png create mode 100644 mods/default/textures/default_ladder_wood.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 100644 mods/default/textures/default_leaves.png create mode 100644 mods/default/textures/default_leaves_simple.png create mode 100644 mods/default/textures/default_marram_grass_1.png create mode 100644 mods/default/textures/default_marram_grass_2.png create mode 100644 mods/default/textures/default_marram_grass_3.png create mode 100644 mods/default/textures/default_mese_block.png create mode 100644 mods/default/textures/default_mese_crystal.png create mode 100644 mods/default/textures/default_mese_crystal_fragment.png create mode 100644 mods/default/textures/default_mese_post_light_side.png create mode 100644 mods/default/textures/default_mese_post_light_side_dark.png create mode 100644 mods/default/textures/default_mese_post_light_top.png create mode 100644 mods/default/textures/default_meselamp.png create mode 100644 mods/default/textures/default_mineral_coal.png create mode 100644 mods/default/textures/default_mineral_copper.png create mode 100644 mods/default/textures/default_mineral_diamond.png create mode 100644 mods/default/textures/default_mineral_gold.png create mode 100644 mods/default/textures/default_mineral_iron.png create mode 100644 mods/default/textures/default_mineral_mese.png create mode 100644 mods/default/textures/default_mineral_tin.png create mode 100644 mods/default/textures/default_moss.png create mode 100644 mods/default/textures/default_moss_side.png create mode 100644 mods/default/textures/default_mossycobble.png create mode 100644 mods/default/textures/default_obsidian.png create mode 100644 mods/default/textures/default_obsidian_block.png create mode 100644 mods/default/textures/default_obsidian_brick.png create mode 100644 mods/default/textures/default_obsidian_glass.png create mode 100644 mods/default/textures/default_obsidian_glass_detail.png create mode 100644 mods/default/textures/default_obsidian_shard.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_permafrost.png create mode 100644 mods/default/textures/default_pine_bush_sapling.png create mode 100644 mods/default/textures/default_pine_bush_stem.png create mode 100644 mods/default/textures/default_pine_needles.png create mode 100644 mods/default/textures/default_pine_sapling.png create mode 100644 mods/default/textures/default_pine_tree.png create mode 100644 mods/default/textures/default_pine_tree_top.png create mode 100644 mods/default/textures/default_pine_wood.png create mode 100644 mods/default/textures/default_rainforest_litter.png create mode 100644 mods/default/textures/default_rainforest_litter_side.png create mode 100644 mods/default/textures/default_river_water.png create mode 100644 mods/default/textures/default_river_water_flowing_animated.png create mode 100644 mods/default/textures/default_river_water_source_animated.png create mode 100644 mods/default/textures/default_sand.png create mode 100644 mods/default/textures/default_sandstone.png create mode 100644 mods/default/textures/default_sandstone_block.png create mode 100644 mods/default/textures/default_sandstone_brick.png create mode 100644 mods/default/textures/default_sapling.png create mode 100644 mods/default/textures/default_sign_steel.png create mode 100644 mods/default/textures/default_sign_wall_steel.png create mode 100644 mods/default/textures/default_sign_wall_wood.png create mode 100644 mods/default/textures/default_sign_wood.png create mode 100644 mods/default/textures/default_silver_sand.png create mode 100644 mods/default/textures/default_silver_sandstone.png create mode 100644 mods/default/textures/default_silver_sandstone_block.png create mode 100644 mods/default/textures/default_silver_sandstone_brick.png create mode 100644 mods/default/textures/default_snow.png create mode 100644 mods/default/textures/default_snow_side.png create mode 100644 mods/default/textures/default_snowball.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 100644 mods/default/textures/default_stone.png create mode 100644 mods/default/textures/default_stone_block.png create mode 100644 mods/default/textures/default_stone_brick.png create mode 100644 mods/default/textures/default_stones.png create mode 100644 mods/default/textures/default_tin_block.png create mode 100644 mods/default/textures/default_tin_ingot.png create mode 100644 mods/default/textures/default_tin_lump.png create mode 100644 mods/default/textures/default_tool_bronzeaxe.png create mode 100644 mods/default/textures/default_tool_bronzepick.png create mode 100644 mods/default/textures/default_tool_bronzeshovel.png create mode 100644 mods/default/textures/default_tool_bronzesword.png create mode 100644 mods/default/textures/default_tool_diamondaxe.png create mode 100644 mods/default/textures/default_tool_diamondpick.png create mode 100644 mods/default/textures/default_tool_diamondshovel.png create mode 100644 mods/default/textures/default_tool_diamondsword.png create mode 100644 mods/default/textures/default_tool_meseaxe.png create mode 100644 mods/default/textures/default_tool_mesepick.png create mode 100644 mods/default/textures/default_tool_meseshovel.png create mode 100644 mods/default/textures/default_tool_mesesword.png create mode 100644 mods/default/textures/default_tool_steelaxe.png create mode 100644 mods/default/textures/default_tool_steelpick.png create mode 100644 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 100644 mods/default/textures/default_tool_stonepick.png create mode 100644 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 100644 mods/default/textures/default_tool_woodpick.png create mode 100644 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_animated.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 100644 mods/default/textures/default_tree.png create mode 100644 mods/default/textures/default_tree_top.png create mode 100644 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/gui_formbg.png create mode 100644 mods/default/textures/gui_furnace_arrow_bg.png create mode 100644 mods/default/textures/gui_furnace_arrow_fg.png create mode 100644 mods/default/textures/gui_hb_bg.png create mode 100644 mods/default/textures/heart.png create mode 100644 mods/default/textures/wieldhand.png create mode 100644 mods/default/tools.lua create mode 100644 mods/default/torch.lua create mode 100644 mods/default/trees.lua create mode 100644 mods/doors/README.txt create mode 100644 mods/doors/depends.txt create mode 100644 mods/doors/init.lua create mode 100644 mods/doors/license.txt create mode 100644 mods/doors/models/door_a.obj create mode 100644 mods/doors/models/door_b.obj create mode 100644 mods/doors/models/doors_fencegate_closed.obj create mode 100644 mods/doors/models/doors_fencegate_open.obj create mode 100644 mods/doors/sounds/doors_door_close.ogg create mode 100644 mods/doors/sounds/doors_door_open.ogg create mode 100644 mods/doors/sounds/doors_fencegate_close.ogg create mode 100644 mods/doors/sounds/doors_fencegate_open.ogg create mode 100644 mods/doors/sounds/doors_glass_door_close.ogg create mode 100644 mods/doors/sounds/doors_glass_door_open.ogg create mode 100644 mods/doors/sounds/doors_steel_door_close.ogg create mode 100644 mods/doors/sounds/doors_steel_door_open.ogg create mode 100644 mods/doors/textures/doors_blank.png create mode 100644 mods/doors/textures/doors_door_glass.png create mode 100644 mods/doors/textures/doors_door_obsidian_glass.png create mode 100644 mods/doors/textures/doors_door_steel.png create mode 100644 mods/doors/textures/doors_door_wood.png create mode 100644 mods/doors/textures/doors_item_glass.png create mode 100644 mods/doors/textures/doors_item_obsidian_glass.png create mode 100644 mods/doors/textures/doors_item_steel.png create mode 100644 mods/doors/textures/doors_item_wood.png create mode 100644 mods/doors/textures/doors_trapdoor.png create mode 100644 mods/doors/textures/doors_trapdoor_side.png create mode 100644 mods/doors/textures/doors_trapdoor_steel.png create mode 100644 mods/doors/textures/doors_trapdoor_steel_side.png create mode 100644 mods/dresser/AUTHORS create mode 100644 mods/dresser/README create mode 100644 mods/dresser/init.lua create mode 100644 mods/dresser/skins.lua create mode 100644 mods/dresser/textures/dresser_dresser.png create mode 100644 mods/dungeon_loot/README.txt create mode 100644 mods/dungeon_loot/depends.txt create mode 100644 mods/dungeon_loot/init.lua create mode 100644 mods/dungeon_loot/license.txt create mode 100644 mods/dungeon_loot/loot.lua create mode 100644 mods/dungeon_loot/mapgen.lua 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/license.txt 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/farming/README.txt create mode 100644 mods/farming/api.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/license.txt create mode 100644 mods/farming/nodes.lua create mode 100644 mods/farming/textures/farming_bread.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_3.png create mode 100644 mods/farming/textures/farming_cotton_4.png create mode 100644 mods/farming/textures/farming_cotton_5.png create mode 100644 mods/farming/textures/farming_cotton_6.png create mode 100644 mods/farming/textures/farming_cotton_7.png create mode 100644 mods/farming/textures/farming_cotton_8.png create mode 100644 mods/farming/textures/farming_cotton_seed.png create mode 100644 mods/farming/textures/farming_desert_sand_soil.png create mode 100644 mods/farming/textures/farming_desert_sand_soil_wet.png create mode 100644 mods/farming/textures/farming_desert_sand_soil_wet_side.png create mode 100644 mods/farming/textures/farming_flour.png create mode 100644 mods/farming/textures/farming_soil.png create mode 100644 mods/farming/textures/farming_soil_wet.png create mode 100644 mods/farming/textures/farming_soil_wet_side.png create mode 100644 mods/farming/textures/farming_straw.png create mode 100644 mods/farming/textures/farming_string.png create mode 100644 mods/farming/textures/farming_tool_bronzehoe.png create mode 100644 mods/farming/textures/farming_tool_diamondhoe.png create mode 100644 mods/farming/textures/farming_tool_mesehoe.png create mode 100644 mods/farming/textures/farming_tool_steelhoe.png create mode 100644 mods/farming/textures/farming_tool_stonehoe.png create mode 100644 mods/farming/textures/farming_tool_woodhoe.png create mode 100644 mods/farming/textures/farming_wheat.png create mode 100644 mods/farming/textures/farming_wheat_1.png create mode 100644 mods/farming/textures/farming_wheat_2.png create mode 100644 mods/farming/textures/farming_wheat_3.png create mode 100644 mods/farming/textures/farming_wheat_4.png create mode 100644 mods/farming/textures/farming_wheat_5.png create mode 100644 mods/farming/textures/farming_wheat_6.png create mode 100644 mods/farming/textures/farming_wheat_7.png create mode 100644 mods/farming/textures/farming_wheat_8.png create mode 100644 mods/farming/textures/farming_wheat_seed.png create mode 100644 mods/fire/README.txt create mode 100644 mods/fire/depends.txt create mode 100644 mods/fire/init.lua create mode 100644 mods/fire/license.txt create mode 100644 mods/fire/sounds/fire_extinguish_flame.1.ogg create mode 100644 mods/fire/sounds/fire_extinguish_flame.2.ogg create mode 100644 mods/fire/sounds/fire_extinguish_flame.3.ogg create mode 100644 mods/fire/sounds/fire_fire.1.ogg create mode 100644 mods/fire/sounds/fire_fire.2.ogg create mode 100644 mods/fire/sounds/fire_fire.3.ogg create mode 100644 mods/fire/sounds/fire_flint_and_steel.ogg create mode 100644 mods/fire/sounds/fire_large.ogg create mode 100644 mods/fire/sounds/fire_small.ogg create mode 100644 mods/fire/textures/fire_basic_flame.png create mode 100644 mods/fire/textures/fire_basic_flame_animated.png create mode 100644 mods/fire/textures/fire_flint_steel.png create mode 100644 mods/fireflies/README.txt create mode 100644 mods/fireflies/depends.txt create mode 100644 mods/fireflies/init.lua create mode 100644 mods/fireflies/license.txt create mode 100644 mods/fireflies/textures/fireflies_bottle.png create mode 100644 mods/fireflies/textures/fireflies_bottle_animated.png create mode 100644 mods/fireflies/textures/fireflies_bugnet.png create mode 100644 mods/fireflies/textures/fireflies_firefly.png create mode 100644 mods/fireflies/textures/fireflies_firefly_animated.png create mode 100644 mods/flowers/README.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/mapgen.lua create mode 100644 mods/flowers/textures/flowers_chrysanthemum_green.png create mode 100644 mods/flowers/textures/flowers_dandelion_white.png create mode 100644 mods/flowers/textures/flowers_dandelion_yellow.png create mode 100644 mods/flowers/textures/flowers_geranium.png create mode 100644 mods/flowers/textures/flowers_mushroom_brown.png create mode 100644 mods/flowers/textures/flowers_mushroom_red.png create mode 100644 mods/flowers/textures/flowers_rose.png create mode 100644 mods/flowers/textures/flowers_tulip.png create mode 100644 mods/flowers/textures/flowers_tulip_black.png create mode 100644 mods/flowers/textures/flowers_viola.png create mode 100644 mods/flowers/textures/flowers_waterlily.png create mode 100644 mods/flowers/textures/flowers_waterlily_bottom.png create mode 100644 mods/give_initial_stuff/README.txt create mode 100644 mods/give_initial_stuff/depends.txt create mode 100644 mods/give_initial_stuff/init.lua create mode 100644 mods/give_initial_stuff/license.txt create mode 100644 mods/jas0/chatcommands.lua create mode 100644 mods/jas0/classes.lua create mode 100644 mods/jas0/depends.txt create mode 100644 mods/jas0/init.lua create mode 100644 mods/jas0/paper.lua create mode 100644 mods/jas0/players.lua create mode 100644 mods/jas0/recipes.lua create mode 100644 mods/jas0/sounds/default_chest_close.ogg create mode 100644 mods/jas0/sounds/default_dig_crumbly.ogg create mode 100644 mods/jas0/sounds/default_dig_snappy.ogg create mode 100644 mods/jas0/sounds/default_dirt_footstep.1.ogg create mode 100644 mods/jas0/sounds/default_dirt_footstep.2.ogg create mode 100644 mods/jas0/sounds/default_grass_footstep.1.ogg create mode 100644 mods/jas0/sounds/default_grass_footstep.2.ogg create mode 100644 mods/jas0/sounds/default_grass_footstep.3.ogg create mode 100644 mods/jas0/sounds/doors_door_close.ogg create mode 100644 mods/jas0/sounds/doors_door_open.ogg create mode 100644 mods/jas0/sounds/doors_fencegate_close.ogg create mode 100644 mods/jas0/sounds/doors_fencegate_open.ogg create mode 100644 mods/jas0/sounds/doors_glass_door_close.ogg create mode 100644 mods/jas0/sounds/doors_glass_door_open.ogg create mode 100644 mods/jas0/sounds/doors_steel_door_close.ogg create mode 100644 mods/jas0/sounds/doors_steel_door_open.ogg create mode 100644 mods/jas0/sounds/xdecor_bouncy.ogg create mode 100644 mods/jas0/textures/crosshair.png create mode 100644 mods/jas0/textures/empty.png create mode 100644 mods/jas0/ui.lua create mode 100644 mods/mailbox/LICENSE create mode 100644 mods/mailbox/LICENSE.xdecor create mode 100644 mods/mailbox/README create mode 100644 mods/mailbox/depends.txt create mode 100644 mods/mailbox/init.lua create mode 100644 mods/mailbox/textures/mailbox_blank16.png create mode 100644 mods/mailbox/textures/mailbox_botton.png create mode 100644 mods/mailbox/textures/mailbox_logo.png create mode 100644 mods/mailbox/textures/mailbox_side.png create mode 100644 mods/mailbox/textures/mailbox_top.png create mode 100644 mods/mechanisms/LICENSE.txt create mode 100644 mods/mechanisms/README.txt create mode 100644 mods/mechanisms/depends.txt create mode 100644 mods/mechanisms/init.lua create mode 100644 mods/mechanisms/mod.conf create mode 100644 mods/mechanisms/textures/mechanisms_lever_off.png create mode 100644 mods/mechanisms/textures/mechanisms_lever_on.png create mode 100644 mods/mechanisms/textures/mechanisms_pressure_stone.png create mode 100644 mods/mobs/AUTHORS create mode 100644 mods/mobs/LICENSE.sounds create mode 100644 mods/mobs/LICENSE.zombies create mode 100644 mods/mobs/api.lua create mode 100644 mods/mobs/api.txt create mode 100644 mods/mobs/bunny.lua create mode 100644 mods/mobs/crafts.lua create mode 100644 mods/mobs/depends.txt create mode 100644 mods/mobs/description.txt create mode 100644 mods/mobs/dungeon_master.lua create mode 100644 mods/mobs/init.lua create mode 100644 mods/mobs/intllib.lua create mode 100644 mods/mobs/kitten.lua create mode 100644 mods/mobs/license.txt create mode 100644 mods/mobs/locale/de_DE.po create mode 100644 mods/mobs/locale/es.po create mode 100644 mods/mobs/locale/fr.po create mode 100644 mods/mobs/locale/it.po create mode 100644 mods/mobs/locale/ms.po create mode 100644 mods/mobs/locale/pt.po create mode 100644 mods/mobs/locale/ru.po create mode 100644 mods/mobs/locale/template.pot create mode 100644 mods/mobs/locale/tr.po create mode 100644 mods/mobs/mod.conf create mode 100644 mods/mobs/models/Zombie.blend create mode 100644 mods/mobs/models/Zombie_base.blend create mode 100644 mods/mobs/models/Zombie_crawler.blend create mode 100644 mods/mobs/models/Zombie_one-arm.blend create mode 100644 mods/mobs/models/creatures_mob.x create mode 100644 mods/mobs/models/mobs_bunny.b3d create mode 100644 mods/mobs/models/mobs_dungeon_master.b3d create mode 100644 mods/mobs/models/mobs_kitten.b3d create mode 100644 mods/mobs/models/mobs_oerkki.b3d create mode 100644 mods/mobs/models/mobs_rat.b3d create mode 100644 mods/mobs/models/mobs_sheep.b3d create mode 100644 mods/mobs/models/mobs_sheep_shaved.b3d create mode 100644 mods/mobs/models/zombie_crawler.b3d create mode 100644 mods/mobs/models/zombie_normal.b3d create mode 100644 mods/mobs/models/zombie_one-arm.b3d create mode 100644 mods/mobs/nodes.lua create mode 100644 mods/mobs/npc.lua create mode 100644 mods/mobs/oerkki.lua create mode 100644 mods/mobs/rat.lua create mode 100644 mods/mobs/readme.MD create mode 100644 mods/mobs/settingtypes.txt create mode 100644 mods/mobs/sheep.lua create mode 100644 mods/mobs/sounds/mobs_dungeonmaster.ogg create mode 100644 mods/mobs/sounds/mobs_fireball.ogg create mode 100644 mods/mobs/sounds/mobs_kitten.ogg create mode 100644 mods/mobs/sounds/mobs_oerkki.ogg create mode 100644 mods/mobs/sounds/mobs_punch.ogg create mode 100644 mods/mobs/sounds/mobs_rat.1.ogg create mode 100644 mods/mobs/sounds/mobs_rat.2.ogg create mode 100644 mods/mobs/sounds/mobs_sheep.1.ogg create mode 100644 mods/mobs/sounds/mobs_sheep.2.ogg create mode 100644 mods/mobs/sounds/mobs_spell.ogg create mode 100644 mods/mobs/sounds/mobs_swing.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.1.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.2.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.3.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.4.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.5.ogg create mode 100644 mods/mobs/sounds/mobs_zombie.6.ogg create mode 100644 mods/mobs/sounds/mobs_zombie_death.ogg create mode 100644 mods/mobs/sounds/mobs_zombie_hit.ogg create mode 100644 mods/mobs/textures/mobs_blood.png create mode 100644 mods/mobs/textures/mobs_bunny_brown.png create mode 100644 mods/mobs/textures/mobs_bunny_evil.png create mode 100644 mods/mobs/textures/mobs_bunny_grey.png create mode 100644 mods/mobs/textures/mobs_bunny_inv.png create mode 100644 mods/mobs/textures/mobs_bunny_white.png create mode 100644 mods/mobs/textures/mobs_chicken_egg.png create mode 100644 mods/mobs/textures/mobs_chicken_egg_overlay.png create mode 100644 mods/mobs/textures/mobs_dungeon_master.png create mode 100644 mods/mobs/textures/mobs_dungeon_master2.png create mode 100644 mods/mobs/textures/mobs_dungeon_master3.png create mode 100644 mods/mobs/textures/mobs_fireball.png create mode 100644 mods/mobs/textures/mobs_kitten_ginger.png create mode 100644 mods/mobs/textures/mobs_kitten_inv.png create mode 100644 mods/mobs/textures/mobs_kitten_sandy.png create mode 100644 mods/mobs/textures/mobs_kitten_splotchy.png create mode 100644 mods/mobs/textures/mobs_kitten_striped.png create mode 100644 mods/mobs/textures/mobs_leather.png create mode 100644 mods/mobs/textures/mobs_meat.png create mode 100644 mods/mobs/textures/mobs_meat_raw.png create mode 100644 mods/mobs/textures/mobs_nametag.png create mode 100644 mods/mobs/textures/mobs_npc.png create mode 100644 mods/mobs/textures/mobs_npc2.png create mode 100644 mods/mobs/textures/mobs_npc_baby.png create mode 100644 mods/mobs/textures/mobs_oerkki.png create mode 100644 mods/mobs/textures/mobs_oerkki2.png create mode 100644 mods/mobs/textures/mobs_rat.png create mode 100644 mods/mobs/textures/mobs_rat2.png create mode 100644 mods/mobs/textures/mobs_rat_inventory.png create mode 100644 mods/mobs/textures/mobs_rotten_flesh.png create mode 100644 mods/mobs/textures/mobs_shears.png create mode 100644 mods/mobs/textures/mobs_sheep_base.png create mode 100644 mods/mobs/textures/mobs_sheep_shaved.png create mode 100644 mods/mobs/textures/mobs_sheep_wool.png create mode 100644 mods/mobs/textures/mobs_zombie.png create mode 100644 mods/mobs/textures/mobs_zombie_head.png create mode 100644 mods/mobs/zombies.lua create mode 100644 mods/multiskin/LICENSE create mode 100644 mods/multiskin/README.md create mode 100644 mods/multiskin/depends.txt create mode 100644 mods/multiskin/description.txt create mode 100644 mods/multiskin/init.lua create mode 100644 mods/multiskin/mod.conf create mode 100644 mods/multiskin/models/multiskin.b3d create mode 100644 mods/multiskin/models/multiskin.blend create mode 100644 mods/multiskin/screenshot.png create mode 100644 mods/multiskin/textures/multiskin_blass.png create mode 100644 mods/multiskin/textures/multiskin_blass_inv.png create mode 100644 mods/multiskin/textures/multiskin_blockcolor.png create mode 100644 mods/multiskin/textures/multiskin_blockcolor_inv.png create mode 100644 mods/multiskin/textures/multiskin_cheapie.png create mode 100644 mods/multiskin/textures/multiskin_cheapie_inv.png create mode 100644 mods/multiskin/textures/multiskin_female.png create mode 100644 mods/multiskin/textures/multiskin_male.png create mode 100644 mods/multiskin/textures/multiskin_me_only.png create mode 100644 mods/multiskin/textures/multiskin_me_only_inv.png create mode 100644 mods/multiskin/textures/multiskin_sam_ii_winter.png create mode 100644 mods/multiskin/textures/multiskin_sam_ii_winter_inv.png create mode 100644 mods/multiskin/textures/multiskin_temerlime.png create mode 100644 mods/multiskin/textures/multiskin_temerlime_inv.png create mode 100644 mods/multiskin/textures/multiskin_urotsuki.png create mode 100644 mods/multiskin/textures/multiskin_urotsuki_inv.png create mode 100644 mods/multiskin/textures/skins_here.txt create mode 100644 mods/player_api/README.txt create mode 100644 mods/player_api/api.lua create mode 100644 mods/player_api/init.lua create mode 100644 mods/player_api/license.txt create mode 100644 mods/player_api/models/character.b3d create mode 100644 mods/player_api/models/character.blend create mode 100644 mods/player_api/models/character.png create mode 100644 mods/player_api/sounds/player_damage.ogg create mode 100644 mods/player_api/textures/gui_hotbar.png create mode 100644 mods/player_api/textures/gui_hotbar_selected.png create mode 100644 mods/player_api/textures/player.png create mode 100644 mods/player_api/textures/player_back.png create mode 100644 mods/protector/README.md create mode 100644 mods/protector/admin.lua create mode 100644 mods/protector/depends.txt create mode 100644 mods/protector/description.txt create mode 100644 mods/protector/doors_chest.lua create mode 100644 mods/protector/hud.lua create mode 100644 mods/protector/init.lua create mode 100644 mods/protector/intllib.lua create mode 100644 mods/protector/license.txt create mode 100644 mods/protector/locale/de.po create mode 100644 mods/protector/locale/fr.po create mode 100644 mods/protector/locale/ru.po create mode 100644 mods/protector/locale/template.pot create mode 100644 mods/protector/locale/tr.po create mode 100644 mods/protector/lucky_block.lua create mode 100644 mods/protector/mod.conf create mode 100644 mods/protector/pvp.lua create mode 100644 mods/protector/screenshot.png create mode 100644 mods/protector/textures/license.txt create mode 100644 mods/protector/textures/protector_display.png create mode 100644 mods/protector/textures/protector_logo.png create mode 100644 mods/protector/textures/protector_overlay.png create mode 100644 mods/protector/tool.lua create mode 100644 mods/screwdriver/README.txt create mode 100644 mods/screwdriver/init.lua create mode 100644 mods/screwdriver/license.txt create mode 100644 mods/screwdriver/textures/screwdriver.png create mode 100644 mods/sfinv/README.txt create mode 100644 mods/sfinv/api.lua create mode 100644 mods/sfinv/init.lua create mode 100644 mods/sfinv/license.txt create mode 100644 mods/shields/LICENSE.txt create mode 100644 mods/shields/README.txt create mode 100644 mods/shields/crafting_guide.txt create mode 100644 mods/shields/depends.txt create mode 100644 mods/shields/description.txt create mode 100644 mods/shields/init.lua create mode 100644 mods/shields/textures/preview_index.txt create mode 100644 mods/shields/textures/shields_inv_shield_admin.png create mode 100644 mods/shields/textures/shields_inv_shield_bronze.png create mode 100644 mods/shields/textures/shields_inv_shield_cactus.png create mode 100644 mods/shields/textures/shields_inv_shield_crystal.png create mode 100644 mods/shields/textures/shields_inv_shield_diamond.png create mode 100644 mods/shields/textures/shields_inv_shield_enhanced_cactus.png create mode 100644 mods/shields/textures/shields_inv_shield_enhanced_wood.png create mode 100644 mods/shields/textures/shields_inv_shield_gold.png create mode 100644 mods/shields/textures/shields_inv_shield_mithril.png create mode 100644 mods/shields/textures/shields_inv_shield_steel.png create mode 100644 mods/shields/textures/shields_inv_shield_wood.png create mode 100644 mods/shields/textures/shields_shield_admin.png create mode 100644 mods/shields/textures/shields_shield_admin_preview.png create mode 100644 mods/shields/textures/shields_shield_bronze.png create mode 100644 mods/shields/textures/shields_shield_bronze_preview.png create mode 100644 mods/shields/textures/shields_shield_cactus.png create mode 100644 mods/shields/textures/shields_shield_cactus_preview.png create mode 100644 mods/shields/textures/shields_shield_crystal.png create mode 100644 mods/shields/textures/shields_shield_crystal_preview.png create mode 100644 mods/shields/textures/shields_shield_diamond.png create mode 100644 mods/shields/textures/shields_shield_diamond_preview.png create mode 100644 mods/shields/textures/shields_shield_enhanced_cactus.png create mode 100644 mods/shields/textures/shields_shield_enhanced_cactus_preview.png create mode 100644 mods/shields/textures/shields_shield_enhanced_wood.png create mode 100644 mods/shields/textures/shields_shield_enhanced_wood_preview.png create mode 100644 mods/shields/textures/shields_shield_gold.png create mode 100644 mods/shields/textures/shields_shield_gold_preview.png create mode 100644 mods/shields/textures/shields_shield_mithril.png create mode 100644 mods/shields/textures/shields_shield_mithril_preview.png create mode 100644 mods/shields/textures/shields_shield_steel.png create mode 100644 mods/shields/textures/shields_shield_steel_preview.png create mode 100644 mods/shields/textures/shields_shield_wood.png create mode 100644 mods/shields/textures/shields_shield_wood_preview.png create mode 100755 mods/shop/.gitignore create mode 100644 mods/shop/README.md create mode 100644 mods/shop/depends.txt create mode 100644 mods/shop/init.lua create mode 100644 mods/shop/textures/shop_coin.png create mode 100644 mods/shop/textures/shop_shop_front.png create mode 100644 mods/shop/textures/shop_shop_side.png create mode 100644 mods/shop/textures/shop_shop_topbottom.png create mode 100644 mods/sneak_jump/LICENSE create mode 100644 mods/sneak_jump/README create mode 100644 mods/sneak_jump/init.lua create mode 100644 mods/sneak_jump/mod.conf create mode 100644 mods/sneak_jump/settingtypes.txt create mode 100644 mods/sneak_jump/sounds/sneak_jump_eat.ogg create mode 100644 mods/sneak_jump/sounds/sneak_jump_item.1.ogg create mode 100644 mods/sneak_jump/sounds/sneak_jump_item.2.ogg create mode 100644 mods/sneak_jump/sounds/sneak_jump_item.3.ogg create mode 100644 mods/sneak_jump/sounds/sneak_jump_item.4.ogg create mode 100644 mods/sneak_jump/textures/sneak_jump_armor_sb.png create mode 100644 mods/sneak_jump/textures/sneak_jump_armor_sb_bg.png create mode 100644 mods/sneak_jump/textures/sneak_jump_bandage.png create mode 100644 mods/sneak_jump/textures/sneak_jump_satiation_sb.png create mode 100644 mods/sneak_jump/textures/sneak_jump_stamina_sb.png create mode 100644 mods/spawn/README.txt create mode 100644 mods/spawn/depends.txt create mode 100644 mods/spawn/init.lua create mode 100644 mods/spawn/license.txt 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/stairs/license.txt create mode 100644 mods/stairs/textures/stairs_glass_outer_stairside.png create mode 100644 mods/stairs/textures/stairs_glass_split.png create mode 100644 mods/stairs/textures/stairs_glass_stairside.png create mode 100644 mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png create mode 100644 mods/stairs/textures/stairs_obsidian_glass_split.png create mode 100644 mods/stairs/textures/stairs_obsidian_glass_stairside.png create mode 100644 mods/terminal/LICENSE.txt create mode 100644 mods/terminal/depends.txt create mode 100644 mods/terminal/init.lua create mode 100644 mods/tnt/README.txt create mode 100644 mods/tnt/depends.txt create mode 100644 mods/tnt/init.lua create mode 100644 mods/tnt/license.txt create mode 100644 mods/tnt/sounds/tnt_explode.ogg create mode 100644 mods/tnt/sounds/tnt_gunpowder_burning.ogg create mode 100644 mods/tnt/sounds/tnt_ignite.ogg create mode 100644 mods/tnt/textures/tnt_blast.png create mode 100644 mods/tnt/textures/tnt_boom.png create mode 100644 mods/tnt/textures/tnt_bottom.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_crossing.png create mode 100644 mods/tnt/textures/tnt_gunpowder_curved.png create mode 100644 mods/tnt/textures/tnt_gunpowder_inventory.png create mode 100644 mods/tnt/textures/tnt_gunpowder_straight.png create mode 100644 mods/tnt/textures/tnt_gunpowder_t_junction.png create mode 100644 mods/tnt/textures/tnt_side.png create mode 100644 mods/tnt/textures/tnt_smoke.png create mode 100644 mods/tnt/textures/tnt_tnt_stick.png create mode 100644 mods/tnt/textures/tnt_top.png create mode 100644 mods/tnt/textures/tnt_top_burning.png create mode 100644 mods/tnt/textures/tnt_top_burning_animated.png 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/license.txt create mode 100644 mods/vessels/textures/vessels_drinking_glass.png create mode 100644 mods/vessels/textures/vessels_drinking_glass_inv.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_shelf.png create mode 100644 mods/vessels/textures/vessels_shelf_slot.png create mode 100644 mods/vessels/textures/vessels_steel_bottle.png create mode 100644 mods/walkie/README create mode 100644 mods/walkie/depends.txt create mode 100644 mods/walkie/init.lua create mode 100644 mods/walkie/mod.conf create mode 100644 mods/walkie/sounds/walkie_blip.1.ogg create mode 100644 mods/walkie/sounds/walkie_blip.2.ogg create mode 100644 mods/walkie/sounds/walkie_blip.3.ogg create mode 100644 mods/walkie/textures/walkie_compass_n.png create mode 100644 mods/walkie/textures/walkie_compass_nw.png create mode 100644 mods/walkie/textures/walkie_empty.png create mode 100644 mods/walkie/textures/walkie_intercomm.png create mode 100644 mods/walkie/textures/walkie_intercomm_wall.png create mode 100644 mods/walkie/textures/walkie_talkie.png create mode 100644 mods/walls/README.txt create mode 100644 mods/walls/depends.txt create mode 100644 mods/walls/init.lua create mode 100644 mods/walls/license.txt create mode 100644 mods/warps/LICENSE create mode 100644 mods/warps/README create mode 100644 mods/warps/depends.txt create mode 100644 mods/warps/description.txt create mode 100644 mods/warps/init.lua create mode 100644 mods/warps/mod.conf create mode 100644 mods/warps/models/warps_warpstone.obj create mode 100644 mods/warps/screenshot.png create mode 100644 mods/warps/sounds/warps_woosh.ogg create mode 100644 mods/warps/textures/warps_amethyst_warpstone.png create mode 100644 mods/warps/textures/warps_diamond_warpstone.png create mode 100644 mods/warps/textures/warps_emerald_warpstone.png create mode 100644 mods/warps/textures/warps_mese_warpstone.png create mode 100644 mods/warps/textures/warps_ruby_warpstone.png create mode 100644 mods/warps/textures/warps_warpgoo_amethyst.png create mode 100644 mods/warps/textures/warps_warpgoo_diamond.png create mode 100644 mods/warps/textures/warps_warpgoo_mese.png create mode 100644 mods/wieldview/LICENSE.txt create mode 100644 mods/wieldview/README.txt create mode 100644 mods/wieldview/depends.txt create mode 100644 mods/wieldview/description.txt create mode 100644 mods/wieldview/init.lua create mode 100644 mods/wieldview/transform.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/license.txt 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/xpanes/README.txt create mode 100644 mods/xpanes/depends.txt create mode 100644 mods/xpanes/init.lua create mode 100644 mods/xpanes/license.txt create mode 100644 mods/xpanes/textures/xpanes_bar.png create mode 100644 mods/xpanes/textures/xpanes_bar_top.png create mode 100644 mods/xpanes/textures/xpanes_edge.png create mode 100644 mods/xpanes/textures/xpanes_edge_obsidian.png create mode 100644 mods/xpanes/textures/xpanes_pane_half.png create mode 100644 mods/xpanes/textures/xpanes_space.png create mode 100644 mods/ydecor/depends.txt create mode 100644 mods/ydecor/init.lua create mode 100644 mods/ydecor/textures/ydecor_baricade.png create mode 100644 mods/ydecor/textures/ydecor_coalstone_tile.png create mode 100644 mods/ydecor/textures/ydecor_cobweb.png create mode 100644 mods/ydecor/textures/ydecor_hard_clay.png create mode 100644 mods/ydecor/textures/ydecor_ivy.png create mode 100644 mods/ydecor/textures/ydecor_moonbrick.png create mode 100644 mods/ydecor/textures/ydecor_packed_ice.png create mode 100644 mods/ydecor/textures/ydecor_stone_rune.png create mode 100644 mods/ydecor/textures/ydecor_wood_tile.png create mode 100644 mtg.LICENSE create mode 100644 mtg.README create mode 100644 schematic_tables.txt create mode 100644 settingtypes.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef02689 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +## Files related to minetest development cycle +/*.patch +# GNU Patch reject file +*.rej + +## Editors and Development environments +*~ +*.swp +*.bak* +*.orig +# Vim +*.vim +# Kate +.*.kate-swp +.swp.* +# Eclipse (LDT) +.project +.settings/ +.buildpath +.metadata +# Idea IDE +.idea/* diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 0000000..c3df64b --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,22 @@ +unused_args = false +allow_defined_top = true + +read_globals = { + "DIR_DELIM", + "minetest", "core", + "dump", + "vector", + "VoxelManip", "VoxelArea", + "PseudoRandom", "PcgRandom", + "ItemStack", + "Settings", + "unpack", + -- Silence errors about custom table methods. + table = { fields = { "copy", "indexof" } } +} + +-- Overwrites minetest.handle_node_drops +files["mods/creative/init.lua"].globals = { "minetest" } + +-- Don't report on legacy definitions of globals. +files["mods/default/legacy.lua"].global = false diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..5253938 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: generic +sudo: false +addons: + apt: + packages: + - luarocks +before_install: + - luarocks install --local luacheck +script: +- $HOME/.luarocks/bin/luacheck --no-color ./mods +notifications: + email: false diff --git a/3d_armor.LICENSE b/3d_armor.LICENSE new file mode 100644 index 0000000..18df885 --- /dev/null +++ b/3d_armor.LICENSE @@ -0,0 +1,9 @@ +3D Armor - Visible Player Armor +=============================== + +License Source Code: Copyright (C) 2013-2017 Stuart Jones - LGPL v2.1 + +Armor Textures: Copyright (C) 2017 davidthecreator - CC-BY-SA 3.0 + +Special credit to Jordach and MirceaKitsune for providing the default 3d character model. + diff --git a/3d_armor.README b/3d_armor.README new file mode 100644 index 0000000..cb16ec4 --- /dev/null +++ b/3d_armor.README @@ -0,0 +1,86 @@ +Modpack - 3d Armor [0.4.9] +========================== + +### Table of Contents + + + + +- [[mod] Visible Player Armor [3d_armor]](#mod-visible-player-armor-3d_armor) +- [[mod] Visible Wielded Items [wieldview]](#mod-visible-wielded-items-wieldview) +- [[mod] Shields [shields]](#mod-shields-shields) +- [[mod] Technic Armor [technic_armor]](#mod-technic-armor-technic_armor) +- [[mod] Hazmat Suit [hazmat_suit]](#mod-hazmat-suit-hazmat_suit) +- [[mod] 3d Armor Stand [3d_armor_stand]](#mod-3d-armor-stand-3d_armor_stand) + + + + +[mod] Visible Player Armor [3d_armor] +------------------------------------- + +Minetest Version: 0.4.16 + +Game: minetest_game and many derivatives + +Depends: default + +Adds craftable armor that is visible to other players. Each armor item worn contributes to +a player's armor group level making them less vulnerable to attack. + +Armor takes damage when a player is hurt, however, many armor items offer a 'stackable' +percentage chance of restoring the lost health points. Overall armor level is boosted by 10% +when wearing a full matching set (helmet, chestplate, leggings and boots of the same material) + +Fire protection has been added by TenPlus1 and in use when ethereal mod is found and crystal +armor has been enabled. each piece of armor offers 1 fire protection, level 1 protects +against torches, level 2 against crystal spikes, 3 for fire and 5 protects when in lava. + +Compatible with sfinv, inventory plus or unified inventory by enabling the appropriate +inventory module, [3d_armor_sfinv], [3d_armor_ip] and [3d_armor_ui] respectively. +Also compatible with [smart_inventory] without the need for additional modules. + +built in support player skins [skins] by Zeg9 and Player Textures [player_textures] by PilzAdam +and [simple_skins] by TenPlus1. + +Armor can be configured by adding a file called armor.conf in 3d_armor mod or world directory. +see armor.conf.example for all available options. + +[mod] Visible Wielded Items [wieldview] +--------------------------------------- + +Depends: 3d_armor + +Makes hand wielded items visible to other players. + +[mod] Shields [shields] +----------------------- + +Depends: 3d_armor + +Originally a part of 3d_armor, shields have been re-included as an optional extra. +If you do not want shields then simply remove the shields folder from the modpack. + +[mod] Technic Armor [technic_armor] +----------------------------------- + +Depends: 3d_armor, technic_worldgen + +Adds tin, silver and technic materials to 3d_armor. +Requires technic (technic_worldgen at least) mod. + +[mod] Hazmat Suit [hazmat_suit] +------------------------------- + +Depends: 3d_armor, technic + +Adds hazmat suit to 3d_armor. It protects rather well from fire (if enabled in configuration) and radiation*, and it has built-in oxygen supply. + +Requires technic mod. + +[mod] 3d Armor Stand [3d_armor_stand] +------------------------------------- + +Depends: 3d_armor + +Adds a chest-like armor stand for armor storage and display. diff --git a/BUGS b/BUGS new file mode 100644 index 0000000..4bcefb9 --- /dev/null +++ b/BUGS @@ -0,0 +1,31 @@ +I fixed multiskin erroring on "default:dirt" texture. Now, it appears that when + joining the game as a node class, that when wielding a walkie after + changing back to miner results in the compass being shown behind the hearts! + [This should be okay, now. I just reorganized the order of hud flags + being set, seemed to work.] + +Sometimes switching to/from node class results in bugs. Like getting an item in your + hand from prior class. Or the hotbar on the hud showing visual glitches + (vertical lines). There's also the matter of multiskin attempting to set + player's skin to "default:dirt" and the like. + +Explosions seem to erase backpacks, other stuff. I did function() end on on_blast + for backpack, hopefully that helps. Still need to explode the contents. + +I was underground battling with Oerkki and NPCs, when I saw the minimap come on when I hit + the button. But, I didn't have a walkie! What? [Got it, forgot to turn it off + if wielded ~= walkie... -jas] + +Sometimes the player's HP (built-in statbar, not override (breath is hidden/off)) does not + display on the HUD. The reason, I suspect, is because I had a level 99 miner + and 1/99 HP shows as zero (out of twenty) on the HUD. I wonder if I can override + it easily, I don't want to redo the HP statbar, but I might eventually. [Update: + Armor suffers the same issue, if a very low value, shows as `0' on statbar!] + +When the player's `wielditem' (mod), in third person, item is constantly set, models resets. + Example: Holding a walkie talkie, which is always setting(?). Or updating something, + causing the model to reset (not fully animate, go back to frame 0 repeatedly)... + +The last item on the list of teleports in the bed formspec, if deleted, doesn't + update the index. So what happens is that once you delete the last + item, it won't work again until you select a new item. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..16c4ab4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,682 @@ ++----------------------------------------------------------------------+ +| Glitchtest is copyright (c) 2018 James Stevenson | +| | +| Code: GPL version 3 | +| Media: CC BY-SA 4 ++----------------------------------------------------------------------+ + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 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 General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README b/README new file mode 100644 index 0000000..ba48c41 --- /dev/null +++ b/README @@ -0,0 +1 @@ +Glitchtest game diff --git a/TODO b/TODO new file mode 100644 index 0000000..dd53880 --- /dev/null +++ b/TODO @@ -0,0 +1,2 @@ +Make backpacks explode contents. +Learn Blender diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..6eb7063 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = Glitchtest diff --git a/game_api.txt b/game_api.txt new file mode 100644 index 0000000..47df8e7 --- /dev/null +++ b/game_api.txt @@ -0,0 +1,1017 @@ +Minetest Game API +================= +GitHub Repo: https://github.com/minetest/minetest_game + + +Introduction +------------ + +The Minetest Game game offers multiple new possibilities in addition to the Minetest engine's built-in API, +allowing you to add new plants to farming mod, buckets for new liquids, new stairs and custom panes. +For information on the Minetest API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt +Please note: + + * [XYZ] refers to a section the Minetest API + * [#ABC] refers to a section in this document + * [pos] refers to a position table `{x = -5, y = 0, z = 200}` + + +Bucket API +---------- + +The bucket API allows registering new types of buckets for non-default liquids. + + bucket.register_liquid( + "default:lava_source", -- name of the source node + "default:lava_flowing", -- name of the flowing node + "bucket:bucket_lava", -- name of the new bucket item (or nil if liquid is not takeable) + "bucket_lava.png", -- texture of the new bucket item (ignored if itemname == nil) + "Lava Bucket", -- text description of the bucket item + {lava_bucket = 1}, -- groups of the bucket item, OPTIONAL + false -- force-renew, OPTIONAL. Force the liquid source to renew if it has + -- a source neighbour, even if defined as 'liquid_renewable = false'. + -- Needed to avoid creating holes in sloping rivers. + ) + +The filled bucket item is returned to the player that uses an empty bucket pointing to the given liquid source. +When punching with an empty bucket pointing to an entity or a non-liquid node, the on_punch of the entity or node will be triggered. + + +Beds API +-------- + + beds.register_bed( + "beds:bed", -- Bed name + def -- See [#Bed definition] + ) + + * `beds.can_dig(bed_pos)` Returns a boolean whether the bed at `bed_pos` may be dug + * `beds.read_spawns() ` Returns a table containing players respawn positions + * `beds.kick_players()` Forces all players to leave bed + * `beds.skip_night()` Sets world time to morning and saves respawn position of all players currently sleeping + +### Bed definition + + { + description = "Simple Bed", + inventory_image = "beds_bed.png", + wield_image = "beds_bed.png", + tiles = { + bottom = {'Tile definition'}, -- the tiles of the bottom part of the bed. + top = {Tile definition} -- the tiles of the bottom part of the bed. + }, + nodebox = { + bottom = 'regular nodebox', -- bottom part of bed (see [Node boxes]) + top = 'regular nodebox', -- top part of bed (see [Node boxes]) + }, + selectionbox = 'regular nodebox', -- for both nodeboxes (see [Node boxes]) + recipe = { -- Craft recipe + {"group:wool", "group:wool", "group:wool"}, + {"group:wood", "group:wood", "group:wood"} + } + } + + +Bones API +--------- + +An ordered list of listnames (default: "main", "craft") of the player inventory, +that will be placed into bones or dropped on player death can be looked up or changed +in `bones.player_inventory_lists`. + +e.g. `table.insert(bones.player_inventory_lists, "backpack")` + + +Creative API +------------ + +Use `creative.register_tab(name, title, items)` to add a tab with filtered items. +For example, + + creative.register_tab("tools", "Tools", minetest.registered_tools) + +is used to show all tools. Name is used in the sfinv page name, title is the +human readable title. + +`is_enabled_for` is used to check whether a player is in creative mode: + + creative.is_enabled_for(name) + +Override this to allow per-player game modes. + +The contents of `creative.formspec_add` is appended to every creative inventory +page. Mods can use it to add additional formspec elements onto the default +creative inventory formspec to be drawn after each update. + + +Chests API +---------- + +The chests API allows the creation of chests, which have their own inventories for holding items. + +`default.chest.get_chest_formspec(pos)` + + * Returns a formspec for a specific chest. + * `pos` Location of the chest node, e.g `{x = 1, y = 1, z = 1}` + +`default.chest.chest_lid_obstructed(pos)` + + * Returns a boolean depending on whether or not a chest has its top obstructed by a solid node. + * `pos` Location of the chest node, e.g `{x = 1, y = 1, z = 1}` + +`default.chest.chest_lid_close(pn)` + + * Closes the chest that a player is currently looking in. + * `pn` The name of the player whose chest is going to be closed + +`default.chest.open_chests` + + * A table indexed by player name to keep track of who opened what chest. + * Key: The name of the player. + * Value: A table containing information about the chest the player is looking at. + e.g `{ pos = {1, 1, 1}, sound = null, swap = "chest" }` + +`default.chest.register_chest(name, def)` + + * Registers new chest + * `name` Name for chest + * `def` See [#Chest Definition] + +### Chest Definition + + description = "Chest", + tiles = { + "default_chest_top.png", + "default_chest_top.png", + "default_chest_side.png", + "default_chest_side.png", + "default_chest_front.png", + "default_chest_inside.png" + }, -- Textures which are applied to the chest model. + sounds = default.node_sound_wood_defaults(), + sound_open = "default_chest_open", + sound_close = "default_chest_close", + groups = {choppy = 2, oddly_breakable_by_hand = 2}, + protected = false, -- If true, only placer can modify chest. + + +Doors API +--------- + +The doors mod allows modders to register custom doors and trapdoors. + +`doors.register_door(name, def)` + + * Registers new door + * `name` Name for door + * `def` See [#Door definition] + +`doors.register_trapdoor(name, def)` + + * Registers new trapdoor + * `name` Name for trapdoor + * `def` See [#Trapdoor definition] + +`doors.register_fencegate(name, def)` + + * Registers new fence gate + * `name` Name for fence gate + * `def` See [#Fence gate definition] + +`doors.get(pos)` + + * `pos` A position as a table, e.g `{x = 1, y = 1, z = 1}` + * Returns an ObjectRef to a door, or nil if the position does not contain a door + + ### Methods + + :open(player) -- Open the door object, returns if door was opened + :close(player) -- Close the door object, returns if door was closed + :toggle(player) -- Toggle the door state, returns if state was toggled + :state() -- returns the door state, true = open, false = closed + + the "player" parameter can be omitted in all methods. If passed then + the usual permission checks will be performed to make sure the player + has the permissions needed to open this door. If omitted then no + permission checks are performed. + +### Door definition + + description = "Door description", + inventory_image = "mod_door_inv.png", + groups = {choppy = 2}, + tiles = {"mod_door.png"}, -- UV map. + recipe = craftrecipe, + sounds = default.node_sound_wood_defaults(), -- optional + sound_open = sound play for open door, -- optional + sound_close = sound play for close door, -- optional + protected = false, -- If true, only placer can open the door (locked for others) + +### Trapdoor definition + + description = "Trapdoor description", + inventory_image = "mod_trapdoor_inv.png", + groups = {choppy = 2}, + tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor + tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor + sounds = default.node_sound_wood_defaults(), -- optional + sound_open = sound play for open door, -- optional + sound_close = sound play for close door, -- optional + protected = false, -- If true, only placer can open the door (locked for others) + +### Fence gate definition + + description = "Wooden Fence Gate", + texture = "default_wood.png", -- `backface_culling` will automatically be + -- set to `true` if not specified. + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), -- optional + + +Dungeon Loot API +---------------- + +The mod that places chests with loot in dungeons provides an API to register additional loot. + +`dungeon_loot.register(def)` + + * Registers one or more loot items + * `def` Can be a single [#Loot definition] or a list of them + +`dungeon_loot.registered_loot` + + * Table of all registered loot, not to be modified manually + +### Loot definition + + name = "item:name", + chance = 0.5, + -- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen + -- due to an extra step in the selection process, 0.5 does not(!) mean that + -- on average every second chest will have this item + count = {1, 4}, + -- ^ table with minimum and maximum amounts of this item + -- optional, defaults to always single item + y = {-32768, -512}, + -- ^ table with minimum and maximum heights this item can be found at + -- optional, defaults to no height restrictions + types = {"desert"}, + -- ^ table with types of dungeons this item can be found in + -- supported types: "normal" (the cobble/mossycobble one), "sandstone", "desert" + -- optional, defaults to no type restrictions + + +Fence API +--------- + +Allows creation of new fences with "fencelike" drawtype. + +`default.register_fence(name, item definition)` + + Registers a new fence. Custom fields texture and material are required, as + are name and description. The rest is optional. You can pass most normal + nodedef fields here except drawtype. The fence group will always be added + for this node. + +### fence definition + + name = "default:fence_wood", + description = "Wooden Fence", + texture = "default_wood.png", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + + +Walls API +--------- + +The walls API allows easy addition of stone auto-connecting wall nodes. + +walls.register(name, desc, texture, mat, sounds) +^ name = "walls:stone_wall". Node name. +^ desc = "A Stone wall" +^ texture = "default_stone.png" +^ mat = "default:stone". Used to auto-generate crafting recipe. +^ sounds = sounds: see [#Default sounds] + + +Farming API +----------- + +The farming API allows you to easily register plants and hoes. + +`farming.register_hoe(name, hoe definition)` + * Register a new hoe, see [#hoe definition] + +`farming.register_plant(name, Plant definition)` + * Register a new growing plant, see [#Plant definition] + +`farming.registered_plants[name] = definition` + * Table of registered plants, indexed by plant name + +### Hoe Definition + + + { + description = "", -- Description for tooltip + inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image + max_uses = 30, -- Uses until destroyed + material = "", -- Material for recipes + recipe = { -- Craft recipe, if material isn't used + {"air", "air", "air"}, + {"", "group:stick"}, + {"", "group:stick"}, + } + } + +### Plant definition + + { + description = "", -- Description of seed item + inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image + steps = 8, -- How many steps the plant has to grow, until it can be harvested + -- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) + minlight = 13, -- Minimum light to grow + maxlight = default.LIGHT_MAX -- Maximum light to grow + } + + +Fire API +-------- + +New node def property: + +`on_burn(pos)` + + * Called when fire attempts to remove a burning node. + * `pos` Position of the burning node. + + `on_ignite(pos, igniter)` + + * Called when Flint and steel (or a mod defined ignitor) is used on a node. + Defining it may prevent the default action (spawning flames) from triggering. + * `pos` Position of the ignited node. + * `igniter` Player that used the tool, when available. + + +Give Initial Stuff API +---------------------- + +`give_initial_stuff.give(player)` + +^ Give initial stuff to "player" + +`give_initial_stuff.add(stack)` + +^ Add item to the initial stuff +^ Stack can be an ItemStack or a item name eg: "default:dirt 99" +^ Can be called after the game has loaded + +`give_initial_stuff.clear()` + +^ Removes all items from the initial stuff +^ Can be called after the game has loaded + +`give_initial_stuff.get_list()` + +^ returns list of item stacks + +`give_initial_stuff.set_list(list)` + +^ List of initial items with numeric indices. + +`give_initial_stuff.add_from_csv(str)` + +^ str is a comma separated list of initial stuff +^ Adds items to the list of items to be given + + +Players API +----------- + +The player API can register player models and update the player's appearence + +* `player_api.register_model(name, def)` + * Register a new model to be used by players + * name: model filename such as "character.x", "foo.b3d", etc. + * def: See [#Model definition] + * saved to player_api.registered_models + +* `player_api.registered_player_models[name]` + * Get a model's definition + * see [#Model definition] + +* `player_api.set_model(player, model_name)` + * Change a player's model + * `player`: PlayerRef + * `model_name`: model registered with player_api.register_model() + +* `player_api.set_animation(player, anim_name [, speed])` + * Applies an animation to a player + * anim_name: name of the animation. + * speed: frames per second. If nil, default from the model is used + +* `player_api.set_textures(player, textures)` + * Sets player textures + * `player`: PlayerRef + * `textures`: array of textures, If `textures` is nil the default + textures from the model def are used + +* `player_api.get_animation(player)` + * Returns a table containing fields `model`, `textures` and `animation`. + * Any of the fields of the returned table may be nil. + * player: PlayerRef + +### Model Definition + + { + animation_speed = 30, -- Default animation speed, in FPS. + textures = {"character.png", }, -- Default array of textures. + visual_size = {x = 1, y = 1}, -- Used to scale the model. + animations = { + -- = {x = , y = }, + foo = {x = 0, y = 19}, + bar = {x = 20, y = 39}, + -- ... + }, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, -- In nodes from feet position + stepheight = 0.6, -- In nodes + eye_height = 1.47, -- In nodes above feet position + } + + +TNT API +------- + +`tnt.register_tnt(definition)` + +^ Register a new type of tnt. + + * `name` The name of the node. If no prefix is given `tnt` is used. + * `description` A description for your TNT. + * `radius` The radius within which the TNT can destroy nodes. The default is 3. + * `damage_radius` The radius within which the TNT can damage players and mobs. By default it is twice the `radius`. + * `sound` The sound played when explosion occurs. By default it is `tnt_explode`. + * `disable_drops` Disable drops. By default it is set to false. + * `ignore_protection` Don't check `minetest.is_protected` before removing a node. + * `ignore_on_blast` Don't call `on_blast` even if a node has one. + * `tiles` Textures for node + * `side` Side tiles. By default the name of the tnt with a suffix of `_side.png`. + * `top` Top tile. By default the name of the tnt with a suffix of `_top.png`. + * `bottom` Bottom tile. By default the name of the tnt with a suffix of `_bottom.png`. + * `burning` Top tile when lit. By default the name of the tnt with a suffix of `_top_burning_animated.png". + +`tnt.boom(position[, definition])` + +^ Create an explosion. + +* `position` The center of explosion. +* `definition` The TNT definion as passed to `tnt.register` with the following addition: + * `explode_center` false by default which removes TNT node on blast, when true will explode center node. + +`tnt.burn(position, [nodename])` + +^ Ignite node at position, triggering its `on_ignite` callback (see fire mod). +If no such callback exists, fallback to turn tnt group nodes to their +"_burning" variant. + nodename isn't required unless already known. + +To make dropping items from node inventories easier, you can use the +following helper function from 'default': + +default.get_inventory_drops(pos, inventory, drops) + +^ Return drops from node inventory "inventory" in drops. + +* `pos` - the node position +* `inventory` - the name of the inventory (string) +* `drops` - an initialized list + +The function returns no values. The drops are returned in the `drops` +parameter, and drops is not reinitialized so you can call it several +times in a row to add more inventory items to it. + + +`on_blast` callbacks: + +Both nodedefs and entitydefs can provide an `on_blast()` callback + +`nodedef.on_blast(pos, intensity)` +^ Allow drop and node removal overriding +* `pos` - node position +* `intensity` - TNT explosion measure. larger or equal to 1.0 +^ Should return a list of drops (e.g. {"default:stone"}) +^ Should perform node removal itself. If callback exists in the nodedef +^ then the TNT code will not destroy this node. + +`entitydef.on_blast(luaobj, damage)` +^ Allow TNT effects on entities to be overridden +* `luaobj` - LuaEntityRef of the entity +* `damage` - suggested HP damage value +^ Should return a list of (bool do_damage, bool do_knockback, table drops) +* `do_damage` - if true then TNT mod wil damage the entity +* `do_knockback` - if true then TNT mod will knock the entity away +* `drops` - a list of drops, e.g. {"wool:red"} + + +Screwdriver API +--------------- + +The screwdriver API allows you to control a node's behaviour when a screwdriver is used on it. +To use it, add the `on_screwdriver` function to the node definition. + +`on_rotate(pos, node, user, mode, new_param2)` + + * `pos` Position of the node that the screwdriver is being used on + * `node` that node + * `user` The player who used the screwdriver + * `mode` screwdriver.ROTATE_FACE or screwdriver.ROTATE_AXIS + * `new_param2` the new value of param2 that would have been set if on_rotate wasn't there + * return value: false to disallow rotation, nil to keep default behaviour, true to allow + it but to indicate that changed have already been made (so the screwdriver will wear out) + * use `on_rotate = false` to always disallow rotation + * use `on_rotate = screwdriver.rotate_simple` to allow only face rotation + + +Sethome API +----------- + +The sethome API adds three global functions to allow mods to read a players home position, +set a players home position and teleport a player to home position. + +`sethome.get(name)` + + * `name` Player who's home position you wish to get + * return value: false if no player home coords exist, position table if true + +`sethome.set(name, pos)` + + * `name` Player who's home position you wish to set + * `pos` Position table containing coords of home position + * return value: false if unable to set and save new home position, otherwise true + +`sethome.go(name)` + + * `name` Player you wish to teleport to their home position + * return value: false if player cannot be sent home, otherwise true + + +Sfinv API +--------- + +It is recommended that you read this link for a good introduction to the +sfinv API by its author: https://rubenwardy.com/minetest_modding_book/en/chapters/sfinv.html + +### sfinv Methods + +**Pages** + +* sfinv.set_page(player, pagename) - changes the page +* sfinv.get_homepage_name(player) - get the page name of the first page to show to a player +* sfinv.register_page(name, def) - register a page, see section below +* sfinv.override_page(name, def) - overrides fields of an page registered with register_page. + * Note: Page must already be defined, (opt)depend on the mod defining it. +* sfinv.set_player_inventory_formspec(player) - (re)builds page formspec + and calls set_inventory_formspec(). +* sfinv.get_formspec(player, context) - builds current page's formspec + +**Contexts** + +* sfinv.get_or_create_context(player) - gets the player's context +* sfinv.set_context(player, context) + +**Theming** + +* sfinv.make_formspec(player, context, content, show_inv, size) - adds a theme to a formspec + * show_inv, defaults to false. Whether to show the player's main inventory + * size, defaults to `size[8,8.6]` if not specified +* sfinv.get_nav_fs(player, context, nav, current_idx) - creates tabheader or "" + +### sfinv Members + +* pages - table of pages[pagename] = def +* pages_unordered - array table of pages in order of addition (used to build navigation tabs). +* contexts - contexts[playername] = player_context +* enabled - set to false to disable. Good for inventory rehaul mods like unified inventory + +### Context + +A table with these keys: + +* page - current page name +* nav - a list of page names +* nav_titles - a list of page titles +* nav_idx - current nav index (in nav and nav_titles) +* any thing you want to store + * sfinv will clear the stored data on log out / log in + +### sfinv.register_page + +sfinv.register_page(name, def) + +def is a table containing: + +* `title` - human readable page name (required) +* `get(self, player, context)` - returns a formspec string. See formspec variables. (required) +* `is_in_nav(self, player, context)` - return true to show in the navigation (the tab header, by default) +* `on_player_receive_fields(self, player, context, fields)` - on formspec submit. +* `on_enter(self, player, context)` - called when the player changes pages, usually using the tabs. +* `on_leave(self, player, context)` - when leaving this page to go to another, called before other's on_enter + +### get formspec + +Use sfinv.make_formspec to apply a layout: + + return sfinv.make_formspec(player, context, [[ + list[current_player;craft;1.75,0.5;3,3;] + list[current_player;craftpreview;5.75,1.5;1,1;] + image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270] + listring[current_player;main] + listring[current_player;craft] + image[0,4.25;1,1;gui_hb_bg.png] + image[1,4.25;1,1;gui_hb_bg.png] + image[2,4.25;1,1;gui_hb_bg.png] + image[3,4.25;1,1;gui_hb_bg.png] + image[4,4.25;1,1;gui_hb_bg.png] + image[5,4.25;1,1;gui_hb_bg.png] + image[6,4.25;1,1;gui_hb_bg.png] + image[7,4.25;1,1;gui_hb_bg.png] + ]], true) + +See above (methods section) for more options. + +### Customising themes + +Simply override this function to change the navigation: + + function sfinv.get_nav_fs(player, context, nav, current_idx) + return "navformspec" + end + +And override this function to change the layout: + + function sfinv.make_formspec(player, context, content, show_inv, size) + local tmp = { + size or "size[8,8.6]", + theme_main, + sfinv.get_nav_fs(player, context, context.nav_titles, context.nav_idx), + content + } + if show_inv then + tmp[4] = theme_inv + end + return table.concat(tmp, "") + end + + +Stairs API +---------- + +The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those +delivered with Minetest Game, to keep them compatible with other mods. + +`stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex)` + + * Registers a stair + * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_subname" + * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` + * `groups`: See [Known damage and digging time defining groups] + * `images`: See [Tile definition] + * `description`: Used for the description field in the stair's definition + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + +`stairs.register_slab(subname, recipeitem, groups, images, description, sounds, worldaligntex)` + + * Registers a slab + * `subname`: Basically the material name (e.g. cobble) used for the slab name. Nodename pattern: "stairs:slab_subname" + * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble" + * `groups`: See [Known damage and digging time defining groups] + * `images`: See [Tile definition] + * `description`: Used for the description field in the slab's definition + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + +`stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex)` + + * Registers an inner corner stair + * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_inner_subname" + * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` + * `groups`: See [Known damage and digging time defining groups] + * `images`: See [Tile definition] + * `description`: Used for the description field in the stair's definition + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + +`stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex)` + + * Registers an outer corner stair + * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_outer_subname" + * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` + * `groups`: See [Known damage and digging time defining groups] + * `images`: See [Tile definition] + * `description`: Used for the description field in the stair's definition + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + +`stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds, worldaligntex)` + + * A wrapper for stairs.register_stair, stairs.register_slab, stairs.register_stair_inner, stairs.register_stair_outer + * Uses almost the same arguments as stairs.register_stair + * `desc_stair`: Description for stair nodes. For corner stairs 'Inner' or 'Outer' will be prefixed + * `desc_slab`: Description for slab node + + +Xpanes API +---------- + +Creates panes that automatically connect to each other + +`xpanes.register_pane(subname, def)` + + * `subname`: used for nodename. Result: "xpanes:subname" and "xpanes:subname_{2..15}" + * `def`: See [#Pane definition] + +### Pane definition + + { + textures = {"texture for sides", (unused), "texture for top and bottom"}, -- More tiles aren't supported + groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups] + sounds = SoundSpec, -- See [#Default sounds] + recipe = {{"","","","","","","","",""}}, -- Recipe field only + use_texture_alpha = true, -- Optional boolean (default: `false`) for colored glass panes + } + + +Raillike definitions +-------------------- + +The following nodes use the group `connect_to_raillike` and will only connect to +raillike nodes within this group and the same group value. +Use `minetest.raillike_group()` to get the group value. + +| Node type | Raillike group name +|-----------------------|--------------------- +| default:rail | "rail" +| tnt:gunpowder | "gunpowder" +| tnt:gunpowder_burning | "gunpowder" + +Example: +If you want to add a new rail type and want it to connect with default:rail, +add `connect_to_raillike=minetest.raillike_group("rail")` into the `groups` table +of your node. + + +Default sounds +-------------- + +Sounds inside the default table can be used within the sounds field of node definitions. + + * `default.node_sound_defaults()` + * `default.node_sound_stone_defaults()` + * `default.node_sound_dirt_defaults()` + * `default.node_sound_sand_defaults()` + * `default.node_sound_wood_defaults()` + * `default.node_sound_leaves_defaults()` + * `default.node_sound_glass_defaults()` + * `default.node_sound_metal_defaults()` + + +Default constants +----------------- + +`default.LIGHT_MAX` The maximum light level (see [Node definition] light_source) + + +GUI and formspecs +----------------- + +`default.get_hotbar_bg(x, y)` + + * Get the hotbar background as string, containing the formspec elements + * x: Horizontal position in the formspec + * y: Vertical position in the formspec + +`default.gui_bg` + + * Deprecated, remove from mods. + +`default.gui_bg_img` + + * Deprecated, remove from mods. + +`default.gui_slots` + + * Deprecated, remove from mods. + +`default.gui_survival_form` + + * Entire formspec for the survival inventory + +`default.get_furnace_active_formspec(fuel_percent, item_percent)` + + * Get the active furnace formspec using the defined GUI elements + * fuel_percent: Percent of how much the fuel is used + * item_percent: Percent of how much the item is cooked + +`default.get_furnace_inactive_formspec()` + + * Get the inactive furnace formspec using the defined GUI elements + + +Leafdecay +--------- + +To enable leaf decay for leaves when a tree is cut down by a player, +register the tree with the default.register_leafdecay(leafdecaydef) +function. + +If `param2` of any registered 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. + +The function `default.after_place_leaves` can be set as +`after_place_node of a node` to set param2 to 1 if the player places +the node (should not be used for nodes that use param2 otherwise +(e.g. facedir)). + +If the node is in the `leafdecay_drop` group then it will always be +dropped as an item. + +`default.register_leafdecay(leafdecaydef)` + +`leafdecaydef` is a table, with following members: + { + trunks = {"default:tree"}, -- nodes considered trunks + leaves = {"default:leaves", "default:apple"}, + -- nodes considered for removal + radius = 3, -- radius to consider for searching + } + +Note: all the listed nodes in `trunks` have their `on_after_destruct` +callback overridden. All the nodes listed in `leaves` have their +`on_timer` callback overridden. + + +Dyes +---- + +Minetest Game dyes are registered with: + + groups = {dye = 1, color_ = 1}, + +To make recipes that will work with dyes from many mods, define them using the +dye group and the color groups. + +Dye color groups: + + * `color_white` + * `color_grey` + * `color_dark_grey` + * `color_black` + * `color_red` + * `color_pink` + * `color_orange` + * `color_brown` + * `color_yellow` + * `color_green` + * `color_dark_green` + * `color_blue` + * `color_cyan` + * `color_violet` + * `color_magenta` + +Example of one shapeless recipe using the dye group and a color group: + + minetest.register_craft({ + type = "shapeless", + output = ":item_yellow", + recipe = {":item_no_color", "group:dye,color_yellow"}, + }) + + +Trees +----- + + * `default.grow_tree(pos, is_apple_tree)` + * Grows a mgv6 tree or apple tree at pos + + * `default.grow_jungle_tree(pos)` + * Grows a mgv6 jungletree at pos + + * `default.grow_pine_tree(pos)` + * Grows a mgv6 pinetree at pos + + * `default.grow_new_apple_tree(pos)` + * Grows a new design apple tree at pos + + * `default.grow_new_jungle_tree(pos)` + * Grows a new design jungle tree at pos + + * `default.grow_new_pine_tree(pos)` + * Grows a new design pine tree at pos + + * `default.grow_new_snowy_pine_tree(pos)` + * Grows a new design snowy pine tree at pos + + * `default.grow_new_acacia_tree(pos)` + * Grows a new design acacia tree at pos + + * `default.grow_new_aspen_tree(pos)` + * Grows a new design aspen tree at pos + + * `default.grow_bush(pos)` + * Grows a bush at pos + + * `default.grow_acacia_bush(pos)` + * Grows an acaia bush at pos + + * `default.grow_pine_bush(pos)` + * Grows a pine bush at pos + + * `default.grow_blueberry_bush(pos)` + * Grows a blueberry bush at pos + + +Carts +----- + + carts.register_rail( + "mycarts:myrail", -- Rail name + nodedef, -- standard nodedef + railparams -- rail parameter struct (optional) + ) + + railparams = { + on_step(obj, dtime), -- Event handler called when + -- cart is on rail + acceleration, -- integer acceleration factor (negative + -- values to brake) + } + + The event handler is called after all default calculations + are made, so the custom on_step handler can override things + like speed, acceleration, player attachment. The handler will + likely be called many times per second, so the function needs + to make sure that the event is handled properly. + + +Key API +------- + +The key API allows mods to add key functionality to nodes that have +ownership or specific permissions. Using the API will make it so +that a node owner can use skeleton keys on their nodes to create keys +for that node in that location, and give that key to other players, +allowing them some sort of access that they otherwise would not have +due to node protection. + +To make your new nodes work with the key API, you need to register +two callback functions in each nodedef: + + +`on_key_use(pos, player)` + * Is called when a player right-clicks (uses) a normal key on your + * node. + * `pos` - position of the node + * `player` - PlayerRef + * return value: none, ignored + +The `on_key_use` callback should validate that the player is wielding +a key item with the right key meta secret. If needed the code should +deny access to the node functionality. + +If formspecs are used, the formspec callbacks should duplicate these +checks in the metadata callback functions. + + +`on_skeleton_key_use(pos, player, newsecret)` + + * Is called when a player right-clicks (uses) a skeleton key on your + * node. + * `pos` - position of the node + * `player` - PlayerRef + * `newsecret` - a secret value(string) + * return values: + * `secret` - `nil` or the secret value that unlocks the door + * `name` - a string description of the node ("a locked chest") + * `owner` - name of the node owner + +The `on_skeleton_key_use` function should validate that the player has +the right permissions to make a new key for the item. The newsecret +value is useful if the node has no secret value. The function should +store this secret value somewhere so that in the future it may compare +key secrets and match them to allow access. If a node already has a +secret value, the function should return that secret value instead +of the newsecret value. The secret value stored for the node should +not be overwritten, as this would invalidate existing keys. + +Aside from the secret value, the function should retun a descriptive +name for the node and the owner name. The return values are all +encoded in the key that will be given to the player in replacement +for the wielded skeleton key. + +if `nil` is returned, it is assumed that the wielder did not have +permissions to create a key for this node, and no key is created. diff --git a/menu/header.png b/menu/header.png new file mode 100644 index 0000000000000000000000000000000000000000..2c49030362a600c49add493cc2aa0e97813b7a83 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_Bi5W=R_RQD~q&Ne7LR=Xb(t*q?SFR{a2uuXB z7)yfuf*Bm1-ADs*lDyqr7&=&GJwVC}JR*x37`TN&n2}-D90{Nxdx@v7EBhmEaaLK` z?azA*fI_mFArU3c`MJ5Nc_lzD1A}u>YGO%hib8p2Nrr;Er*A-tUMf3K{GF$ZV~EE2 zt&5`R zRQ1iDv3SDqw{eVyuNEBemA7F0s-AEo`QAHjhp?)k14c{?8ZV+Y_HtI_tqecC!Ta^( z<2Maimz`VlpLcuKOd0OOGa{R{Q=Wdg{p^EvY3jK@|L-t*Sh>3$-XC`w6eOOmelF{r G5}E+lo0Xve literal 0 HcmV?d00001 diff --git a/menu/icon.png b/menu/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f06997f220c4f0bcc52c53ff62a68ad69779129a GIT binary patch literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeG3?%1&o4*=JaR&H=xH2%L1DU5!pDr=@z8%P7 zED7=pW^j0RBMrn!@^*J&=wOxg04Xof!KoaSZV|{`TrdzGejhh5(bo#QgTUL$$5*9|Tx^;lH*1gRsn-cL9@&;v)qo z2=^^fdwb!?><-Ze6Ai|{?;Dm?e`krg{qXpOO%K{`CnPxDC_mnG zj`0&iu^`)%Jt_wd$SDi<-TIWOupnH1rbq*mzyuMMMkDrhCz9pFMf{#6 + +# The radius of a TNT explosion. +#tnt_radius = 3 + +# Enable the stairs mod ABM that replaces the old 'upside down' +# stair and slab nodes in old maps with the new param2 versions. +#enable_stairs_replace_abm = false + +# Whether to allow respawning in beds. +# Default value is true. +#enable_bed_respawn = true + +# Whether players can skip night by sleeping. +# Default value is true. +#enable_bed_night_skip = true + +# Whether the engine's spawn search, which does not check for a suitable +# starting biome, is used. +# Default value is false. +#engine_spawn = false diff --git a/mods/3d_armor/LICENSE.txt b/mods/3d_armor/LICENSE.txt new file mode 100644 index 0000000..e1949c0 --- /dev/null +++ b/mods/3d_armor/LICENSE.txt @@ -0,0 +1,9 @@ +[mod] 3d Armor [3d_armor] +========================= + +License Source Code: (C) 2012-2017 Stuart Jones - LGPL v2.1 + +License Textures: Copyright (C) 2017 davidthecreator - CC-BY-SA 3.0 + +https://github.com/daviddoesminetest/3d-armors-new-textures + diff --git a/mods/3d_armor/README.txt b/mods/3d_armor/README.txt new file mode 100644 index 0000000..a0cb3b1 --- /dev/null +++ b/mods/3d_armor/README.txt @@ -0,0 +1,191 @@ +[mod] Visible Player Armor [3d_armor] +===================================== + +Depends: default + +Recommends: sfinv, unified_inventory or smart_inventory (use only one to avoid conflicts) + +Supports: player_monoids and armor_monoid + +Adds craftable armor that is visible to other players. Each armor item worn contributes to +a player's armor group level making them less vulnerable to weapons. + +Armor takes damage when a player is hurt but also offers a percentage chance of healing. +Overall level is boosted by 10% when wearing a full matching set. + +Fire protection added by TenPlus1 when using crystal armor if Ethereal mod active, level 1 +protects against torches, level 2 for crystal spike, level 3 for fire, level 5 for lava. + +Armor Configuration +------------------- + +Override the following default settings by adding them to your minetest.conf file. + +-- Set false to disable individual armor materials. +armor_material_wood = true +armor_material_cactus = true +armor_material_steel = true +armor_material_bronze = true +armor_material_diamond = true +armor_material_gold = true +armor_material_mithril = true +armor_material_crystal = true + +-- Increase this if you get initialization glitches when a player first joins. +armor_init_delay = 1 + +-- Number of initialization attempts. +-- Use in conjunction with armor_init_delay if initialization problems persist. +armor_init_times = 1 + +-- Increase this if armor is not getting into bones due to server lag. +armor_bones_delay = 1 + +-- How often player armor items are updated. +armor_update_time = 1 + +-- Drop armor when a player dies. +-- Uses bones mod if present, otherwise items are dropped around the player. +armor_drop = true + +-- Pulverise armor when a player dies, overrides armor_drop. +armor_destroy = false + +-- You can use this to increase or decrease overall armor effectiveness, +-- eg: level_multiplier = 0.5 will reduce armor level by half. +armor_level_multiplier = 1 + +-- You can use this to increase or decrease overall armor healing, +-- eg: armor_heal_multiplier = 0 will disable healing altogether. +armor_heal_multiplier = 1 + +-- Enable water protection (periodically restores breath when activated) +armor_water_protect = true + +-- Enable fire protection (defaults true if using ethereal mod) +armor_fire_protect = false + +-- Enable punch damage effects. +armor_punch_damage = true + +-- Enable migration of old armor inventories +armor_migrate_old_inventory = true + +API +--- + +Armor Registration: + +armor:register_armor(name, def) + +Wrapper function for `minetest.register_tool`, while registering armor as +a tool item is still supported, this may be deprecated in future so new code +should use this method. + +Additional fields supported by 3d_armor: + + texture = + preview = + armor_groups = + damage_groups =
+ reciprocate_damage = + on_equip = + on_unequip = + on_destroy = + on_damage = + on_punched = + +armor:register_armor_group(group, base) + +Example: + +armor:register_armor_group("radiation", 100) + +armor:register_armor("mod_name:speed_boots", { + description = "Speed Boots", + inventory_image = "mod_name_speed_boots_inv.png", + texture = "mod_name_speed_boots.png", + preview = "mod_name_speed_boots_preview.png", + groups = {armor_feet=1, armor_use=500, physics_speed=1.2, flammable=1}, + armor_groups = {fleshy=10, radiation=10}, + damage_groups = {cracky=3, snappy=3, choppy=3, crumbly=3, level=1}, + reciprocate_damage = true, + on_destroy = function(player, index, stack) + local pos = player:getpos() + if pos then + minetest.sound_play({ + name = "mod_name_break_sound", + pos = pos, + gain = 0.5, + }) + end + end, +}) + +See armor.lua, technic_armor and shields mods for more examples. + +Default groups: + +Elements: armor_head, armor_torso, armor_legs, armor_feet +Attributes: armor_heal, armor_fire, armor_water +Physics: physics_jump, physics_speed, physics_gravity +Durability: armor_use, flammable + +Notes: + +Elements may be modified by dependent mods, eg shields adds armor_shield. +Attributes and physics values are 'stackable', durability is determined +by the level of armor_use, total uses == approx (65535/armor_use), non-fleshy +damage groups need to be defined in the tool/weapon used against the player. + +Reciprocal tool damage will be done only by the first armor inventory item + with `reciprocate_damage = true` + +Armor Functions: + +armor:set_player_armor(player) + +Primarily an internal function but can be called externally to apply any +changes that might not otherwise get handled. + +armor:punch(player, hitter, time_from_last_punch, tool_capabilities) + +Used to apply damage to all equipped armor based on the damage groups of +each individual item.`hitter`, `time_from_last_punch` and `tool_capabilities` +are optional but should be valid if included. + +armor:damage(player, index, stack, use) + +Adds wear to a single armor itemstack, triggers `on_damage` callbacks and +updates the necessary inventories. Also handles item destruction callbacks +and so should NOT be called from `on_unequip` to avoid an infinite loop. + +Item Callbacks: + +on_equip = func(player, index, stack) +on_unequip = func(player, index, stack) +on_destroy = func(player, index, stack) +on_damage = func(player, index, stack) +on_punched = func(player, hitter, time_from_last_punch, tool_capabilities) + +Notes: + +`on_punched` is called every time a player is punched or takes damage, `hitter`, +`time_from_last_punch` and `tool_capabilities` can be `nil` and will be in the +case of fall damage, etc. When fire protection is enabled, hitter == "fire" +in the event of fire damage. Return `false` to override armor damage effects. +When armor is destroyed `stack` will contain a copy of the previous stack. + +Global Callbacks: + +armor:register_on_update(func(player)) +armor:register_on_equip(func(player, index, stack)) +armor:register_on_unequip(func(player, index, stack)) +armor:register_on_destroy(func(player, index, stack)) + +Global Callback Example: + +armor:register_on_update(function(player) + print(player:get_player_name().." armor updated!") +end) + diff --git a/mods/3d_armor/api.lua b/mods/3d_armor/api.lua new file mode 100644 index 0000000..4228b1a --- /dev/null +++ b/mods/3d_armor/api.lua @@ -0,0 +1,516 @@ +local use_multiskin = minetest.global_exists("multiskin") +local use_player_monoids = minetest.global_exists("player_monoids") +local use_armor_monoid = minetest.global_exists("armor_monoid") +local armor_def = setmetatable({}, { + __index = function() + return setmetatable({ + groups = setmetatable({}, { + __index = function() + return 0 + end}) + }, { + __index = function() + return 0 + end + }) + end, +}) +local armor_textures = setmetatable({}, { + __index = function() + return setmetatable({}, { + __index = function() + return "blank.png" + end + }) + end +}) + +armor = { + timer = 0, + elements = {"head", "torso", "legs", "feet"}, + physics = {"jump", "speed", "gravity"}, + attributes = {"heal", "fire", "water"}, + formspec = "image[2.5,0;2,4;armor_preview]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + default.get_hotbar_bg(0, 4.7).. + "list[current_player;main;0,4.7;8,1;]".. + "list[current_player;main;0,5.85;8,3;8]", + def = armor_def, + textures = armor_textures, + default_skin = "character.png", + materials = { + wood = "group:wood", + cactus = "default:cactus", + steel = "default:steel_ingot", + bronze = "default:bronze_ingot", + diamond = "default:diamond", + gold = "default:gold_ingot", + mithril = "moreores:mithril_ingot", + crystal = "ethereal:crystal_ingot", + }, + fire_nodes = { + {"default:lava_source", 5, 8}, + {"default:lava_flowing", 5, 8}, + {"fire:basic_flame", 3, 4}, + {"fire:permanent_flame", 3, 4}, + {"ethereal:crystal_spike", 2, 1}, + {"ethereal:fire_flower", 2, 1}, + {"default:torch", 1, 1}, + {"default:torch_ceiling", 1, 1}, + {"default:torch_wall", 1, 1}, + }, + registered_groups = {["fleshy"]=100}, + registered_callbacks = { + on_update = {}, + on_equip = {}, + on_unequip = {}, + on_damage = {}, + on_destroy = {}, + }, + migrate_old_inventory = true, + version = "0.4.9", +} + +armor.config = { + init_delay = 2, + init_times = 10, + bones_delay = 1, + update_time = 1, + drop = minetest.get_modpath("bones") ~= nil, + destroy = false, + level_multiplier = 1, + heal_multiplier = 1, + material_wood = true, + material_cactus = true, + material_steel = true, + material_bronze = true, + material_diamond = true, + material_gold = true, + material_mithril = true, + material_crystal = true, + water_protect = true, + fire_protect = minetest.get_modpath("ethereal") ~= nil, + punch_damage = true, +} + +-- Armor Registration + +armor.register_armor = function(self, name, def) + minetest.register_tool(name, def) +end + +armor.register_armor_group = function(self, group, base) + base = base or 100 + self.registered_groups[group] = base + if use_armor_monoid then + armor_monoid.register_armor_group(group, base) + end +end + +-- Armor callbacks + +armor.register_on_update = function(self, func) + if type(func) == "function" then + table.insert(self.registered_callbacks.on_update, func) + end +end + +armor.register_on_equip = function(self, func) + if type(func) == "function" then + table.insert(self.registered_callbacks.on_equip, func) + end +end + +armor.register_on_unequip = function(self, func) + if type(func) == "function" then + table.insert(self.registered_callbacks.on_unequip, func) + end +end + +armor.register_on_damage = function(self, func) + if type(func) == "function" then + table.insert(self.registered_callbacks.on_damage, func) + end +end + +armor.register_on_destroy = function(self, func) + if type(func) == "function" then + table.insert(self.registered_callbacks.on_destroy, func) + end +end + +armor.run_callbacks = function(self, callback, player, index, stack) + if stack then + local def = stack:get_definition() or {} + if type(def[callback]) == "function" then + def[callback](player, index, stack) + end + end + local callbacks = self.registered_callbacks[callback] + if callbacks then + for _, func in pairs(callbacks) do + func(player, index, stack) + end + end +end + +armor.update_player_visuals = function(self, player) + local name = self:get_valid_player(player, "[update_player_visuals]") + if not name then + return + end + local textures = { + "blank.png", + "blank.png", + self.textures[name].armor, + self.textures[name].wielditem, + } + if use_multiskin then + multiskin.textures[name] = textures + multiskin.update_player_visuals(player) + else + textures[1] = armor.default_skin + default.player_set_textures(player, textures) + end + self:run_callbacks("on_update", player) +end + +armor.set_player_armor = function(self, player) + local name, armor_inv = self:get_valid_player(player, "[set_player_armor]") + if not name then + return + end + local state = 0 + local count = 0 + local material = {count=1} + local preview = "3d_armor_preview.png" + local texture = "blank.png" + local textures = {} + local physics = {} + local attributes = {} + local levels = {} + local groups = {} + local change = {} + if use_multiskin then + preview = multiskin.get_preview(player) or preview + end + for _, phys in pairs(self.physics) do + physics[phys] = 1 + end + for _, attr in pairs(self.attributes) do + attributes[attr] = 0 + end + for group, _ in pairs(self.registered_groups) do + change[group] = 1 + levels[group] = 0 + end + local list = armor_inv:get_list("armor") + if type(list) ~= "table" then + return + end + for i, stack in pairs(list) do + if stack:get_count() == 1 then + local def = stack:get_definition() + for _, element in pairs(self.elements) do + if def.groups["armor_"..element] then + if def.armor_groups then + for group, level in pairs(def.armor_groups) do + if levels[group] then + levels[group] = levels[group] + level + end + end + else + local level = def.groups["armor_"..element] + levels["fleshy"] = levels["fleshy"] + level + end + break + end + -- DEPRECATED, use armor_groups instead + if def.groups["armor_radiation"] and levels["radiation"] then + levels["radiation"] = def.groups["armor_radiation"] + end + end + local item = stack:get_name() + local tex = def.texture or item:gsub("%:", "_") + tex = tex:gsub(".png$", "") + local prev = def.preview or tex.."_preview" + prev = prev:gsub(".png$", "") + texture = texture.."^"..tex..".png" + preview = preview.."^"..prev..".png" + state = state + stack:get_wear() + count = count + 1 + for _, phys in pairs(self.physics) do + local value = def.groups["physics_"..phys] or 0 + physics[phys] = physics[phys] + value + end + for _, attr in pairs(self.attributes) do + local value = def.groups["armor_"..attr] or 0 + attributes[attr] = attributes[attr] + value + end + local mat = string.match(item, "%:.+_(.+)$") + if material.name then + if material.name == mat then + material.count = material.count + 1 + end + else + material.name = mat + end + end + end + for group, level in pairs(levels) do + if level > 0 then + level = level * armor.config.level_multiplier + if material.name and material.count == #self.elements then + level = level * 1.1 + end + end + local base = self.registered_groups[group] + self.def[name].groups[group] = level + if level > base then + level = base + end + groups[group] = base - level + change[group] = groups[group] / base + end + for _, attr in pairs(self.attributes) do + self.def[name][attr] = attributes[attr] + end + for _, phys in pairs(self.physics) do + self.def[name][phys] = physics[phys] + end + if use_armor_monoid then + armor_monoid.monoid:add_change(player, change, "3d_armor:armor") + else + player:set_armor_groups(groups) + end + if use_player_monoids then + player_monoids.speed:add_change(player, physics.speed, + "3d_armor:physics") + player_monoids.jump:add_change(player, physics.jump, + "3d_armor:physics") + player_monoids.gravity:add_change(player, physics.gravity, + "3d_armor:physics") + else + --player:set_physics_override(physics) + end + self.textures[name].armor = texture + self.textures[name].preview = preview + self.def[name].level = self.def[name].groups.fleshy or 0 + self.def[name].state = state + self.def[name].count = count + self:update_player_visuals(player) + player:get_meta():set_int("3d_armor_wear", (65535 * count - state) / (65535 / 2) * 2) + sneak_jump.hud_update(player) +end + +armor.punch = function(self, player, hitter, time_from_last_punch, tool_capabilities) + local name, armor_inv = self:get_valid_player(player, "[punch]") + if not name then + return + end + local state = 0 + local count = 0 + local recip = true + local default_groups = {cracky=3, snappy=3, choppy=3, crumbly=3, level=1} + local list = armor_inv:get_list("armor") + for i, stack in pairs(list) do + if stack:get_count() == 1 then + local name = stack:get_name() + local use = minetest.get_item_group(name, "armor_use") or 0 + local damage = use > 0 + local def = stack:get_definition() or {} + if type(def.on_punched) == "function" then + damage = def.on_punched(player, hitter, time_from_last_punch, + tool_capabilities) ~= false and damage == true + end + if damage == true and tool_capabilities then + local damage_groups = def.damage_groups or default_groups + local level = damage_groups.level or 0 + local groupcaps = tool_capabilities.groupcaps or {} + local uses = 0 + damage = false + for group, caps in pairs(groupcaps) do + local maxlevel = caps.maxlevel or 0 + local diff = maxlevel - level + if diff == 0 then + diff = 1 + end + if diff > 0 and caps.times then + local group_level = damage_groups[group] + if group_level then + local time = caps.times[group_level] + if time then + local dt = time_from_last_punch or 0 + if dt > time / diff then + if caps.uses then + uses = caps.uses * math.pow(3, diff) + end + damage = true + break + end + end + end + end + end + if damage == true and recip == true and hitter and + def.reciprocate_damage == true and uses > 0 then + local item = hitter:get_wielded_item() + if item and item:get_name() ~= "" then + item:add_wear(65535 / uses) + hitter:set_wielded_item(item) + end + -- reciprocate tool damage only once + recip = false + end + end + if damage == true and hitter == "fire" then + damage = minetest.get_item_group(name, "flammable") > 0 + end + if damage == true then + self:damage(player, i, stack, use) + end + state = state + stack:get_wear() + count = count + 1 + end + end + self.def[name].state = state + self.def[name].count = count + player:get_meta():set_int("3d_armor_wear", (65535 * count - state) / (65535 / 2) * 2) + sneak_jump.hud_update(player) +end + +armor.damage = function(self, player, index, stack, use) + local old_stack = ItemStack(stack) + stack:add_wear(use) + self:run_callbacks("on_damage", player, index, stack) + self:set_inventory_stack(player, index, stack) + if stack:get_count() == 0 then + self:run_callbacks("on_unequip", player, index, old_stack) + self:run_callbacks("on_destroy", player, index, old_stack) + self:set_player_armor(player) + end +end + +armor.get_armor_formspec = function(self, name, listring) + if armor.def[name].init_time == 0 then + return "label[0,0;Armor not initialized!]" + end + local formspec = armor.formspec.. + "list[detached:"..name.."_armor;armor;0,0.5;2,3;]" + if listring == true then + formspec = formspec.."listring[current_player;main]".. + "listring[detached:"..name.."_armor;armor]" + end + formspec = formspec:gsub("armor_preview", armor.textures[name].preview) + formspec = formspec:gsub("armor_level", armor.def[name].level) + for _, attr in pairs(self.attributes) do + formspec = formspec:gsub("armor_attr_"..attr, armor.def[name][attr]) + end + for group, _ in pairs(self.registered_groups) do + formspec = formspec:gsub("armor_group_"..group, + armor.def[name].groups[group]) + end + return formspec +end + +armor.serialize_inventory_list = function(self, list) + local list_table = {} + for _, stack in ipairs(list) do + table.insert(list_table, stack:to_string()) + end + return minetest.serialize(list_table) +end + +armor.deserialize_inventory_list = function(self, list_string) + local list_table = minetest.deserialize(list_string) + local list = {} + for _, stack in ipairs(list_table or {}) do + table.insert(list, ItemStack(stack)) + end + return list +end + +armor.load_armor_inventory = function(self, player) + local msg = "[load_armor_inventory]" + local name = player:get_player_name() + if not name then + minetest.log("warning", S("3d_armor: Player name is nil @1", msg)) + return + end + local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"}) + if not armor_inv then + minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg)) + return + end + local armor_list_string = player:get_attribute("3d_armor_inventory") + if armor_list_string then + armor_inv:set_list("armor", self:deserialize_inventory_list(armor_list_string)) + return true + end +end + +armor.save_armor_inventory = function(self, player) + local msg = "[save_armor_inventory]" + local name = player:get_player_name() + if not name then + minetest.log("warning", S("3d_armor: Player name is nil @1", msg)) + return + end + local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"}) + if not armor_inv then + minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg)) + return + end + player:set_attribute("3d_armor_inventory", self:serialize_inventory_list(armor_inv:get_list("armor"))) +end + +armor.update_inventory = function(self, player) + -- DEPRECATED: Legacy inventory support +end + +armor.set_inventory_stack = function(self, player, i, stack) + local msg = "[set_inventory_stack]" + local name = player:get_player_name() + if not name then + minetest.log("warning", "3d_armor: Player name is nil "..msg) + return + end + local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"}) + if not armor_inv then + minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg)) + return + end + armor_inv:set_stack("armor", i, stack) + self:save_armor_inventory(player) +end + +armor.get_valid_player = function(self, player, msg) + msg = msg or "" + if not player then + minetest.log("warning", "3d_armor: Player reference is nil "..msg) + return + end + local name = player:get_player_name() + if not name then + minetest.log("warning", "3d_armor: Player name is nil "..msg) + return + end + local inv = minetest.get_inventory({type="detached", name=name.."_armor"}) + if not inv then + minetest.log("warning", "3d_armor: Player inventory is nil "..msg) + return + end + return name, inv +end + +armor.drop_armor = function(pos, stack) + local node = minetest.get_node_or_nil(pos) + if node then + local obj = minetest.add_item(pos, stack) + if obj then + obj:setvelocity({x=math.random(-1, 1), y=5, z=math.random(-1, 1)}) + end + end +end diff --git a/mods/3d_armor/armor.conf.example b/mods/3d_armor/armor.conf.example new file mode 100644 index 0000000..9ce34b4 --- /dev/null +++ b/mods/3d_armor/armor.conf.example @@ -0,0 +1,65 @@ +-- DEPRECATED, will not be supported in future versions + +-- See README.txt for new configuration options. + +-- Armor Configuration (defaults) + +-- You can remove any unwanted armor materials from this table. +-- Note that existing armor that is removed will show up as an unknown item. +ARMOR_MATERIALS = { + wood = "group:wood", + cactus = "default:cactus", + steel = "default:steel_ingot", + bronze = "default:bronze_ingot", + diamond = "default:diamond", + gold = "default:gold_ingot", + mithril = "moreores:mithril_ingot", + crystal = "ethereal:crystal_ingot", +} + +-- Enable fire protection (defaults true if using ethereal mod) +ARMOR_FIRE_PROTECT = false + +-- Fire protection nodes, (name, protection level, damage) +ARMOR_FIRE_NODES = { + {"default:lava_source", 5, 4}, + {"default:lava_flowing", 5, 4}, + {"fire:basic_flame", 3, 4}, + {"fire:permanent_flame", 3, 4}, + {"ethereal:crystal_spike", 2, 1}, + {"ethereal:fire_flower", 2, 1}, + {"default:torch", 1, 1}, +} + +-- Increase this if you get initialization glitches when a player first joins. +ARMOR_INIT_DELAY = 1 + +-- Number of initialization attempts. +-- Use in conjunction with ARMOR_INIT_DELAY if initialization problems persist. +ARMOR_INIT_TIMES = 1 + +-- Increase this if armor is not getting into bones due to server lag. +ARMOR_BONES_DELAY = 1 + +-- How often player armor/wield items are updated. +ARMOR_UPDATE_TIME = 1 + +-- Drop armor when a player dies. +-- Uses bones mod if present, otherwise items are dropped around the player. +ARMOR_DROP = true + +-- Pulverise armor when a player dies, overrides ARMOR_DROP. +ARMOR_DESTROY = false + +-- You can use this to increase or decrease overall armor effectiveness, +-- eg: ARMOR_LEVEL_MULTIPLIER = 0.5 will reduce armor level by half. +ARMOR_LEVEL_MULTIPLIER = 1 + +-- You can use this to increase or decrease overall armor healing, +-- eg: ARMOR_HEAL_MULTIPLIER = 0 will disable healing altogether. +ARMOR_HEAL_MULTIPLIER = 1 + +-- You can use this to increase or decrease overall armor radiation protection, +-- eg: ARMOR_RADIATION_MULTIPLIER = 0 will completely disable radiation protection. +-- Note: patched technic mod is required +ARMOR_RADIATION_MULTIPLIER = 1 diff --git a/mods/3d_armor/armor.lua b/mods/3d_armor/armor.lua new file mode 100644 index 0000000..e80259b --- /dev/null +++ b/mods/3d_armor/armor.lua @@ -0,0 +1,399 @@ +local S = function(s) return s end +if minetest.global_exists("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + S = intllib.make_gettext_pair() + else + -- Old method using text files. + S = intllib.Getter() + end +end +--[[ +armor:register_armor("3d_armor:helmet_admin", { + description = S("Admin Helmet"), + inventory_image = "3d_armor_inv_helmet_admin.png", + armor_groups = {fleshy=100}, + groups = {armor_head=1, armor_heal=100, armor_use=0, armor_water=1, + not_in_creative_inventory=1}, + on_drop = function(itemstack, dropper, pos) + return + end, +}) + +armor:register_armor("3d_armor:chestplate_admin", { + description = S("Admin Chestplate"), + inventory_image = "3d_armor_inv_chestplate_admin.png", + armor_groups = {fleshy=100}, + groups = {armor_torso=1, armor_heal=100, armor_use=0, + not_in_creative_inventory=1}, + on_drop = function(itemstack, dropper, pos) + return + end, +}) + +armor:register_armor("3d_armor:leggings_admin", { + description = S("Admin Leggings"), + inventory_image = "3d_armor_inv_leggings_admin.png", + armor_groups = {fleshy=100}, + groups = {armor_legs=1, armor_heal=100, armor_use=0, + not_in_creative_inventory=1}, + on_drop = function(itemstack, dropper, pos) + return + end, +}) + +armor:register_armor("3d_armor:boots_admin", { + description = S("Admin Boots"), + inventory_image = "3d_armor_inv_boots_admin.png", + armor_groups = {fleshy=100}, + groups = {armor_feet=1, armor_heal=100, armor_use=0, + not_in_creative_inventory=1}, + on_drop = function(itemstack, dropper, pos) + return + end, +}) + +minetest.register_alias("adminboots", "3d_armor:boots_admin") +minetest.register_alias("adminhelmet", "3d_armor:helmet_admin") +minetest.register_alias("adminchestplate", "3d_armor:chestplate_admin") +minetest.register_alias("adminleggings", "3d_armor:leggings_admin") +--]] +local armor_on_use = function(itemstack, user, pointed_thing) + local name = user:get_player_name() + local inv = minetest.get_inventory({type = "detached", + name = name .. "_armor"}) + local list = inv:get_list("armor") + local index = 0 + for i = 1, #list do + if list[i]:get_name() == "" then + inv:set_stack("armor", i, itemstack) + index = i + break + end + end + if index == 0 then + return itemstack + end + armor:save_armor_inventory(user) + armor:run_callbacks("on_equip", user, index, itemstack) + armor:set_player_armor(user) + return "" +end +if armor.materials.wood then + armor:register_armor("3d_armor:helmet_wood", { + description = S("Wood Helmet"), + inventory_image = "3d_armor_inv_helmet_wood.png", + groups = {armor_head=1, armor_heal=0, armor_use=2000, flammable=1}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_wood", { + description = S("Wood Chestplate"), + inventory_image = "3d_armor_inv_chestplate_wood.png", + groups = {armor_torso=1, armor_heal=0, armor_use=2000, flammable=1}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_wood", { + description = S("Wood Leggings"), + inventory_image = "3d_armor_inv_leggings_wood.png", + groups = {armor_legs=1, armor_heal=0, armor_use=2000, flammable=1}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_wood", { + description = S("Wood Boots"), + inventory_image = "3d_armor_inv_boots_wood.png", + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, + groups = {armor_feet=1, armor_heal=0, armor_use=2000, flammable=1}, + on_use = armor_on_use, + }) +end + +if armor.materials.cactus then + armor:register_armor("3d_armor:helmet_cactus", { + description = S("Cactus Helmet"), + inventory_image = "3d_armor_inv_helmet_cactus.png", + groups = {armor_head=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_cactus", { + description = S("Cactus Chestplate"), + inventory_image = "3d_armor_inv_chestplate_cactus.png", + groups = {armor_torso=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_cactus", { + description = S("Cactus Leggings"), + inventory_image = "3d_armor_inv_leggings_cactus.png", + groups = {armor_legs=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_cactus", { + description = S("Cactus Boots"), + inventory_image = "3d_armor_inv_boots_cactus.png", + groups = {armor_feet=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1}, + on_use = armor_on_use, + }) +end + +if armor.materials.steel then + armor:register_armor("3d_armor:helmet_steel", { + description = S("Steel Helmet"), + inventory_image = "3d_armor_inv_helmet_steel.png", + groups = {armor_head=1, armor_heal=0, armor_use=800, + physics_speed=-0.01, physics_gravity=0.01}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_steel", { + description = S("Steel Chestplate"), + inventory_image = "3d_armor_inv_chestplate_steel.png", + groups = {armor_torso=1, armor_heal=0, armor_use=800, + physics_speed=-0.04, physics_gravity=0.04}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_steel", { + description = S("Steel Leggings"), + inventory_image = "3d_armor_inv_leggings_steel.png", + groups = {armor_legs=1, armor_heal=0, armor_use=800, + physics_speed=-0.03, physics_gravity=0.03}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_steel", { + description = S("Steel Boots"), + inventory_image = "3d_armor_inv_boots_steel.png", + groups = {armor_feet=1, armor_heal=0, armor_use=800, + physics_speed=-0.01, physics_gravity=0.01}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) +end + +if armor.materials.bronze then + armor:register_armor("3d_armor:helmet_bronze", { + description = S("Bronze Helmet"), + inventory_image = "3d_armor_inv_helmet_bronze.png", + groups = {armor_head=1, armor_heal=6, armor_use=400, + physics_speed=-0.01, physics_gravity=0.01}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_bronze", { + description = S("Bronze Chestplate"), + inventory_image = "3d_armor_inv_chestplate_bronze.png", + groups = {armor_torso=1, armor_heal=6, armor_use=400, + physics_speed=-0.04, physics_gravity=0.04}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_bronze", { + description = S("Bronze Leggings"), + inventory_image = "3d_armor_inv_leggings_bronze.png", + groups = {armor_legs=1, armor_heal=6, armor_use=400, + physics_speed=-0.03, physics_gravity=0.03}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_bronze", { + description = S("Bronze Boots"), + inventory_image = "3d_armor_inv_boots_bronze.png", + groups = {armor_feet=1, armor_heal=6, armor_use=400, + physics_speed=-0.01, physics_gravity=0.01}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2}, + on_use = armor_on_use, + }) +end + +if armor.materials.diamond then + armor:register_armor("3d_armor:helmet_diamond", { + description = S("Diamond Helmet"), + inventory_image = "3d_armor_inv_helmet_diamond.png", + groups = {armor_head=1, armor_heal=12, armor_use=200}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_diamond", { + description = S("Diamond Chestplate"), + inventory_image = "3d_armor_inv_chestplate_diamond.png", + groups = {armor_torso=1, armor_heal=12, armor_use=200}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_diamond", { + description = S("Diamond Leggings"), + inventory_image = "3d_armor_inv_leggings_diamond.png", + groups = {armor_legs=1, armor_heal=12, armor_use=200}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_diamond", { + description = S("Diamond Boots"), + inventory_image = "3d_armor_inv_boots_diamond.png", + groups = {armor_feet=1, armor_heal=12, armor_use=200}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3}, + on_use = armor_on_use, + }) +end + +if armor.materials.gold then + armor:register_armor("3d_armor:helmet_gold", { + description = S("Gold Helmet"), + inventory_image = "3d_armor_inv_helmet_gold.png", + groups = {armor_head=1, armor_heal=6, armor_use=300, + physics_speed=-0.02, physics_gravity=0.02}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:chestplate_gold", { + description = S("Gold Chestplate"), + inventory_image = "3d_armor_inv_chestplate_gold.png", + groups = {armor_torso=1, armor_heal=6, armor_use=300, + physics_speed=-0.05, physics_gravity=0.05}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:leggings_gold", { + description = S("Gold Leggings"), + inventory_image = "3d_armor_inv_leggings_gold.png", + groups = {armor_legs=1, armor_heal=6, armor_use=300, + physics_speed=-0.04, physics_gravity=0.04}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, + on_use = armor_on_use, + }) + armor:register_armor("3d_armor:boots_gold", { + description = S("Gold Boots"), + inventory_image = "3d_armor_inv_boots_gold.png", + groups = {armor_feet=1, armor_heal=6, armor_use=300, + physics_speed=-0.02, physics_gravity=0.02}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, + on_use = armor_on_use, + }) +end + +if armor.materials.mithril then + armor:register_armor("3d_armor:helmet_mithril", { + description = S("Mithril Helmet"), + inventory_image = "3d_armor_inv_helmet_mithril.png", + groups = {armor_head=1, armor_heal=12, armor_use=100}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:chestplate_mithril", { + description = S("Mithril Chestplate"), + inventory_image = "3d_armor_inv_chestplate_mithril.png", + groups = {armor_torso=1, armor_heal=12, armor_use=100}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:leggings_mithril", { + description = S("Mithril Leggings"), + inventory_image = "3d_armor_inv_leggings_mithril.png", + groups = {armor_legs=1, armor_heal=12, armor_use=100}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:boots_mithril", { + description = S("Mithril Boots"), + inventory_image = "3d_armor_inv_boots_mithril.png", + groups = {armor_feet=1, armor_heal=12, armor_use=100}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) +end + +if armor.materials.crystal then + armor:register_armor("3d_armor:helmet_crystal", { + description = S("Crystal Helmet"), + inventory_image = "3d_armor_inv_helmet_crystal.png", + groups = {armor_head=1, armor_heal=12, armor_use=100, armor_fire=1}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:chestplate_crystal", { + description = S("Crystal Chestplate"), + inventory_image = "3d_armor_inv_chestplate_crystal.png", + groups = {armor_torso=1, armor_heal=12, armor_use=100, armor_fire=1}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:leggings_crystal", { + description = S("Crystal Leggings"), + inventory_image = "3d_armor_inv_leggings_crystal.png", + groups = {armor_legs=1, armor_heal=12, armor_use=100, armor_fire=1}, + armor_groups = {fleshy=20}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) + armor:register_armor("3d_armor:boots_crystal", { + description = S("Crystal Boots"), + inventory_image = "3d_armor_inv_boots_crystal.png", + groups = {armor_feet=1, armor_heal=12, armor_use=100, physics_speed=1, + physics_jump=0.5, armor_fire=1}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + }) +end + +for k, v in pairs(armor.materials) do + minetest.register_craft({ + output = "3d_armor:helmet_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {"", "", ""}, + }, + }) + minetest.register_craft({ + output = "3d_armor:chestplate_"..k, + recipe = { + {v, "", v}, + {v, v, v}, + {v, v, v}, + }, + }) + minetest.register_craft({ + output = "3d_armor:leggings_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {v, "", v}, + }, + }) + minetest.register_craft({ + output = "3d_armor:boots_"..k, + recipe = { + {v, "", v}, + {v, "", v}, + }, + }) +end diff --git a/mods/3d_armor/crafting_guide.txt b/mods/3d_armor/crafting_guide.txt new file mode 100644 index 0000000..abd1519 --- /dev/null +++ b/mods/3d_armor/crafting_guide.txt @@ -0,0 +1,79 @@ +3d_armor -- Crafting Guide +-------------------------- + +Helmets: + ++---+---+---+ +| X | X | X | ++---+---+---+ +| X | | X | ++---+---+---+ +| | | | ++---+---+---+ + +[3d_armor:helmet_wood] X = [default:wood] +[3d_armor:helmet_cactus] X = [default:cactus] +[3d_armor:helmet_steel] X = [default:steel_ingot] +[3d_armor:helmet_bronze] X = [default:bronze_ingot] +[3d_armor:helmet_diamond] X = [default:diamond] +[3d_armor:helmet_gold] X = [default:gold_ingot] +[3d_armor:helmet_mithril] X = [moreores:mithril_ingot] * +[3d_armor:helmet_crystal] X = [ethereal:crystal_ingot] ** + +Chestplates: + ++---+---+---+ +| X | | X | ++---+---+---+ +| X | X | X | ++---+---+---+ +| X | X | X | ++---+---+---+ + +[3d_armor:chestplate_wood] X = [default:wood] +[3d_armor:chestplate_cactus] X = [default:cactus] +[3d_armor:chestplate_steel] X = [default:steel_ingot] +[3d_armor:chestplate_bronze] X = [default:bronze_ingot] +[3d_armor:chestplate_diamond] X = [default:diamond] +[3d_armor:chestplate_gold] X = [default:gold_ingot] +[3d_armor:chestplate_mithril] X = [moreores:mithril_ingot] * +[3d_armor:chestplate_crystal] X = [ethereal:crystal_ingot] ** + +Leggings: + ++---+---+---+ +| X | X | X | ++---+---+---+ +| X | | X | ++---+---+---+ +| X | | X | ++---+---+---+ + +[3d_armor:leggings_wood] X = [default:wood] +[3d_armor:leggings_cactus] X = [default:cactus] +[3d_armor:leggings_steel] X = [default:steel_ingot] +[3d_armor:leggings_bronze] X = [default:bronze_ingot] +[3d_armor:leggings_diamond] X = [default:diamond] +[3d_armor:leggings_gold] X = [default:gold_ingot] +[3d_armor:leggings_mithril] X = [moreores:mithril_ingot] * +[3d_armor:leggings_crystal] X = [ethereal:crystal_ingot] ** + +Boots: + ++---+---+---+ +| X | | X | ++---+---+---+ +| X | | X | ++---+---+---+ + +[3d_armor:boots_wood] X = [default:wood] +[3d_armor:boots_cactus] X = [default:cactus] +[3d_armor:boots_steel] X = [default:steel_ingot] +[3d_armor:boots_bronze] X = [default:bronze_ingot +[3d_armor:boots_diamond] X = [default:diamond] +[3d_armor:boots_gold] X = [default:gold_ingot] +[3d_armor:boots_mithril] X = [moreores:mithril_ingot] * +[3d_armor:boots_crystal] X = [ethereal:crystal_ingot] ** + + * Requires moreores mod by Calinou - https://forum.minetest.net/viewtopic.php?id=549 +** Requires ethereal mod by Chinchow & TenPlus1 - https://github.com/tenplus1/ethereal diff --git a/mods/3d_armor/depends.txt b/mods/3d_armor/depends.txt new file mode 100644 index 0000000..f19b97e --- /dev/null +++ b/mods/3d_armor/depends.txt @@ -0,0 +1,8 @@ +default +player_monoids? +armor_monoid? +fire? +ethereal? +bakedclay? +intllib? +multiskin? diff --git a/mods/3d_armor/description.txt b/mods/3d_armor/description.txt new file mode 100644 index 0000000..b0a9b0a --- /dev/null +++ b/mods/3d_armor/description.txt @@ -0,0 +1 @@ +Adds craftable armor that is visible to other players. diff --git a/mods/3d_armor/init.lua b/mods/3d_armor/init.lua new file mode 100644 index 0000000..93d678f --- /dev/null +++ b/mods/3d_armor/init.lua @@ -0,0 +1,383 @@ +local S = function(s) return s end +if minetest.global_exists("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + S = intllib.make_gettext_pair() + else + -- Old method using text files. + S = intllib.Getter() + end +end +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) +local worldpath = minetest.get_worldpath() +local last_punch_time = {} +local pending_players = {} +local timer = 0 + +dofile(modpath.."/api.lua") + +-- Legacy Config Support + +local input = io.open(modpath.."/armor.conf", "r") +if input then + dofile(modpath.."/armor.conf") + input:close() + input = nil +end +input = io.open(worldpath.."/armor.conf", "r") +if input then + dofile(worldpath.."/armor.conf") + input:close() + input = nil +end +for name, _ in pairs(armor.config) do + local global = "ARMOR_"..name:upper() + if minetest.global_exists(global) then + armor.config[name] = _G[global] + end +end +if minetest.global_exists("ARMOR_MATERIALS") then + armor.materials = table.copy(ARMOR_MATERIALS) +end +if minetest.global_exists("ARMOR_FIRE_NODES") then + armor.fire_nodes = table.copy(ARMOR_FIRE_NODES) +end + +-- Load Configuration + +for name, config in pairs(armor.config) do + local setting = minetest.settings:get("armor_"..name) + if type(config) == "number" then + setting = tonumber(setting) + elseif type(config) == "boolean" then + setting = minetest.settings:get_bool("armor_"..name) + end + if setting ~= nil then + armor.config[name] = setting + end +end +for material, _ in pairs(armor.materials) do + local key = "material_"..material + if armor.config[key] == false then + armor.materials[material] = nil + end +end + +-- Mod Compatibility +if minetest.get_modpath("multiskin") then + multiskin.model = "3d_armor_character.b3d" +end +if minetest.get_modpath("technic") then + armor.formspec = armor.formspec.. + "label[5,2.5;"..S("Radiation")..": armor_group_radiation]" + armor:register_armor_group("radiation") +end +if not minetest.get_modpath("moreores") then + armor.materials.mithril = nil +end +if not minetest.get_modpath("ethereal") then + armor.materials.crystal = nil +end + +dofile(modpath.."/armor.lua") + +-- Armor Initialization + +armor.formspec = armor.formspec.. + "label[5,1;"..S("Level")..": armor_level]".. + "label[5,1.5;"..S("Heal")..": armor_attr_heal]" +if armor.config.fire_protect then + armor.formspec = armor.formspec.."label[5,2;"..S("Fire")..": armor_fire]" +end +armor:register_on_destroy(function(player, index, stack) + local name = player:get_player_name() + local def = stack:get_definition() + if name and def and def.description then + minetest.chat_send_player(name, S("Your").." "..def.description.." ".. + S("got destroyed").."!") + end +end) + +local function init_player_armor(player) + local name = player:get_player_name() + local pos = player:getpos() + if not name or not pos then + return false + end + local armor_inv = minetest.create_detached_inventory(name.."_armor", { + on_put = function(inv, listname, index, stack, player) + armor:save_armor_inventory(player) + armor:run_callbacks("on_equip", player, index, stack) + armor:set_player_armor(player) + end, + on_take = function(inv, listname, index, stack, player) + armor:save_armor_inventory(player) + armor:run_callbacks("on_unequip", player, index, stack) + armor:set_player_armor(player) + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + armor:save_armor_inventory(player) + armor:set_player_armor(player) + end, + allow_put = function(inv, listname, index, stack, player) + local def = stack:get_definition() or {} + local allowed = 0 + for _, element in pairs(armor.elements) do + if def.groups["armor_"..element] then + allowed = 1 + for i = 1, 6 do + local item = inv:get_stack("armor", i):get_name() + if minetest.get_item_group(item, "armor_"..element) > 0 then + return 0 + end + end + end + end + return allowed + end, + allow_take = function(inv, listname, index, stack, player) + return stack:get_count() + end, + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return count + end, + }, name) + armor_inv:set_size("armor", 6) + if not armor:load_armor_inventory(player) and armor.migrate_old_inventory then + local player_inv = player:get_inventory() + player_inv:set_size("armor", 6) + for i=1, 6 do + local stack = player_inv:get_stack("armor", i) + armor_inv:set_stack("armor", i, stack) + end + armor:save_armor_inventory(player) + player_inv:set_size("armor", 0) + end + for i=1, 6 do + local stack = armor_inv:get_stack("armor", i) + armor:run_callbacks("on_equip", player, i, stack) + end + armor.def[name] = { + init_time = minetest.get_gametime(), + level = 0, + state = 0, + count = 0, + groups = {}, + } + for _, phys in pairs(armor.physics) do + armor.def[name][phys] = 1 + end + for _, attr in pairs(armor.attributes) do + armor.def[name][attr] = 0 + end + for group, _ in pairs(armor.registered_groups) do + armor.def[name].groups[group] = 0 + end + armor.textures[name] = { + armor = "blank.png", + wielditem = "blank.png", + } + minetest.after(0, function(player) + armor:set_player_armor(player) + end, player) + return true +end + +-- Armor Player Model + +default.player_register_model("3d_armor_character.b3d", { + animation_speed = 30, + textures = { + armor.default_skin, + "blank.png", + "blank.png", + "blank.png", + }, + animations = { + stand = {x=0, y=79}, + lay = {x=162, y=166}, + walk = {x=168, y=187}, + mine = {x=189, y=198}, + walk_mine = {x=200, y=219}, + sit = {x=81, y=160}, + }, +}) + +minetest.register_on_joinplayer(function(player) + default.player_set_model(player, "3d_armor_character.b3d") + minetest.after(0, function(player) + if init_player_armor(player) == false then + pending_players[player] = 0 + end + end, player) +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + if name then + armor.def[name] = nil + armor.textures[name] = nil + end + pending_players[player] = nil +end) + +if armor.config.drop == true or armor.config.destroy == true then + minetest.register_on_dieplayer(function(player) + local name, armor_inv = armor:get_valid_player(player, "[on_dieplayer]") + if not name then + return + end + local drop = {} + for i=1, armor_inv:get_size("armor") do + local stack = armor_inv:get_stack("armor", i) + if stack:get_count() > 0 then + table.insert(drop, stack) + armor:set_inventory_stack(player, i, nil) + armor:run_callbacks("on_unequip", player, i, stack) + end + end + armor:set_player_armor(player) + local pos = player:getpos() + if pos and armor.config.destroy == false then + minetest.after(armor.config.bones_delay, function() + local meta = nil + local maxp = vector.add(pos, 8) + local minp = vector.subtract(pos, 8) + local bones = minetest.find_nodes_in_area(minp, maxp, {"bones:bones"}) + for _, p in pairs(bones) do + local m = minetest.get_meta(p) + if m:get_string("owner") == name then + meta = m + break + end + end + if meta then + local inv = meta:get_inventory() + for _,stack in ipairs(drop) do + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else + armor.drop_armor(pos, stack) + end + end + else + for _,stack in ipairs(drop) do + armor.drop_armor(pos, stack) + end + end + end) + end + end) +end + +if armor.config.punch_damage == true then + minetest.register_on_punchplayer(function(player, hitter, + time_from_last_punch, tool_capabilities) + local name = player:get_player_name() + if name then + armor:punch(player, hitter, time_from_last_punch, tool_capabilities) + last_punch_time[name] = minetest.get_gametime() + end + end) +end + +minetest.register_on_player_hpchange(function(player, hp_change) + if player and hp_change < 0 then + local name = player:get_player_name() + if name then + local heal = armor.def[name].heal + heal = heal * armor.config.heal_multiplier + if heal >= math.random(100) then + hp_change = 0 + end + -- check if armor damage was handled by fire or on_punchplayer + local time = last_punch_time[name] or 0 + if time == 0 or time + 1 < minetest.get_gametime() then + armor:punch(player) + end + -- Punch, fire, but what about damage from fire? + end + end + return hp_change +end, true) + +minetest.register_globalstep(function(dtime) + timer = timer + dtime + if timer > armor.config.init_delay then + for player, count in pairs(pending_players) do + local remove = init_player_armor(player) == true + pending_players[player] = count + 1 + if remove == false and count > armor.config.init_times then + minetest.log("warning", "3d_armor: Failed to initialize player") + remove = true + end + if remove == true then + pending_players[player] = nil + end + end + timer = 0 + end +end) + +-- Fire Protection and water breating, added by TenPlus1 + +if armor.config.fire_protect == true then + -- override hot nodes so they do not hurt player anywhere but mod + for _, row in pairs(armor.fire_nodes) do + if minetest.registered_nodes[row[1]] then + minetest.override_item(row[1], {damage_per_second = 0}) + end + end +--else + --print ("[3d_armor] Fire Nodes disabled") +end + +if armor.config.water_protect == true or armor.config.fire_protect == true then + minetest.register_globalstep(function(dtime) + armor.timer = armor.timer + dtime + if armor.timer < armor.config.update_time then + return + end + for _,player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local pos = player:getpos() + local hp = player:get_hp() + if not name or not pos or not hp then + return + end + -- water breathing + if armor.config.water_protect == true then + if armor.def[name].water > 0 and + player:get_breath() < 10 then + player:set_breath(10) + end + end + -- fire protection + if armor.config.fire_protect == true then + local fire_damage = true + pos.y = pos.y + 1.4 -- head level + local node_head = minetest.get_node(pos).name + pos.y = pos.y - 1.2 -- feet level + local node_feet = minetest.get_node(pos).name + -- is player inside a hot node? + for _, row in pairs(armor.fire_nodes) do + -- check fire protection, if not enough then get hurt + if row[1] == node_head or row[1] == node_feet then + if fire_damage == true then + armor:punch(player, "fire") + last_punch_time[name] = minetest.get_gametime() + fire_damage = false + end + if hp > 0 and armor.def[name].fire < row[2] then + hp = hp - row[3] * armor.config.update_time + player:set_hp(hp) + break + end + end + end + end + end + armor.timer = 0 + end) +end diff --git a/mods/3d_armor/models/3d_armor_character.b3d b/mods/3d_armor/models/3d_armor_character.b3d new file mode 100644 index 0000000000000000000000000000000000000000..1287690d19704f5f7e547871c53cc85700897c93 GIT binary patch literal 178730 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 Me4BZ{WSX1*1+ONS)Bpeg literal 0 HcmV?d00001 diff --git a/mods/3d_armor/models/3d_armor_character.blend b/mods/3d_armor/models/3d_armor_character.blend new file mode 100644 index 0000000000000000000000000000000000000000..599629656f1e4b482a1de5986e28ac8d00a2714f GIT binary patch literal 802568 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

sZStUdP6;UB?!dNA`y) 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 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_admin.png b/mods/3d_armor/textures/3d_armor_boots_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..23be004ff3592066a5a7657012b8d893ee6525a9 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NoT?Wh)sL z{ZD$gfMND^hLgt__HJfa4HRGU`I0738DmM1UoeBivm0q3PLj8~3quF1tOt<8S>O>_ z%)r2R1cVugnPbVsSb-p@G>^A>jaf3r{Q0 zM=gOuk-{UZ8yZBL0vduFS17VP3QU;| zj5%woHs^vouUg_7QIe8al4_M)lnSI6j0_CTbqx)44UIz#Ev!t;t&GjJ4GgUe3^ti4 fPC(I+o1c=IR*74~;mnyjKn)C@u6{1-oD!MtPq28LD!2AfP2C!lD^%}>cptHiD0aOO-Mpaup{S3j3^P6HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|Nnb^rH^Nt zoG!9GlAr_RnjR3j2b5(j3GxeOaCmkj4a7O=u<5X=v zX`mo`iKnkC`$H~XA$`^NYb?(Lg)BW?978NlCnq#8J1Qg`U~l1R<@u;35GWFOWOYM> zXj4GLb*4SjIwYJFSh+Z&9&$83`JE)v)3lI@A+V5rZDhy!Pe4OdOI#yLQW8s2t&)pU zffR$0fuXssp@FWUafqRXm5I5PvAMQ^p_PHbCKJU8C>nC}Q!>*kacel7Ia3Fyfx*+& K&t;ucLK6TNB51Mz literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_bronze_preview.png b/mods/3d_armor/textures/3d_armor_boots_bronze_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..1f83af3471b54c35e01911efb174314a14df40c0 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI21sKjh*S(pP=I z#_~K+NYB&7F~s6@a)Jcw;slWZNe(AQIY!lFN5^E?)FK#IZ0z|dUR&_LJFIKHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$5q%Lypr`fhU>Pyu5}kY6x^!?PP{AWo9Ey9+}HtE>l*!&%@FSu>8rk9V|gAZ6z%Ea7-Dhy?SzAZ42~=;M>nW4IQ@%Hb-^HBT*u@ZYex>(K}Llcta;~-eio0J78O?9Cb#_AnibP@ z#Lt*kWG||&X+Ec^H+}yH27^eR>=zqe#saNTEpd$~Nl7e8wMs5Z1yT$~28QOkh6cKZ y#vz6lRwm|F#^%}vhE@g!n@kiZplHa=PsvQH#I50Q=1d)+1_n=8KbLh*2~7YITYZ}V literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_cactus_preview.png b/mods/3d_armor/textures/3d_armor_boots_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..e4cbf137e33991d6c4d28a6eaacdf61c7cabc8c1 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIRq% zVn1*SY-2sa$oWW+!Akl`%^D_#6Muy6PU6zm0Xkxq!^4049#^7 z4Rj5SLkumfOw6r}&9w~-tqcq{nJ7*`(U6;;l9^VCTf^bZnL0oX44$rjF6*2UngB@L BVVD2_ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_crystal.png b/mods/3d_armor/textures/3d_armor_boots_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca8899d9d9d3e92037a6dd8ae804d7b8ffaba3e GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NjixZ45n! z^G^I{=-9!q@HNBidkmA$0>zaBrzZiGF_r}R1v5B2yO9RsBze2LFm$lWdH^|`1s;*b z3=DinK$vl=HlH+5kiEpy*OmPt7q5`M>iad8=Yc}5o-U3d7N?UF8kijw5)QDp@U-%L z)DkEZDLk^ep+U4Mpdq+%g(AzN5QQ|3MhnpnaVLd1|3_anPE4+_^|~OwI6;I*l!3v` zn6tKOb1um9swJ)wB`Jv|saDBFsX&Us$iUEC*U&)M&^W}gTe~DWM4fI^u65 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_crystal_preview.png b/mods/3d_armor/textures/3d_armor_boots_crystal_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6b3e46f1b72fbac8f486e14a42d643307733a7 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI%a+_7YED zSN4Zoyh8e_@7GwK2MSqwx;TbdoK8-VU|pOb5+KRp#3;w8n(XM9tXjjQr@$y)!?bW= zlR}TX0`C%4-uVudI~6z{3m$kb&LEyEu-AC!CIO%!swJ)wB`Jv|saDBFsX&Us$iUEC z*U&)M&^W}gTe~DWM4f D6gFY0 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_diamond.png b/mods/3d_armor/textures/3d_armor_boots_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4020632e8548326177765e481348e15c5e0ef8 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NjhKEez+5 zr2YTSaAYULhsO-hZZcdy4HP#qIadr+##j>M7tG-B>_!@hljQC0!qCAg>jC6&7I;Jg zRq!1FVaBQ2e9}Nc_7YEDSN4Zoyh8e_@7GwK2MW1*x;TbdoK8+?V0KhUIKbY*)5`Nv zOQ2As@W|?h2GOQ~hTz5(iY$*p6w){vEkrxSofP8yAAQw0F}cFl>w@^=1Q8xl1_n1{ z&f2QYxggK0mbgZgq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}oV{>f-Ln{M=O(u#H eP&DM`r(~v8;?{6DbEXbZ1B0ilpUXO@geCwc;c)T* literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_diamond_preview.png b/mods/3d_armor/textures/3d_armor_boots_diamond_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..7575fbd78fc7e67824a96f59f71373637cc1a1b9 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI%a+_7YED zSN4Zoyh8e_@7GwK2MSqwx;TbdoK8-VU|pOb5+KRp#3;w8n(XM9tXjjQr@$y)!?bW= zlR}TX0`C%4-uVudI~6z{3m$kb&LEyEu-AC!CIO%!swJ)wB`Jv|saDBFsX&Us$iUEC z*U&)M&^W}gTe~DWM4f D#baVw literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_gold.png b/mods/3d_armor/textures/3d_armor_boots_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..f431d9b47618f6614c37808ad652fc643e40f357 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|NoCqu)e%0 z`1+ps^DDeSZo%m)4WKMzNswPKgTu2MX&_FLx4R2N2dk_Hki%Kv5n0T@z;^_M8K-LV zNdpDhOFVsD*&lN83hAr9Ut@V5C}ipB;uvCaIys?%*-;_k0DB8hE6+zQfk2VKBdZ%4 zM4JK{t~2eK)*<1fz{HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|NnN%8)F=H zr+DrUHs1l{ZhxY@7%0nF666=m;PC858ivL>4nJ@ErkR#;MwT z(m+A>5>H=O_J>@&Li(!j*I1qh3R!x(IEGl9PEKfGc2r0>z}~{s%JWf6AW$Um$m)g$ z(WZcg>r8v5bx1fVuyS!kJ>+P7@;gbSr)eP*Ltr8M+Q^RcpMZv_mbgZgq$HN4S|t~y z0x1R~14DCNLjzqy;}Am&D-&}oV{>f-Ln{M=O(u#HP&DM`r(~v8;?{6DbEXbZ1B0il KpUXO@geCw@qiFB| literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_mithril_preview.png b/mods/3d_armor/textures/3d_armor_boots_mithril_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..21de8c10fa81b29e277202b15b589d02b38b2379 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI21sKjh*S(pP=I z#_~K+NYB&7F~s6@a)Jcw;slWZNe(AQIY!lFN5^E?)FK#IZ0z|dUR&_LJFIKXrflN}QY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x00r;B4q#NoG-4Y?W&1X$j? zY}nxWT)sA-ZkAI}#$1tiPDM={F8ge5)YPk!c7NBld@?^Hx4mzf$-Kj-{Ij2*XZCt- zX|b!3hi&n8hdT%IUS563m?m9N;h++7fK^5=pwV4nUm~L%bKT*Le}yev0S!zd3m8~6 z92mJeo-o?Y6ra7-B{2->3e^(Vh?11Vl2ohYqEsNoU}Ruuu4`zZYiJx|XkleyZe?t) oZD43+V6e$VaRQ2l-29Zxv`X9>4rk8P0cv3IboFyt=akR{0O6%`^Z)<= literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_steel_preview.png b/mods/3d_armor/textures/3d_armor_boots_steel_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..170d094c335aea31c73286c96a1f9970c1dc240e GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0VEjWo@x~VDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(GY3GxeOU?`h>)&j&! z@^*J&_}|`tWjK%r1i7sn8fo=I&29nO2Eg!{N-CIzSB!p00i_>zopr0CGTKo&W#< literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_wood.png b/mods/3d_armor/textures/3d_armor_boots_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..411ce9c67fb123b45c0b98b30ed5ef03c51cb500 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%AtC&cyt|NqIswsHQJ zRjJ;&(ayyQZgrV{KtbP}`7eNK7)yfuf*Bm1-ADs*lDyqr7&=&GJ%Aj}0*}aI1_r(( zAj~*bn@<`j$X?><>&pI+i&scr_5B*l^FSdFPZ!4!i_^&o4a|zJimq%m4mSdC2(D+E zsxVby57!iysVpBonqwNSi)J+nbVNG}uuRHlJu$h$mg|#BTz`{|=YhqG6GV7;85j;$ zaj)EVQ(6;frfP|6L`h0wNvc(HQ7VvPFfuSS*EKZIH8c(}w6HQUw=y=@HZZg@FxX_G gH~~dNZhlH;S|x4`hcjpD05vdpy85}Sb4q9e0I-8@ivR!s literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_boots_wood_preview.png b/mods/3d_armor/textures/3d_armor_boots_wood_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f192c01c65022c5b81556c927709c37d2d3650 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI_!@hljQC0!Y-EB@fyfsFY)wsWq-)U zE2OXbevRdMppc`di(`nz>Er|n*2M`T0g@bAnw(7rd5o&b;*O5u$*Oypyu2z{Ic_US z%u>^sA=c&Ypvjw(F-u5}aluT5;Eh0!UYID@xud)95zsKz64!{5l*E!$tK_0oAjM#0 zU}&yuXrOCo9Aao;Wnyk+Y_4r!Xk}oq$wYAiiiX_$l+3hB+!_vN&eQ>FVDNPHb6Mw< G&;$UxD__b0 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_admin.png b/mods/3d_armor/textures/3d_armor_chestplate_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..a17d0a480d4f75aba94a4b666ac4e31cba8ab710 GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SGLhuQQzdpYi&?_p|?%?>;izZDgnesyt9X^(#;#V@Z%-FoVOh z8)+a;lDE4HLkFv@2av;A;1OBOz`%C|gc+x5^GO2**-JcqUD+RU@e1jyzF%W`9w@ZR z)5S5w;&gI?1nXi3Z2=Z07U^y##mO6-B%&7y&Sqj`+rhNaB`2&w&`^kfI74U%tVaL%33B^JPHc) zJSpI0l)&E8)Wl>U#K@rVMsK|<4=W?k)v6_~5hW>!C8<`)MX5lF!N|bST-VS**U&h` w(89{Z+{)No+rZGuz+jV!;sg{8x%nxXX_dG&9L}7n1JuCa>FVdQ&MBb@01QKyZ2$lO literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_admin_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_admin_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..5395810a54cd4b4a571bcf551804395a2d2fb682 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIp%$~r|)4|Zz$WZtH|9|h>CUbxq7)yfuf*Bm1 z-ADs*lDyqr`11D}_yalYC7!;n><_tkh4fY5udzH26e{v`aSX9I{q};P-~j~zmq490 zt(zNKBP_ThI#_iQ7`Y=3IPFPU$SHZ^s^*WY=d$|_?!2r0rOmXNOtDjSo82 zZ^b!yGkrchRq)qA4V?#-cUYumMogIE%3YL{<#gTe~DWM4fb?J>x literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_bronze.png b/mods/3d_armor/textures/3d_armor_chestplate_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..ac43ddb2e4084b35f45bb2c60de745f68a73b6b4 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$@& zoG!9Go@sKS-U}$w>=*Y7sDQB~$S;_|;n|He5GTpo-G!lpRn`N@;VkfoEM{QfI|9Ot zQ?>b|fr9KMp1!W^54m`S^i|)lu{;kHs`GSl46!)}V{mp}wr9mPwg%0k%hk9URxm`1JuTHe#k4Op`+$YzEakkJ zAG*X8o;Wx*glhHbE9kQ3bc-j{P41a8?cD{|PxTGl2h0QtZ!UgzPWOCrCR_Bm-!IRF zvP++mD0W?*vbP0l+XkKN;r+d literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_bronze_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_bronze_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1d1ce63ecef65e0cf700048642c1ee3ec41b52 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI50qdm3GxeOaCmkj4a7vf&{CEg8?$C{eF90VN|a@Vwk9&i=t>1|}vi(qwd zIC=Dj#TAK@VkwLpS_2qc9-j~~Sk~6S9ml9DEFVDNPHb6Mw<&;$ShVQszu literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_cactus.png b/mods/3d_armor/textures/3d_armor_chestplate_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd7eb0572739848c75b706a39ff0f0dff43357a GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|Np0U);biJ z-MzFXsNXfP&&9jh-oMKUD85!M><3U8V@Z%-FoVOh8)+a;lDE4HLkFv@2av;A;1OBO zz`%C|gc+x5^GO2**-JcqUD+RU@e1jyzF%W`9w>Ce)5S5w;`G}Ij$DTo1YA|sIh+gb z2F_&WxwOvsBhy*lB*nYSoz}%~&bT$@CGRg*$*;ZtR~y#?&h-A?BA7k2~~&Aa8ct20T+KJRc`Kf`a;FO4f*)Rt{r*YD_= z<0G?4f93JBocndw{17_oA9AnX_Fq%LTi%&+p6ppCCaI)E8;Wl5DV)%k&Gs)buzGrc z@e$YUCraXPrdLO*i#mMyY{`77=CoTlbH%N+>viw!7`?8lT{AqLUIz4&YKdz^NlIc# zs#S7PDv)9@GB7mPH8jvQG!8Meure{XGB(#XFtjo-*kqzO0YyV@eoAIqC2kFeGiT}m PH86O(`njxgN@xNA5ZJUY literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_cactus_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9523ef787c986c8464b5df4903ccae2ea68432f1 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%&kNMZSQ6wH%;50s zMjD8dpbjkoGZ7=RvX%)JkAlKH zPYO60C9wB2H8B|oF)}E;(Od7z!^#MBwQ7lLL`h0wNvc(HQ7VvPFfuSS*EKZIH8c(} ww6HQUw=y=@HZZg@FxX_GH~~dNZhlH;S|x4`hcjpD05vdpy85}Sb4q9e06w>tE&u=k literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_crystal_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_crystal_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..801dc2ae4a588fc45355db75f27f23cb8c07db16 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI<_tkh4fY5udzH26e{v`aSX9I{q};P-~j~zmq490 zt(zNKBP_ThI#_iQ7`Y=3IPFPU$SHZ^s^*WY=d$|_?!2r0rOmXNOtDjSo82 zZ^b!yGkrchRq)qA4V?#-cUYumMogIE%3YL{<#gTe~DWM4f+!&16 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_diamond.png b/mods/3d_armor/textures/3d_armor_chestplate_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..35384960fe5955fed1886757ab020a298b0a60e3 GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%F}QaAYULxg!kMPcuBb$?)NE{{J6d|G#(r|Hbh8EyMIapvu~s>>EIhj3q&S!3+-1 zZlr-YN#5=*3>~bp9zYIffk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#iL zPZ!4!i_^&o60D0Ev;|n0Sfsm|6en+Rl89a;IGc%$Z3ojvmz=N$K|k#Sd;%`48eA&s zUYrJbER&4W^QL69IEb(Yai@xT`Law}9p)?I4H7V7S3Nf;l0$K0l;TB=dlw4@oRWCe zK00mu^vR8*Gqf>cQASjhV#|?L4kiIACMJSTNudglG~PTC0_xBbFcUE{D{Glx@hB+F z^Q3^2Q388UQxlVc5F>-a8@=_eJgkgBSF4t|MwFx^mZVxG7o`Fz1|tJQb6rCNT|?s# wLklYtb1P$WZ39Cq1A|Q_iW5*YmdKI;Vst0Ipn_CjbBd literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_diamond_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_diamond_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..92909b3dc4fc2cd9969142b5d160571029db8f42 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI}1%moMFi_!@hljQC0!k53-z#qtAFY)wsWq-)UE2OXbevRdMpiq&gi(`nz>9-dQ1rI0)xCH8~ zY2Dn=8ezd5(ZQ;dz{nkOz-dp)LQcsOS2cfJJ(t~gaOYj^FKwpH91k=tE_`DOX?)PB zek;zwo9Xl6se-=_YUn(uyu%_jGh)INSMH*uEXR{NkpbMN#bTz4GPlkD*L3&(F2))z zhl^HAS*`(XS1oakC`m~yNwrEYN(E93Mh1rFx`qb2hQ=X=7FH(aR>tPq28LD!2AfP2 fC!lD^%}>cptHiD0aOO-Mpaup{S3j3^P6HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$Ih+L^k;M!Qd`Cc- zajG_-G*FPe#M9T6{UH~xkiP2sHJ0arLUo=ljv*GO-%bqVYf#{5`^eTA>u{ZQ#%qQ( z@9LL%Xl;HNy#AlXv18_SY7EZK%l53e#@3*Dbh#Qg!wQCIv8ScFr|1^eIy+8@Zk|4ie28U-i(m`sfLoQw+ zebx7CEYAalB0XIkLo7}wCrGerI0*1eh?v3Tb*!n$%R$glA$Ltn=mA%Op58_#y$DtZ zhm%KdSX_}fDVD;xp*4W9HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$l*!&%@FSu>8rk9V|gAZROjj97-Dhy?ZiO71_h3`k8GW>4%b;{yk=PQ zu6~(^*5-%7>;G9CJ7!*|#^CI{Y|n~oYz>-6m#c9ztYC;1ds?b{ifLbH_5lmaS;~1c zKXi#HJaKSr2-WJgTe~DWM4f@1l)= literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_mithril_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_mithril_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4859295543228417a3c23d94f138ae360209b564 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIPx!4PQ&910@(sg8YIR9G=}s196hP-Cfuc({|JXIqW5#zOL*Kxp;;2 zRo}0%JP#C#^mK6yu{fQaAi=8PAiy&rVg{4fv8E<32SG=L+%+ws2V4budK;PaB3K<9 zP9D8saYf>!SPJ8Y)&Rzq$0tM#mbEo-$1$pki%&TIfwO@@j&aF^W2y#RY|;!2F+UYl zPe(ks541$J#5JNMC9x#cD!C{XNHG{07@F%E8t57thZtH|nV4G{n`;{wS{WE@GEtm> eq9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywqdglxJ1 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_steel.png b/mods/3d_armor/textures/3d_armor_chestplate_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..bccb99d1282d420a9dd304b9e3d7c37fdab138f4 GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2%>XrflN}QY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#h(PZ!6Kh{JEEJMuLv2)OR| z6~6qUY3}jY``DB2KmN*aL_n-WG4tYz&w)bbpJRFY>_4dRG^#y{x~nG_&nV&mMFr`- zWrYP5rgP#yU1V^WzE$?=`;RNlnHfI#)PGj%51jWwgki^2vFG-z3CWRhpLDOY1hUHd zbOooI@i8z=4s&I1Rb`UFVg^&TRU84~?F==Eb^ceBcvc(c)UD^4Fx_9_Q)hmwGEYcR~eqJYKfqqpjag8WRNi0dVN-jzTQVd20hUU742D*mEA%+%KCgxVg=Gq2^ lRt5%}OcW=eXvob^$xN%nt>JLyOdX&G22WQ%mvv4FO#nEAqBH;i literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_steel_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_steel_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..804e785b0867745ac6722e29faf5d5d645adde70 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0VEjWo@x~VDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(GY3GxeOU?`h>)&j&! z@^*J&_}|`tWjK%q`g7sn8f<8LP!@--XqxXN>cEHv2g zbb@6+|ID?_9ExJoL@uQrV0HU{^yjp%pG4VxmN`#NQCl+W`zvE7=Dv9x7A*`M^EfKp z)I=GlrLeJlIH~)JCpgXaf+6#VYl5rJI~Hu&Bc%8)zsPHc{e>xOe?HV+mts-&**@{_ z%5bAKM;q#9->HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%AtC&cyt|Nn9RmdU}k zRjJ;&(ayyQZgrV{KtWS`?bARtj3q&S!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|Va? z5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#i-PZ!4!i_>o>1ah?)@VHdBZh27e@^^dF z|E6jN?&^l15C7Z^th#dw`yMQ@@tWy($?E$n(Ww^8zsGeRjOXT>C~+&>G4>H>`G)Dw zS(M_QxVwh7CCV%_YEoRJ<$NM>zVQv!kkpK%U@w-v3$&c~e|cTb_|tr4Y~Tc`oE1jy zAoBbyhpY_?ZyEnr$)D&v)96HWj@Z7&Kcdst$^EgnXAsg?5SyjgHyh|s)e_f;l9a@f zRIB8oR3OD*WMF8nYiOWrXdGf_VP#@&Wo)i(U}$Avu*pPm0*Z#*{FKbJO57R_XU^0C PYGCkm^>bP0l+XkKr0|;H literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_chestplate_wood_preview.png b/mods/3d_armor/textures/3d_armor_chestplate_wood_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8f75f26a8d6e6d629746d6f9a0422805ba8519c3 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIjK%sn37sn8b({K9@@*Ys&VU9egUD3Mc09Rz=U-uQxflIYi-`j0)Qt>M& z%2r>`z;dnYFXNdLdCM3}jTZ19s=D5Ac;>+?M`Pm;&vJC}ujM%&tk<|(NIPM(o=I z&29nO2Eg!{N-CIzSB!p00i_>zopr E0EZra-~a#s literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_admin.png b/mods/3d_armor/textures/3d_armor_helmet_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0425176910b1aa633795613719a105f7370367 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%t+C&cyt|NoT?Wt$mR zA7j{io#Et4hD8e)W=~+~>0oGUWT*qm)*TT&3{=cm666=m;PC858ivL>4nJ@ErkR#;MwT(m+A>5>H=O_J>@&Li(!j*I1qh3T1k_IEGl9PEI($#M0Qn zC@)}SR(52yLx|@|f%QxqF9f*m;W~2p64OVm2^#wTK#5I@7Xu~s+!JwOj@aALv$0B0 zGWqKwhG-_`j$^N4Cx|<8IhcgKZ<0|vaNq#PBF?Jmf@{h|dYFWOfs!h5*p%Um3D8p2 z64!{5l*E!$tK_0oAjM#0U}&yuXrOCo9Aao;Wnyk+Y_4r!Xk}oq$wYAiiiX_$l+3hB W+!_vN&eQ>FVDNPHb6Mw<&;$T5S%MD$ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_admin_preview.png b/mods/3d_armor/textures/3d_armor_helmet_admin_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9f449216ccc4cb23a133ae967887f3110fc177b4 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI#As4TZ zzUuommgj*&MxHK?Ar_~T6Bw8rH4+*aeHc}f6$%cj3#?*cIrf7^Lc+=UpolAzhlp8Y zpaGW~<6Q=Zq-M^EZ&`P+0d=dExJHzuB$lLFB^RXvDF!10Lvvk216@Po5JL+q6LTwL pb8Q1dD+7Z~CW;eKH00)|WTsW()^Ip;rVda8gQu&X%Q~loCIA$*TMYmJ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_bronze.png b/mods/3d_armor/textures/3d_armor_helmet_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef55957e75a98471373cf83a56146b1703c915d GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$@& z9M3d4U1WQq-U}$Q^!I}npaRB{AirP+hi5m^K%69RcNc~ZR#^`qhqJ&VvY3H^?+6Gp zPSxg<1`4v5c>21sKjh*S(pP=I#_~K+sKC?3F~s6@a>4;7mc|A~d4Zsypd;%K+?dh8 zB%JOgDzK$#g7U|zU;*BQ!h{uz0|Hho@>sEX(S**`N@A>feG2YfJ01ir$jQ+-@aBL< zPR^2!tGgBC8$=p16jPObSQXki4GavLGMetCvaFV6UEILJz!3jN!1cMb(NCb=swJ)w zB`Jv|saDBFsX&Us$iUEC*U&)M&^W}gTe~DWM4fqc(xe literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_bronze_preview.png b/mods/3d_armor/textures/3d_armor_helmet_bronze_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9a62f820724f66c0a86891a3831f605a30c0cc35 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIF39nw+eQ*grjVMV;EJ?LWE=mPb3`Pcq=DLOkx`xIfh89*P=2ph$ o+6IPJ1_ql<6epl)$jwj5OsmAL;c(_m9iRpVPgg&ebxsLQ0E|#u%K!iX literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_cactus.png b/mods/3d_armor/textures/3d_armor_helmet_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..e48ec344562969eb9327eeaeb5d70fda8924406e GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%AtC&cyt|NjmJW~X-6 zdNdeSTh5E98%4&x)%5d+anV>Q@(L<^I~0wpQQkVqDh8DarEFraf8Du)LV-nvIuy z*zN@PhKIR}r&s46)Qu08*x{-o{-mC#M_ESZ&tbMmFR>LH5)PXI-KbjP8c~vxSdwa$ zT$Bo=7>o=I&29nO2Eg!{N-CIzSB! Mp00i_>zopr0CSR^g#Z8m literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_cactus_preview.png b/mods/3d_armor/textures/3d_armor_helmet_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..c8be84a1f0b82edead4aece667b5bb6471099969 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIF1po}8R4u3E#iaG~D9V-+kcff_kX zUK%21jE+rAixWh8n07HT%-F~I-NLx;9ncun64!{5l*E!$tK_0oAjM#0U}&yuXrOCo y9Aao;Wnyk+Y_4r!Xk}oq$wYAiiiX_$l+3hB+!_vN&eQ>FVDNPHb6Mw<&;$UlXHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%t+C&cyt|NjixZ48so zGR(fmu<$iQ&tZm+9SrqL8LDP66i)!k*8YB4160gd666=m;PC858ivL>4nJ@ErkR#;MwT(m+A>5>H=O_J>@&Li(!j*I1qh3T1k_IEGl9PEI($#M0Qn zC@)}SR(52yLx|@|f%QxqF9f*m;W~2p64OVm2^#wTK#5I@7Xu~s+!JwOj@aALv$0B0 zGWqKwhG-_`j$^N4Cx|<8IhcgKZ<0|vaNq#PBF?Jmf@{h|dYFWOfs!h5*p%Um3D8p2 z64!{5l*E!$tK_0oAjM#0U}&yuXrOCo9Aao;Wnyk+Y_4r!Xk}oq$wYAiiiX_$l+3hB W+!_vN&eQ>FVDNPHb6Mw<&;$Smr-IJ_ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_crystal_preview.png b/mods/3d_armor/textures/3d_armor_helmet_crystal_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..dddbbc07ef75c15226507c62d41bd026ff1bc3e2 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI^mS!_$i*w9 zuljzC<$0ixk*AAeh{fsT1O_HYjf4h9A4b(=g@S|X0;^b9j{RVfkZ^K7DB{ZGA!61T zXu##hc$a}8shM-)Th<+HK;5b(t`Q|Ei6yC4$wjF^iowXh&|KHhK-bVX#L&XZ#N5i* pT-(6V%D`ZgiQ)tl4Y~O#nQ4`{H5|^IsRPu&;OXk;vd$@?2>>&wTQvXx literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_diamond.png b/mods/3d_armor/textures/3d_armor_helmet_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..611dc9f551ba4ea47b0f793756fd354d5b2b2526 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%t+C&cyt|NjhKEezLB zGd#P=@ZmATxg!imb~0>O&ah+_!}LC&temp2IZ!cUNswPKgTu2MX&_FLx4R2N2dk_H zki%Kv5n0T@z;^_M8K-LVNdpDhOFVsD*&lN83hAr9Ut@V5D3s~x;uvCaIyvD06H8+Q zqr8BTS=o`*4k4Z=1=cfdyb$2JhwI4YOH3cNCTQsU10^;sUJR7jb5F#DIbv@|&&Dc2 z$>gt#7^0b!JC41IognVW>0uHA21=^LVN-@LCO}J7 zOI#yLQW8s2t&)pUffR$0fuXssp@FWUafqRXm5I5PvAMQ^p_PHbCKJU8C>nC}Q!>*k Wacel7Ia3Fyfx*+&&t;ucLK6VE-hylZ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_diamond_preview.png b/mods/3d_armor/textures/3d_armor_helmet_diamond_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..ed52aedefb10fd4038ba5adde8ec5488977470d5 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIOaJki%Z$>Fdh=kc(GH zU-kVO%kw}XBTpB{5R22v2@Fh*8VL=IK8&i#3Izw%1y-@J9Q(l{A>rhFP{ftVL&U5x z(16R0@h$^HQZwhox2!wZfVx#nTq8HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$$~Fb9w`7tq<57E02MHn1o;IsI6S+N2I3@nySp%Su*!M>Ih+L^k;M!Qd`Cc- zajG_-G*FPe#M9T6{UH~xkiP2sHJ0arLIs{Kjv*GOlM@awu{1U?$_oSq1sz#`;Kqyw zCgF51QGqQ@6O=zz1q<*d6eg@#91yT#k;jV7izalgRuW^?>r-&=+VLQ0K~9dwfj0*< za&ne*T-~i8-yqVEp_r=d!>Z8EX<%T`l+koAm1VUo>*59$28Q@I0tPq28LD!2AfP2C!lD^%}>cptHiD0 TaOO-Mpaup{S3j3^P6`sfLoQw+ zebx7CEYAalj67W&Lo7}wConKMY9ur;`Y@^{t0pI_?qSk%Xb5j;Jg6$-6R6VQk|->} zx;R1P0xtu@U2e{N^-Xc}fx1;oTq8HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$|igGfV$Vydzat3o@cfq_9&M$^4imesPXiyK%N7~^mS!_$i*w9 zuljzC<$0ixk*AAeh{fsT1O_HYjf4h9A4b(=)#PN=JxqEI4dD%q2USIU0#zDZ5``sL z7bl2Z;ALRA%gvduzA0`#P`7G{YeY#(Vo9o1a#1RfVlXl=G}kpW&^0s;F|@EUF}E@{ p*ETS;GBDU=qBsFXLvDUbW?Cg~4Tm#l>Hsw`c)I$ztaD0e0stBZTzLQh literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_steel.png b/mods/3d_armor/textures/3d_armor_helmet_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..8d21e8a5e0128d42f3ff41e450eeb27b6f1eb27a GIT binary patch literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2%>XrflN}QY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#imPZ!6Kh{JEEZsanVm0tKZZ&GH^6NQ3`tnqiv|pn)M%7*Z@7J zTH+c}l9E`GYL#4+3Zxi}3=GY64GnY+jYAAAtW3)&j&! z@^*J&_}|`tWjK%odv7sn8fUftDnm{r-UW|L1$wf literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_wood.png b/mods/3d_armor/textures/3d_armor_helmet_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..01e243a9cbebbfd4adf5b9b09d671516b6ea9e39 GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|Nn9RmdU}k zxzWzW32s%X-gTLN6)B!T@l79hUIQv)ED7=pW^j0RBMrn!@^*J&=wOxg0CG4BJR*x3 z82FBWFymBhK53vJdx@v7EBiw(ULk$e_iHTA1BGUKx;TbdoPImOk?XL6fa~5v5^w9& zJiqtub-3kpU94pOp_KR&e^&|>ES@X3;IBfH-7|jwm2M`CTAFir`za+P?dWij536)K z|MAPxrgX^y^PNnMFCMEuQD77Zx_n%5gZ#GN**y<4FRxUcdv}fF;|VD9{p;AiT>{Ae9Y+%Z=W&O3ywcHnv+uP4H|K%gLL)X1p1L#QA64!{5 zl*E!$tK_0oAjM#0U}&yuXrOCo9Aao;Wnyk+Y_4r!Xk}oq$wYAiiiX_$l+3hB+!_vN S&eQ>FVDNPHb6Mw<&;$T*ET6pq literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_helmet_wood_preview.png b/mods/3d_armor/textures/3d_armor_helmet_wood_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0c3b179a46bcb5d73aa37d0604a851a3fc451c GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI#As4TZzUuom zmgj*&`kpS1Ar_~T6Bw8r9aSAwRUIAKBn}7!7?l~Cl@%UTX1Joraj7{vL8PZC(BKRM z!;w#HvRhO2b%9z{OI#yLQW8s2t&)pUffR$0fuXssp@FWUafqRXm5I5PvAMQ^p_PHb iCKJU8C>nC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6Urv01_Z literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_admin.png b/mods/3d_armor/textures/3d_armor_inv_boots_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..69fc00a882e6c2887540f953620f3f856ced9a46 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFb| zfr9KMp1!W^54m`S^i|)lu{;kHa`AL=4B@z*oN$0yf|a#_6ah0f!yaBq7FJeC1s0$?-ej`Bh%HXA2AZc@;u=ws zl30>zm0Xkxq!^4049#^74Rj5SLkumfOw6r}&9w~-tqcq{nJ7*`(U6;;l9^VCTf^bZ RnL0oX44$rjF6*2UngE!?WCj2L literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_bronze.png b/mods/3d_armor/textures/3d_armor_inv_boots_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..448f41d709059cd9d2b46782fc86cb031f293c81 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFb| zfr9KMp1!W^54m`S^i|)lu{;kHa`AL=4B@z*oN$0yf|a#_6ah0f!yaBq7FJeC1r{p?hBuk)FJg-mtbyjKmbgZg zq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}oV{>f-Ln{M=O(u#HP&DM`r(~v8;?{6D SbEXbZ1B0ilpUXO@geCxuL1gs+ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_cactus.png b/mods/3d_armor/textures/3d_armor_inv_boots_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..3f57f22a4506f9d9d84425f3a5061ac93333319f GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFri0k z-{o}o(i-n(`=EZ1ph;B2YM>g%k|4ie28U-i(m-mu=e)v_-YVHKHUXu_Vl*!&%@FSu>8rk9V|gAZ_MK79$r29`_Ws zHW6hPmj=fpoJRr*Qv`yHfO26$DFS9}hCRHJEUc`O3M^I(3~w^oU&IzCSOd*dEpd$~ zNl7e8wMs5Z1yT$~28QOkh6cKZ#vz6lRwm|F#^%}vhE@g!n@kiZplHa=PsvQH#I50Q S=1d)+1_n=8KbLh*2~7Z`S7j3b literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_diamond.png b/mods/3d_armor/textures/3d_armor_inv_boots_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..0a866e75f2ab3245b66abcc1daea72f7d414e76c GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF21sKjh*S(pP=I#_~K+$i>seF@)oKa>4;-30BqyjuQewVhJWeEJiL4JnkuM zZ6eApE)9-HIFAGrrU(QX0p-GiQUuJ{410JbSy)*m6<` literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_gold.png b/mods/3d_armor/textures/3d_armor_inv_boots_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..55d78b719e354096c35f060849015bc91c4acd2d GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFu^72H@VKY2 zwTURZxHLE(;XD#hm?98l1e6O4N)a$)Gwk7&WMO5MRA8}UV0e?s{vx(G!5V0uYKdz^ zNlIc#s#S7PDv)9@GB7mPH8jvQG!8Meure{XGB(#XFtjo-*kqzO0YyV@eoAIqC2kFe TGiT}mH86O(`njxgN@xNAQr>2v literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_mithril.png b/mods/3d_armor/textures/3d_armor_inv_boots_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..00c26f946879a30376bf31c72a35dca18000e983 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF?n|H`z>h$P?oVI$S;_|;n|He5GTpo-G!lpRn`N@;VkfoEM{QfI|9OtQ?>b| zfr9KMp1!W^54m`S^i|)lu{;kHa`AL=4B@z*oN$0yf|a#_6ah0f!yaBq7FJeC1r{p?hBuk)FJg-mtbyjKmbgZg zq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}oV{>f-Ln{M=O(u#HP&DM`r(~v8;?{6D SbEXbZ1B0ilpUXO@geCxWhh*gd literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_boots_steel.png b/mods/3d_armor/textures/3d_armor_inv_boots_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..82fc591823572e7ba427fe9a405688a9a082abad GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0Cr;B5V#`&cat%Vv4I9%fA zL@a&CVLAW%#Nu1g34)7`-M0{yk|?{GsvvRS@Pc=T>Pl{SQ6wH%;50sMjD8dI7GGJ8;S8(Q7(d`-NF~RYQg-^r9n?NMQuIvxFc!l&;->VNK49 zM@mv^2NY6b^d3dT&EiNB>1vkrdiM0`(uJK4rKg@gO-ztgV4HC4yg|Fsl%C#&JgTau zj2qTE95}$hkmMxXc<1gfKcLB~C9V-ADTyViR>?)FK#IZ0z|dUR&_LJFIKfq@1-UmpkV&=-9kV$j3q&S!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|Va? z5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0Jr;B3<$Mxid11wEUJUl&34r|^>NNGJ% zI-rp9NJ;9&q-Q4-Qrq9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywq0>UC}a literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_chestplate_cactus.png b/mods/3d_armor/textures/3d_armor_inv_chestplate_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5bc70362ccc3694634b4a5970b5a345c40ae53 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFri0k z-E4pN(wd-tS4CS{|1Kw>_*JVvkAcb;OkH}&M z2EHR8%s5q>PZ}u5UgGKN%KngxS4dy={Tj>jK%qQO7sn8e>#5z2TrCD7&dL4?vNN_u zRWWhfHq`8z_o+GCJT5^au6|#sWuyP0)BGRw?HSMAURpITP`%~Y_l0XJMAuIIb?NjoaDnD|6U`{bP0l+XkK%=n3t literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_chestplate_crystal.png b/mods/3d_armor/textures/3d_armor_inv_chestplate_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..b9593bf202440aa7f3d2ce1e936a67e00292c652 GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8Ynr6BA?=*d`o1Z_sWurKfixkE*IE zRdP`(kYX@0Ff`XSG|)9P4l%T_GBLL@ qHrF;Vv@$T*WTH3$MMG|WN@iLmZViVsXX*eoFnGH9xvX?NMQuIvxFc!l&;->VNK49 zM@mv^2NY6b^d3dT&EiNB>1vkrdiM0`(uJK4rKg@gO-ztgV4HC4yg|Fsl%C#&JgTau zj2qTE95}$hkmMxXc<1gfKcLB~C9V-ADTyViR>?)FK#IZ0z|dUR&_LJFIKX?_wfUrhg6t)pzOL*Kxp;;2Ro}0%JP#BK^>lFz;kcfhaDb(WiHE1B$zjbK2`Q~d zN(U5D9w|w^nDp#~Ldu&*8jl{arD)9Dv17>&3#O}@%#sPR3TzYDjAIH6ePZSuf-Ln{M=O(u#HP&DM`r(~v8;?{6DbEXbZ1B0ilpUXO@geCx19e1e! literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_chestplate_mithril.png b/mods/3d_armor/textures/3d_armor_inv_chestplate_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca92315920760ebf76db3f76c12a5223076966e GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFwt=2Wl_X&prB^($L~Njj3q&S!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|Va? z5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0Jr;B3<$Mxid11wEUJUl&34r|^>NNGJ% zI-rp9NJ;9&q-Q4-Qrq9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywnz5_Pfw literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_chestplate_steel.png b/mods/3d_armor/textures/3d_armor_inv_chestplate_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..47ef4f209dc075177888209c348cdfadeeb6f00e GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0gr;B5V#`&oi5Arq}2)JB) z&e0OUwLtgPg82dNw-zyR7Z&iDS$G8~eM>njpPgRr{AqVy{SLNgEWs;^LY<73?+#1< zs8eCma8%^b;s-i5{CAY2inzmM*_5A_U%AdBEyDdpNy&?CMenA>iOFptLG{v~LY7x| zgo~A)-7s&@tSbP0l+XkK3onEt literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_chestplate_wood.png b/mods/3d_armor/textures/3d_armor_inv_chestplate_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..dac3b06f2dbd6c3abb127fac1bbd58941fd9aa14 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFJeR{{pIEED7=pW^j0RBMrn!@^*J&=wOxg0CG4BJR*x382FBW zFymBhK53vJdx@v7EBiw(ULk$e_iHTA1BKE(T^vI=uBZ0w=4~+Gap4ty;_lxg!SIH4 zQAMN3Nw%BytUan)>#8p8wQh)?*1%wAZDFAp7orgOB!C8<`) zMX5lF!N|bST-VS**U&h`(89{Z+{)No+rZGuz+jV!;sg{8x%nxXX_dG&9L}7n1JuCa M>FVdQ&MBb@0O?qPFaQ7m literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_admin.png b/mods/3d_armor/textures/3d_armor_inv_helmet_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..494cc84cd48e21f7b1f3b6901044ca90de3647be GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFEal|aXmTV0J{V$E9(IsMO9VT z4Go?dD<&~;9oE^a!`VA=T3ho$1{H~qw>TJf?c?%%;cHsw`c)I$z JtaD0e0sv^}X_Ei| literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_bronze.png b/mods/3d_armor/textures/3d_armor_inv_helmet_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..c0028dd60f257b26a2152b781c0062c4fa7c5baa GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF~bp9zYIffk$L90|Va? z5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7zMir;B3<$Mxid1MCv4tgHuk6jfDSH#Bs1 zXHQ^gdB~JFW9bgng@%_d6&Oe~uqek#GcJF~#lSm*K_94BwZt`|BqgyV)hf9t6-Y4{ z85o-D8XD*t8iyEKSeckx8JlYx7+M(^Y%)=tfTAHcKP5A*61RrKnKN~O8W=oX{an^L HB{Ts5@APH~ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_cactus.png b/mods/3d_armor/textures/3d_armor_inv_helmet_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..10a2b394839e242608f9cdee2703d1f9b5f79c3f GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF+@cw*i$gmIV0)GdMiEkp|)UftDnm{r-UW|pU`bO literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_crystal.png b/mods/3d_armor/textures/3d_armor_inv_helmet_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..565383e6f1540e7d78a8d7d4e8cf16f3fb74049b GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFQpUpjVMV;EJ?LWE=mPb z3`Pcq=DLOkx`xIfh89*P=2ph$+6IPJ1_ql<6epl)$jwj5OsmAL;c(_m9iRpVPgg&e IbxsLQ0J{`t%m4rY literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_diamond.png b/mods/3d_armor/textures/3d_armor_inv_helmet_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..6df57bde3811c32a594601673c6297f1825ef39b GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFEal|aXmTV0J{V$E9(IsMO9VT z4Go?dD<&~;9oE^a!`VA=T3ho$1{H~qw>TJf?c?%%;cHsw`c)I$z JtaD0e0szkhY4rdA literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_gold.png b/mods/3d_armor/textures/3d_armor_inv_helmet_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..6820d8f077bb758c072bed2f6543101ff0fb6340 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFX?_wfUrhg6t)pzOL*Kxp;;2Ro}0%JP#By@N{tu;kcfhaDZKcm6i1XkD{uo>xPET z?(7K+Ef1LzXDr>Jy3p{_r2+$q1{UQwX~yLbxfpn7Fz5sIs+PD$l%ynUftDnm{ Hr-UW|9;j$G literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_helmet_mithril.png b/mods/3d_armor/textures/3d_armor_inv_helmet_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4e9108b3e3d9bccfee26658017f08657857ba9 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYh7ML)4d!3JfF~Sd`nX z*;K=5+2OC z7#SFv>lzy98XAWfT3DHwTN#^c8yH#{7;G|8oPeSsH$NpatrE9}!p>4u~ z2}&~*rKF@d(w4NfwLMHwF)-L5m@dfhHj&+iDe=DrP^)T*YeY#(Vo9o1a#1RfVlXl= zG}kpW&^0s;F|@EUF}E@{*ETS;GBDU=qBsFXLvDUbW?Cg~4Tm#l>Hsw`c)I$ztaD0e F0sxI$W844$ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_admin.png b/mods/3d_armor/textures/3d_armor_inv_leggings_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..e652ef1164240e514fb337329767dbef78217dcc GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFX?_wfUrhg6t)pzOL*Kxp;;2Ro}0%JP#DI^K@|x;kcfh(7^2Gs35>#)Y9YYGl$oa zCpbCzv5SPVz!?LPCL^k`f1|IWaP%oabhmFQ5|uG)c9@ zHKHUXu_V)^mS!_$i*w9uljzC<$0ixm8Xki2*>s0ga&3eM+E@}qZXf-Ik8NRJjn_U z$t+z?63du+PAxI+Y2)t`Q|Ei6yC4 z$wjF^iowXh&|KHhK-bVX#L&XZ#N5i*T-(6V%D`Zgi6Y412o1UUDVb@NxHTNkoT&rU Oz~JfX=d#Wzp$PyCCT8>i literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_cactus.png b/mods/3d_armor/textures/3d_armor_inv_leggings_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c1a2880d69f83bd76aaf91cca840a45b5e67cc GIT binary patch literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF<>&pI+i&scr_5B*l^FW~lPZ!4!j_b(@4a{z?ii(b`3eGo<9yzKa za6+J%aT8A?kEyV*_;iI09t)&gPDM5tvg$n5I*`FMNvJF|!Hdyz<-sLKVpwMc9SCv| z+@NPFzCdb2$R>v5D4`ocY;1~*Ey@gDANj8Rs}?r`+NE0J8c~vxSdwa$T$Bo=7>o=I z&29nO2Eg!{N-CIzSB!p00i_>zopr E0B2oyz5oCK literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_crystal.png b/mods/3d_armor/textures/3d_armor_inv_leggings_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..d466b204ec93bf9b4509ee7b3299cb7aac714139 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFO>_%)r2R z1cVuHsw`c)I$ztaD0e0sze4Y9Igr literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_diamond.png b/mods/3d_armor/textures/3d_armor_inv_leggings_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..c4cd85c7efbdecab6d8460b31fe1b47e5c043f72 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF_!@hljQC0!qCAg>jC6&7I;J!GcfQS z0b$0e+I-SLLG}_)Usv{rT)aa1s_)lWo(BrqdAc};a9mGLXkd18R1jb=YU%OynZxVI z6P%p<*hNBF;EaJtlM#!=)Ix)vMjmITATOpKudW1dNr?l~oERBW&T})(7tjd+nxtCd z8c~vxSdwa$T$Bo=7>o=I&29nO2Eg U!{N-CIzSB!p00i_>zopr0MM>#6aWAK literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_gold.png b/mods/3d_armor/textures/3d_armor_inv_leggings_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4b2446afba1fb79e96cbed917c0b4b67da778c GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFb|fr9KMp1!W^54m`S^i|)lu{;kHvhs9s4B@z*oY27R=BOaRVASFhGbfhGktbQf zA(^GiNn#mOKGJ&ioh0?wWdfu4dnn#{~Mf;1Qy`bxQr!d~oN0W?Lm#5JNMC9x#c zD!C{XNHG{07@F%E8t57thZtH|nV4G{n`;{wS{WE@GEtm>q9HdwB{QuOw}!)+Gj)I( O7(8A5T-G@yGywn%bZF!N literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_inv_leggings_mithril.png b/mods/3d_armor/textures/3d_armor_inv_leggings_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe972ce7a3a65be0310daed757899dc71c0dcb9 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF}ZPTexOLwos)ln3K&a*{DK)Ap4~_Tagw~Fdh=kc(GHU-kVO%kw}XD^C~45RU7~2@T9{jtT+{MlC)ub7Gksd6E?z zl3BW(B$hGtoLXYs)5zm2;OyBD=qZ?^$;^BsNP~f)uavte?8WXCKvPspTq8Wz`FhX~#BA-myt^U-p&BQoAx3!Wu%-)TVWx&^d6-Ys)Uj zBfGi7?Mrkj92F+NUSq5o75;R^&V|*F>JPr_kiMEP*H2OC7#SFv>lzy98XAWfT3DHwTN#^c8yH#{7;G|8oPeSs cH$NpatrE9}!5T;F9oV$ED7=pW^j0RBMrn!@^*J&=wOxg0CG4BJR*x382FBW zFymBhK53vJdx@v7EBiw(ULk$e_iHTA1BDVjT^vI=t|uonFe|z$Iyx#UIN!K=nC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6Vh CrE;zS literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_admin.png b/mods/3d_armor/textures/3d_armor_leggings_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..bedfbc1551e751734f5ab348c5b60f8ad57fcc09 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NoT?W!D)_ zZf010jA8FehD8e)W=~+~0g5NT`f~uNjIkuhFPOpM*^M+1C&}C0g`tC0)&t1lEbxdd zW?X?_wfUrhg6t)pzOL*Kxp;;2Ro}0%JP#BK^K@|xu{fQaAi=trft7!HpRTERRAIrg1b{h<1oODg3nC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6T=<#nI{ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_admin_preview.png b/mods/3d_armor/textures/3d_armor_leggings_admin_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..1d32265dc5358a8b8ffb12790cbe925474739d9d GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI%a+_7YED zSN4Zoyh8e_@7GwK2MRfOx;TbdoK8-VU|pQh!QiNIKzYFu6^=s{EIqxfjuQP1-Q5Zt zj|Dk+MOhMUm@+e)6nfkj?1>R*`N$#g<*fn(!|J2LD{nHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|Nnb^rH>@& z9M3d4U1SU7#vFNa04U2?666=m;PC858ivL>4nJ@ErkR#;MwT z(m+A>5>H=O_J>@&Li(!j*I1qh3b}c@IEGl9PEL?uUChAB!6g)+u*72}6H^$66Js7X zkD|bKCU=e{4vdc499jV_4xjdRt`k_Ew7^vDT$g~*bS70*R}Rlfq6}Al^Sr#Tbb21sKjh*S(pP=I z#_~K+$k5ZpF~s6@a)Jcw;)D(cM~wr@3sQ76GS;+&A8-x0&>F;eXq$jofDlWf4HHYP zH3tL3q%z*#=lnOrfSOfHTq8HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$l*!&%@FSu>8rk9V|gAZ)b8ox7-Dhy?SzB8M+`VvVwu&&84|f0N*;tH zXusS)Rr$Nul7c)1?Vri(ZJ3wtsVwF`xn#qQB@65{IsTg~2q~WOewFp=grR|jPw~ZD z7al#aUvZt`$~5IejJ%dga_qbMYJ3!*No+Zzq@t4^J!x*sn{D52oY-c^T`$#FtJC)P z#d(fr^Ut2#d9R-F&o|+`Ywrba0G*^-;u=wsl30>zm0Xkxq!^4049#^74Rj5SLkumf tOw6r}&9w~-tqcq{nJ7*`(U6;;l9^VCTf^bZnL0oX44$rjF6*2UngDNTmPh~q literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_cactus_preview.png b/mods/3d_armor/textures/3d_armor_leggings_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9dab4829c88cf4a3648124dedc4fd7d9ee60a66a GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIt1{r~^}S1tVG36x+g3GxeOaCmkj4a7vf&}a0gboHrRRe(|x(ia?C~3S%TGQgLaK+X0q^ijJhK-XZ z8QL*Ac8EFNVLGxyIfS#Nkek6)U8Cb!bVwu6D=Rw10-2@FX90~=Epd$~Nl7e8wMs5Z z1yT$~28QOkh6cKZ#vz6lRwm|F#^%}vhE@g!n@kiZplHa=PsvQH#I50Q=1d)+1_n=8 KKbLh*2~7ZnGG~hb literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_crystal.png b/mods/3d_armor/textures/3d_armor_leggings_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..754bd0ff909c38b096deafc48caf681e9ae9581a GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NjixZ43)v zGfY0qF#8@u&tZm+9SrqLf#TIW?^gkpF_r}R1v5B2yO9RsBze2LFm$lWdH^|`1s;*b z3=DinK$vl=HlH+5kiEpy*OmPt7q5`M>iad8=Yc|Do-U3d7N?UFBv= zaA@41m>S06#3(23py0=<)F;q!yi=efxG_V4%3K(GGDZg`f9a!aIUDMl4#f zaiem}k%wX%F9bMqcuo>!Fk%;MXo)}h321|AiEBhjN@7W>RdP`(kYX@0Ff`XSG|)9P y4l%T_GBLL@HrF;Vv@$T*WTH3$MMG|WN@iLmZViVsXX*eoFnGH9xvXzzS!wele80we)|Np;b*0b$ES;mqezhDN3XE)M7oFs2|7ml`jQ>%a+_7YED zSN4Zoyh8e_@7GwK2MRfOx;TbdoK8-VU|pQh!QiNIKzYFu6^=s{EIqxfjuQP1-Q5Zt zj|Dk+MOhMUm@+e)6nfkj?1>R*`N$#g<*fn(!|J2LD{nHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%|_C&cyt|NjhKEeszX zGh9E-@a!hTxg!imb~0>O4ipa-JmC*i##j>M7tG-B>_!@hljQC0!qCAg>jC6&7I;J! zGcfQS0b$0e+I-SLLG}_)Usv{rT)aa1s_)lWo(BqrdAc};Se#BykYHWRz{NL}L_5Tt6n@@w3GWEr7_n%@ z#*NA?M;?l8yb$2b;W?)FK#IZ0z|dUR&_LJF yIK%a+_7YED zSN4Zoyh8e_@7GwK2MRfOx;TbdoK8-VU|pQh!QiNIKzYFu6^=s{EIqxfjuQP1-Q5Zt zj|Dk+MOhMUm@+e)6nfkj?1>R*`N$#g<*fn(!|J2LD{nHYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|NoCqus*-S z`|_sX>wDrruGYzamw~d3B|(0{3=Yq3q=7g|-tI089jvk*Kn`btM`SSr1K$x4W}K?c zCk+&2FY)wsWq-)UE2OXbevRdMppcuVi(`nz>Er|n*2N6099%*H3QIgzGBJg5I5FmN z^C${zXL9FQ;=t&r&7l?0;_zv2=Q@GqNefKX&UFb0O=nV7b>;A!B+78*H_yxaN+&pg zCaRXWMwFx^mZVxG7o`Fz1|tJQb6rCNT|?s#LklYtb1P$WZ39Cq1A|Q_iW5*YmdKI;Vst0BKcfd;kCd literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_gold_preview.png b/mods/3d_armor/textures/3d_armor_leggings_gold_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2e3d04fc45082df5c733e92c178b3efb376128 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI7rRaMU=UydXtKBV$cV_yN~|3#~znhqeib1qiVu+Ay)y zT5~WkOe*8;ea?R~45(SP#5JNMC9x#cD!C{XNHG{07@F%E8t57thZtH|nV4G{n`;{w mS{WE@GEtm>q9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywo;v0p?0 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_mithril.png b/mods/3d_armor/textures/3d_armor_leggings_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..2143572ee6402085d7271fae778b66102bf8686b GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%SzC&cyt|NnN%8-vYv z#5n9u@!SvOy8iVE1j;g&1o;IsI6S+N2I3@nySp%Su*!M>Ih+L^k;M!Qd`Cc-ajG_- zG*FPe#M9T6{UH~xkiP2sHJ0arLT;Wejv*GOlM^IZ7c;POa0vw{Eb&;$#1zKi#F)p; zqbRVQ$(>_~1EZrhhgLv~!>7HS>jai3EihF(*Cik{ok>;ImBVwAD8rTCJTLDno!|hP zs9NG0QIe8al4_M)lnSI6j0_CTbqx)44UIz#Ev!t;t&GjJ4GgUe3^ti4PC(I+o1c=I XR*74~;mnyjKn)C@u6{1-oD!M21sKjh*S(pP=I z#_~K+$k5ZpF~s6@a)Jcw;)D(cM~wr@3sQ76GS;+&A8-x0&>F;eXq$jofDlWf4HHYP zH3tL3q%z*#=lnOrfSOfHTq8Ah3 literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_steel.png b/mods/3d_armor/textures/3d_armor_leggings_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..cca4e31a805dd56f9415235b990d1b149bbafb89 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2%>XrflN}QY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#ijPZ!6Kh{JEE8*&{s;BlSb z>&>QXoBrK^7o=I&29 YnO2Eg!{N-CIzSB!p00i_>zopr0K?9Sn*aa+ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_steel_preview.png b/mods/3d_armor/textures/3d_armor_leggings_steel_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..dbcfcf2b5312bb699c177fe3f25caf7915432510 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0VEjWo@x~VDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(GY3GxeOU?`h>)&j&! z@^*J&_}|`tWjK%p>C7sn8f>UVZ=o literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_leggings_wood.png b/mods/3d_armor/textures/3d_armor_leggings_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..eb610344e137a0448f767c0fa905c33e58871c93 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%AtC&cyt|Nn9RmdU}k zRjJ;&(ayyQZgrV{KtWS`?bARtj3q&S!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|Va? z5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0Pr;B5V#p&b(3D(67tQ=ZG0SY-T4vk&{ zjI2&gEK3vxmNN+|a~xT#z{ymo6=2%raHq}yNQ6l^DfqE2>J;b*Zd|0mVkE$HU_(HV zNXvu>Q4V!3b!l}ck2m``LkdedK|&2a;UY~FPCR0mFhl5e9s7)*K#NsNTq8*my~NYkmHiE{-7K z-m`?{7&{hLuryrb;##zm*;hd~B*4Igx1ZrgzQg^8ViGJ23~wKc?3}rI?gyZ`swJ)w zB`Jv|saDBFsX&Us$iUEC*U&)M&^W}gTe~DWM4fNyKS$ literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_preview.png b/mods/3d_armor/textures/3d_armor_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..82a0ae45c658224b474ed0aed553d046f151a541 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!2%>Nw(nI1QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIl?Wk6gXTj zeqY4@{d{(gfRxdShgMv2C4yfAbfY%L*)C7I9P*=z9jIeE1AlADu232I9w3K-VZ))y z#l=e*fh-&5KYyy{pHt@08l`+#5JNMC9x#cD!C{XNHG{07@F%E8t57thZtH| unV4G{n`;{wS{WE@GEtm>q9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywop9bmrz literal 0 HcmV?d00001 diff --git a/mods/3d_armor/textures/3d_armor_trans.png b/mods/3d_armor/textures/3d_armor_trans.png new file mode 100644 index 0000000000000000000000000000000000000000..4a31242b54fceda3cea196c6083d758a5a8b9c74 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8W<`RdP`(kYX@0Ff`XSG|)9P4l%T_GBLL@HrF;Vv@$T*WTH3$MMG|WN@iLm WZViVsXX*eoFnGH9xvX*ta^RRCrD)iAa$gk{HV{NDEDlCCXOzbwXlnW19}jDKxT%VRCGheTnSV zWH*K(`x3?sF&JYT%gi$iozD9_&-;Gf=g;%`n9tnv``!2NzJJ&9y{_+dd1j!e&3)+9 zAr1}>Zt%_Ph8!Gwn;9SXgZmg)+N&3G8DIOHG<7vOIEoR6w`}$^e($x_(Z0?>4@b1u zb8wuU1Yg&@<2Ohe8AIIj4MvfPLc(d+Je4zE&b=&qe%ECx`*FVF6{wTbOWLE6s-oe> zhks<=G&oqzuUNDMw>|(VIK)?1YGdKWf7OS(|2M_{h>_QgmSQ(5PWaE3Im=W%OYPO- zbDJ_1#`5wIi}*7ELfm~SaSGughFBd_nApqS40ogw)<9k;S_~Y+{^K*3n~}is@oH2C zru(ILU^`}J7SxvtNv<5q)sahswP|p zRhMmc!f9KY2iPf)aAHX{eQP6+_XPR7dX^6RJ<+K*)bpj&`Ce0NB~y6O0>U;?cdPL4 z)6gA@Lj4@0DJ!BqAE5@YHsjZQPu_8q2Cg9bG^HGC(wj6UMI_`cvarcu*mxWZYmBPFP;KC+UJwcsJej6*r zCwAmykFeZp`^1aoh2lAN#^mP|-n|M|$>VpI>_DF+jh$a&zWIt2waEmP_n#lf&Ak}! zgmtX=8DN2@>7SAkUm&vc^I(Hd7k(21TrkZJ_-otq>n4UJ406&o@i3PF(9L)nmo~Mt z`F9|~LKG#{;fB;35^GA!o(@n z<0gpc5Bfj^`8=sv#XlHClFRnsy=DwScc;oJ{edTYO~rW^QSPDQReYr#$^fRwhoQoP z_^HD>fCumjI8L+-(p_V~o}6HIXc4tQg1+)@OeZ5}$=}i_{b%^G3R(;PSYx@ZdtWJc zAF3iS;pt~`spk~xmxUZtJ)C#;UzLqJ9r0+NY+&34#NAdDnt+aeLWN`b9BKP-QD0Vv$xk8KpgbcfjD1!4n8QA8M< zF3eEIcQvBdM2h?tTB*f3`VQzR%vJr!uN`{~Psyu?qv^-Az5)C0-lhYcx_Cs>!Fs3? zTt2awD(lCyvbdujRE>w-M{9z1bZo3qXU*-YRpyST+G#@ls^MngLZ_HEJr6{1FU=!- zowoE0u11`2Qz@`#r{w)t^T7dILXO@?!aJBA8_*F|t3-EQGlADF-;X#i$!&P*$VndTc(6`O z3#9bRq1?PqQPJA7T>{M2L^Cu~cyy$1bF{2n8vSm({mZ@w1ydEY8^n(?k^w{m zL|9`g@gsjJ=;<{g<7G6}h^nJa@O)G18|9bXV&`&axE_baMIuk^mz11Z!F2akq7nbqyb@cI)$MS>om$A8pK%$*^`J-Y*;T92oF9eDS#O-wz>~@ z325cr+8o=HjN)F@OfNL*w0TPWxUsihu(pW}V8=xKMrD%q9r*n&=Wo<}GI?>c*}p+` zV2ZYh8k_Vc@XNaf`#1JAPL5`SwSq*Vlk4hNywEatpm^;OFNPX)IQzd;VqDlf^jcb-GcWi5@I zFzRRAbgm-SI8@Osng89ek8p}Oq@-9=Ce5X1eX1N@9Cn^Nh7Dpd05io^LUC1H+_#a; zE3iC6nvkLn&fYtSbOnsFP;QRl3k#J7YyMjYbAovLUWEg(^ADIJig~0H6B(p&i6LJ@ z(99Plr}ODxtb^& z7{EaPnFX4kZ{vcOM459}_O+BOk-L>mAf{mLLWiqC)>l+YiC2#uGWVK}i7oZ2Yz<;- zG=Qhl_q~Y^PUvJ2n&Ux$+?ny-c!HdiSM$w&7z;(%YNw5_c1U$*p2@kPr(U%Lnsb)~ zx+R!7#%BnnU(=#YP=@X<5t$Y;w3bF|@S2MKdTc+JxVZPWx7k&#P{q>;rhjp?&MN7r z6|RdOW?F0PFu7;erJ+^3;TiJ0fSE3~?R=&^zU;zHuwNe#;^4+Q6hFgYCDWM6LTsm4hNhv%D9d%)R!1Xc zAEIGxGe*W$D{N1T=>2fnT6Pi{hD0Jm2vNUPpqd=P$*!)^zVI5=N#Ckt=4H;^=@=a1 z-LTybK+anT%brOcfTnZpzo_EX(qdM1e@dO@B2jAL!_|XQst}$d{Wcu$)dZp+&EA40 z9apgzo2#*!Vq}O6)kIl{(jNs7k2@Picb}CIv49D$R>UC{+oVfdZ@=gi&47`qq~EBl zsiXjXx^2}`%lBs?VKFgPv?}QzA$n>hMFMNG75#)21m^v|ue`UN%9yyW7aN(EO>{VB zDCcR;mzf#Yr=+hT-|(Kmvgre>vnyqOl@!O65G^+@NoKf3THc4x4oDUPm|!puAcriG z{-WOT`Gddvp~bIUW`%wd)x&W5Oh8Qsk|CJC9rC~R(*MtkxX|-S>!mYCB3c7#P#DD_ zR|-;TK?J|dU!xZB@!bK}QpUBKGnjx- zTY6e{%R!3I_3By|EW51ZdYlr~YrEE_F06j*8f0#L$r|dTdRZa|91#){f+W;6y+D_( z`4wM7Ft?A06z)853m2qa?VHCqcq!&^4=B*}!|@Maj-DPYbB^uG^iW-XbnXBHGOnR? z%lqv^FRh1!#R=D{zF6%oWd*=QhZP2WaWTLZulX*D%aFnP2lvUwYY@X4zZx^>y;9irw z)IZ%jPpjE}dQ6)JFUG~(6S?$?eN0=*;?dw|$6t6N!>7p-R1I1Hd~0QyZ=_3MYg|fl zpjm?+MPC!7=WNy2`;sIALlvwOE&P{fy2sY;8$4jC@J|d^lNsTp3vxoadaJLV5^4p6 zC1iLtyWA2|@9NHIBIZG(5QWLG5bz<`#+;{^?R|3Hk&>BRVZIznn?ej2&j! zLph9`EC~7{mzzhHRn^AQ2J4mEZkxZKBI#qCaoIYho9_`cZ4^U~MK=%@K3Yx5xYw`U zSV#B6ND45#JZ@`wfmYq*n4laN(`6G?Pv30Q$ja0uu7+pMjeKG4Aev%y3SS0^tq@U5 zk--8y-hA7KSaR=(9-|%nbngs6#$8MT{TbzfTUGVN=(Y z1wna0hbzGL_Ic8nFG@kO84P}^ZK4Odvg2_bk7F!2=NkX~eWuePV#~O1@nBOt3o9b} zk%n^CiRz(qr6a1eeWjfaNe(YMHv~E7gp~)EdhL)bHT|WKvn)A~h3#mB4Z;5AwwoIw3CoVjrjNoD^j>xnCPj)cC)9kV$J7V! zjWGd=iD#`cYKjAyYvbCeL<56PBzWQ|FIfkf&FxAaw8GiNy7|wIs^8Jl@7F)*V^F(t25 zZ%u=a@2g8qRla%)73`+(pM%GPzMN{()+qJZM$yCIjViMlO;PHT2=5@4z;3weDR;;< znNIRG&G^DMMCgx5U*t}km$_`XCd5T5l7=)!KhXN?w{op=KK%d*t(=6Im)*M<5oT8g z{EP;*gM0g3Y0G08+lXL#qViQsowH(g?(QBdzI3X7IXqRdk17@1fu%<3mQQz!jEJ4f zaM*EnE~zqSXj}%U{ZuYs05+XdNXxg{Hff^+W_#k3qLk8<-%dxf`EZ>_YaI` z#OV*%&#q1i&8hXWJ=YX^H5?ftBbDbFXD5`d1J=`w4U3CI2Z_HJpA{m>S%`+my5SebsriRC-;Sq zJ^dq~NrgrZV>vwKtfE8)QP)sTPA)kUp8)|88URu8P zbc(0Tn^_oSduf%WGYPa2e5LvZ&N#v?2T3WD8Pr*Ci`HCZy<_|lZ4S6~n=`)cuS8L!dj#ctCd z)LmPZZP1X>HLq1Bc|Y2gd@MY1iHrMC!c3ZT{r#0-HV)tzmB_#XrkK`s!CQ+ygOUt)k zH}@mv4)5M5EmlG(IF2aAFqpz`6>I=O63hZ|uf-sH517S-Jc<^VJoqmi{23IAY_B3% z<1E;odJFnN3U5ER31i7RP$RkfnR|z9F^kOaAif^-gp}v2Bqo=4VJjaZEaftMQuYh)lcE(r#0E<}M)j9P=dqu}{-*QcEW?@rAhR$tv~$u?--h7J7F7F{>zY@= zU<>^K344HZx6L#0L$7OsDR}AwxCJ{ulg0Rgo-COcFWvSyn*-L;Qo|OC{mkvNag*$j zbXGxR+E4AG<$TRR_Uqd^6S8vR89-1%#H_p8J@V}imi4_%mQa_iu>hc2WfpA*^QGiP zXOAz~CvGlis5R_Fw$NVb|H33PAD<7-9!;7Umq@(CcM0%dW9~SI|Gk9*tI?W`Pin!d z&sieq!ASAKp;TLs^4qhA&$(~AZbxAjf*(=76$&*g$Eq*k1_g5=iRZz(mn#3s{dWT+ zq7-RWu&KG6rfvbH#HlW+&4Spqc+ii|$NSo=(|*m2a9`eEmw>FgL+)bB;yYpP8OaFp zm>?%96J;U3u<76LWT~RA(p$1x*rH;6qq-p}VUnolm4!!-a$aFp_Ix#1p(5v@C2(y3@);lkTUqTs@ju~&krEsle+4r( zxS3R}X<1ivJ!7?PE%ek*BZCDcMoLykzHX6fQ38VaiOR<5qyD?~h5Q|%Tk(Dk^jUB! zVW7v?mH4dr^ZQ%v?mmPtAqwOTJ@pPaK(_-Ma`2Rh?H@m*WB4Ec)&V0WO!CHj%B*Gw zx;VlkljfHGHOgnEmoZyBGHrGTFq>b^i@;UluGrhaGZOke;P`>O| z94eT3Tv}D-k*}ZxImPB`jnPyxRF>-;4``HHl!zdn)pBUX zqKD~ULQb5n!sDea3Oq$ve*ZRQ?BLfe!f0V6@6uPxq!^>tPwiL)G_K1 zJ8FklXul>b%x!P<7&O#Q#B01euq>HcbiR*Ju16h#@byxv7$GyY2+@zZWGliK5gm0bL ztTE0Dyn}3p#Js$XeG+)}mX=;bNL<{~24TkOH?KcKHqKIz0X+^zUzljO11I?O;>c731D&E^Zi3AF?Cj&7y;je7n6TIkUH zeQPW3r|y7&($C$2NWmT9n+VegOAQmQ8NK{kqZ~CKql#2zb&-j@~0) z?OGgk5$OGPA|rK2nFGg$a&R0N2gCcPs&9?1trTHvyaK)Q97tBN-aj`QGg90W)3@&Fr8)VQG8YSx=%4i2ib3fIH^7w#!a-X_nV) zVJJl#nf5}h~RT;<-~K&6ap3gk2dJ8WjsVM!q&j%O0nkOt&CvR zm7@AAe3_YJ(%l!H_9t1j(w&6oZHoJRjbJvlm7=uPx~c}a|GSC0ncD4W14F~U?oloQ z?m;h8+h=<(6pn#lb%R!kEZU?$hRk;@%-)mSmeN3_tzTS){pe?Aq#dUI+|R_`@kg>! zfx0F_e7t^yS0iSM(B<@SzP{nKrG7-Bs(ZPlb59I|HMBVMAf_fZ?qQ7sRguL}& zqLNd8pu=_riZlj`;M(n9l6o1;a^<;iN!#`sDsAF2%b%%I3Wb3B_@I>(#>+v)&eMVM#UUqqS?S_s z*^8Iu?_5?^0Vt`+D@n;-R*{u00f!lvVtU&J%W50 z7^+km7#f-x7=Hc-(k~epN(~qoUL`OvSj}Ky5YL|!f7A`A)+WFw#P$FG|Bp|wzP=~^ z{0i^On}Y8iDRk#B@AZ{FU1WPCLFYof7ej6N@k|qjQ~Mcio@EI1W%%@r;r~a57q@{L z1(pd!0L@`63GxeOaCmkj4a7O=u<5X=vX`mo`iKnkC z`$H~XA$`^NYb?(Lg|>LQIEGl9K6-(XuUUbIHQ>gCFe|~G{}Zo=mFR3#IX&s^ahJ*e zS2Psw@4C+OYxXgbe{vR=Q@UhZ1Un2{B=$2;@@Ht^+`{DYV&?le17?O-%pBtXn 0 then + armor.drop_armor(pos, stack) + inv:set_stack("armor_"..element, 1, nil) + end + end +end + +local function get_stand_object(pos) + local object = nil + local objects = minetest.get_objects_inside_radius(pos, 0.5) or {} + for _, obj in pairs(objects) do + local ent = obj:get_luaentity() + if ent then + if ent.name == "3d_armor_stand:armor_entity" then + -- Remove duplicates + if object then + obj:remove() + else + object = obj + end + end + end + end + return object +end + +local function update_entity(pos) + local node = minetest.get_node(pos) + local object = get_stand_object(pos) + if object then + if not string.find(node.name, "3d_armor_stand:") then + object:remove() + return + end + else + object = minetest.add_entity(pos, "3d_armor_stand:armor_entity") + end + if object then + local texture = "3d_armor_trans.png" + local textures = {} + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local yaw = 0 + if inv then + for _, element in pairs(elements) do + local stack = inv:get_stack("armor_"..element, 1) + if stack:get_count() == 1 then + local item = stack:get_name() or "" + local def = stack:get_definition() or {} + local groups = def.groups or {} + if groups["armor_"..element] then + local texture = def.texture or item:gsub("%:", "_") + table.insert(textures, texture..".png") + end + end + end + end + if #textures > 0 then + texture = table.concat(textures, "^") + end + if node.param2 then + local rot = node.param2 % 4 + if rot == 1 then + yaw = 3 * math.pi / 2 + elseif rot == 2 then + yaw = math.pi + elseif rot == 3 then + yaw = math.pi / 2 + end + end + object:setyaw(yaw) + object:set_properties({textures={texture}}) + end +end + +local function has_locked_armor_stand_privilege(meta, player) + local name = "" + if player then + if minetest.check_player_privs(player, "protection_bypass") then + return true + end + name = player:get_player_name() + end + if name ~= meta:get_string("owner") then + return false + end + return true +end + +local function add_hidden_node(pos, player) + local p = {x=pos.x, y=pos.y + 1, z=pos.z} + local name = player:get_player_name() + local node = minetest.get_node(p) + if node.name == "air" and not minetest.is_protected(pos, name) then + minetest.set_node(p, {name="3d_armor_stand:top"}) + end +end + +local function remove_hidden_node(pos) + local p = {x=pos.x, y=pos.y + 1, z=pos.z} + local node = minetest.get_node(p) + if node.name == "3d_armor_stand:top" then + minetest.remove_node(p) + end +end + +minetest.register_node("3d_armor_stand:top", { + description = S("Armor stand top"), + paramtype = "light", + drawtype = "plantlike", + sunlight_propagates = true, + walkable = true, + pointable = false, + diggable = false, + buildable_to = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + on_blast = function() end, + tiles = {"3d_armor_trans.png"}, +}) + +minetest.register_node("3d_armor_stand:armor_stand", { + description = S("Armor stand"), + drawtype = "mesh", + mesh = "3d_armor_stand.obj", + tiles = {"3d_armor_stand.png"}, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + selection_box = { + type = "fixed", + fixed = { + {-0.25, -0.4375, -0.25, 0.25, 1.4, 0.25}, + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", armor_stand_formspec) + meta:set_string("infotext", "Armor Stand") + local inv = meta:get_inventory() + for _, element in pairs(elements) do + inv:set_size("armor_"..element, 1) + end + end, + can_dig = function(pos, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + for _, element in pairs(elements) do + if not inv:is_empty("armor_"..element) then + return false + end + end + return true + end, + after_place_node = function(pos, placer) + minetest.add_entity(pos, "3d_armor_stand:armor_entity") + add_hidden_node(pos, placer) + end, + allow_metadata_inventory_put = function(pos, listname, index, stack) + local def = stack:get_definition() or {} + local groups = def.groups or {} + if groups[listname] then + return 1 + end + return 0 + end, + allow_metadata_inventory_move = function(pos) + return 0 + end, + on_metadata_inventory_put = function(pos) + update_entity(pos) + end, + on_metadata_inventory_take = function(pos) + update_entity(pos) + end, + after_destruct = function(pos) + update_entity(pos) + remove_hidden_node(pos) + end, + on_blast = function(pos) + drop_armor(pos) + armor.drop_armor(pos, "3d_armor_stand:armor_stand") + minetest.remove_node(pos) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.player_armor then + minetest.after(0.1, function() + local name = sender:get_player_name() + minetest.show_formspec(name, "3d_armor:player_armor", + "size[8,5.25]" .. + jas0.exit_button() .. + "list[detached:" .. name .. "_armor;armor;1,0;6,1]" .. + "list[current_player;main;0,1.34;8,1]" .. + "list[current_player;main;0,2.5;8,3;8]" .. + "listring[detached:" .. name .. "_armor;armor]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 1.34) .. + "") + end) + end + end, +}) + +minetest.register_node("3d_armor_stand:locked_armor_stand", { + description = S("Locked Armor stand"), + drawtype = "mesh", + mesh = "3d_armor_stand.obj", + tiles = {"3d_armor_stand_locked.png"}, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + selection_box = { + type = "fixed", + fixed = { + {-0.25, -0.4375, -0.25, 0.25, 1.4, 0.25}, + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", armor_stand_formspec) + meta:set_string("infotext", "Armor Stand") + meta:set_string("owner", "") + local inv = meta:get_inventory() + for _, element in pairs(elements) do + inv:set_size("armor_"..element, 1) + end + end, + can_dig = function(pos, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + for _, element in pairs(elements) do + if not inv:is_empty("armor_"..element) then + return false + end + end + return true + end, + after_place_node = function(pos, placer) + minetest.add_entity(pos, "3d_armor_stand:armor_entity") + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Armor Stand (owned by " .. + meta:get_string("owner") .. ")") + add_hidden_node(pos, placer) + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_armor_stand_privilege(meta, player) then + return 0 + end + local def = stack:get_definition() or {} + local groups = def.groups or {} + if groups[listname] then + return 1 + end + return 0 + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_armor_stand_privilege(meta, player) then + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_move = function(pos) + return 0 + end, + on_metadata_inventory_put = function(pos) + update_entity(pos) + end, + on_metadata_inventory_take = function(pos) + update_entity(pos) + end, + after_destruct = function(pos) + update_entity(pos) + remove_hidden_node(pos) + end, + on_blast = function(pos) + -- Not affected by TNT + end, +}) + +minetest.register_entity("3d_armor_stand:armor_entity", { + physical = true, + visual = "mesh", + mesh = "3d_armor_entity.obj", + visual_size = {x=1, y=1}, + collisionbox = {0,0,0,0,0,0}, + textures = {"3d_armor_trans.png"}, + pos = nil, + timer = 0, + on_activate = function(self) + local pos = self.object:getpos() + if pos then + self.pos = vector.round(pos) + update_entity(pos) + end + end, + on_blast = function(self, damage) + local drops = {} + local node = minetest.get_node(self.pos) + if node.name == "3d_armor_stand:armor_stand" then + drop_armor(self.pos) + self.object:remove() + end + return false, false, drops + end, +}) + +minetest.register_craft({ + output = "3d_armor_stand:armor_stand", + recipe = { + {"", "group:fence", ""}, + {"", "group:fence", ""}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "3d_armor_stand:locked_armor_stand", + recipe = { + {"3d_armor_stand:armor_stand", "default:steel_ingot"}, + } +}) + diff --git a/mods/3d_armor_stand/models/3d_armor_entity.obj b/mods/3d_armor_stand/models/3d_armor_entity.obj new file mode 100644 index 0000000..052f692 --- /dev/null +++ b/mods/3d_armor_stand/models/3d_armor_entity.obj @@ -0,0 +1,193 @@ +# Blender v2.73 (sub 0) OBJ File: '3d_armor_entity_3.blend' +# www.blender.org +mtllib 3d_armor_entity.mtl +o Player_Cube +v 2.200000 9.763893 1.200000 +v 2.200000 9.763893 -1.200000 +v 2.200000 2.663871 1.200000 +v 2.200000 2.663871 -1.200000 +v -2.200000 9.763893 -1.200000 +v -2.200000 9.763893 1.200000 +v -2.200000 2.663871 -1.200000 +v -2.200000 2.663871 1.200000 +v 2.300000 13.863962 2.300000 +v 2.300000 13.863962 -2.300000 +v 2.300000 9.263885 2.300000 +v 2.300000 9.263885 -2.300000 +v -2.300000 13.863962 -2.300000 +v -2.300000 13.863962 2.300000 +v -2.300000 9.263885 -2.300000 +v -2.300000 9.263885 2.300000 +v -2.322686 2.473175 -1.300000 +v -2.322686 2.473175 1.300000 +v -4.713554 2.682348 1.300000 +v -4.713554 2.682348 -1.300000 +v -1.686446 9.745432 -1.300000 +v -1.686446 9.745432 1.300000 +v -4.077313 9.954605 1.300000 +v -4.077313 9.954605 -1.300000 +v 4.077313 9.954605 -1.300000 +v 4.077313 9.954605 1.300000 +v 1.686446 9.745432 1.300000 +v 1.686446 9.745432 -1.300000 +v 4.713554 2.682348 -1.300000 +v 4.713554 2.682348 1.300000 +v 2.322686 2.473175 1.300000 +v 2.322686 2.473175 -1.300000 +v 0.139099 2.938947 -1.200000 +v 0.139099 2.938947 1.200000 +v 0.261266 -4.059988 1.200000 +v 0.261266 -4.059988 -1.200000 +v 2.660901 -4.018101 1.190000 +v 2.660901 -4.018101 -1.210000 +v 2.538733 2.980834 1.190000 +v 2.538733 2.980834 -1.210000 +v -0.139099 2.938947 -1.200000 +v -0.139099 2.938947 1.200000 +v -0.261266 -4.059988 1.200000 +v -0.261266 -4.059988 -1.200000 +v -2.538734 2.980834 -1.210000 +v -2.538734 2.980834 1.190000 +v -2.660901 -4.018101 -1.210000 +v -2.660901 -4.018101 1.190000 +v -2.799999 -4.387500 1.390000 +v -2.799999 -4.387500 -1.410000 +v -2.800000 -0.812499 1.390000 +v -2.800000 -0.812499 -1.410000 +v -0.000000 -4.387500 -1.400000 +v -0.000000 -4.387500 1.400000 +v -0.000000 -0.812499 1.400000 +v -0.000000 -0.812499 -1.400000 +v 2.800000 -0.812499 -1.410000 +v 2.800000 -0.812499 1.390000 +v 2.799999 -4.387500 -1.410000 +v 2.799999 -4.387500 1.390000 +v 0.000000 -4.387500 -1.400000 +v 0.000000 -4.387500 1.400000 +v 0.000000 -0.812499 1.400000 +v 0.000000 -0.812499 -1.400000 +v 2.267006 13.830965 2.267006 +v 2.267006 13.830965 -2.267006 +v 2.267006 9.296881 2.267006 +v 2.267006 9.296881 -2.267006 +v -2.267006 13.830965 -2.267006 +v -2.267006 13.830965 2.267006 +v -2.267006 9.296881 -2.267006 +v -2.267006 9.296881 2.267006 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 0.312500 0.375000 +vt 0.437500 0.375000 +vt 0.437500 0.500000 +vt 0.312500 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.500000 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.375000 +vt 0.625000 0.000000 +vt 0.625000 0.375000 +vt 0.500000 0.750000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.750000 0.750000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.875000 0.750000 +vt 0.875000 1.000000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 0.500000 +vt 0.750000 0.375000 +vt 0.812500 0.500000 +vt 0.812500 0.375000 +vt 0.687500 0.375000 +vt 0.687500 0.500000 +vt 0.687500 0.000000 +vt 0.750000 0.000000 +vt 0.812500 0.000000 +vt 0.875000 0.375000 +vt 0.875000 0.000000 +vt 0.125000 0.375000 +vt 0.062500 0.375000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.187500 0.375000 +vt 0.187500 0.500000 +vt 0.000000 0.375000 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.187500 0.000000 +vt 0.125000 0.000000 +vt 0.437500 0.875000 +vt 0.437500 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.875000 +vt 0.250000 0.875000 +vt 0.312500 0.875000 +vt 0.312500 0.656250 +vt 0.250000 0.656250 +vt 0.500000 0.875000 +vt 0.437500 0.656250 +vt 0.500000 0.656250 +vt 0.375000 0.656250 +vt 0.312500 1.000000 +usemtl Armor +s off +f 1/1 3/2 4/3 2/4 +f 5/5 6/6 1/7 2/4 +f 8/6 7/5 4/8 3/9 +f 5/5 2/4 4/3 7/10 +f 7/10 8/11 6/12 5/5 +f 8/11 3/13 1/14 6/12 +f 9/15 11/16 12/17 10/18 +f 13/19 14/20 9/21 10/18 +f 12/22 11/23 16/20 15/19 +f 13/19 10/18 12/17 15/24 +f 14/22 13/19 15/24 16/25 +f 9/26 14/22 16/25 11/27 +f 17/28 18/24 19/29 20/30 +f 24/31 23/32 22/24 21/28 +f 23/31 24/14 20/13 19/33 +f 24/31 21/28 17/34 20/33 +f 21/28 22/30 18/35 17/34 +f 22/30 23/36 19/37 18/35 +f 27/30 31/35 30/37 26/36 +f 28/28 32/34 31/35 27/30 +f 25/31 29/33 32/34 28/28 +f 26/31 30/33 29/13 25/14 +f 25/31 28/28 27/24 26/32 +f 32/28 29/30 30/29 31/24 +f 40/38 33/39 34/40 39/41 +f 36/42 38/38 37/41 35/43 +f 39/44 37/45 38/46 40/39 +f 34/1 35/2 37/47 39/42 +f 40/38 38/48 36/46 33/39 +f 33/42 36/47 35/48 34/38 +f 45/38 46/41 42/40 41/39 +f 41/42 42/38 43/48 44/47 +f 45/38 41/39 44/46 47/48 +f 42/1 46/42 48/47 43/2 +f 46/44 45/39 47/46 48/45 +f 44/42 43/43 48/41 47/38 +f 53/49 54/50 49/51 50/52 +f 51/53 52/54 50/55 49/56 +f 55/57 51/49 49/58 54/59 +f 52/52 56/54 53/55 50/60 +f 56/49 55/52 54/60 53/58 +f 52/52 51/51 55/61 56/54 +f 64/49 61/58 62/60 63/52 +f 57/52 59/60 61/55 64/54 +f 63/57 62/59 60/58 58/49 +f 58/53 60/56 59/55 57/54 +f 61/49 59/52 60/51 62/50 +f 57/52 64/54 63/61 58/51 +f 65/15 66/18 68/17 67/16 +f 69/19 66/18 65/21 70/20 +f 68/22 71/19 72/20 67/23 +f 69/19 71/24 68/17 66/18 +f 70/22 72/25 71/24 69/19 +f 65/26 67/27 72/25 70/22 diff --git a/mods/3d_armor_stand/models/3d_armor_stand.obj b/mods/3d_armor_stand/models/3d_armor_stand.obj new file mode 100644 index 0000000..0df6dc7 --- /dev/null +++ b/mods/3d_armor_stand/models/3d_armor_stand.obj @@ -0,0 +1,280 @@ +# Blender v2.72 (sub 0) OBJ File: '' +# www.blender.org +mtllib 3d_armor_stand.mtl +o Armor_Stand_Player_Cube_Stand +v 0.062500 0.125002 -0.062500 +v 0.062500 -0.437500 -0.062500 +v 0.062500 -0.437500 0.062500 +v 0.062500 0.125002 0.062500 +v -0.187500 0.250004 0.062500 +v -0.187500 0.250004 -0.062500 +v -0.250000 0.250004 -0.062500 +v -0.250000 0.250004 0.062500 +v -0.062500 -0.437500 -0.062500 +v -0.062500 -0.437500 0.062500 +v -0.187500 -0.437500 0.062500 +v -0.187500 -0.437500 -0.062500 +v -0.187500 0.125002 0.062500 +v -0.187500 0.125002 -0.062500 +v -0.187500 0.937504 0.062500 +v -0.187500 0.937504 -0.062500 +v -0.375000 0.937504 -0.062500 +v -0.375000 0.937504 0.062500 +v -0.062500 0.125002 0.062500 +v 0.187500 0.125002 -0.062500 +v 0.187500 -0.437500 -0.062500 +v -0.062500 0.125002 -0.062500 +v -0.250000 0.125007 -0.062500 +v -0.250000 0.125007 0.062500 +v 0.187500 -0.437500 0.062500 +v 0.187500 0.125002 0.062500 +v -0.062500 0.937504 0.062500 +v -0.187500 0.812504 0.062500 +v -0.062500 0.812504 0.062500 +v -0.062500 0.937504 -0.062500 +v 0.187500 0.250004 -0.062500 +v 0.187500 0.250004 0.062500 +v 0.250000 0.250004 0.062500 +v 0.250000 0.250004 -0.062500 +v 0.250000 0.125007 0.062500 +v 0.250000 0.125007 -0.062500 +v 0.187500 0.812504 0.062500 +v 0.187500 0.812504 -0.062500 +v 0.375000 0.812504 -0.062500 +v 0.375000 0.812504 0.062500 +v 0.187500 0.937504 -0.062500 +v 0.187500 0.937504 0.062500 +v 0.375000 0.937504 0.062500 +v 0.375000 0.937504 -0.062500 +v 0.062500 0.937504 -0.062500 +v 0.062500 0.937504 0.062500 +v -0.062500 0.812504 -0.062500 +v -0.187500 0.812504 -0.062500 +v 0.062500 0.812504 -0.062500 +v 0.062500 0.812504 0.062500 +v -0.375000 0.812504 -0.062500 +v -0.375000 0.812504 0.062500 +v -0.062500 0.250004 0.062500 +v 0.062500 0.250004 0.062500 +v 0.062500 0.250004 -0.062500 +v -0.062500 0.250004 -0.062500 +v -0.062500 1.312504 -0.062500 +v 0.062500 1.312504 -0.062500 +v -0.062500 1.312504 0.062500 +v 0.062500 1.312504 0.062500 +v -0.500000 -0.437500 -0.500000 +v -0.500000 -0.437500 0.500000 +v 0.500000 -0.437500 0.500000 +v 0.500000 -0.437500 -0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +vt 0.062500 0.140625 +vt 0.062500 0.000000 +vt 0.093750 0.000000 +vt 0.093750 0.140625 +vt 0.140625 0.234375 +vt 0.140625 0.203125 +vt 0.156250 0.203125 +vt 0.156250 0.234375 +vt 0.093750 0.171875 +vt 0.062500 0.171875 +vt 0.218750 0.140625 +vt 0.187500 0.140625 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.078125 0.437500 +vt 0.078125 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.437500 +vt 0.250000 0.140625 +vt 0.250000 0.000000 +vt 0.031250 0.140625 +vt 0.031250 0.000000 +vt 0.156250 0.140625 +vt 0.156250 0.000000 +vt 0.187500 0.203125 +vt 0.156250 0.171875 +vt 0.187500 0.171875 +vt 0.125000 0.000000 +vt 0.125000 0.140625 +vt 0.000000 0.140625 +vt 0.000000 0.000000 +vt 0.328125 0.437500 +vt 0.296875 0.437500 +vt 0.296875 0.406250 +vt 0.328125 0.406250 +vt 0.109375 0.437500 +vt 0.109375 0.468750 +vt 0.046875 0.203125 +vt 0.046875 0.234375 +vt 0.031250 0.234375 +vt 0.031250 0.203125 +vt 0.000000 0.203125 +vt 0.000000 0.171875 +vt 0.031250 0.171875 +vt 0.265625 0.468750 +vt 0.265625 0.437500 +vt 0.218750 0.437500 +vt 0.218750 0.468750 +vt 0.218750 0.171875 +vt 0.171875 0.468750 +vt 0.171875 0.437500 +vt 0.078125 0.406250 +vt 0.031250 0.406250 +vt 0.140625 0.468750 +vt 0.140625 0.437500 +vt 0.140625 0.406250 +vt 0.171875 0.406250 +vt 0.109375 0.406250 +vt 0.359375 0.437500 +vt 0.359375 0.406250 +vt 0.390625 0.406250 +vt 0.390625 0.437500 +vt 0.437500 0.406250 +vt 0.437500 0.437500 +vt 0.000000 0.437500 +vt 0.000000 0.406250 +vt 0.250000 0.437500 +vt 0.218750 0.406250 +vt 0.250000 0.406250 +vt 0.359375 0.468750 +vt 0.406250 0.468750 +vt 0.406250 0.437500 +vt 0.109375 0.234375 +vt 0.078125 0.234375 +vt 0.078125 0.203125 +vt 0.109375 0.203125 +vt 0.062500 0.468750 +vt 0.062500 0.562500 +vt 0.031250 0.562500 +vt 0.328125 0.468750 +vt 0.296875 0.468750 +vt 0.062500 0.593750 +vt 0.031250 0.593750 +vt 0.093750 0.468750 +vt 0.093750 0.562500 +vt 0.125000 0.468750 +vt 0.125000 0.562500 +vt 0.000000 0.562500 +vt 0.000000 0.468750 +vt 0.078125 0.171875 +vt 0.046875 0.171875 +vt 0.265625 0.203125 +vt 0.265625 0.171875 +vt 0.296875 0.171875 +vt 0.296875 0.203125 +vt 0.265625 0.234375 +vt 0.281250 0.234375 +vt 0.281250 0.203125 +vt 0.312500 0.171875 +vt 0.312500 0.203125 +vt 0.140625 0.171875 +vt 0.171875 0.234375 +vt 0.171875 0.203125 +vt 0.109375 0.171875 +vt 0.234375 0.203125 +vt 0.203125 0.203125 +vt 0.203125 0.171875 +vt 0.234375 0.171875 +vt 0.234375 0.234375 +vt 0.203125 0.234375 +vt 0.062500 0.375000 +vt 0.062500 0.234375 +vt 0.093750 0.234375 +vt 0.093750 0.375000 +vt 0.031250 0.375000 +vt 0.125000 0.234375 +vt 0.125000 0.375000 +vt 0.000000 0.375000 +vt 0.000000 0.234375 +vt 0.218750 0.375000 +vt 0.187500 0.375000 +vt 0.187500 0.234375 +vt 0.218750 0.234375 +vt 0.250000 0.375000 +vt 0.250000 0.234375 +vt 0.156250 0.375000 +vt 0.250000 1.000000 +vt 0.250000 0.750000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 0.750000 0.750000 +vt 0.750000 1.000000 +vt 0.750000 0.734375 +vt 1.000000 0.734375 +vt 1.000000 0.750000 +vt 0.000000 0.750000 +vt 0.000000 0.734375 +vt 0.250000 0.734375 +vt 0.500000 0.734375 +usemtl Stand +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 8/8 +f 9/1 10/4 11/9 12/10 +f 13/11 14/12 12/13 11/14 +f 15/15 16/16 17/17 18/18 +f 19/19 13/11 11/14 10/20 +f 2/2 1/1 20/21 21/22 +f 14/12 22/23 9/24 12/13 +f 8/25 7/7 23/26 24/27 +f 4/4 3/3 25/28 26/29 +f 22/23 19/29 10/28 9/24 +f 26/30 25/31 21/22 20/21 +f 27/32 15/33 28/34 29/35 +f 16/16 15/15 27/36 30/37 +f 31/38 32/39 33/40 34/41 +f 33/42 35/43 36/44 34/41 +f 37/45 38/46 39/47 40/48 +f 2/49 21/27 25/12 3/11 +f 41/50 42/51 43/47 44/48 +f 38/52 41/15 44/18 39/53 +f 41/50 45/54 46/55 42/51 +f 16/51 30/55 47/56 48/57 +f 41/15 38/52 49/58 45/36 +f 46/59 50/60 37/61 42/62 +f 42/62 37/61 40/63 43/64 +f 43/65 40/66 39/53 44/18 +f 18/67 17/47 51/68 52/69 +f 28/34 15/33 18/67 52/69 +f 16/51 48/57 51/68 17/47 +f 48/59 28/70 52/71 51/72 +f 53/73 54/74 55/75 56/76 +f 30/77 57/78 58/79 45/17 +f 50/60 46/59 27/32 29/35 +f 29/80 47/32 49/33 50/81 +f 47/56 30/55 45/36 49/58 +f 57/78 59/82 60/83 58/79 +f 27/84 59/85 57/78 30/77 +f 46/86 60/87 59/85 27/84 +f 45/17 58/79 60/88 46/89 +f 1/90 55/75 31/38 20/91 +f 54/92 4/93 26/94 32/95 +f 26/92 20/96 36/97 35/98 +f 20/91 31/38 34/41 36/44 +f 32/95 26/94 35/99 33/100 +f 6/6 14/101 23/26 7/7 +f 14/102 13/103 24/7 23/8 +f 6/6 56/76 22/104 14/101 +f 53/105 5/106 13/107 19/108 +f 13/107 5/106 8/25 24/27 +f 1/90 22/104 56/76 55/75 +f 53/105 19/108 4/93 54/92 +f 1/109 4/105 19/106 22/110 +f 49/111 55/112 54/113 50/114 +f 38/115 31/40 55/112 49/111 +f 50/114 54/113 32/116 37/117 +f 37/118 32/119 31/40 38/115 +f 28/120 48/121 6/122 5/123 +f 29/124 28/120 5/123 53/125 +f 48/121 47/126 56/8 6/122 +f 47/126 29/117 53/116 56/8 +usemtl Base +f 61/127 62/128 63/129 64/130 +f 65/129 66/131 67/132 68/130 +f 62/131 68/133 67/134 63/135 +f 63/136 67/137 66/138 64/128 +f 61/129 64/128 66/138 65/139 +f 62/131 61/129 65/139 68/133 diff --git a/mods/3d_armor_stand/models/3d_armor_stand.png b/mods/3d_armor_stand/models/3d_armor_stand.png new file mode 100644 index 0000000000000000000000000000000000000000..aeb26de9d803bcbf7890390ccbcee527361cfe1a GIT binary patch literal 1628 zcmV-i2BZ0jP)zV5HGJAW%*B(^K`<`}I_hpd#+wyXRiMdH~IncZy#c3 za|a7@W(X=^FzjPfORv|f%%8Xc+U+*ZI-IlAY9Xn1IO&RsJLf>AC_kjzA0X@irF>9X z0RzK6Azy}iB4{D~U?U@#oeZnyC~g%A?ud01!BS~Ey3 z-ENF^7NtCtr*PI`t>fIebH59Jq9I_6Aq+yKkXV}{gg{D*j_CT7Zq{*|MDkp z0IfArO7tLQuI3S^l0ni3Ahqd!o@f(Ab&_@uwcqJkXEEAT=1<%J=g*(VIfs)eKgWIS zeoY?^2Bg*y$2}TvWL{E>YFO(qCfh~jE9U3tEAc0u1fM*4f|MSfvj`+oitNvmcv4Xd zYuS#aX|cF4s1XJ=c6W9w^G`$$c=&L0BqV&_NBIh)4efTDMx#Ni)gp=_=H}*TwOTAM zFSEF~h}OCizbeF}_57syGt4l<3^U9y!wfUr+*o%vH`d)*TX&%au3oO=dES}Zcyag6 zb@yQF1wU+c`19Hu#f8mhF>n9z0)PMfUt*dKFd~PqtTwr_+B{PpFk%4TllYz_jONdd z0d#85Wb79Pc+rY^b7cu%Ns_)kdj_!9;d@yme1CsCD-ANsdxNAq{Z*jc2OM>SF1@Yw zl`KBX{|ETTKOc$w8QNIB`tGqPKePPViR}Y!yt~eWtrsID@O4;gHj4XmhPC8{h@I6 z&1W$;-dzWvtQ}5TO#g0LATM*}q_(xwX8iuC*8*WQ&*rnEe~y+XzNs<5ILt6PRL`eP zJIHdEH?9TVTv;lNkYn1kgUomJC@tW7l1s}ABZQ;0!>Kkv7|rwe=?(y^%?O=Znv3<~ zhUY)MI+ncJjHW9Gs32me6^|shG))h#?|Vk>`qR+q9ZG^`|5q5f3M^NI+%u-Z^$*G6 z+qbT{@df9*-dwB~VRGE{k3Rk8R5nC~#yP0<@sZ~N2l_ug_PpR!dcfT~*Z-%NAv(2% zHvqh~c5&qTho5|XsysnG*m}YEdBCrseE&HA)Z^}*>+W@4@!7}kxX(U*XKG%d9XjXu z^4rbV67E0TWtyP!-Ms&Bm+ODK!t=c@|9Sd~n;Yvc*8sU3&c|!b2HIHn!FyLvUCbZq z1IjVK)50{zJY^~jFfMka6vYnbp^$5Xd|b54Q{V}5T+m!xtn=gc9@^L<6!MO*JO=o2 zd++ocV7#>Xo*YqtuPq_dpaus?m#dfS$F{xWW1ZTmdTFY{Xuep`TC*{7vE1{Ik59V@ a%JE-LjdXE6c;~f7=T)} zMmzXdUwPGOXZ*5V0zA)Sa`Fh;Sgf%~3`j{78LG8P{7)PoFK|rr?ISu?E9 zm<#cw7Y}%4MFDE{8kI_=ZG6WGn7=z84?Z$T&rb)ROe9`42Wu^XA7G58QmJ5!VQ_G; zZG5}db`03Lb0^wZ0RD055^}|b`}_OTHuvw}C!f#r@Zm#7_l!~~6foLQtyVMmHp0j>ns%fyU zqFgTH3KvJj6KKT?A&5kiNR#O!!CDMDvKf5GV?eoFPSeux@Gy=eXf~TzYtx@E9C~|t zP)gC?-;eZMj4>=NEoJb=7<|vq^wEkn#u5a62H$ZH0BAHDG#gE-)hg0;sYeQ>RBN?> zs#h@9#1l3aV=RS20i{%mFBEpfgUa-=ij~qux-uoBP$+bsfGCOx`~cwydU|@edFv*% zYAw^|(W6HU4i2UsP_Nf9D|@^ZZ;Zxq9E5NQ{D6AB0VtYEA%sJi3yE};!FQa1d_E6= z@B2(lOkkrX!V8GBCW>M&a9x*3X{6_(lp<0Q!V!c$VY-if-^W^uQ4NF_ppC&1V5}hs zd?KZZbd-8lg6}v1N-2a8sD`E|=TgyvMy(EjHhLvalnBFKYNcwLCXF>jDry_waRPSi z*bxUip?OrPV^(r{v(Z4Ch)ShOzCZSoT$sZcn|g-yBz=8-ZQ(nf1#aECg%B>TH8==_ zaN?gUaD^lnu$M)cg~(ZYG>x|ac!>5=f+oGWzXKJaOk;Ve*Bw{oNgu{BZnu(Mwl2I*-{>m zA;5D5o+}8#zO6%m(q>EU{gi-v#R|`k4&q5ct**8n0mfK7H{J;srsw0-AmX^!s4aJY z7D)b>n)=X2TJgIx-%B5!_{s0VSbll>J8_JVf;UdRiz5X8p1F=T5r6;V&(rpk$KC{M z`QYqN)AnEe=1CBOeZ_ob~HW`zq_y1LoQ$b=Q`ZQOP99w#V*`FWBeDck}-F*^CyrHdp5J zpWT(F!`VBPG~l&rhqvFmx~a9oW3_-M#kyKxZlT25_Fb<9g0PR-I~yNIOA4s2Az-aV z&G?|hq32dVBXyg0ND0_T3p_hIn39lKw`m8Ftm;Nuz;gwAhIVEE8)=74O+XO#@#*aa z0LDf_ls1eE^rj8&-hcR5@YqP$T`@rVAq&MyCb((6TE{1zk+{C}yNm#UXyp`!N)9Zy zWQ4>sy216=$>CG4zhJ+9;QWiI^bGyq@t##>kn3m^T0Pj4^qr03s$`-4qc5T$Z> z_D+SbELX9PVETG|_U4PO#X<7tsT+7wJn{La^?X8EUoDO z;?8TC>%>YkGiiL7nY%~v%9Z&3no@aF+S$`bZL3$TwKFFU+cPH)cg-iXb;so1KR^3K zK(hb4hJa)>r>`$^^u-D8E-mw)+YdQ5xz8pVAd$n#_4r606&d^5k^P%)&#$WkTIKFS zF;;zFIyCxt#*#8wimvbg(W>l{A}Gvx88z6d4o3!hQ|-_d1gsT1t#*5%Mx(ZzzWBJk zP{VUY>M318z*?~*gp;mtvK10-kX)zbau;}lSSx6D5Ac|s literal 0 HcmV?d00001 diff --git a/mods/3d_armor_stand/textures/3d_armor_stand_feet.png b/mods/3d_armor_stand/textures/3d_armor_stand_feet.png new file mode 100644 index 0000000000000000000000000000000000000000..2427a60c6ef8c8b9dbc75b3c8fcb2ed16a8c96b9 GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr0wixv?VJvzSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{XiaP zfk$L90|U1Z2s2)~TlWVj$X?><>&pI+i&scr_5B*l^FW~jPZ!6Kh{JEEI&w7_@UVn` zO#D0Z$7Y+e&9*LE5;V67rT67tN_18fV&F;GCAakJzAM{)X?f1N?|;#8;}pF~{OhN! zl4y2nWMb`_ul;GC#@drrf4q-R;x%0%v+1Sg{oLB%1wZ;8eObI_*I!Tf9!JIl0%emP zaUXpoxFZy3w`z%NL`h0wNvc(HQ7VvPFfuSS*EKZIH8c(}w6HQUw=y=@HZZg@FxX_G gH~~dNZhlH;S|x4`hcjpD05vdpy85}Sb4q9e07sB|%K!iX literal 0 HcmV?d00001 diff --git a/mods/3d_armor_stand/textures/3d_armor_stand_head.png b/mods/3d_armor_stand/textures/3d_armor_stand_head.png new file mode 100644 index 0000000000000000000000000000000000000000..5676e0b34afd97fca0a7ff428ac0ffbb869086d6 GIT binary patch literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr0wixv?VJvzSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{XiaP zfk$L90|U1Z2s2)~TlWVj$X?><>&pI+i&scr_5B*l^FX0)PZ!6Kh{JEEd2=05;9<@E zn6NYQW7_+S*d3fd6uEM}ex-@_sHF%PsycNrAJ;v4MD(}3=(yB%B!tB( zuY^@(>pBl+S?yRum#1Z(X5LqeKg?*-t-Gpp{<49n;CoFQSI6V2TUOi6DP8}=_hX}U zsLs!y`KoOi+YB!447{OZY9;P0qIjfL+Ubcfd&ni7a-g$ROI#yLQW8s2t&)pUffR$0 zfuXssp@FWUafqRXm5I5PvAMQ^p_PHbCKJU8C>nC}Q!>*kacel7Ia3Fyfx*+&&t;uc GLK6T;1%UAY literal 0 HcmV?d00001 diff --git a/mods/3d_armor_stand/textures/3d_armor_stand_legs.png b/mods/3d_armor_stand/textures/3d_armor_stand_legs.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8d4c12969c0472ca950cbf4f29b6596d4bdb8b GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr0wixv?VJvzSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{XiaP zfk$L90|U1Z2s2)~TlWVj$X?><>&pI+i&scr_5B*l^FX08PZ!6Kh{JEEdUG`x@VKn5 z*l@?EYO~B)S3%{jkUu?FzK7*H8J}^uJ%z!+LEPNzp6RvEo8HYY|JZb7gYM0xjq3^) za;`e|r>FLCtDQ#wYZ>dOv!?A^8T+DHYmIW()>+|edlyV_VB%D%)7$tt{>MwjFVDNPHb6Mw<&;$T`zkU7y literal 0 HcmV?d00001 diff --git a/mods/3d_armor_stand/textures/3d_armor_stand_torso.png b/mods/3d_armor_stand/textures/3d_armor_stand_torso.png new file mode 100644 index 0000000000000000000000000000000000000000..ef134f8ea77428f79aa2bc69b88e2f959a6e4139 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr0wixv?VJvzSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{XiaP zfk$L90|U1Z2s2)~TlWVj$X?><>&pI+i&scr_5B*l^FX0lo-U3d5r^MS3*>505O6WI znqfXUZ=3t;WX`Y>=Y_{6&EyYGk$u*g#v$@`$)dWTJpa>$@%Mta@14(-uu*(tZV2ULVlBuz*WIt*rC3vx(tRp8&Cz4EyWG@}7-ss(ejXHU_-Da4?8LXOV1=+$!&+ z-&bq5v1xpXTT$YE>44IrwV#FKm_>9m9J@8e-f_G9o5Gaf7}` zTH+c}l9E`GYL#4+3Zxi}3=GY64GnY+jYAAAtW3 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/mods/backpacks/README b/mods/backpacks/README new file mode 100644 index 0000000..0672de8 --- /dev/null +++ b/mods/backpacks/README @@ -0,0 +1,13 @@ +Backpacks mod for Glitchtest +Copyright 2018 James Stevenson +GNU GPL 3 + +Leather bag crafted with eight leather. +Colored wool backpacks crafted with eight wool. + +Backpacks can be renamed. Placing a backpack on the craftgrid and +obtaining the two leather output results in the contents of the backpack +spewing around the player. + +Backpacks must be placed on the ground, and will fall if their supporting +node is removed. diff --git a/mods/backpacks/depends.txt b/mods/backpacks/depends.txt new file mode 100644 index 0000000..9d5b402 --- /dev/null +++ b/mods/backpacks/depends.txt @@ -0,0 +1,5 @@ +jas0 +default +dye +wool +mobs? diff --git a/mods/backpacks/init.lua b/mods/backpacks/init.lua new file mode 100644 index 0000000..1aa799e --- /dev/null +++ b/mods/backpacks/init.lua @@ -0,0 +1,389 @@ +-- Backpacks mod for Glitchtest game +-- Copyright 2018 James Stevenson +-- GNU GPL version 3 and above + + +local backpacks = {} + +backpacks.form = "size[8,7.5]" .. + jas0.exit_button() .. + "list[current_name;main;0,0.7;8,2]" .. + "field[0.3,3;7,1;rename;;${infotext}]" .. + "button_exit[7,2.67;1,1;ok;OK]" .. + "list[current_player;main;0,3.65;8,1]" .. + "list[current_player;main;0,4.75;8,3;8]" .. + "listring[current_name;main]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 3.65) .. +"" + +backpacks.on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Backpack") + meta:set_string("formspec", backpacks.form) + local inv = meta:get_inventory() + inv:set_size("main", 8 * 2) +end + +backpacks.after_place_node = function(pos, placer, itemstack, pointed_thing) + local n_meta = minetest.get_meta(pos) + local i_meta = itemstack:get_meta() + local description = i_meta:get_string("description") + local infotext = description + if infotext == "" then + infotext = itemstack:get_definition().description + end + n_meta:set_string("description", description) + n_meta:set_string("infotext", infotext) + local inv = n_meta:get_inventory() + if i_meta:get_string("inventory") ~= "" then + inv:set_list("main", minetest.deserialize(i_meta:get_string("inventory"))) + end + itemstack:take_item() +end + +backpacks.on_dig = function(pos, node, digger) + if minetest.is_protected(pos, digger:get_player_name()) then + return false + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local list = {} + for i, stack in ipairs(inv:get_list("main")) do + if stack:get_name() == "" then + list[i] = "" + else + list[i] = stack:to_string() + end + end + local fields = {fields = { + description = meta:get_string("description"), + infotext = meta:get_string("description"), + formspec = backpacks.form + }} + local new_list_as_string = minetest.serialize(list) + local new = ItemStack(node) + new:get_meta():from_table(fields) + new:get_meta():set_string("inventory", new_list_as_string) + minetest.remove_node(pos) + local player_inv = digger:get_inventory() + if player_inv:room_for_item("main", new) then + player_inv:add_item("main", new) + else + minetest.add_item(pos, new) + end +end + +backpacks.allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not string.match(stack:get_name(), "backpacks:backpack_") then + return stack:get_count() + else + return 0 + end +end + +backpacks.preserve_metadata = function(pos, oldnode, oldmeta, drops) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local list = {} + for i, stack in ipairs(inv:get_list("main")) do + if stack:get_name() == "" then + list[i] = "" + else + list[i] = stack:to_string() + end + end + local fields = {fields = { + description = meta:get_string("description"), + infotext = meta:get_string("description"), + formspec = backpacks.form, + }} + local new_list_as_string = minetest.serialize(list) + local new = ItemStack(oldnode) + new:get_meta():from_table(fields) + new:get_meta():set_string("inventory", new_list_as_string) + if drops and drops[1] then + drops[1] = new + end +end + +backpacks.on_receive_fields = function(pos, formname, fields, sender) + if formname ~= "" then + return + end + if fields.rename or + (fields.key_enter and + fields.key_enter_field == "rename") then + local new_name = minetest.formspec_escape(fields.rename) + local meta = minetest.get_meta(pos) + meta:set_string("description", new_name) + meta:set_string("infotext", new_name) + end +end + +backpacks.on_blast = function() -- TODO throw_contents +end + +local wield_index = {} +local function update_wielded(player, inv) + local p_inv = player:get_inventory() + local wielded = p_inv:get_stack("hand", 1) + local list = inv:get_list("dmain") + for i = 1, #list do + list[i] = list[i]:to_string() + end + wielded:get_meta():set_string("inventory", minetest.serialize(list)) + p_inv:set_stack("hand", 1, wielded) +end + +minetest.register_allow_player_inventory_action(function(player, action, inventory, inventory_info) + local name = player:get_player_name() + if (inventory_info.to_index and inventory_info.to_index == wield_index[name]) or + (inventory_info.from_index and inventory_info.from_index == wield_index[name]) or + (inventory_info.index and inventory_info.index == wield_index[name]) then + return 0 + --else + --return inventory_info.count or inventory_info.stack:get_count() + + end +end) + +--minetest.register_on_player_inventory_action(function(player, action, inventory, inventory_info) +--end) + +backpacks.d_inv = { + --[[ + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return count + end, + --]] + allow_put = function(inv, listname, index, stack, player) + if stack:get_name():match("backpacks:backpack_") then + return 0 + end + return stack:get_count() + end, + --[[ + allow_take = function(inv, listname, index, stack, player) + return stack:get_count() + end, + --]] + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + update_wielded(player, inv) + end, + on_put = function(inv, listname, index, stack, player) + update_wielded(player, inv) + end, + on_take = function(inv, listname, index, stack, player) + update_wielded(player, inv) + end, +} +backpacks.on_use = function(itemstack, user, pointed_thing) + if not user then + return + end + local name = user:get_player_name() + wield_index[name] = user:get_wield_index() + local d_inv = minetest.get_inventory({type = "detached", + name = "backpack_" .. name}) + if not d_inv then + d_inv = minetest.create_detached_inventory("backpack_" + .. name, backpacks.d_inv) + d_inv:set_size("dmain", 8 * 2) + end + local meta = itemstack:get_meta() + local list = minetest.deserialize(meta:get_string("inventory")) or {} + d_inv:set_list("dmain", list) + local formspec = "size[8,7.5]" .. + jas0.exit_button() .. + "list[detached:backpack_" .. name .. ";dmain;0,0.7;8,2]" .. + "field[0.3,3;7,1;rename;;" .. (meta:get("description") or + itemstack:get_definition().description) .. "]" .. + "button_exit[7,2.67;1,1;ok;OK]" .. + "list[current_player;main;0,3.65;8,1]" .. + "list[current_player;main;0,4.75;8,3;8]" .. + "listring[detached:backpack_" .. name .. ";dmain]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 3.65) .. + "" + minetest.show_formspec(name, "backpacks:backpack", formspec) + local h = user:get_inventory() + h:set_size("hand", 1) + h:set_stack("hand", 1, itemstack) + local faux = ItemStack(itemstack:get_name()) + faux:get_meta():set_string("description", meta:get("description") or + itemstack:get_definition().description) + return faux +end + +minetest.register_on_leaveplayer(function(player) + if not player then + return + end + minetest.remove_detached_inventory("backpack_" .. player:get_player_name()) +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "backpacks:backpack" then + return + end + if fields.rename or + (fields.key_enter and + fields.key_enter_field == "rename") then + local new_name = minetest.formspec_escape(fields.rename) + local wielded = player:get_inventory():get_stack("hand", 1) + local meta = wielded:get_meta() + meta:set_string("description", new_name) + meta:set_string("infotext", new_name) + player:get_inventory():set_stack("hand", 1, wielded) + end + if fields.quit then + player:set_wielded_item(player:get_inventory():get_stack("hand", 1)) + if player:get_meta():get_string("class") == "mage" then + player:get_inventory():set_stack("hand", 1, "jas0:mage") + else + player:get_inventory():set_list("hand", {}) + end + wield_index[player:get_player_name()] = nil + end +end) + +minetest.register_alias("backpacks:backpack", "backpacks:backpack_wool_white") + +-- Colored Wool Backpacks +for k, v in ipairs(dye.dyes) do + minetest.register_node("backpacks:backpack_wool_" .. v[1], { + description = v[2] .. " Wool Backpack", + tiles = { + "wool_" .. v[1] .. ".png^backpacks_backpack_topbottom.png", -- Top + "wool_" .. v[1] .. ".png^backpacks_backpack_topbottom.png", -- Bottom + "wool_" .. v[1] .. ".png^backpacks_backpack_sides.png", -- Right Side + "wool_" .. v[1] .. ".png^backpacks_backpack_sides.png", -- Left Side + "wool_" .. v[1] .. ".png^backpacks_backpack_back.png", -- Back + "wool_" .. v[1] .. ".png^backpacks_backpack_front.png" -- Front + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.375, 0.4375, 0.5, 0.375}, + {0.125, -0.375, 0.4375, 0.375, 0.3125, 0.5}, + {-0.375, -0.375, 0.4375, -0.125, 0.3125, 0.5}, + {0.125, 0.1875, 0.375, 0.375, 0.375, 0.4375}, + {-0.375, 0.1875, 0.375, -0.125, 0.375, 0.4375}, + {0.125, -0.375, 0.375, 0.375, -0.25, 0.4375}, + {-0.375, -0.375, 0.375, -0.125, -0.25, 0.4375}, + {-0.3125, -0.375, -0.4375, 0.3125, 0.1875, -0.375}, + {-0.25, -0.3125, -0.5, 0.25, 0.125, -0.4375}, + } + }, + groups = {dig_immediate = 3, oddly_diggable_by_hand = 3, attached_node = 1}, + stack_max = 1, + on_construct = backpacks.on_construct, + after_place_node = backpacks.after_place_node, + on_dig = backpacks.on_dig, + allow_metadata_inventory_put = backpacks.allow_metadata_inventory_put, + preserve_metadata = backpacks.preserve_metadata, + on_receive_fields = backpacks.on_receive_fields, + on_use = backpacks.on_use, + on_bast = backpacks.on_blast, + }) + minetest.register_craft({ + output = "backpacks:backpack_wool_" .. v[1], + recipe = { + {"wool:" .. v[1], "wool:" .. v[1], "wool:" .. v[1]}, + {"wool:" .. v[1], "", "wool:" .. v[1]}, + {"wool:" .. v[1], "wool:" .. v[1], "wool:" .. v[1]}, + } + }) + minetest.register_craft({ + output = "wool:" .. v[1], + type = "shapeless", + recipe = {"backpacks:backpack_wool_" .. v[1]}, + }) +end + +-- Leather backpack +minetest.register_node("backpacks:backpack_leather", { + description = "Leather Backpack", + tiles = { + "backpacks_leather.png^backpacks_backpack_topbottom.png", -- Top + "backpacks_leather.png^backpacks_backpack_topbottom.png", -- Bottom + "backpacks_leather.png^backpacks_backpack_sides.png", -- Right Side + "backpacks_leather.png^backpacks_backpack_sides.png", -- Left Side + "backpacks_leather.png^backpacks_backpack_back.png", -- Back + "backpacks_leather.png^backpacks_backpack_front.png" -- Front + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.375, 0.4375, 0.5, 0.375}, + {0.125, -0.375, 0.4375, 0.375, 0.3125, 0.5}, + {-0.375, -0.375, 0.4375, -0.125, 0.3125, 0.5}, + {0.125, 0.1875, 0.375, 0.375, 0.375, 0.4375}, + {-0.375, 0.1875, 0.375, -0.125, 0.375, 0.4375}, + {0.125, -0.375, 0.375, 0.375, -0.25, 0.4375}, + {-0.375, -0.375, 0.375, -0.125, -0.25, 0.4375}, + {-0.3125, -0.375, -0.4375, 0.3125, 0.1875, -0.375}, + {-0.25, -0.3125, -0.5, 0.25, 0.125, -0.4375}, + } + }, + groups = {dig_immediate = 3, oddly_diggable_by_hand = 3, attached_node = 1}, + stack_max = 1, + on_construct = backpacks.on_construct, + after_place_node = backpacks.after_place_node, + on_dig = backpacks.on_dig, + allow_metadata_inventory_put = backpacks.allow_metadata_inventory_put, + preserve_metadata = backpacks.preserve_metadata, + on_receive_fields = backpacks.on_receive_fields, + on_use = backpacks.on_use, + on_bast = backpacks.on_blast, +}) + +minetest.register_craft({ + output = "backpacks:backpack_leather", + recipe = { + {"mobs:leather", "mobs:leather", "mobs:leather"}, + {"mobs:leather", "", "mobs:leather"}, + {"mobs:leather", "mobs:leather", "mobs:leather"}, + } +}) +minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if not player then + return + end + local pos = player:get_pos() + for i = 1, player:get_inventory():get_size("craft") do + if old_craft_grid[i]:get_name():match("backpacks:backpack_") then + local contents = minetest.deserialize(old_craft_grid[i]:get_meta():get("inventory")) + if not contents then + return + end + for i = 1, 16 do + local it = contents[i] + if it ~= "" then + local o = minetest.add_item(pos, it) + if o then + -- from tnt + o:set_acceleration({ + x = 0, + y = -10, + z = 0, + }) + o:set_velocity({ + x = math.random(-3, 3), + y = math.random(0, 10), + z = math.random(-3, 3), + }) + end + end + end + return + end + end +end) diff --git a/mods/backpacks/textures/backpacks_backpack_back.png b/mods/backpacks/textures/backpacks_backpack_back.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3f5df7a65098681d472ccbb81cf46210580a69 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBM-BHd91viE>K9t)5S5w;&gI?M8<)RBlB9-rnenC ou65pJCAS-|glR&7guw@(3E!C{Zd~763RKVF>FVdQ&MBb@05K;g<^TWy literal 0 HcmV?d00001 diff --git a/mods/backpacks/textures/backpacks_backpack_front.png b/mods/backpacks/textures/backpacks_backpack_front.png new file mode 100644 index 0000000000000000000000000000000000000000..aec97c72d50b225122751a01262433274e365f73 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBM&o=*_nLjXFwrmPZ!4!i_^&o609Q3ZYKYHmAQwIjx@&`P3$fg!$; W^UaPun;L<}F?hQAxvXFVdQ&MBb@05E+eQUCw| literal 0 HcmV?d00001 diff --git a/mods/backpacks/textures/backpacks_backpack_topbottom.png b/mods/backpacks/textures/backpacks_backpack_topbottom.png new file mode 100644 index 0000000000000000000000000000000000000000..dce1b1d45489ab57d732c76bb9a58d845de5f4e2 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBM&pLiFK85H&95{)5S5w;&gIKLc)#n4vYy&60D08 hL;_e1_$u;P7>b`Vw#JnR)BqJSc)I$ztaD0e0s!0!BAWmJ literal 0 HcmV?d00001 diff --git a/mods/backpacks/textures/backpacks_leather.png b/mods/backpacks/textures/backpacks_leather.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3a27bcc8c9a023aa02a55034b35dc061389d35 GIT binary patch literal 719 zcmV;=0xmX-(el3PTDX4l7$1R23CRbY@d$rZS94E{U?-_I}% z_LqjKa$6G1K?HP#7J}ZI;OeM4#f)Ntket_~7GXOn&#x-Ql;X-doJ`@|;XDjA1vA4` zC?>2S{PxF@U!EORWp+jRw)8Z?u$jX;s4}?sKp|+699y!C#967^Eo&bDj1-muo5`8n zFcC5bs)Cu|ho$jak}+W4gNWeCgOL+0g^dZj(%CP{r>~8}lDxT3GzX5L*W1eJwn7f7 zC&$}h>&mR1J_a#5YY#jwd<}=w-+cUUf$U^<{s$4RPW+ 3 then + rotation = rotation % 4 -- Mask colorfacedir values + end + if rotation == 1 then + return pi / 2, rotation + elseif rotation == 3 then + return -pi / 2, rotation + elseif rotation == 0 then + return pi, rotation + else + return 0, rotation + end +end + +local function is_night_skip_enabled() + local enable_night_skip = minetest.settings:get_bool("enable_bed_night_skip") + if enable_night_skip == nil then + enable_night_skip = true + end + return enable_night_skip +end + +local function check_in_beds(players) + local in_bed = beds.player + if not players then + players = minetest.get_connected_players() + end + + for n, player in ipairs(players) do + local name = player:get_player_name() + if not in_bed[name] then + return false + end + end + + return #players > 0 +end + +local function lay_down(player, pos, bed_pos, state, skip) + local name = player:get_player_name() + local hud_flags = player:hud_get_flags() + + if not player or not name then + return + end + + -- stand up + if state ~= nil and not state then + local p = beds.pos[name] or nil + if beds.player[name] ~= nil then + beds.player[name] = nil + beds.bed_position[name] = nil + player_in_bed = player_in_bed - 1 + end + -- skip here to prevent sending player specific changes (used for leaving players) + if skip then + return + end + if p then + player:set_pos(p) + end + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) + player:set_look_horizontal(math.random(1, 180) / 100) + default.player_attached[name] = false + player:set_physics_override(1, 1, 1) + hud_flags.wielditem = true + default.player_set_animation(player, "stand" , 30) + + -- lay down + else + beds.player[name] = 1 + beds.pos[name] = pos + beds.bed_position[name] = bed_pos + player_in_bed = player_in_bed + 1 + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) + local yaw, param2 = get_look_yaw(bed_pos) + player:set_look_horizontal(yaw) + local dir = minetest.facedir_to_dir(param2) + local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2} + player:set_physics_override(0, 0, 0) + player:set_pos(p) + default.player_attached[name] = true + hud_flags.wielditem = false + default.player_set_animation(player, "lay" , 0) + end + + player:hud_set_flags(hud_flags) +end + +local function update_formspecs(finished) + local ges = #minetest.get_connected_players() + local form_n + local is_majority = (ges / 2) < player_in_bed + + if finished then + form_n = beds.formspec .. "label[2.7,11; Good morning.]" + else + form_n = beds.formspec .. "label[2.2,11;" .. tostring(player_in_bed) .. + " of " .. tostring(ges) .. " players are in bed]" + if is_majority and is_night_skip_enabled() then + form_n = form_n .. "button_exit[2,8;4,0.75;force;Force night/day skip]" + end + end + + for name,_ in pairs(beds.player) do + minetest.show_formspec(name, "beds_form", form_n) + end +end + + +-- Public functions + +function beds.kick_players() + for name, _ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + lay_down(player, nil, nil, false) + end +end + +function beds.skip_night(f) + if f then + return + end + if beds.night_toggle then + minetest.set_timeofday((beds.time.hour * 60 + beds.time.min) / 1440) + beds.night_toggle = false + else + minetest.set_timeofday(((beds.time.hour + 12) % 24 * 60 + beds.time.min) / 1440) + beds.night_toggle = true + end +end + +function beds.on_rightclick(pos, player) + local name = player:get_player_name() + local ppos = player:get_pos() + local tod = minetest.get_timeofday() + + -- move to bed + if not beds.player[name] then + lay_down(player, ppos, pos) + beds.set_spawns() -- save respawn positions when entering bed + else + lay_down(player, nil, nil, false) + end + + if not is_sp then + update_formspecs(false) + end + + -- skip the night and let all players stand up + if check_in_beds() then + minetest.after(2, function() + if not is_sp then + update_formspecs(is_night_skip_enabled()) + end + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end + +function beds.can_dig(bed_pos) + -- Check all players in bed which one is at the expected position + for _, player_bed_pos in pairs(beds.bed_position) do + if vector.equals(bed_pos, player_bed_pos) then + return false + end + end + return true +end + +-- Callbacks +-- Only register respawn callback if respawn enabled +if enable_respawn then + -- respawn player at bed if enabled and valid position is found + minetest.register_on_respawnplayer(function(player) + local name = player:get_player_name() + local pos = beds.spawn[name] + if pos then + player:set_pos(pos) + return true + end + end) +end + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + lay_down(player, nil, nil, false, true) + beds.player[name] = nil + if check_in_beds() then + minetest.after(2, function() + update_formspecs(is_night_skip_enabled()) + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end) + +beds.gdi = {} +local function beds_list_fs(player, index, tab) + if not player then + return + end + index = index or 1 + tab = tonumber(tab) or 1 + local name = player:get_player_name() + beds.gdi[name] = {} + local beds_list_string = "" + if tab == 1 and not beds.beds[name] then + return jas0.message(name, "You do not have any beds saved.") + end + local formspec = "size[6,4.75]" .. + --"box[-0.9,-1.1;6.67,0.5;black]" .. + "tabheader[0,0;tab;Private,Public;" .. tostring(tab) .. + ";false;true]" .. + "button_exit[4,4.25;2,1;warp;Warp]" .. + "" + if tab == 1 then + formspec = formspec .. + "button[0,4.25;2,1;delete;Delete]" .. + "" + for warp_name, destination in pairs(beds.beds[name]) do + beds_list_string = beds_list_string .. "," .. warp_name + beds.gdi[name][#beds.gdi[name] + 1] = warp_name + end + else + formspec = formspec .. + "button[0,4.25;2,1;show;Show]" .. + "tablecolumns[color;tree;text]" .. + "" + for player_name, destination in pairs(beds.beds_public) do + beds_list_string = beds_list_string .. "," .. + "#FFF,0," .. player_name .. "," .. + "" + beds.gdi[name][#beds.gdi[name] + 1] = {name = player_name} + for dest_name, _ in pairs(destination) do + beds_list_string = beds_list_string .. + "#FFF,1," .. dest_name .. "," .. + "" + beds.gdi[name][#beds.gdi[name] + 1] = {name = player_name, dest = dest_name} + end + beds_list_string = beds_list_string:sub(1, -2) + end + end + formspec = formspec .. "table[-0.1,-0.1;6,4.34;beds_list_item;" .. + beds_list_string:sub(2, -1) .. ";" .. index .. "]" .. + "" + return formspec +end + +local beds_list_index = {} +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname == "beds:inventory" then + if not player then + return + end + local pos = player:get_pos() + local name = player:get_player_name() + local bed_pos = beds.selected[name] + local meta = minetest.get_meta(bed_pos) + if fields.sethome then + walkie.players[name].waypoints.saved = pos + walkie.players[name].waypoints.pos = pos + player:hud_change(walkie.meters[name].waypoint, + "world_pos", pos) + player:get_meta():set_string("waypoints", + minetest.serialize(walkie.players[name].waypoints)) + minetest.chat_send_player(name, "Saved home position!") + elseif fields.setspawn then + beds.spawn[name] = pos + minetest.chat_send_player(name, "Saved spawn position!") + elseif fields.sleep then + return beds.on_rightclick(bed_pos, player) + elseif fields.public then + local owner = meta:get_string("owner") + if minetest.is_protected(bed_pos, name) or + owner ~= name then + jas0.message(name, + "This bed is protected. " .. + "Its state cannot be changed.", true) + return + end + if owner == "" then + meta:set_string("owner", name) + end + meta:set_int("public", -meta:get_int("public")) + elseif fields.list then + local tab = 2 + if beds.beds[name] then + tab = 1 + end + return minetest.after(0.1, minetest.show_formspec, name, + "beds:list", beds_list_fs(player, 1, tab)) + elseif fields.home_name then + if fields.home_name == "Set home name!" or + not fields.ok and + not (fields.key_enter and + fields.key_enter_field == "home_name") then + return + end + if name ~= meta:get_string("owner") then + return jas0.message(name, + "You are not the owner of this bed!", + true) + end + local home_name = fields.home_name + home_name = minetest.formspec_escape(home_name):gsub("%W", "") + if not beds.beds[name] then + beds.beds[name] = {} + end + if beds.beds[name][home_name] or beds.beds_public[name][home_name] then + return jas0.message(name, "This name already exists!", + true) + end + if not bed_pos then + return + end + local old_home_name = meta:get_string("home_name") + if old_home_name ~= "" then + if beds.beds[name][old_home_name] then + beds.beds[name][old_home_name] = nil + end + if beds.beds_public[name][old_home_name] then + beds.beds_public[name][old_home_name] = nil + end + end + + meta:set_string("home_name", home_name) + beds.beds[name][home_name] = pos + if meta:get_int("public") == 1 then + if not beds.beds_public[name] then + beds.beds_public[name] = {} + end + beds.beds_public[name][home_name] = pos + end + return jas0.message(name, "Saved " .. home_name, true) + end + elseif formname == "beds:list" then + local name = player:get_player_name() + if fields.tab then + return minetest.after(0.1, minetest.show_formspec, name, + "beds:list", + beds_list_fs(player, 1, fields.tab)) + end + if not beds_list_index[name] then + beds_list_index[name] = 1 + end + if fields.beds_list_item then + local item = fields.beds_list_item + local exploded = minetest.explode_table_event(item) + if exploded.type == "CHG" then + beds_list_index[name] = exploded.row + end + end + if fields.delete then + local index = beds_list_index[name] + local warp_name = beds.gdi[name][index] + if warp_name then + return jas0.message(name, + "Are you certain you wish to " .. + "delete " .. warp_name .. "?", true, + "beds:list_delete") + end + end + if fields.warp then + local index = beds_list_index[name] + local owner_name + if beds.gdi[name][index] then + owner_name = beds.gdi[name][index]["name"] + end + local warp_name + if owner_name then + warp_name = beds.gdi[name][index]["dest"] + else + warp_name = beds.gdi[name][index] + end + local pos + if owner_name then + pos = beds.beds_public[owner_name][warp_name] + else + pos = beds.beds[name][warp_name] + end + if pos then + jas0.message(name, "Warped to " .. + warp_name .. ".") + player:set_pos(pos) + end + end + if fields.quit then + beds_list_index[name] = nil + end + elseif formname == "beds:list_delete" and fields.ok then + local name = player:get_player_name() + if not beds_list_index[name] then + beds_list_index[name] = 1 + end + local index = beds_list_index[name] + local warp_name = beds.gdi[name][index] + if warp_name then + jas0.message(name, "Deleted " .. warp_name .. ".") + beds.beds[name][warp_name] = nil + beds.beds_public[name][warp_name] = nil + end + return minetest.after(0.1, minetest.show_formspec, + name, "beds:list", beds_list_fs(player, index)) + elseif formname == "beds_form" then + -- Because "Force night skip" button is a button_exit, + -- it will set fields.quit and lay_down call will change + -- value of player_in_bed, so it must be taken earlier. + local last_player_in_bed = player_in_bed + if fields.quit or fields.leave then + lay_down(player, nil, nil, false) + update_formspecs(false) + end + if fields.force then + local is_majority = (#minetest.get_connected_players() / 2) < last_player_in_bed + if is_majority and is_night_skip_enabled() then + update_formspecs(true) + beds.skip_night(true) + beds.kick_players() + else + update_formspecs(false) + end + end + end + return +end) diff --git a/mods/beds/init.lua b/mods/beds/init.lua new file mode 100644 index 0000000..3d66e51 --- /dev/null +++ b/mods/beds/init.lua @@ -0,0 +1,63 @@ +-- This version of the beds mod is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +beds = {} +beds.player = {} +beds.bed_position = {} +beds.pos = {} +beds.spawn = {} +beds.formspec = "size[8,15;false]" .. + "no_prepend[]" .. + "bgcolor[#080808BB;true]" .. + "button_exit[2,12;4,0.75;leave;Leave Bed]" .. +"" +beds.time = os.date("*t") +minetest.after(1, minetest.set_timeofday, (beds.time.hour * 60 + beds.time.min) / 1440) +beds.night_toggle = false +beds.selected = {} +beds.beds = {} +beds.beds_public = {} +local store = minetest.get_mod_storage() +if store:get_string("beds") ~= "" then + beds.beds = minetest.deserialize(store:get_string("beds")) +end +if store:get_string("beds_public") ~= "" then + beds.beds_public = minetest.deserialize(store:get_string("beds_public")) +end +local modpath = minetest.get_modpath("beds") +local step = 0 + +minetest.register_globalstep(function(dtime) + if step < 60 then + step = step + dtime + return + end + --minetest.log("action", "Setting time.") + beds.time = os.date("*t") + if beds.night_toggle then + minetest.set_timeofday(((beds.time.hour + 12) % 24 * 60 + beds.time.min) / 1440) + else + minetest.set_timeofday((beds.time.hour * 60 + beds.time.min) / 1440) + end + store:set_string("beds", minetest.serialize(beds.beds)) + store:set_string("beds_public", minetest.serialize(beds.beds_public)) + step = 0 +end) + +minetest.register_on_shutdown(function() + store:set_string("beds", minetest.serialize(beds.beds)) + store:set_string("beds_public", minetest.serialize(beds.beds_public)) + +end) +minetest.register_on_joinplayer(function(player) + if not player then + return + end + player:get_inventory():set_size("bed", 8 * 3) +end) + +dofile(modpath .. "/functions.lua") +dofile(modpath .. "/api.lua") +dofile(modpath .. "/beds.lua") +dofile(modpath .. "/spawns.lua") diff --git a/mods/beds/license.txt b/mods/beds/license.txt new file mode 100644 index 0000000..f3c517f --- /dev/null +++ b/mods/beds/license.txt @@ -0,0 +1,61 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2018 TumeniNodes + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/beds/spawns.lua b/mods/beds/spawns.lua new file mode 100644 index 0000000..baee364 --- /dev/null +++ b/mods/beds/spawns.lua @@ -0,0 +1,63 @@ +local world_path = minetest.get_worldpath() +local org_file = world_path .. "/beds_spawns" +local file = world_path .. "/beds_spawns" +local bkwd = false + +-- check for PA's beds mod spawns +local cf = io.open(world_path .. "/beds_player_spawns", "r") +if cf ~= nil then + io.close(cf) + file = world_path .. "/beds_player_spawns" + bkwd = true +end + +function beds.read_spawns() + local spawns = beds.spawn + local input = io.open(file, "r") + if input and not bkwd then + repeat + 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") + spawns[name:sub(2)] = {x = x, y = y, z = z} + until input:read(0) == nil + io.close(input) + elseif input and bkwd then + beds.spawn = minetest.deserialize(input:read("*all")) + input:close() + beds.save_spawns() + os.rename(file, file .. ".backup") + file = org_file + end +end + +beds.read_spawns() + +function beds.save_spawns() + if not beds.spawn then + return + end + local data = {} + local output = io.open(org_file, "w") + for k, v in pairs(beds.spawn) do + table.insert(data, string.format("%.1f %.1f %.1f %s\n", v.x, v.y, v.z, k)) + end + output:write(table.concat(data)) + io.close(output) +end + +function beds.set_spawns() + for name,_ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + local p = player:get_pos() + -- but don't change spawn location if borrowing a bed + if not minetest.is_protected(p, name) then + beds.spawn[name] = p + end + end + beds.save_spawns() +end diff --git a/mods/beds/textures/beds_bed.png b/mods/beds/textures/beds_bed.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0054c6cf9a42d248601d8c527c0a0da2bf92f6 GIT binary patch literal 540 zcmV+%0^|LOP)nsVZn?U zRen}?snu%uzK`$weEC}8{fCb<81o`bsxqz0iW$phJP~0|mB%7{+uml^`^D<&8V??3 z4**lDdD@I@F30%z1Q!R+;__xph)`DLxfvx@=2R)EGOJ42 zj6xkWBtlYz+}Id>kwYYUJ8{c_07d6mFk?}bry|U&GFP9bWJba{lFo5KgiGg+5)Fq) z#=A(L=?c1)Y=U(&UYhMEmdz-caZ7}>2npv%#g7n=bTE?YCUyGQ!4?+p^)Y!P#=I)8 z%y?!-(TqXoxGX~QCFhksW7of2iKF`48%Hv&C1qr@%i-#cdniwGZ^`AYRf9$zS7e) e^$$S1zwtN1Qq}5$b^0~{0000g*HHLyD4EErh^$d!evj~?!;w+tqZzwqymgMeDx1#n?dXW(+7I^j z_St_k^B1t(Ej;stoGM$Yq*ckNl2xT_#?IM0W5(**8tdz?@h4-*Vz=IaP{gq|ZRp&Jk-9GAj#=g#%0sb|R@8%9aQvGv2AP?HoI*&VnKxfzHnFf+Xn~N3;zD6Tfu*Y?3Zb$v zg2=$aA_3zUP;9`2-#iw&AXrdfX>qGJ@60_f1*8tiLCgPuzXI66BWmOr8pFgGtWtzZ zF%w}XLZmgXTJvrUQ)384coAXT%rkE0N!h^TqhF>YLQjP8H)y0ak=DF@FAlXP6k%ix z))=Bj4jXu+s)Zw}g(DtCXp8XRI6NuEK!m;s9i?b1MOSN{wWj4bG#!VlqRUm${c4bC zB(-Sf6QY16?2P83#QW&QJRk|weB8Qo{O_K%6XC6?A_ zaN~V7NL==%cIuMct9I)CzJU!q!rL@)?_ynb-ag~*@`QQ&oVZsatY`T7eyy-^^O>}^ kHKIlq8>9*AnJsvdPtZDUt>P4NqW}N^07*qoM6N<$g2%O|ZU6uP literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_head.png b/mods/beds/textures/beds_bed_head.png new file mode 100644 index 0000000000000000000000000000000000000000..763f5e14048e931e237397df959ac20041b5c26d GIT binary patch literal 387 zcmV-}0et?6P)iQ^b)nj#1SL{Wq+%dpvO5QZT<&qI+L6 hP*s3AYVMI2_yGC^`^BWEuA=||002ovPDHLkV1jg)Z%*=ZTOTcn^vn)iA$(CEh(y=mOD|9)MV?|wgnb2TpX^xpv!I3ISX!Ls{+#>4Re*{iYWZLAR{{x+qvt2}TjB*pmasI2 zg)wZb4W-4n@5*!j753>=?Jf)eZ?8=n(&ePTT zw3B$yB@|i0bllhDztGirl;8ylaaf?1Asi2BR0px`@C z7srr_Id>=R_c|OP(yo8@?Bte)$9Ho%wkT|uG~SZ@IK`R$;KD2Q=4@v#EazA|A^d}> zOLCHc$owb80=zF4NH`Y!m{$Cw_PMzXV~1V|*MISYMO9yuo$fE3e86SZY=!Q<@figw zs@|HOIkTBhKML>?n|8D_ck}(%h2iFR%=vBXY=gs0L+=*U1{Xz#`LyXBa^Vuz)Jv<~ zbVIq@Hmtb+Pe|~RgVQ;HVv{c}KYA-8>~q)-v$X}2drqX)`YaJ}mD&^k??m+EI~nJ` zZ=3l__tRrpGq>VxtK+1BX5CM;Dd4Pazfdm0f9vP{e~uH`_AqQXW1hm`TF?yiIfJLG KpUXO@geCwE>46;p literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_side_bottom.png b/mods/beds/textures/beds_bed_side_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..99ff309fa2243dc6243b1eb054773eb977b5054a GIT binary patch literal 561 zcmV-10?z%3P)4JgSaUyQK~PuL z2xmguTH8|hOPTY1$I{GNi6aUxgf0w51pS5IE?Px5-PmOp->bvfMwKS|{!x#=!={ZMNgsuoZ z=QvPh!x$RYvS}@CRVpHwx^rxeE;K_S0ulB^=&Ryei*GG`RrW*(L}-RWbXD1Mj=FO{ zfSPl(RaqBd+c}ydbX2KXOU+t3sx(Kl_0h+*pTOsL8T_2b>!Qb?JjZTsmgDL?ZwgmA zEY32hMDbTV_KOh?OCJ8J$8j~r(eoQTNKRk|+eu#LBjgt+DWs>!r=}<-r^qKKDc>3= zdwYy*e40Wk%+tgK*@X)n)zb8jp5=2j~;%9NoM}ZIKbV;t&aZ({#D?u z_q5E|7GXz(rgL=6NK{EwIq;sI8Hor7-qQ*KPRuw`B~`_3h;V4eruXc4&j;t|o6%LJ zBf@?VaAwA_DkrL>-g9O~DneHkx2?*aDjhR+gMdtg6A?a{k$O+ZdwRpUD?(3%jtC#k zXa~V{U`v%lGv14^ugb0ni5XkobD&B~gw%|tb8HWH(&5`~urts3#$$So9O+t~L1UII zD$uXz=*QEXzk5U$>{TCd-h9I6&4;8>fz!Bv`|cSZH@+gh)4y)k=jkytO!#y|Hnxh}z=k>xE)zZDcS`H^!4kvlJaF<{902*{fSad;kbZBpK099;dVPqgvd2@7S bZF4LjNp52<$sIm+00000NkvXXu0mjfQ>pbb literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_side_top.png b/mods/beds/textures/beds_bed_side_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b2807c5fa275087fd66be04e6f76e53b6e36797c GIT binary patch literal 611 zcmV-p0-XJcP)H1JHG{o<1xeL3G{ZoM zCXVA!uh(fb1f5QYv$Hc=trm{saDIMHr_(_+n^dbcDkn9HB@L-m(y;6@cDX{eT0@8y zr>CbhgrLz7wA*bQr;QK-Aq354lWMJos_7`X0@BxS-`P7jq;Pc1aZ%+^$#Ha4MAuDp z!$Q?`R8>beObpXP$>ljv6!L{*_78JNyPK0_;y%_Q{bc1EWMv;2*~{CQmqetW?23}PGRk2gymGLO8ZLD7w!op}bi^0ppLT;x0T|@$I z;z1YjF&B~1ZdN0Mq~sy)kGYX{)3-=OJlqSonH|6OS2LkrWdr>Eo{d64K_= zASrp6>5(py4?S!rCfG?%v6Gx)Yc<5e?dxo86Ef?|C|o<;=v$`fvfxgxZ>Zj6KntfnN`yHPynLQoy-uxGr*?9}(eW`qs#WrZBH7)2w3G-7B0N`$ z8C@qS!n_EMQcMN{925^J`xUA`>y%1m{K^pr#Y4PYflr^e(B?!)h_I*>PYi=+BFq{F zNu`MEI{Uc-`9hKJC7(SnhnFj`lig!?&tvP$SG1M!4qiqtDMYc&(U(MT-RL?qZk%xWTLwK6`? zN;K5K=s+9MzVl32jf@5xSexnR^<*!RU<+C#e38F3WVJD5wXvDLi8I{Ao$Ke&Qg%D1 z+~E#37W&D!gJj%6))N*FZ(U+N(Z|L@7pG(@8`@RCt_4l0mK;RS-qbz4h#Fw?7yWh)@Pdh&el8h{RU12P8(U zf(5aUC_zGr^dX7u@9y`i7?_9})!^3PoLlgqgvBI>-q)%n!qRz+f`gs#*t;d!K(pD~qpD|4c7v^|GM5P7_o~J2aL&B-(Ox_| zzJ|pX+%gkR5eaK%!O<3+GX5=4&Q&?80e|;C zOHF#;`&M;~sH%U)5G*!u&D^TGG|x-pE~jeEZ1x_us$118P0}?}Fh@u_k8zM2VClgI z)=c2@h&2I_RD}%Ydg4(5pcNk zR2hyD9iFN-I7T$PNjgMat2US;47W_dWG9?6OR{9R-hb)4Z$9IfpMakE=G{3H18}Qc zpDq#l_Qlsz3qH-i+3@`uy literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_top2.png b/mods/beds/textures/beds_bed_top2.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe5bf2b0c133858993413cfa495379f4c4b9aa1 GIT binary patch literal 616 zcmV-u0+;=XP)pG^hrcPRCt_Ckj;@DMG%BDtE#)_?da`Zv=?MCzyJE90XUz}LZ)P=Wg$7n1hB3vfLg05 zA0E!vBfng>h>+o4>u#!MskPQxQxy>&$5Cq))s#|ieU4E|o^7{3{@RvY#vC%lOhu&k z4j`o*;k|bcl#;2kU0$BvJeoUZ_*zyoZLN_~N+x;xa5|mloUM0wobJ|QY5+{FUazK_ zQdZ^B8Ui_|2-I2ukOXn9^^2vyKYlDZi)d@l$x_Z4q+cciqC#@pHV-#V04&1ae)IK+ z(1;|GfEjT_6f%)lcL0m(1U}FC?a$v?yY8917g1oi6F92|aJVbEnmN!T2)wo%zj7hn zUC37=1X@HytRe(H&q;C-abS<=)8*-_$LE_z;Of55X@CIxoS()pG664RT;?S3{=;U) z^iE{BcQTRum%E7Mh!!z`Ma0P$_mjf_2=HK*fNf3zR*?X%5el4DCvZdraIgAB>%FQ+ zbl{aLfWtk2yW7m2WFZyUBbM7>cR!H;K8>Md7IEM*CjccS;(1O7iYkDA08wZmbtryJ zD*ylh8gxZibU}4=Xm4@=RcvKpWFS*{b97~Gb1Wc9ZeuRV9X@sd0000}2bnaV8HDJOC7U?3D1dvS0AV^Zu83clQb}!Ob_gUJL>oK5e zwXaoAdq{t~m#R+Q$CziSV7$r#K*5#-b_lGA0oaqeR_*q+YELdzYjUaDlD9D)_O)tD zZex7eQ~KRq0rCHmBr!abfF!>d42GquR{JPkUiD9VkskJ0TJ77R?#QcVz%Tcm04Hg{ zo+J?z1PX=()R3O9C$s9_eUiTH+p)fCPp-#vX|rb_(qUsjO9xd+1p+546d*O!FT12i zGNk)U%QD86OzCb<=~(|vrZf#37?3PAGz7Nf3_bv)BiW$d#yILf?OAnCkbZXW(mfef z_e52Hk~%mAhK80l=)_W_NRI^R({AY`1zP$C%r-WvXBHb10000QbVXQnL3MO!Z*l-t lY-M3&AX9mBbY*RGEFej4V=l=ZK6U^A002ovPDHLkV1jl<*RTKp 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..e877c808afa166a782c29eef02c051c540db186d GIT binary patch literal 556 zcmV+{0@MA8P)RudT=q5w$>%R$qs7bDXOa89&$XHW03F!LPELS8*iy8J z)?(C%*0^S7O42=ZkVj@Gm;FSpsxDpE+55PztF>_D)4mhf#!!#|1Q4)IfFC8TN05{x zk|bM;F}j9yR_)Sd|KGI77%OwzMrQWj*UD|%0V)9l1^}dO+rVjqgh3L3Z2%<7sads2 z4|_&WB~~zP_AoE7!a>{rRzM;wU)Msn;qnPRg-SE$k)sk{dT*T zalE}(`Tgyvs^d7?0tyh2WCCfE405hjRaL&-@1m|bLyFe^0N<1_(B0*uk!^dnZD+Ra+)CH^weAb+JQme^ENk>SJI|L5Xb5AHx4R2N z2dk_Hki%Kv5n0T@z%2~Ij105pNB{-dOFVsD*&lJqh{-D*-&P$0*#XNF%vT;RnfI<> zE<*@o{0VzCdjZdyiFqB9xAMkHF$UC2EnM<4MymYzgOx9j-1@jO{_?eLXV~|>=3T)x pOUCcoHX9E%Pr2&y?!%UU7_NnKmj9X6DLlbJ$v^2`SX`9 zUAl7R%C&3PZr;3k=gysb_wGG-@ZjOYhmRjWe*OCO`}glZfByXS>sNahdq$v*j3q&S z!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|U1Z2s2)~TlWVj$X?><>&pI!hnYoNv6fd{ z7bv9a>Eak7aXC3bL0Us=(dR%Hk%bJs+@gUYN0b|uF`xA)@s?b{$?*6S$I(8Kl?Ff! N44$rjF6*2UngA-GVfg?6 literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_transparent.png b/mods/beds/textures/beds_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc0e3dc6e85a0ed7b1ad4b899ad82b5b6b0e8e6 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0prEv; zi(^Q|oa7(>|JyUG&QLnLn5{?3AnQPa5d*`~wSVP9epPk@l}VMjMwB>~mSp4?F@)x% kCZ;F^R~DC~<`(NHc;+SRos_jJ1FB;1boFyt=akR{04v}rR{#J2 literal 0 HcmV?d00001 diff --git a/mods/boats/README.txt b/mods/boats/README.txt new file mode 100644 index 0000000..a2ccb48 --- /dev/null +++ b/mods/boats/README.txt @@ -0,0 +1,31 @@ +Minetest Game mod: boats +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures and model) +------------------------------------- +Textures: Zeg9 (CC BY-SA 3.0) +Model: thetoon and Zeg9 (CC BY-SA 3.0), + modified by PavelS(SokolovPavel) (CC BY-SA 3.0), + modified by sofar (CC BY-SA 3.0) + +Controls +-------- +Right mouse button = Enter or exit boat when pointing at boat. +Forward = Speed up. + Slow down when moving backwards. +Forward + backward = Enable cruise mode: Boat will accelerate to maximum forward + speed and remain at that speed without needing to hold the + forward key. +Backward = Slow down. + Speed up when moving backwards. + Disable cruise mode. +Left = Turn to the left. + Turn to the right when moving backwards. +Right = Turn to the right. + Turn to the left when moving backwards. diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt new file mode 100644 index 0000000..8e482ce --- /dev/null +++ b/mods/boats/depends.txt @@ -0,0 +1,2 @@ +default +player_api diff --git a/mods/boats/init.lua b/mods/boats/init.lua new file mode 100644 index 0000000..00cf791 --- /dev/null +++ b/mods/boats/init.lua @@ -0,0 +1,299 @@ +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.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.sin(yaw) * v + local z = math.cos(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 + +-- +-- Boat entity +-- + +local boat = { + initial_properties = { + physical = true, + -- Warning: Do not change the position of the collisionbox top surface, + -- lowering it causes the boat to fall through the world if underwater + collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, + visual = "mesh", + mesh = "boats_boat.obj", + textures = {"default_wood.png"}, + }, + + driver = nil, + v = 0, + last_v = 0, + removed = false, + auto = false +} + + +function boat.on_rightclick(self, clicker) + if not clicker or not clicker:is_player() then + return + end + local name = clicker:get_player_name() + if self.driver and name == self.driver then + self.driver = nil + self.auto = false + clicker:set_detach() + player_api.player_attached[name] = false + player_api.set_animation(clicker, "stand" , 30) + local pos = clicker:get_pos() + pos = {x = pos.x, y = pos.y + 0.2, z = pos.z} + minetest.after(0.1, function() + clicker:set_pos(pos) + end) + elseif not self.driver then + local attach = clicker:get_attach() + if attach and attach:get_luaentity() then + local luaentity = attach:get_luaentity() + if luaentity.driver then + luaentity.driver = nil + end + clicker:set_detach() + end + self.driver = name + clicker:set_attach(self.object, "", + {x = 0.5, y = 1, z = -3}, {x = 0, y = 0, z = 0}) + player_api.player_attached[name] = true + minetest.after(0.2, function() + player_api.set_animation(clicker, "sit" , 30) + end) + clicker:set_look_horizontal(self.object:get_yaw()) + end +end + + +-- If driver leaves server while driving boat +function boat.on_detach_child(self, child) + self.driver = nil + self.auto = false +end + + +function boat.on_activate(self, staticdata, dtime_s) + self.object:set_armor_groups({immortal = 1}) + if staticdata then + self.v = tonumber(staticdata) + end + self.last_v = self.v +end + + +function boat.get_staticdata(self) + return tostring(self.v) +end + + +function boat.on_punch(self, puncher) + if not puncher or not puncher:is_player() or self.removed then + return + end + + local name = puncher:get_player_name() + if self.driver and name == self.driver then + self.driver = nil + puncher:set_detach() + player_api.player_attached[name] = false + end + if not self.driver then + self.removed = true + local inv = puncher:get_inventory() + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(name)) + or not inv:contains_item("main", "boats:boat") then + local leftover = inv:add_item("main", "boats:boat") + -- if no room in inventory add a replacement boat to the world + if not leftover:is_empty() then + minetest.add_item(self.object:get_pos(), leftover) + end + end + -- delay remove to ensure player is detached + minetest.after(0.1, function() + self.object:remove() + end) + end +end + + +function boat.on_step(self, dtime) + self.v = get_v(self.object:get_velocity()) * get_sign(self.v) + if self.driver then + local driver_objref = minetest.get_player_by_name(self.driver) + if driver_objref then + local ctrl = driver_objref:get_player_control() + if ctrl.up and ctrl.down then + if not self.auto then + self.auto = true + minetest.chat_send_player(self.driver, "[boats] Cruise on") + end + elseif ctrl.down then + self.v = self.v - dtime * 1.8 + if self.auto then + self.auto = false + minetest.chat_send_player(self.driver, "[boats] Cruise off") + end + elseif ctrl.up or self.auto then + self.v = self.v + dtime * 1.8 + end + if ctrl.left then + if self.v < -0.001 then + self.object:set_yaw(self.object:get_yaw() - dtime * 0.9) + else + self.object:set_yaw(self.object:get_yaw() + dtime * 0.9) + end + elseif ctrl.right then + if self.v < -0.001 then + self.object:set_yaw(self.object:get_yaw() + dtime * 0.9) + else + self.object:set_yaw(self.object:get_yaw() - dtime * 0.9) + end + end + end + end + local velo = self.object:get_velocity() + if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then + self.object:set_pos(self.object:get_pos()) + return + end + local s = get_sign(self.v) + self.v = self.v - dtime * 0.6 * s + if s ~= get_sign(self.v) then + self.object:set_velocity({x = 0, y = 0, z = 0}) + self.v = 0 + return + end + if math.abs(self.v) > 5 then + self.v = 5 * get_sign(self.v) + end + + local p = self.object:get_pos() + p.y = p.y - 0.5 + local new_velo + local new_acce = {x = 0, y = 0, z = 0} + if not is_water(p) then + local nodedef = minetest.registered_nodes[minetest.get_node(p).name] + if (not nodedef) or nodedef.walkable then + self.v = 0 + new_acce = {x = 0, y = 1, z = 0} + else + new_acce = {x = 0, y = -9.8, z = 0} + end + new_velo = get_velocity(self.v, self.object:get_yaw(), + self.object:get_velocity().y) + self.object:set_pos(self.object:get_pos()) + else + p.y = p.y + 1 + if is_water(p) then + local y = self.object:get_velocity().y + if y >= 5 then + y = 5 + elseif y < 0 then + new_acce = {x = 0, y = 20, z = 0} + else + new_acce = {x = 0, y = 5, z = 0} + end + new_velo = get_velocity(self.v, self.object:get_yaw(), y) + self.object:set_pos(self.object:get_pos()) + else + new_acce = {x = 0, y = 0, z = 0} + if math.abs(self.object:get_velocity().y) < 1 then + local pos = self.object:get_pos() + pos.y = math.floor(pos.y) + 0.5 + self.object:set_pos(pos) + new_velo = get_velocity(self.v, self.object:get_yaw(), 0) + else + new_velo = get_velocity(self.v, self.object:get_yaw(), + self.object:get_velocity().y) + self.object:set_pos(self.object:get_pos()) + end + end + end + self.object:set_velocity(new_velo) + self.object:set_acceleration(new_acce) +end + + +minetest.register_entity("boats:boat", boat) + + +minetest.register_craftitem("boats:boat", { + description = "Boat", + inventory_image = "boats_inventory.png", + wield_image = "boats_wield.png", + wield_scale = {x = 2, y = 2, z = 1}, + liquids_pointable = true, + groups = {flammable = 2}, + + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local udef = minetest.registered_nodes[node.name] + if udef and udef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return udef.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + if pointed_thing.type ~= "node" then + return itemstack + end + if not is_water(pointed_thing.under) then + return itemstack + end + pointed_thing.under.y = pointed_thing.under.y + 0.5 + boat = minetest.add_entity(pointed_thing.under, "boats:boat") + if boat then + if placer then + boat:set_yaw(placer:get_look_horizontal()) + end + local player_name = placer and placer:get_player_name() or "" + if not (creative and creative.is_enabled_for and + creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + end + return itemstack + end, +}) + + +minetest.register_craft({ + output = "boats:boat", + recipe = { + {"", "", "" }, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "boats:boat", + burntime = 20, +}) diff --git a/mods/boats/license.txt b/mods/boats/license.txt new file mode 100644 index 0000000..d4afe75 --- /dev/null +++ b/mods/boats/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures and model) +-------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Zeg9 +Copyright (C) 2012-2016 thetoon +Copyright (C) 2012-2016 PavelS(SokolovPavel) +Copyright (C) 2016 sofar (sofar@foo-projects.org) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/boats/models/boats_boat.obj b/mods/boats/models/boats_boat.obj new file mode 100644 index 0000000..0f21e47 --- /dev/null +++ b/mods/boats/models/boats_boat.obj @@ -0,0 +1,358 @@ +# Blender v2.76 (sub 11) OBJ File: 'boat.blend' +# www.blender.org +mtllib boat.mtl +o boats_boat +v -6.786140 -3.033999 -9.415440 +v -6.786140 -1.967150 -9.415440 +v -6.786140 -1.967150 8.793510 +v -6.786140 -3.033999 8.793510 +v 5.732520 -1.967150 -9.415440 +v 5.732520 -3.033999 -9.415440 +v 5.732520 -3.033999 8.793510 +v 5.732520 -1.967150 8.793510 +v -2.233900 -3.033999 -9.415440 +v -2.233900 -1.967150 -9.415440 +v -2.233900 -1.967150 8.793510 +v -2.233900 -3.033999 8.793510 +v 2.318340 -3.033999 -9.415440 +v 2.318340 -1.967150 -9.415440 +v 2.318340 -1.967150 8.793510 +v 2.318340 -3.033999 8.793510 +v -3.371960 -3.033999 8.793510 +v -3.371960 -1.967150 8.793510 +v -3.371960 -1.967150 -9.415440 +v -3.371960 -3.033999 -9.415440 +v 2.318340 0.276645 8.793510 +v 1.180280 -1.967150 8.793510 +v 5.732520 0.276645 8.793510 +v 5.732520 1.039180 8.793510 +v 6.870580 0.276645 8.793510 +v 6.870580 -1.967150 8.793510 +v 2.318340 1.039180 8.793510 +v 1.180280 0.276645 8.793510 +v 1.180280 1.039180 8.793510 +v 1.180280 -3.033999 8.793510 +v -2.233900 0.276645 8.793510 +v -3.371960 0.276645 8.793510 +v -2.233900 1.039180 8.793510 +v -3.371960 1.039180 8.793510 +v -6.786140 0.276645 8.793510 +v -7.786200 0.276645 8.793510 +v -7.786200 -1.967150 8.793510 +v -6.786140 1.039180 8.793510 +v 1.180280 -1.967150 -9.415440 +v 1.180280 -3.033999 -9.415440 +v 2.318340 0.276645 -9.415440 +v 1.180280 0.276645 -9.415440 +v 2.318340 1.039180 -9.415440 +v 5.732520 0.276645 -9.415440 +v 6.870580 -1.967150 -9.415440 +v 5.732520 1.039180 -9.415440 +v 6.870580 0.276645 -9.415440 +v 0.042220 1.039180 -9.415440 +v 1.180280 1.039180 -9.415440 +v 0.042220 -1.967150 -9.415440 +v -1.095840 -1.967150 -9.415440 +v -2.233900 0.276645 -9.415440 +v -3.371960 0.276645 -9.415440 +v -2.233900 1.039180 -9.415440 +v -1.095840 1.039180 -9.415440 +v -3.371960 1.039180 -9.415440 +v -6.786140 0.276645 -9.415440 +v -6.786140 1.039180 -9.415440 +v -7.786200 -1.967150 -9.415440 +v -7.786200 0.276645 -9.415440 +v -1.095840 0.156645 -12.044100 +v -1.095840 -4.601110 -9.415440 +v -1.095840 1.039181 -10.802900 +v -1.095840 2.868579 -10.802900 +v -1.095840 2.868580 -7.883420 +v -1.095840 3.746069 -12.034100 +v -1.095840 3.746070 -7.883420 +v -1.095840 0.156645 -14.294900 +v -1.095840 -4.601110 -14.284900 +v 0.042220 -4.601110 -14.284900 +v 0.042220 -4.601110 -9.415440 +v 0.042220 1.039181 -10.802900 +v 0.042220 0.156645 -12.044100 +v 0.042220 2.868579 -10.802900 +v 0.042220 0.156645 -14.294900 +v 0.042220 3.746069 -12.034100 +v 0.042220 3.746070 -7.883420 +v 0.042220 2.868580 -7.883420 +v -1.096322 -3.033999 -9.415440 +v 0.044046 -3.035397 -9.415440 +vt 1.000000 0.187500 +vt -1.000000 0.312500 +vt 1.000000 0.312500 +vt 0.687500 1.000000 +vt 0.500000 0.875000 +vt 0.500000 0.625000 +vt -1.000000 0.062500 +vt 1.000000 0.062500 +vt 1.000000 -0.000000 +vt -1.000000 0.125000 +vt 1.000000 0.125000 +vt 0.437500 0.125000 +vt 0.312500 0.500000 +vt 0.312500 0.125000 +vt 1.000000 0.625000 +vt -1.000000 0.500000 +vt 1.000000 0.500000 +vt 0.187500 0.687500 +vt -0.187500 0.687500 +vt -0.187500 0.312500 +vt 1.000000 0.812500 +vt -1.000000 0.937500 +vt -1.000000 0.812500 +vt 0.812500 0.687500 +vt 1.187500 0.687500 +vt 0.812500 0.312500 +vt 1.000000 0.562500 +vt 0.312500 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.750000 +vt -1.000000 0.875000 +vt -1.000000 0.750000 +vt -1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.437500 0.625000 +vt 0.562500 0.437500 +vt 0.562500 0.625000 +vt -1.000000 0.437500 +vt -1.000000 0.000000 +vt 0.500000 0.062500 +vt 0.375000 0.750000 +vt 0.500000 0.750000 +vt -1.000000 0.250000 +vt -1.000000 0.687500 +vt 1.000000 0.687500 +vt 0.625000 0.375000 +vt 1.000000 0.375000 +vt 1.000000 0.250000 +vt 1.000000 0.937500 +vt 0.437500 0.812500 +vt 0.312500 0.312500 +vt 0.312500 0.812500 +vt 0.437500 0.312500 +vt 0.437500 0.437500 +vt 0.687500 0.812500 +vt 0.000000 0.687500 +vt 0.000000 0.812500 +vt -1.000000 0.562500 +vt 0.875000 0.812500 +vt 0.875000 0.687500 +vt 0.250000 0.312500 +vt 0.562500 0.187500 +vt 0.250000 0.187500 +vt -1.000000 0.187500 +vt 0.312500 0.625000 +vt 0.312500 0.187500 +vt 0.312500 -0.187500 +vt 1.000000 -0.187500 +vt 0.687500 0.500000 +vt -0.000000 1.000000 +vt 0.000000 0.875000 +vt 0.437500 0.500000 +vt -1.000000 0.625000 +vt 0.812500 0.187500 +vt 1.187500 0.187500 +vt 1.187500 0.312500 +vt 1.312500 0.312500 +vt 1.312500 0.687500 +vt 0.687500 0.187500 +vt 0.687500 0.312500 +vt 1.187500 0.812500 +vt 0.812500 0.812500 +vt 0.187500 0.312500 +vt 0.312500 0.687500 +vt 0.687500 0.687500 +vt -0.187500 0.187500 +vt 0.187500 0.187500 +vt -0.312500 0.687500 +vt -0.312500 0.312500 +vt 0.187500 0.812500 +vt -0.187500 0.812500 +vt 0.437500 0.687500 +vt 0.437500 0.187500 +vt 0.562500 0.812500 +vt 0.562500 0.687500 +vt 0.312500 0.562500 +vt 1.000000 0.875000 +vt 0.375000 0.062500 +vt -1.000000 0.375000 +vt 0.625000 0.500000 +vt 0.875000 0.562500 +vt 0.937500 0.812500 +vt 0.937500 0.687500 +vt 0.875000 0.937500 +vt 0.562500 0.312500 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -0.002100 -1.000000 +vn 0.001200 -1.000000 0.000000 +vn 0.000000 0.002800 -1.000000 +vn -0.001200 -1.000000 0.000200 +g boats_boat_boats_boat_None +usemtl None +s off +f 41/1/1 27/2/1 43/3/1 +f 76/4/2 74/5/2 72/6/2 +f 8/7/2 6/1/2 5/8/2 +f 15/9/1 13/10/1 16/11/1 +f 51/12/3 71/13/3 50/14/3 +f 56/15/2 32/16/2 53/17/2 +f 15/18/3 8/19/3 23/20/3 +f 22/21/2 40/22/2 39/23/2 +f 19/24/4 2/25/4 53/26/4 +f 70/27/5 62/28/5 69/29/5 +f 11/30/5 19/31/5 10/32/5 +f 4/15/5 20/33/5 17/34/5 +f 72/35/3 64/36/3 63/37/3 +f 13/8/5 7/38/5 16/7/5 +f 23/39/6 47/11/6 44/9/6 +f 68/40/7 70/41/7 69/42/7 +f 80/43/8 40/10/8 30/11/8 +f 3/15/1 1/32/1 4/30/1 +f 20/44/2 18/27/2 17/45/2 +f 74/17/5 65/46/5 64/47/5 +f 31/43/1 54/47/1 52/48/1 +f 22/47/5 14/43/5 15/48/5 +f 46/1/2 23/7/2 44/8/2 +f 57/21/1 38/22/1 58/49/1 +f 61/50/9 76/51/9 73/52/9 +f 37/45/5 2/23/5 3/21/5 +f 78/28/3 67/53/3 65/54/3 +f 64/5/1 66/4/1 63/6/1 +f 76/55/6 67/56/6 77/57/6 +f 47/17/2 26/10/2 45/11/2 +f 5/16/5 26/47/5 8/17/5 +f 33/58/6 48/59/6 55/60/6 +f 29/38/2 42/3/2 49/29/2 +f 32/44/6 52/21/6 53/45/6 +f 58/15/6 34/33/6 56/34/6 +f 27/7/6 46/29/6 43/8/6 +f 73/61/6 68/62/6 61/63/6 +f 21/58/6 42/29/6 28/38/6 +f 11/29/1 9/58/1 12/27/1 +f 59/45/1 36/2/1 60/3/1 +f 60/9/6 35/10/6 57/11/6 +f 41/1/1 21/64/1 27/2/1 +f 72/6/2 48/65/2 50/66/2 +f 50/66/2 71/67/2 70/68/2 +f 70/68/2 75/17/2 73/69/2 +f 76/4/2 77/70/2 74/5/2 +f 77/70/2 78/71/2 74/5/2 +f 50/66/2 70/68/2 73/69/2 +f 73/69/2 76/4/2 72/6/2 +f 72/6/2 50/66/2 73/69/2 +f 8/7/2 7/64/2 6/1/2 +f 15/9/1 14/39/1 13/10/1 +f 51/12/3 62/72/3 71/13/3 +f 56/15/2 34/73/2 32/16/2 +f 32/26/3 34/74/3 38/75/3 +f 35/76/3 36/77/3 37/78/3 +f 32/26/3 38/75/3 35/76/3 +f 29/66/3 33/79/3 31/80/3 +f 32/26/3 35/76/3 3/25/3 +f 28/51/3 29/66/3 31/80/3 +f 31/80/3 32/26/3 18/24/3 +f 3/25/3 4/81/3 17/82/3 +f 35/76/3 37/78/3 3/25/3 +f 21/83/3 28/51/3 22/84/3 +f 3/25/3 17/82/3 18/24/3 +f 11/85/3 12/55/3 30/52/3 +f 32/26/3 3/25/3 18/24/3 +f 11/85/3 30/52/3 22/84/3 +f 31/80/3 18/24/3 11/85/3 +f 24/86/3 27/87/3 21/83/3 +f 28/51/3 31/80/3 11/85/3 +f 11/85/3 22/84/3 28/51/3 +f 24/86/3 21/83/3 23/20/3 +f 26/88/3 25/89/3 23/20/3 +f 23/20/3 21/83/3 15/18/3 +f 15/18/3 16/90/3 7/91/3 +f 21/83/3 22/84/3 15/18/3 +f 8/19/3 26/88/3 23/20/3 +f 15/18/3 7/91/3 8/19/3 +f 22/21/2 30/49/2 40/22/2 +f 47/89/4 45/88/4 5/19/4 +f 5/19/4 6/91/4 13/90/4 +f 5/19/4 13/90/4 14/18/4 +f 44/20/4 47/89/4 5/19/4 +f 43/87/4 46/86/4 44/20/4 +f 41/83/4 43/87/4 44/20/4 +f 44/20/4 5/19/4 14/18/4 +f 39/84/4 40/52/4 80/50/4 +f 44/20/4 14/18/4 41/83/4 +f 42/51/4 41/83/4 39/84/4 +f 39/84/4 80/50/4 50/92/4 +f 41/83/4 14/18/4 39/84/4 +f 48/93/4 49/66/4 42/51/4 +f 50/92/4 48/93/4 42/51/4 +f 80/50/4 79/94/4 50/92/4 +f 50/92/4 42/51/4 39/84/4 +f 54/79/4 55/62/4 52/80/4 +f 50/92/4 79/94/4 51/95/4 +f 52/80/4 55/62/4 51/95/4 +f 51/95/4 79/94/4 10/85/4 +f 79/94/4 9/55/4 10/85/4 +f 53/26/4 52/80/4 10/85/4 +f 58/75/4 56/74/4 53/26/4 +f 59/78/4 60/77/4 57/76/4 +f 57/76/4 58/75/4 53/26/4 +f 52/80/4 51/95/4 10/85/4 +f 19/24/4 20/82/4 1/81/4 +f 53/26/4 10/85/4 19/24/4 +f 59/78/4 57/76/4 2/25/4 +f 19/24/4 1/81/4 2/25/4 +f 2/25/4 57/76/4 53/26/4 +f 70/27/5 71/96/5 62/28/5 +f 11/30/5 18/97/5 19/31/5 +f 4/15/5 1/73/5 20/33/5 +f 72/35/3 74/54/3 64/36/3 +f 13/8/5 6/29/5 7/38/5 +f 23/39/6 25/10/6 47/11/6 +f 68/40/7 75/98/7 70/41/7 +f 30/11/5 12/17/5 79/99/5 +f 79/99/10 80/43/10 30/11/10 +f 12/17/5 9/16/5 79/99/5 +f 3/15/1 2/73/1 1/32/1 +f 20/44/2 19/58/2 18/27/2 +f 74/17/5 78/100/5 65/46/5 +f 31/43/1 33/99/1 54/47/1 +f 22/47/5 39/99/5 14/43/5 +f 46/1/2 24/64/2 23/7/2 +f 57/21/1 35/23/1 38/22/1 +f 61/50/9 66/53/9 76/51/9 +f 37/45/5 59/44/5 2/23/5 +f 78/28/3 77/51/3 67/53/3 +f 62/67/1 51/66/1 69/68/1 +f 51/66/1 55/65/1 63/6/1 +f 68/17/1 69/68/1 61/69/1 +f 61/69/1 69/68/1 51/66/1 +f 61/69/1 51/66/1 63/6/1 +f 65/71/1 67/70/1 64/5/1 +f 61/69/1 63/6/1 66/4/1 +f 64/5/1 67/70/1 66/4/1 +f 76/55/6 66/85/6 67/56/6 +f 47/17/2 25/16/2 26/10/2 +f 5/16/5 45/99/5 26/47/5 +f 55/60/6 54/101/6 33/58/6 +f 33/58/6 29/22/6 48/59/6 +f 48/59/6 72/102/6 63/103/6 +f 29/22/6 49/104/6 48/59/6 +f 48/59/6 63/103/6 55/60/6 +f 29/38/2 28/2/2 42/3/2 +f 32/44/6 31/23/6 52/21/6 +f 58/15/6 38/73/6 34/33/6 +f 27/7/6 24/38/6 46/29/6 +f 73/61/6 75/105/6 68/62/6 +f 21/58/6 41/27/6 42/29/6 +f 11/29/1 10/38/1 9/58/1 +f 59/45/1 37/44/1 36/2/1 +f 60/9/6 36/39/6 35/10/6 diff --git a/mods/boats/textures/boats_inventory.png b/mods/boats/textures/boats_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d082e31625c099490403a56906e922e2ea9e72 GIT binary patch literal 851 zcmV-Z1FZasP)>bI*)Nhm3B#3M=*L}JA!9HRz@*?WkF_AHc>+{j&Vqga7ao&Fo0-9c3?qe zR6TE8K~_mQd16INLponkKt(}5WKJ!rg-)P-N|<*>n|VftYCWQVN|tp)lXF9CR4=E3 zOr(KKj&DGUY(02gHk*4$o_j}wXFGsoI(Az!X;LqbaYBP;IB-`nU`i^CZ9s@>J9}X` zfn+vxTQz)OGkIP!b6GQIP%D~uM3QnrjBPxHXgYjiIcifdYEmsuJRy~ILX>krh-o=* zRxVvgDOf}&RYE14TQCv;002C6QchCF4C!)z#F_%)z?4wzjROrk zg#{I`ySuwv-~76p?lSrRYdN5Rg6?&ebLY%6bI z-nq};QSUzDun5`WTPSq6&@T6!4T~zlRFQC4DK5=Fe3b*&Ya)cAoQkrdfMie}9i0xe zz~?6l6eFw~7^$inDe-2?0((6T_%UzsiV=4?0YXMn^bDJenO^0@Ux!aE$C4=nlr4i( z(PP4u1SpW_7tagT{`IYM^0Q2Yu*Js)!RYZ%-d*VW}xw7 zaApN-Y~D;pq@3fvR?>;w(8Xe_NsBv}aFJ|=eSC6WN`O!7e>1udibU2qhRMiIzEB)* zz?%b_L?gY|lx( dAMEQD2kZ(bZYdv#XGG|aNV@)bxN++y^OPh8>jBr72S2Jx@ zEq`V`bXzl5Ml)+vF{gq~lypUiY(0~3JcMdHePla>X*qgeIeTF;sDn>~YCw8oK3YX8 zrGQMLeMpvbK#FcWQA99aNi0-BCX#bOh-W%uPB2P9FlkXKY*si?Jt3KPNPu87y7d!z z00001bW%=J06^y0W&i*IG)Y83R5;7+kXv?xAQVLd0)l9aK=G|HzG95cYyNX9w)v3N zA++~>xdBdTSqmSkCILNo9`d~K_;lU?lIGZh zQFU*qD3P!_$ZW(2`cRN^UHThnhBcH6gwu5h7)qtBnMH~{9t1b9 k#*!tWkz&lBcYo-<03BBywb>I+MgRZ+07*qoM6N<$f=^K0k^lez literal 0 HcmV?d00001 diff --git a/mods/bones/README.txt b/mods/bones/README.txt new file mode 100644 index 0000000..91bcd10 --- /dev/null +++ b/mods/bones/README.txt @@ -0,0 +1,12 @@ +Minetest Game mod: bones +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +All textures: paramat (CC BY-SA 3.0) diff --git a/mods/bones/depends.txt b/mods/bones/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/bones/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/bones/init.lua b/mods/bones/init.lua new file mode 100644 index 0000000..859ead8 --- /dev/null +++ b/mods/bones/init.lua @@ -0,0 +1,287 @@ +-- Minetest 0.4 mod: bones +-- See README.txt for licensing and other information. + +bones = {} + +local function is_owner(pos, name) + local owner = minetest.get_meta(pos):get_string("owner") + if owner == "" or owner == name or minetest.check_player_privs(name, "protection_bypass") then + return true + end + return false +end + +local bones_formspec = + "size[8,9]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[current_name;main;0,0.3;8,4;]" .. + "list[current_player;main;0,4.85;8,1;]" .. + "list[current_player;main;0,6.08;8,3;8]" .. + "listring[current_name;main]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0,4.85) + +local share_bones_time = tonumber(minetest.settings:get("share_bones_time")) or 1200 +local share_bones_time_early = tonumber(minetest.settings:get("share_bones_time_early")) or share_bones_time / 4 + +minetest.register_node("bones:bones", { + description = "Bones", + tiles = { + "bones_top.png^[transform2", + "bones_bottom.png", + "bones_side.png", + "bones_side.png", + "bones_rear.png", + "bones_front.png" + }, + paramtype2 = "facedir", + groups = {dig_immediate = 2}, + sounds = default.node_sound_gravel_defaults(), + + can_dig = function(pos, player) + local inv = minetest.get_meta(pos):get_inventory() + local name = "" + if player then + name = player:get_player_name() + end + return is_owner(pos, name) and inv:is_empty("main") + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if is_owner(pos, player:get_player_name()) then + return count + end + return 0 + end, + + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + return 0 + end, + + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if is_owner(pos, player:get_player_name()) then + return stack:get_count() + end + return 0 + end, + + on_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if meta:get_inventory():is_empty("main") then + local inv = player:get_inventory() + if inv:room_for_item("main", {name = "bones:bones"}) then + inv:add_item("main", {name = "bones:bones"}) + else + minetest.add_item(pos, "bones:bones") + end + minetest.remove_node(pos) + end + end, + + on_punch = function(pos, node, player) + if not is_owner(pos, player:get_player_name()) then + return + end + + if minetest.get_meta(pos):get_string("infotext") == "" then + return + end + + local inv = minetest.get_meta(pos):get_inventory() + local player_inv = player:get_inventory() + local has_space = true + + for i = 1, inv:get_size("main") do + local stk = inv:get_stack("main", i) + if player_inv:room_for_item("main", stk) then + inv:set_stack("main", i, nil) + player_inv:add_item("main", stk) + else + has_space = false + break + end + end + + -- remove bones if player emptied them + if has_space then + if player_inv:room_for_item("main", {name = "bones:bones"}) then + player_inv:add_item("main", {name = "bones:bones"}) + else + minetest.add_item(pos,"bones:bones") + end + minetest.remove_node(pos) + end + end, + + on_timer = function(pos, elapsed) + local meta = minetest.get_meta(pos) + local time = meta:get_int("time") + elapsed + if time >= share_bones_time then + meta:set_string("infotext", meta:get_string("owner") .. "'s old bones") + meta:set_string("owner", "") + else + meta:set_int("time", time) + return true + end + end, + on_blast = function(pos) + end, +}) + +local function may_replace(pos, player) + local node_name = minetest.get_node(pos).name + local node_definition = minetest.registered_nodes[node_name] + + -- if the node is unknown, we return false + if not node_definition then + return false + end + + -- allow replacing air and liquids + if node_name == "air" or node_definition.liquidtype ~= "none" then + return true + end + + -- don't replace filled chests and other nodes that don't allow it + local can_dig_func = node_definition.can_dig + if can_dig_func and not can_dig_func(pos, player) then + return false + end + + -- default to each nodes buildable_to; if a placed block would replace it, why shouldn't bones? + -- flowers being squished by bones are more realistical than a squished stone, too + -- exception are of course any protected buildable_to + return node_definition.buildable_to and not minetest.is_protected(pos, player:get_player_name()) +end + +local drop = function(pos, itemstack) + local obj = minetest.add_item(pos, itemstack:take_item(itemstack:get_count())) + if obj then + obj:set_velocity({ + x = math.random(-10, 10) / 9, + y = 5, + z = math.random(-10, 10) / 9, + }) + end +end + +local player_inventory_lists = { "main", "craft" } +bones.player_inventory_lists = player_inventory_lists + +local function is_all_empty(player_inv) + for _, list_name in ipairs(player_inventory_lists) do + if not player_inv:is_empty(list_name) then + return false + end + end + return true +end + +minetest.register_on_dieplayer(function(player) + if not player then + return + end + -- TODO FIXME Don't kill dead players? + local bones_mode = minetest.settings:get("bones_mode") or "bones" + if bones_mode ~= "bones" and bones_mode ~= "drop" and bones_mode ~= "keep" then + bones_mode = "bones" + end + + local bones_position_message = minetest.settings:get_bool("bones_position_message") == true + local player_name = player:get_player_name() + local pos = vector.round(player:get_pos()) + local pos_string = minetest.pos_to_string(pos) + + -- return if keep inventory set or in creative mode + if bones_mode == "keep" or (creative and creative.is_enabled_for + and creative.is_enabled_for(player:get_player_name())) then + --[[minetest.log("action", player_name .. " dies at " .. pos_string .. + ". No bones placed")]] + if bones_position_message then + minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") + end + return + end + + local player_inv = player:get_inventory() + if is_all_empty(player_inv) then + minetest.log("action", player_name .. " dies at " .. pos_string .. + ". No bones placed") + if bones_position_message then + minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") + end + return + end + + -- check if it's possible to place bones, if not find space near player + if bones_mode == "bones" and not may_replace(pos, player) then + local air = minetest.find_node_near(pos, 1, {"air"}) + if air and not minetest.is_protected(air, player_name) then + pos = air + else + bones_mode = "drop" + end + end + + if bones_mode == "drop" then + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + drop(pos, player_inv:get_stack(list_name, i)) + end + player_inv:set_list(list_name, {}) + end + drop(pos, ItemStack("bones:bones")) + minetest.log("action", player_name .. " dies at " .. pos_string .. + ". Inventory dropped") + if bones_position_message then + minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. + ", and dropped their inventory.") + end + return + end + + local param2 = minetest.dir_to_facedir(player:get_look_dir()) + minetest.set_node(pos, {name = "bones:bones", param2 = param2}) + + minetest.log("action", player_name .. " dies at " .. pos_string .. + ". Bones placed") + if bones_position_message then + minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. + ", and bones were placed.") + end + + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("main", 8 * 4) + + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + local stack = player_inv:get_stack(list_name, i) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else -- no space left + drop(pos, stack) + end + end + player_inv:set_list(list_name, {}) + end + + meta:set_string("formspec", bones_formspec) + meta:set_string("owner", player_name) + + if share_bones_time ~= 0 then + meta:set_string("infotext", player_name .. "'s fresh bones") + + if share_bones_time_early == 0 or not minetest.is_protected(pos, player_name) then + meta:set_int("time", 0) + else + meta:set_int("time", (share_bones_time - share_bones_time_early)) + end + + minetest.get_node_timer(pos):start(10) + else + meta:set_string("infotext", player_name.."'s bones") + end +end) diff --git a/mods/bones/license.txt b/mods/bones/license.txt new file mode 100644 index 0000000..fe52584 --- /dev/null +++ b/mods/bones/license.txt @@ -0,0 +1,58 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2016 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + diff --git a/mods/bones/textures/bones_bottom.png b/mods/bones/textures/bones_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..859c6bbe243f4f1f7397a95007df53e52432a00b GIT binary patch literal 740 zcmVC+k?{+(k@!Q)QrL-)|BuQ-Bj-n`vq9jS;I7SE!1_O@cP`BH4 zUDvkl)oN8$l^_T&FE5==r)io49su$@&$6uB?Y3=;CX-3qwhY5al7tZAd44vVWm)$7 z`-?G7)AW#}l(H-BnSdRXgnTcj1L;6v}qcaWe@+9 zWtn9e##mL=`FxIKStf++_j_5Eo2ChZAkT9`i0}LB^?EQEP)ZqwF->RO$pJ42f}$vdkkM%5`@UfqcXxLT&-3f`n&k|dU8zrMcS-`^>vs;Y7v=XqWb1e&H5Md3IOrS#vwfByjk WgJ0kD14Ksv0000qC?hP5b0006nNkl2%6Dw{6?^eJu!r!C+un*2~MwUkgepA;f00S*=#OVHf~rvss${=H>>#?d|RV zJc^<;bUvTg7K=r-S{)1qdwY8T2qA=!^zaXFwOVOt0GUpwvs$eRg~H?GqvJTgTDrcz zzQ4Z*U|E(Ph9M!OQmH7VeiWn82*BatVLFb-W5X~grQL2fW7{^RlrfgJBZNp>6GF^p zGuyV)pB@|>xUO5T*ELFM>d$rEr>7?X$H&LIt^>&Ba-4HYsbyJ02-7rsy`IJxdwY9h zjQPG_E|5SC5uVlIWn@`Z1zWqxmA=Dj)F zZnsLQEX!=$etdicu-onK@9%fJU6Le1h?|?6EX(@7cU|}V{QN8kg2Un9c^-h5mlpuf z&(DmpaU6Z$|NQ)9jOBR_Ac~@*D6C-^2q7027vner08o}?p68r%&bd;mX_~64wAM+I zD5Z!I#c@2F&CGkTSoD1_r5uLg{rw%l-Q694q9_0m$8pNC6hcfNIOlEKc3o!_0E7?# zx~|h&Tc^`$Hk$=Ouv{(;9)NYmFv0&Z@1g) z>+5L&0Da&0ec!e%0IRNR-}mDH6JEXQ%uG<6(DDdlG1WK06zMl00000NkvXXu0mjfV(}}) literal 0 HcmV?d00001 diff --git a/mods/bones/textures/bones_side.png b/mods/bones/textures/bones_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a07595f45f075dcb4e235a16e85707c435105bf5 GIT binary patch literal 700 zcmV;t0z>_YP)T+F%Hc{ z+9ZuhgP}wbL6Nv9t^`5o%HQn5T~{qyP$WtksuD<=gvoa&>Y_j3-e-Fb4+qZP{r!EG zWkC>#qIh$20|4{+{OamzKA(G@XBfum>1hxIbzPgLi4fwOruqK<)^!~rR20Sg`+HfI zo6UwXc6oUj$MLSvG>xWd>-C!N^?Dq~sjAvE&1$uZqA1Vvs;Z8Uk1fl3etzz{?(6I8 z=jW%Ys;a8?Ow$AaN~x-d4BEDx&1QrU0Lb$k0C>YNHk*xM7`m>% zzP^q|qr<~PK@hgvZJMUPzrUl=2q8oW+27v>0A7~mUa#jk&dJFM0NA!&mSxv<>-D;ZPJs zfl})G{$jC!e{pwrmn4Z`7zX?wd7jI%EW~ka+qUbvx3{;m+01bqLP!{f0I*yxRaGT~ z$g;d#E-}Ucu;;pNk|cw{V6j+STwDl(z!;;H%Cfu@+qMk=kB^T4FdmP2LI}_Ej^iMN zb{S)=>pDRYcK_6MT@(dENYk{*WWpg4XwwZ%8cVxWixdsR|NQ<3YfCf=dL zh2P}wOo#7$=leK+a_x3|v)M4lG)=p^y90nA2tc+j)2WmaDJTp>N+|%eS}lz6a5w~jZnv9d*0mH8 z>dM(Hk&HP7)Md$`+m;zJYCm?5RT(K zK0Y3GxVgEZlxmu0S=I^XJPbp}ao*qGm8$Eyiq~v5m4lRWwOSnxhxK}mOw$B_IF2pL z0suAcd_D(&*Vk9ox!>;rV7uL(pP!>7No?B=g24Cv+uPepr9uel_xoy_lu|;7=XvAt zSO@_Ch!DaUb6xl4<;C;7G)+|j06fnF0Nb_!U^bg65N)?xP17zeE~J#UZF9~!=l{m# zoHND{LZ)eAj2n$cPF+#gbwbF~)6>x{bvm7Lx%~P0S*=zP##kLCNfP)^IF2)$%`D4$ zdwWB=u7_cGb#=8`tsWj8>h*dY$D`56_x(7I8Do^va=C2Vwo*L3zrWA2tXM1}gqF+Y wWHOOb8it{18e{DH`@2*s?RGo$d4)pZ4^$-&G#q75nE(I)07*qoM6N<$f`G6tr2qf` literal 0 HcmV?d00001 diff --git a/mods/bucket/README.txt b/mods/bucket/README.txt new file mode 100644 index 0000000..58997b2 --- /dev/null +++ b/mods/bucket/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: bucket +========================= +See license.txt for license information. + +Authors of source code +---------------------- +Kahrl (LGPLv2.1+) +celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures) +--------------------------- +ElementW (CC BY-SA 3.0) 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..1d37cb4 --- /dev/null +++ b/mods/bucket/init.lua @@ -0,0 +1,222 @@ +-- 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 = {} + +local function check_protection(pos, name, text) + if minetest.is_protected(pos, name) then + minetest.log("action", (name ~= "" and name or "A mod") + .. " tried to " .. text + .. " at protected position " + .. minetest.pos_to_string(pos) + .. " with a bucket") + minetest.record_protection_violation(pos, name) + return true + end + return false +end + +-- 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) +-- name = text description of the bucket item +-- groups = (optional) groups of the bucket item, for example {water_bucket = 1} +-- force_renew = (optional) bool. Force the liquid source to renew if it has a +-- source neighbour, even if defined as 'liquid_renewable = false'. +-- Needed to avoid creating holes in sloping rivers. +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image, name, + groups, force_renew) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + force_renew = force_renew, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + description = name, + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + groups = groups, + + on_place = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + + local node = minetest.get_node_or_nil(pointed_thing.under) + local ndef = node and minetest.registered_nodes[node.name] + + -- Call on_rightclick if the pointed node defines it + if ndef and ndef.on_rightclick and + not (user and user:is_player() and + user:get_player_control().sneak) then + return ndef.on_rightclick( + pointed_thing.under, + node, user, + itemstack) + end + + local lpos + + -- Check if pointing to a buildable node + if ndef and ndef.buildable_to then + -- buildable; replace the node + lpos = pointed_thing.under + else + -- not buildable to; place the liquid above + -- check if the node above can be replaced + + lpos = pointed_thing.above + node = minetest.get_node_or_nil(lpos) + local above_ndef = node and minetest.registered_nodes[node.name] + + if not above_ndef or not above_ndef.buildable_to then + -- do not remove the bucket with the liquid + return itemstack + end + end + + if check_protection(lpos, user + and user:get_player_name() + or "", "place "..source) then + return + end + + minetest.set_node(lpos, {name = source}) + return ItemStack("bucket:bucket_empty") + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = "Empty Bucket", + inventory_image = "bucket.png", + stack_max = 99, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type == "object" then + pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil) + return user:get_wielded_item() + elseif pointed_thing.type ~= "node" then + -- do nothing if it's neither object nor node + return + end + -- Check if pointing to a liquid source + local node = minetest.get_node(pointed_thing.under) + local liquiddef = bucket.liquids[node.name] + local item_count = user:get_wielded_item():get_count() + + if liquiddef ~= nil + and liquiddef.itemname ~= nil + and node.name == liquiddef.source then + if check_protection(pointed_thing.under, + user:get_player_name(), + "take ".. node.name) then + return + end + + -- default set to return filled bucket + local giving_back = liquiddef.itemname + + -- check if holding more than 1 empty bucket + if item_count > 1 then + + -- if space in inventory add filled bucked, otherwise drop as item + local inv = user:get_inventory() + if inv:room_for_item("main", {name=liquiddef.itemname}) then + inv:add_item("main", liquiddef.itemname) + else + local pos = user:get_pos() + pos.y = math.floor(pos.y + 0.5) + minetest.add_item(pos, liquiddef.itemname) + end + + -- set to return empty buckets minus 1 + giving_back = "bucket:bucket_empty "..tostring(item_count-1) + + end + + -- force_renew requires a source neighbour + local source_neighbor = false + if liquiddef.force_renew then + source_neighbor = + minetest.find_node_near(pointed_thing.under, 1, liquiddef.source) + end + if not (source_neighbor and liquiddef.force_renew) then + minetest.add_node(pointed_thing.under, {name = "air"}) + end + + return ItemStack(giving_back) + else + -- non-liquid nodes will have their on_punch triggered + local node_def = minetest.registered_nodes[node.name] + if node_def then + node_def.on_punch(pointed_thing.under, node, user, pointed_thing) + end + return user:get_wielded_item() + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png", + "Water Bucket", + {water_bucket = 1} +) + +-- River water source is 'liquid_renewable = false' to avoid horizontal spread +-- of water sources in sloping rivers that can cause water to overflow +-- riverbanks and cause floods. +-- River water source is instead made renewable by the 'force renew' option +-- used here. + +bucket.register_liquid( + "default:river_water_source", + "default:river_water_flowing", + "bucket:bucket_river_water", + "bucket_river_water.png", + "River Water Bucket", + {water_bucket = 1}, + true +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png", + "Lava Bucket" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, +}) + diff --git a/mods/bucket/license.txt b/mods/bucket/license.txt new file mode 100644 index 0000000..a5156ae --- /dev/null +++ b/mods/bucket/license.txt @@ -0,0 +1,51 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2016 Kahrl +Copyright (C) 2011-2016 celeron55, Perttu Ahola +Copyright (C) 2011-2016 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2015-2016 ElementW + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/bucket/textures/bucket.png b/mods/bucket/textures/bucket.png new file mode 100755 index 0000000000000000000000000000000000000000..17b0c4933e22c427c3317c8731be7e82bed88c42 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!R)9~4E09)DP;hi~^z!lw3JQve ziAhXMOiN44&(CjaYML-%!ug{*rJD|Y9vbrOw`~Uwu^GUtSK3>>)mVtfU{3R!srLCQ5=oso9==x}%$2p}vUhgt5 zX&)~5aOb!{s?PIM<_DBFB*>j>C|u8TTi-pdGJ{!U#`a<{py3Rju6{1-oD!MPLbWR{^y#mIV0)GdMiE zkp|>Mc)B=-RNU%4e^97FfrI731*MA)|Nmz%o-sGmVypW1M)qy<7n;xC^-Q9;aYgsa zxMi0(e_xxm@}aol?_jB`OcpnltD86rDj#(8P35`AtYFvA_n}a?p~m|hZ~lL#Lghsa R%0N39JYD@<);T3K0RZ+`QlbC= literal 0 HcmV?d00001 diff --git a/mods/bucket/textures/bucket_river_water.png b/mods/bucket/textures/bucket_river_water.png new file mode 100644 index 0000000000000000000000000000000000000000..d4648bb3f5c4588f9cfca82bf6f861d57e14339c GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE09)DP*7j>Rb$hC?O8wc zH~%o7^wqlYzxBGWUMs!^O!}XgnAp_RG-1Mo`Sa&5TefW1u3hbdf9-(U7)yfuf*Bm1 z-ADs+B0OCjLn?0dp7-W!FyLSb(2RKD{_)>((OfmdHFH9rJBsJnJLlVN&0c%U@k)3iGh3fA#K>(_Ze((jvj{)#)%Jp0!7yG{;ISpc&uMd{k7h7muF4a> Q1+;^~)78&qol`;+0Gnh|6aWAK literal 0 HcmV?d00001 diff --git a/mods/bucket/textures/bucket_water.png b/mods/bucket/textures/bucket_water.png new file mode 100644 index 0000000000000000000000000000000000000000..5af836bc8c524fecdfafa007a7d4a535ace25aba GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0AW0{K^pXpT+eDN74@g z`>#SO|3wnMDkvx@$9`3}`Jb4W*woZCVZwy@^XD&Hwrtm~UG~o}Edc6bED7=pW^j0R zBMr!j@N{tuskqg9-kYz%fP*D~G5Ur3$A8O3bJYyj%n5z&D4t`VoNu@FdQcX7WU$!H z$SsoJW_GlGJbmZ!%9LUTz5W*y7ce==S%e?=YJ0)0U>Gke@Ys^!=d?M}F`rmI_U_qy Q7ib5Ar>mdKI;Vst0EU@RssI20 literal 0 HcmV?d00001 diff --git a/mods/butterflies/README.txt b/mods/butterflies/README.txt new file mode 100644 index 0000000..a7f52a0 --- /dev/null +++ b/mods/butterflies/README.txt @@ -0,0 +1,14 @@ +Minetest Game mod: Butterflies +============================== +Adds butterflies to the world on mapgen, which can be caught in a net if the +fireflies mod is also enabled. + +Authors of source code +---------------------- +Shara RedCat (MIT) + +Authors of media (textures) +--------------------------- +Shara RedCat (CC BY-SA 3.0): + butterflies_butterfly_*.png + butterflies_butterfly_*_animated.png \ No newline at end of file diff --git a/mods/butterflies/depends.txt b/mods/butterflies/depends.txt new file mode 100644 index 0000000..df07aca --- /dev/null +++ b/mods/butterflies/depends.txt @@ -0,0 +1,2 @@ +default +flowers \ No newline at end of file diff --git a/mods/butterflies/init.lua b/mods/butterflies/init.lua new file mode 100644 index 0000000..008211e --- /dev/null +++ b/mods/butterflies/init.lua @@ -0,0 +1,133 @@ +-- register butterflies +local butter_list = { + {"white", "White"}, + {"red", "Red"}, + {"violet", "Violet"} +} + +for i in ipairs (butter_list) do + local name = butter_list[i][1] + local desc = butter_list[i][2] + + minetest.register_node("butterflies:butterfly_"..name, { + description = desc.." Butterfly", + drawtype = "plantlike", + tiles = {{ + name = "butterflies_butterfly_"..name.."_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3 + }, + }}, + inventory_image = "butterflies_butterfly_"..name..".png", + wield_image = "butterflies_butterfly_"..name..".png", + waving = 1, + paramtype = "light", + sunlight_propagates = true, + buildable_to = true, + walkable = false, + groups = {catchable = 1}, + selection_box = { + type = "fixed", + fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + }, + floodable = true, + on_place = function(itemstack, placer, pointed_thing) + local player_name = placer:get_player_name() + local pos = pointed_thing.above + + if not minetest.is_protected(pos, player_name) and + not minetest.is_protected(pointed_thing.under, player_name) and + minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name = "butterflies:butterfly_"..name}) + minetest.get_node_timer(pos):start(1) + itemstack:take_item() + end + return itemstack + end, + on_timer = function(pos, elapsed) + if minetest.get_node_light(pos) < 11 then + minetest.set_node(pos, {name = "butterflies:hidden_butterfly_"..name}) + end + minetest.get_node_timer(pos):start(30) + end + }) + + minetest.register_node("butterflies:hidden_butterfly_"..name, { + description = "Hidden "..desc.." Butterfly", + drawtype = "airlike", + inventory_image = "insects_butterfly_"..name..".png", + wield_image = "insects_butterfly_"..name..".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + floodable = true, + on_place = function(itemstack, placer, pointed_thing) + local player_name = placer:get_player_name() + local pos = pointed_thing.above + + if not minetest.is_protected(pos, player_name) and + not minetest.is_protected(pointed_thing.under, player_name) and + minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name = "butterflies:hidden_butterfly_"..name}) + minetest.get_node_timer(pos):start(1) + itemstack:take_item() + end + return itemstack + end, + on_timer = function(pos, elapsed) + if minetest.get_node_light(pos) >= 11 then + minetest.set_node(pos, {name = "butterflies:butterfly_"..name}) + end + minetest.get_node_timer(pos):start(30) + end + }) +end + +-- register decoration +minetest.register_decoration({ + name = "butterflies:butterfly", + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + place_offset_y = 2, + sidelen = 80, + fill_ratio = 0.005, + biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + y_max = 31000, + y_min = 1, + decoration = { + "butterflies:butterfly_white", + "butterflies:butterfly_red", + "butterflies:butterfly_violet" + }, + spawn_by = "group:flower", + num_spawn_by = 1 +}) + +-- get decoration ID +local butterflies = minetest.get_decoration_id("butterflies:butterfly") +minetest.set_gen_notify({decoration = true}, {butterflies}) + +-- start nodetimers +minetest.register_on_generated(function(minp, maxp, blockseed) + local gennotify = minetest.get_mapgen_object("gennotify") + local poslist = {} + + for _, pos in ipairs(gennotify["decoration#"..butterflies] or {}) do + local deco_pos = {x = pos.x, y = pos.y + 3, z = pos.z} + table.insert(poslist, deco_pos) + end + + if #poslist ~= 0 then + for i = 1, #poslist do + local pos = poslist[i] + minetest.get_node_timer(pos):start(1) + end + end +end) diff --git a/mods/butterflies/license.txt b/mods/butterflies/license.txt new file mode 100644 index 0000000..eebdad6 --- /dev/null +++ b/mods/butterflies/license.txt @@ -0,0 +1,58 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (c) 2018 Shara RedCat + +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. + +For more details: +https://opensource.org/licenses/MIT + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2018 Shara RedCat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ \ No newline at end of file diff --git a/mods/butterflies/textures/butterflies_butterfly_red.png b/mods/butterflies/textures/butterflies_butterfly_red.png new file mode 100644 index 0000000000000000000000000000000000000000..8edfc3659c113f648b8efa5771c2731110e254c3 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0Z;FaPSgNt$)$s%0Lcd zNswPKgTu2MX+Vy!r;B3<$Ms|dHUldL&Sh*#QgTe~DWM4f DxxpD+ literal 0 HcmV?d00001 diff --git a/mods/butterflies/textures/butterflies_butterfly_red_animated.png b/mods/butterflies/textures/butterflies_butterfly_red_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2097bd0447df99bbf0c6388fdf5e8124b86fdd GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr#0(_se=}|bQk(%kA+A9BdT{U(POX2@;mSY` zV@Z%-FoVOh8)-m}lBbJfh{pM31qKO67GdV8jm#Yx3clw9$~BMFHlGM>Ryx2Ce1n;{ TOe@C&sG7mk)z4*}Q$iB}%%LCs literal 0 HcmV?d00001 diff --git a/mods/butterflies/textures/butterflies_butterfly_violet.png b/mods/butterflies/textures/butterflies_butterfly_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..8b8c29ddf0edf7a2267a5ffb622b8bfe409962a7 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0Xm?XIC7gTe~DWM4f DkqH>G literal 0 HcmV?d00001 diff --git a/mods/butterflies/textures/butterflies_butterfly_violet_animated.png b/mods/butterflies/textures/butterflies_butterfly_violet_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..3f9d72e9fce79e261a27e5126b6dbfef4d548d42 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr#0(_se=}|bQk(%kA+A8WO=nje!<029YLY+> zV@Z%-FoVOh8)-m}lBbJfh{pM31qKO67GdV8jm#Yx3clw9$~BMFHlGM>Ryx2Ce1n;{ TOe@C&sG7mk)z4*}Q$iB}ne!i0 literal 0 HcmV?d00001 diff --git a/mods/butterflies/textures/butterflies_butterfly_white.png b/mods/butterflies/textures/butterflies_butterfly_white.png new file mode 100644 index 0000000000000000000000000000000000000000..db4eaec81fd2e2c958f22a6623f316a331f95bfc GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0Z<#|NnRH+zH(qeG~V%8lDfAy0;L%|UHx3vIVCg! E0GjX|`~Uy| literal 0 HcmV?d00001 diff --git a/mods/butterflies/textures/butterflies_butterfly_white_animated.png b/mods/butterflies/textures/butterflies_butterfly_white_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..e7cada39a9bc439eb7501472c4ccc843cef1b096 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr#0(_se=}|bQk(%kA+A9B|NsAw?_U0_cXbPp z!&nmJ7tG-B>_!@pqvYx07@~1LS%E>qkwut!Y9n(;hJx?;fO5?vwaq6&o0SeQ1m9rh UEz`>J0IFv2boFyt=akR{00r125C8xG literal 0 HcmV?d00001 diff --git a/mods/carts/README.txt b/mods/carts/README.txt new file mode 100644 index 0000000..c0be2d7 --- /dev/null +++ b/mods/carts/README.txt @@ -0,0 +1,23 @@ +Carts (formerly boost_cart) +========================== + +Carts, based almost entirely on the mod boost_cart [1], which +itself is based on (and fully compatible with) the carts mod [2]. + +The model was originally designed by stujones11 [3] (CC-0). + +Cart textures are based on original work from PixelBOX by Gambit (permissive +license). + + +[1] https://github.com/SmallJoker/boost_cart/ +[2] https://github.com/PilzAdam/carts/ +[3] https://github.com/stujones11/railcart/ + + +Features +---------- +- A fast cart for your railway or roller coaster (up to 7 m/s!) +- Boost and brake rails +- Rail junction switching with the 'right-left' walking keys +- Handbrake with the 'back' key diff --git a/mods/carts/cart_entity.lua b/mods/carts/cart_entity.lua new file mode 100644 index 0000000..855450d --- /dev/null +++ b/mods/carts/cart_entity.lua @@ -0,0 +1,428 @@ +local cart_entity = { + initial_properties = { + physical = false, -- otherwise going uphill breaks + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + visual = "mesh", + mesh = "carts_cart.b3d", + visual_size = {x=1, y=1}, + textures = {"carts_cart.png"}, + }, + + driver = nil, + punched = false, -- used to re-send velocity and position + velocity = {x=0, y=0, z=0}, -- only used on punch + old_dir = {x=1, y=0, z=0}, -- random value to start the cart on punch + old_pos = nil, + old_switch = 0, + railtype = nil, + attached_items = {} +} + +function cart_entity:on_rightclick(clicker) + if not clicker or not clicker:is_player() then + return + end + local player_name = clicker:get_player_name() + if self.driver and player_name == self.driver then + self.driver = nil + carts:manage_attachment(clicker, nil) + elseif not self.driver then + self.driver = player_name + carts:manage_attachment(clicker, self.object) + + -- player_api does not update the animation + -- when the player is attached, reset to default animation + player_api.set_animation(clicker, "stand") + end +end + +function cart_entity:on_activate(staticdata, dtime_s) + self.object:set_armor_groups({immortal=1}) + if string.sub(staticdata, 1, string.len("return")) ~= "return" then + return + end + local data = minetest.deserialize(staticdata) + if type(data) ~= "table" then + return + end + self.railtype = data.railtype + if data.old_dir then + self.old_dir = data.old_dir + end +end + +function cart_entity:get_staticdata() + return minetest.serialize({ + railtype = self.railtype, + old_dir = self.old_dir + }) +end + +-- 0.5.x and later: When the driver leaves +function cart_entity:on_detach_child(child) + if child and child:get_player_name() == self.driver then + self.driver = nil + end +end + +function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) + local pos = self.object:get_pos() + local vel = self.object:get_velocity() + if not self.railtype or vector.equals(vel, {x=0, y=0, z=0}) then + local node = minetest.get_node(pos).name + self.railtype = minetest.get_item_group(node, "connect_to_raillike") + end + -- Punched by non-player + if not puncher or not puncher:is_player() then + local cart_dir = carts:get_rail_direction(pos, self.old_dir, nil, nil, self.railtype) + if vector.equals(cart_dir, {x=0, y=0, z=0}) then + return + end + self.velocity = vector.multiply(cart_dir, 2) + self.punched = true + return + end + -- Player digs cart by sneak-punch + if puncher:get_player_control().sneak then + if self.sound_handle then + minetest.sound_stop(self.sound_handle) + end + -- Detach driver and items + if self.driver then + if self.old_pos then + self.object:set_pos(self.old_pos) + end + local player = minetest.get_player_by_name(self.driver) + carts:manage_attachment(player, nil) + end + for _, obj_ in ipairs(self.attached_items) do + if obj_ then + obj_:set_detach() + end + end + -- Pick up cart + local inv = puncher:get_inventory() + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(puncher:get_player_name())) + or not inv:contains_item("main", "carts:cart") then + local leftover = inv:add_item("main", "carts:cart") + -- If no room in inventory add a replacement cart to the world + if not leftover:is_empty() then + minetest.add_item(self.object:get_pos(), leftover) + end + end + self.object:remove() + return + end + -- Player punches cart to alter velocity + if puncher:get_player_name() == self.driver then + if math.abs(vel.x + vel.z) > carts.punch_speed_max then + return + end + end + + local punch_dir = carts:velocity_to_dir(puncher:get_look_dir()) + punch_dir.y = 0 + local cart_dir = carts:get_rail_direction(pos, punch_dir, nil, nil, self.railtype) + if vector.equals(cart_dir, {x=0, y=0, z=0}) then + return + end + + local punch_interval = 1 + if tool_capabilities and tool_capabilities.full_punch_interval then + punch_interval = tool_capabilities.full_punch_interval + end + time_from_last_punch = math.min(time_from_last_punch or punch_interval, punch_interval) + local f = 2 * (time_from_last_punch / punch_interval) + + self.velocity = vector.multiply(cart_dir, f) + self.old_dir = cart_dir + self.punched = true +end + +local function rail_on_step_event(handler, obj, dtime) + if handler then + handler(obj, dtime) + end +end + +-- sound refresh interval = 1.0sec +local function rail_sound(self, dtime) + if not self.sound_ttl then + self.sound_ttl = 1.0 + return + elseif self.sound_ttl > 0 then + self.sound_ttl = self.sound_ttl - dtime + return + end + self.sound_ttl = 1.0 + if self.sound_handle then + local handle = self.sound_handle + self.sound_handle = nil + minetest.after(0.2, minetest.sound_stop, handle) + end + local vel = self.object:get_velocity() + local speed = vector.length(vel) + if speed > 0 then + self.sound_handle = minetest.sound_play( + "carts_cart_moving", { + object = self.object, + gain = (speed / carts.speed_max) / 2, + loop = true, + }) + end +end + +local function get_railparams(pos) + local node = minetest.get_node(pos) + return carts.railparams[node.name] or {} +end + +local v3_len = vector.length +local function rail_on_step(self, dtime) + local vel = self.object:get_velocity() + if self.punched then + vel = vector.add(vel, self.velocity) + self.object:set_velocity(vel) + self.old_dir.y = 0 + elseif vector.equals(vel, {x=0, y=0, z=0}) then + return + end + + local pos = self.object:get_pos() + local cart_dir = carts:velocity_to_dir(vel) + local same_dir = vector.equals(cart_dir, self.old_dir) + local update = {} + + if self.old_pos and not self.punched and same_dir then + local flo_pos = vector.round(pos) + local flo_old = vector.round(self.old_pos) + if vector.equals(flo_pos, flo_old) then + -- Do not check one node multiple times + return + end + end + + local ctrl, player + + -- Get player controls + if self.driver then + player = minetest.get_player_by_name(self.driver) + if player then + ctrl = player:get_player_control() + end + end + + local stop_wiggle = false + if self.old_pos and same_dir then + -- Detection for "skipping" nodes (perhaps use average dtime?) + -- It's sophisticated enough to take the acceleration in account + local acc = self.object:get_acceleration() + local distance = dtime * (v3_len(vel) + 0.5 * dtime * v3_len(acc)) + + local new_pos, new_dir = carts:pathfinder( + pos, self.old_pos, self.old_dir, distance, ctrl, + self.old_switch, self.railtype + ) + + if new_pos then + -- No rail found: set to the expected position + pos = new_pos + update.pos = true + cart_dir = new_dir + end + elseif self.old_pos and self.old_dir.y ~= 1 and not self.punched then + -- Stop wiggle + stop_wiggle = true + end + + local railparams + + -- dir: New moving direction of the cart + -- switch_keys: Currently pressed L/R key, used to ignore the key on the next rail node + local dir, switch_keys = carts:get_rail_direction( + pos, cart_dir, ctrl, self.old_switch, self.railtype + ) + local dir_changed = not vector.equals(dir, self.old_dir) + + local new_acc = {x=0, y=0, z=0} + if stop_wiggle or vector.equals(dir, {x=0, y=0, z=0}) then + vel = {x = 0, y = 0, z = 0} + local pos_r = vector.round(pos) + if not carts:is_rail(pos_r, self.railtype) + and self.old_pos then + pos = self.old_pos + elseif not stop_wiggle then + pos = pos_r + else + pos.y = math.floor(pos.y + 0.5) + end + update.pos = true + update.vel = true + else + -- Direction change detected + if dir_changed then + vel = vector.multiply(dir, math.abs(vel.x + vel.z)) + update.vel = true + if dir.y ~= self.old_dir.y then + pos = vector.round(pos) + update.pos = true + end + end + -- Center on the rail + if dir.z ~= 0 and math.floor(pos.x + 0.5) ~= pos.x then + pos.x = math.floor(pos.x + 0.5) + update.pos = true + end + if dir.x ~= 0 and math.floor(pos.z + 0.5) ~= pos.z then + pos.z = math.floor(pos.z + 0.5) + update.pos = true + end + + -- Slow down or speed up.. + local acc = dir.y * -4.0 + + -- Get rail for corrected position + railparams = get_railparams(pos) + + -- no need to check for railparams == nil since we always make it exist. + local speed_mod = railparams.acceleration + if speed_mod and speed_mod ~= 0 then + -- Try to make it similar to the original carts mod + acc = acc + speed_mod + else + -- Handbrake or coast + if ctrl and ctrl.down then + acc = acc - 3 + else + acc = acc - 0.4 + end + end + + new_acc = vector.multiply(dir, acc) + end + + -- Limits + local max_vel = carts.speed_max + for _, v in pairs({"x","y","z"}) do + if math.abs(vel[v]) > max_vel then + vel[v] = carts:get_sign(vel[v]) * max_vel + new_acc[v] = 0 + update.vel = true + end + end + + self.object:set_acceleration(new_acc) + self.old_pos = vector.round(pos) + if not vector.equals(dir, {x=0, y=0, z=0}) and not stop_wiggle then + self.old_dir = vector.new(dir) + end + self.old_switch = switch_keys + + if self.punched then + -- Collect dropped items + for _, obj_ in pairs(minetest.get_objects_inside_radius(pos, 1)) do + if not obj_:is_player() and + obj_:get_luaentity() and + not obj_:get_luaentity().physical_state and + obj_:get_luaentity().name == "__builtin:item" then + + obj_:set_attach(self.object, "", {x=0, y=0, z=0}, {x=0, y=0, z=0}) + self.attached_items[#self.attached_items + 1] = obj_ + end + end + self.punched = false + update.vel = true + end + + railparams = railparams or get_railparams(pos) + + if not (update.vel or update.pos) then + rail_on_step_event(railparams.on_step, self, dtime) + return + end + + local yaw = 0 + if self.old_dir.x < 0 then + yaw = 0.5 + elseif self.old_dir.x > 0 then + yaw = 1.5 + elseif self.old_dir.z < 0 then + yaw = 1 + end + self.object:set_yaw(yaw * math.pi) + + local anim = {x=0, y=0} + if dir.y == -1 then + anim = {x=1, y=1} + elseif dir.y == 1 then + anim = {x=2, y=2} + end + self.object:set_animation(anim, 1, 0) + + if update.vel then + self.object:set_velocity(vel) + end + if update.pos then + if dir_changed then + self.object:set_pos(pos) + else + self.object:move_to(pos) + end + end + + -- call event handler + rail_on_step_event(railparams.on_step, self, dtime) +end + +function cart_entity:on_step(dtime) + rail_on_step(self, dtime) + rail_sound(self, dtime) +end + +minetest.register_entity("carts:cart", cart_entity) + +minetest.register_craftitem("carts:cart", { + description = "Cart (Sneak+Click to pick up)", + inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_side.png", "carts_cart_side.png"), + wield_image = "carts_cart_side.png", + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local udef = minetest.registered_nodes[node.name] + if udef and udef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return udef.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + if not pointed_thing.type == "node" then + return + end + if carts:is_rail(pointed_thing.under) then + minetest.add_entity(pointed_thing.under, "carts:cart") + elseif carts:is_rail(pointed_thing.above) then + minetest.add_entity(pointed_thing.above, "carts:cart") + else + return + end + + minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, + {pos = pointed_thing.above}) + + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(placer:get_player_name())) then + itemstack:take_item() + end + return itemstack + end, +}) + +minetest.register_craft({ + output = "carts:cart", + recipe = { + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + }, +}) diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt new file mode 100644 index 0000000..8e482ce --- /dev/null +++ b/mods/carts/depends.txt @@ -0,0 +1,2 @@ +default +player_api diff --git a/mods/carts/functions.lua b/mods/carts/functions.lua new file mode 100644 index 0000000..a54b594 --- /dev/null +++ b/mods/carts/functions.lua @@ -0,0 +1,248 @@ +function carts:get_sign(z) + if z == 0 then + return 0 + else + return z / math.abs(z) + end +end + +function carts:manage_attachment(player, obj) + if not player then + return + end + local status = obj ~= nil + local player_name = player:get_player_name() + if player_api.player_attached[player_name] == status then + return + end + player_api.player_attached[player_name] = status + + if status then + player:set_attach(obj, "", {x=0, y=-4.5, z=0}, {x=0, y=0, z=0}) + player:set_eye_offset({x=0, y=-4, z=0},{x=0, y=-4, z=0}) + else + player:set_detach() + player:set_eye_offset({x=0, y=0, z=0},{x=0, y=0, z=0}) + end +end + +function carts:velocity_to_dir(v) + if math.abs(v.x) > math.abs(v.z) then + return {x=carts:get_sign(v.x), y=carts:get_sign(v.y), z=0} + else + return {x=0, y=carts:get_sign(v.y), z=carts:get_sign(v.z)} + end +end + +function carts:is_rail(pos, railtype) + local node = minetest.get_node(pos).name + if node == "ignore" then + local vm = minetest.get_voxel_manip() + local emin, emax = vm:read_from_map(pos, pos) + local area = VoxelArea:new{ + MinEdge = emin, + MaxEdge = emax, + } + local data = vm:get_data() + local vi = area:indexp(pos) + node = minetest.get_name_from_content_id(data[vi]) + end + if minetest.get_item_group(node, "rail") == 0 then + return false + end + if not railtype then + return true + end + return minetest.get_item_group(node, "connect_to_raillike") == railtype +end + +function carts:check_front_up_down(pos, dir_, check_up, railtype) + local dir = vector.new(dir_) + local cur + + -- Front + dir.y = 0 + cur = vector.add(pos, dir) + if carts:is_rail(cur, railtype) then + return dir + end + -- Up + if check_up then + dir.y = 1 + cur = vector.add(pos, dir) + if carts:is_rail(cur, railtype) then + return dir + end + end + -- Down + dir.y = -1 + cur = vector.add(pos, dir) + if carts:is_rail(cur, railtype) then + return dir + end + return nil +end + +function carts:get_rail_direction(pos_, dir, ctrl, old_switch, railtype) + local pos = vector.round(pos_) + local cur + local left_check, right_check = true, true + + -- Check left and right + local left = {x=0, y=0, z=0} + local right = {x=0, y=0, z=0} + if dir.z ~= 0 and dir.x == 0 then + left.x = -dir.z + right.x = dir.z + elseif dir.x ~= 0 and dir.z == 0 then + left.z = dir.x + right.z = -dir.x + end + + local straight_priority = ctrl and dir.y ~= 0 + + -- Normal, to disallow rail switching up- & downhill + if straight_priority then + cur = self:check_front_up_down(pos, dir, true, railtype) + if cur then + return cur + end + end + + if ctrl then + if old_switch == 1 then + left_check = false + elseif old_switch == 2 then + right_check = false + end + if ctrl.left and left_check then + cur = self:check_front_up_down(pos, left, false, railtype) + if cur then + return cur, 1 + end + left_check = false + end + if ctrl.right and right_check then + cur = self:check_front_up_down(pos, right, false, railtype) + if cur then + return cur, 2 + end + right_check = true + end + end + + -- Normal + if not straight_priority then + cur = self:check_front_up_down(pos, dir, true, railtype) + if cur then + return cur + end + end + + -- Left, if not already checked + if left_check then + cur = carts:check_front_up_down(pos, left, false, railtype) + if cur then + return cur + end + end + + -- Right, if not already checked + if right_check then + cur = carts:check_front_up_down(pos, right, false, railtype) + if cur then + return cur + end + end + + -- Backwards + if not old_switch then + cur = carts:check_front_up_down(pos, { + x = -dir.x, + y = dir.y, + z = -dir.z + }, true, railtype) + if cur then + return cur + end + end + + return {x=0, y=0, z=0} +end + +function carts:pathfinder(pos_, old_pos, old_dir, distance, ctrl, + pf_switch, railtype) + + local pos = vector.round(pos_) + if vector.equals(old_pos, pos) then + return + end + + local pf_pos = vector.round(old_pos) + local pf_dir = vector.new(old_dir) + distance = math.min(carts.path_distance_max, + math.floor(distance + 1)) + + for i = 1, distance do + pf_dir, pf_switch = self:get_rail_direction( + pf_pos, pf_dir, ctrl, pf_switch or 0, railtype) + + if vector.equals(pf_dir, {x=0, y=0, z=0}) then + -- No way forwards + return pf_pos, pf_dir + end + + pf_pos = vector.add(pf_pos, pf_dir) + + if vector.equals(pf_pos, pos) then + -- Success! Cart moved on correctly + return + end + end + -- Not found. Put cart to predicted position + return pf_pos, pf_dir +end + +function carts:register_rail(name, def_overwrite, railparams) + local def = { + drawtype = "raillike", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + sounds = default.node_sound_metal_defaults() + } + for k, v in pairs(def_overwrite) do + def[k] = v + end + if not def.inventory_image then + def.wield_image = def.tiles[1] + def.inventory_image = def.tiles[1] + end + + if railparams then + carts.railparams[name] = table.copy(railparams) + end + + minetest.register_node(name, def) +end + +function carts:get_rail_groups(additional_groups) + -- Get the default rail groups and add more when a table is given + local groups = { + dig_immediate = 2, + attached_node = 1, + rail = 1, + connect_to_raillike = minetest.raillike_group("rail") + } + if type(additional_groups) == "table" then + for k, v in pairs(additional_groups) do + groups[k] = v + end + end + return groups +end diff --git a/mods/carts/init.lua b/mods/carts/init.lua new file mode 100644 index 0000000..fe45303 --- /dev/null +++ b/mods/carts/init.lua @@ -0,0 +1,16 @@ + +carts = {} +carts.modpath = minetest.get_modpath("carts") +carts.railparams = {} + +-- Maximal speed of the cart in m/s (min = -1) +carts.speed_max = 7 +-- Set to -1 to disable punching the cart from inside (min = -1) +carts.punch_speed_max = 5 +-- Maximal distance for the path correction (for dtime peaks) +carts.path_distance_max = 3 + + +dofile(carts.modpath.."/functions.lua") +dofile(carts.modpath.."/rails.lua") +dofile(carts.modpath.."/cart_entity.lua") diff --git a/mods/carts/license.txt b/mods/carts/license.txt new file mode 100644 index 0000000..6c5beb4 --- /dev/null +++ b/mods/carts/license.txt @@ -0,0 +1,54 @@ + +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 SmallJoker +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media +----------------- + +CC-0, see: https://creativecommons.org/share-your-work/public-domain/cc0/, except +if other license is mentioned. + + +Authors +--------- +Originally from PixelBOX (Gambit): + carts_cart_side.png + carts_cart_top.png + carts_cart_front.png* + carts_cart.png* + +sofar + stujones11: + carts_cart.b3d and carts_cart.blend + +hexafraction, modified by sofar + carts_rail_*.png + +http://www.freesound.org/people/YleArkisto/sounds/253159/ - YleArkisto - CC-BY-3.0 + carts_cart_moving.*.ogg diff --git a/mods/carts/models/carts_cart.b3d b/mods/carts/models/carts_cart.b3d new file mode 100644 index 0000000000000000000000000000000000000000..4e7eba363de4d01da5e924e7517eaa44879879be GIT binary patch literal 3008 zcmbW3OHUL*6om@}eBl$tw}MZ6A&Tf~rrVK8BnC(rG;v`}2rm;7jf#mYJ8?(iA8^C` z1rrypU=r8HpWhlv3+uu0V(H$iZ7#vXsp(SpR+p60 z?ZQTFwPH-U(qYQsz}KF24>e*UL0k@r*J`W8gIJt7jW}~+@pTuAf;Np4`=vU5t*xPW z}vLB_rO}>%3C20>U(3o>n-hk zT>X^&+5U8{Hb3Va%fGJDwtiCozP{!poj>&>?K4q78&BS!tsf+xkK12H|7rT#`t|iYVP{Pabfd9iq-KlVj_>csLl_Lm+vIlp$3 z^RfHO{r~>l`KH&e=Ck&ftdBeY^!}~B3Fk|H#&B-rXw}E{pSAz2`;n}#%b&i!nooH@ zBDJ6Le!2HAtA6tP>DDLz|FChBpD zA45Iuf;Y_;?=#*dbP64UKA+ad-XUxk^m#S#(Dc^~_za6~vP9P>W*N#TTWTsY-@?9)QO&?lS`@UhPe=Y+Gu1@B{D5-th@!e#Gc z^V8(2a7DQ0ee4?oKU0PT#Kp(HC5#9+h1=f8zB4g4&c1m#Ph*}J_!09_2VHnJ`^FA6 z|F{o=|L`@3^^q$~P82J3W#l_E3J{F>E_oCn3O-`N2nQn?j5si&!3YQ=9_*Tp0>r~d zNEi`e#DWnKMo<_rVMK!w6Gm7VQDMY`5fw&Y7;#}lgb^1;Xc&>p)?fVmhjmjb?Dd{p`* z3q8D?kxc)z=pVU2U1x(IDh~*1`hf>D#uN2^|FZVv-IBixjk%SCxq0Tg`|@vde*;IC B>mUFC literal 0 HcmV?d00001 diff --git a/mods/carts/models/carts_cart.blend b/mods/carts/models/carts_cart.blend new file mode 100644 index 0000000000000000000000000000000000000000..7d2515eb70379538759ecb2e9fcf6f7390dc840c GIT binary patch literal 544408 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 ZTKuLI{ZdhgfMUU(GDQmUQ2EEd{{a&>6XXB@ literal 0 HcmV?d00001 diff --git a/mods/carts/rails.lua b/mods/carts/rails.lua new file mode 100644 index 0000000..a5fff8a --- /dev/null +++ b/mods/carts/rails.lua @@ -0,0 +1,59 @@ +carts:register_rail("carts:rail", { + description = "Rail", + tiles = { + "carts_rail_straight.png", "carts_rail_curved.png", + "carts_rail_t_junction.png", "carts_rail_crossing.png" + }, + inventory_image = "carts_rail_straight.png", + wield_image = "carts_rail_straight.png", + groups = carts:get_rail_groups(), +}, {}) + +minetest.register_craft({ + output = "carts:rail 18", + recipe = { + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + } +}) + +minetest.register_alias("default:rail", "carts:rail") + + +carts:register_rail("carts:powerrail", { + description = "Powered Rail", + tiles = { + "carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png", + "carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png" + }, + groups = carts:get_rail_groups(), +}, {acceleration = 5}) + +minetest.register_craft({ + output = "carts:powerrail 18", + recipe = { + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"}, + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + } +}) + + +carts:register_rail("carts:brakerail", { + description = "Brake Rail", + tiles = { + "carts_rail_straight_brk.png", "carts_rail_curved_brk.png", + "carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png" + }, + groups = carts:get_rail_groups(), +}, {acceleration = -3}) + +minetest.register_craft({ + output = "carts:brakerail 18", + recipe = { + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + {"default:steel_ingot", "default:coal_lump", "default:steel_ingot"}, + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + } +}) diff --git a/mods/carts/sounds/carts_cart_moving.1.ogg b/mods/carts/sounds/carts_cart_moving.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..869e765b84acb081468bba060ba973bff409dec5 GIT binary patch literal 14761 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 literal 0 HcmV?d00001 diff --git a/mods/carts/sounds/carts_cart_moving.2.ogg b/mods/carts/sounds/carts_cart_moving.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b4cc5084388f475ef3c47842a1593d6a1bb71604 GIT binary patch literal 14749 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 literal 0 HcmV?d00001 diff --git a/mods/carts/sounds/carts_cart_moving.3.ogg b/mods/carts/sounds/carts_cart_moving.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e19a782d85038a12ab273870ab8e2dc0a4eaa3c3 GIT binary patch literal 14989 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 U1LFgu%}!PAYO%eVzRv*v2hvqWL;wH) literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_cart.png b/mods/carts/textures/carts_cart.png new file mode 100644 index 0000000000000000000000000000000000000000..965347c0f374d91e277104617b780a41fd773b3e GIT binary patch literal 1103 zcmV-V1hD&wP){jSUo0NJt$p5EMP<{U_~xtMJ{7TE@VkDWlJ$o zP*7A_~R#sM5S65tITxx1+ZEbCDZ*OyRb9i`oetv#}f`W&KhmDPmlarI5pP!(h zpsK2>tgNiBudlPSv$?ss!otGI$;s5z)O9Hz761SM0b)x>L;#2d9Y_EG010qNS#tmY z3ljhU3ljkVnw%H_000McNliru;0qH5Fdz>}63YMp0!&FnK~y-)Ws;9q(oht~FJe)E zLyDXYsZ1h>$kix8T11#>8AUyxsrvz?mAC@Lj9<;+U)~)94u{>hd(Jy=pL_3n=lg|= zp3yUmQ5wxQuI4D4U>yA#i=%F}dNLN(8uTjS^$)L;o{f!k@MEst-8z1e$rlQRwY9?A zeExU~E-L98qWH#_%jIUpbfa57RiFI$x)VJ(kTX9^r)BK$)bl=-3X18pCoP`oRF|Kr z>bFFxR9aSLoq|zW@rcRf?8-`NVSBG}uC%{Izwhs7R9TM7YFoh(t3ICReXrJ)3{@IB zZS6+Yot@>~-TmnHUW<-^^&(9aX`@41N`g|FC{wclfnMdEFUIo^X;DGoOjmRZp#1{f z9AN^V@j$ta9nNX%5P#5&RbX`p@-f9ccu*`i^kN@S1_iAmzG8KTe|d-iX88}^!Q2lE ztV_AAq|W7@dD((diP1 z;JJi>WCRE@<1=f-<_93-GYQ!I5P?nMW>yfqS;6gMAY$_an7}6sn3@N$`2mOt#4#6` zsd)l6KM-v*?#?2Rbu+H8Mr?kNG$DQ!0q-Nm?F?&@%?~EvMZm)hfeAnK0U^HVWEjRd zuSqsPNLm)>FWwpgHa`&U`Qs~dfxxui&p84bvH1ZA$2wS+bIr|#9oO)glYRhTx#>_S z14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>rcZ^NvttlZq(;^N}TlP51&u%M}s5$HSy&H|6fVg?3oVGw3ym^DWN zD7etm#W6(UvTuL4P?LgyYknsG$u%2HC%LX&JQXmD?<>rQvFyf;1n<-ZIX7dv(?{mgpOEI`^I_JzF7i?Zj$HE0c*L zb2K~mFrRo=skS@ZZAM{nabw%W@E;{bCHr4H9lqH;F>d{zgDslQ_GyQvER;27T=B@l ojw@3t`~%Bs-z|Mgg|ZCsyLhCy_nt6*4RkDnr>mdKI;Vst0P1j#E&u=k literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_cart_side.png b/mods/carts/textures/carts_cart_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f53808c6577f033c884d217af26282394e2e708c GIT binary patch literal 486 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>;y3+1?vL1$VK1K@O#`3d4wi>ZcIteb?39fp{ zK;)*E;%S)bZ5SFF8Wt9om6es7n_FC5Tvt~&dGh4>^XD&Euwe7%&4>PP`vP#4_utCA2LW$g1Y83p+GKL7cS z`6;CrACJgIs`Ui<%nW4a(=_&cv^?`z-*ZOJjJ}RN4!Qxt7rt=^C{53}JKb7WBOq(m zlL^8K)30bVU9!Bh`t??w6B|<`p8IS_$$0K_;RwUW>PfeyIu0(bRJ{1s@ekv>%TkB? T8n+w+I-kMQ)z4*}Q$iB}5|f_( literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_cart_top.png b/mods/carts/textures/carts_cart_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a31a9d2ceea10e003506b3b2dede75644b7ec8 GIT binary patch literal 522 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 Ef;&nLHUIzs literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_rail_curved_pwr.png b/mods/carts/textures/carts_rail_curved_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..781bbd0ad6e223803e071b05b19767a802ce2ace GIT binary patch literal 614 zcmV-s0-61ZP)j zK~y-)rIO!kl5rHqKVK*B3=_(zMz)kjg=96h6}#vU2&9OyBnFMBi*B|EhLsSAMr1?< zi>`tZ3?h1|An>LuFULzk&}p{B^o8wbhJ`&h>eo^LfrWN<{dda;&F0 zbv`JwR}Zh4=viAR~Wsl zW11$F_cJ_;54Xes$;ThmQog{$sX4l{-m0G!KG2^9mBTmb_8A5#j-5s=N{m8b@8oG;pibBrR5r~?k-MW zpHrYD773sQ#|ec(D<8@4_hXtScbh4yCQbkV0q03X zK~y-)m6JbcQ&AMge=m9AMX#b11Utw@P;fF5LCMy^QE+l`5%)M17llxSK!ZbuNS6+s zS|nX6q&kSJ5{iNn0t#)oZ9>|HrXl)jUjAK&+q|X*ZT#kQ4(I!w@4%t*`Mgdf5}Ff~ zN~Lr*oAv8#fLt=Bl~M>H$iyQ$>;w^x?Kinz7l3-RjqADqEIhfXAHDcw*#K`oY%+Bf zT-RlPr@>C6&3R$tgaUY-zCY-kFhix3yjt2l+F)+AVog0n1I#Wf>)#fHR!Wgx*|Gov z{HF#MjxktzdP_?wDHICKPe*mj>v4JVGyv7Qhj47XPLJJ&$DlozjOn}2J{kt!RSjDy z0E+81yiT8uvRQ7x!Rz#KLIEyb5lAU{`+ECmgPFyWmA!`+Lh$_1+uxM9?rNnJGmE8B z27me+M)pUA+}&8=3BGmuh_?R&V^2AH3Y`oEA%#&px|`FFo` z!Q^4D=>bp!lu~5k5&ih(7sFtEbC2k4bA|U`%l_@1P=Ni$58r>o?Q-pof%y5`&@ap` oD=T|{%pAmAEv01PUDX2k4GN3zvr-!!H2?qr07*qoM6N<$fCV8v+V!?0wGC6 zK~y-)m6J_KR8bg)pL6Cq<8;6Xj1~qrsJ3Zlf6_u)2kqLlh-m3TkXqzo$QFs&B8iNG zXpwG)qU_IQiy{y$C`^dLJpSOArlOwa-kE#vX>t86G<#QP@f~>I=X*a`Qg3gs&15nb zuxu>b+S+Qf+3d=U1JKiQ!fLHiO3_|liAp=R)R9CMl1a&8J|GA!GxI*i7yuqzs0f{26^RP0l@u1imMZq-3^*LRUU zja5o<_3_B23^G*)tuLV-QI6hUbD zG3Vh(!6cxyroFz>Hr)QW+=HLg9E-Q`=F>Q(DM{Xs*p`xfm|ehlAwmd@7qb6k46$!; u%`IGiq(%13QV*W~qX$P#d`z!%0^m3LBm9nEw3qw<0000_pdYGnWb0wPI7 zK~y-)osvyR6k#03fA72FuIqp$7!?~#qIsG_M1@2L=^Pbxt3yQhf==aOJync#5bOiG zWZ1NmMuxUX-LL{x@2d-&q?M^$hJ2P*GDQlt3dQSg8Jcs8Cz9XN{t86x_ltS?b zD21{tOXYI8HI4uny?RiU+Rsra6lk2jkDk_O)FhFDWKvSD1O%aC`HPR2Ie}@KxMO{s zxi&5|fRSfYbhm@+x~wj)viPM&i{5~gPzw}c1X98#T?4={3e%KaOddG)?w%xaWDC!Q}K3DaQfey|aW{iTE&^KnTzz_%%f}h)765rbEXt z3`U2G_0n>=oU$zIuQg_~*}59#dj2*70dTKpzv?(TfNk4s`#eHADJgp)sib5_YnrK| zOR_;y{u<&NCuwVIqx8b!?Ddy%24ipMY1kcS@NQ}eEg`8?LlOe!i%DERBnT7{(A*lU z9G@uu+(G~Fj5u&A_TE12Q7-@kGNz?}6bc18y&+sL z#IJ=cm#XaCsuP5YkE3{|@r`{2J#Qs45JfUoOA800000NkvXXu0mjf=&2yY literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_rail_t_junction.png b/mods/carts/textures/carts_rail_t_junction.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1b946242544b69c643df109dbd6c0b10df4b92 GIT binary patch literal 707 zcmV;!0zCbRP)VYK$K`w5h)#fdNq@)O>ZBUDF(;~t@z)dtn!5apm8iQJd zwTKo{2+gC=>Q$Q}D5x35Mcir=JjV((%f#{JjLw_WVrCv1_T#|eayj37&-a|~7ZE{3 z$Ye6&IF8irf67!UCFyiJ!WkmM(@O^>-`g!Dwmr9gEVQ!&F zq4gNHZ4-?4bFzQbhygr&H9>bf1VO<3>^!pzE3{a3m?o^0gs=>z37f1K07@xx#Bp6$ zVgLh=J{hj-3c!WC69(%!H8Z?-$o~#q&J0*0dKMV@=(UFy6%j5;6EV`HhBL4glM>(Hfd}+4#QC@`pi+ zD?+wZW`k+a+F_xT;>pM~hk;0*bUH1mR7(COspB|nWHeXL6$AkQxhk9g2}48}I=4?c zj$Xs_yy^%#I=h;lF)sON8mw&=Gp`3I1I=41EXUqY(_35O)#1s=2bN`#ytl>+qLji50xZjl#=P!*HrDt+ zDTUUWcs#zwNIgA0Ms+VzW2lrOkw{3igPW)J$mXsy_`c81!Z1N0q_`3?mtSW4R*O<7 ze4Q^4GYw{1j$qq%)U@h@?{s!mRCxLJ3ylpXOT{u98%)N3&J7Zj7#0h@yzu=~<@dmTA#-I1VhAg?I%V2by&X0M~U1xkxUT zlN7+6=U-GVmlJ^NUWkY&)0wFcmRPlqHb41b!WZeOLV@B2jl1Ky0pbe+73 zwHB>4XL@_9Bpw6c!{;eZ*9zPk8c%$nwdUI6vDH2h*L9OZwJ`@?OfaC7s46)Wi$%%j z^JFra4UOdcKIwEikz9!gcQ5Rht(}($f`GQt5K$>+aXDsYeu>@NHRV|NHd`X)D89BF z#Tb)Vy6S@;baYl!c>8gJ#s-Il#TA+w97cZ56P03=QbeVgJ%=kKJ{{=h;p<8DS08Nj govpP}C=`;MKcb3xV4`WA^Z)<=07*qoM6N<$g3BW@R{#J2 literal 0 HcmV?d00001 diff --git a/mods/carts/textures/carts_rail_t_junction_pwr.png b/mods/carts/textures/carts_rail_t_junction_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0eede22302af3278a9ca5acef885b748055f63 GIT binary patch literal 697 zcmV;q0!ICbP)|Nj>vf{0Kk z6vTDia$4H^b0OJmR&u#qQlmtK=NER%Oj9R85KuePi@i2QZOURvpt{=P`|Ki%u`oG3 zN3roBT5F<#9uD^ms1(4H*TZx)K@>$yO-wN{y+DIqg=N9Qq7W~EWkJ220>E(`Lb}Q4 z^O6F%{`8~D=ko$^{y_+cVntNWgCHObLyR#1q*fMso=Yb4EAQ{`m*s#;WHRRfN*vrj zvqPE>T*LQ$05<>d*-&52e9Q3!SOIvRi`JUDp(~_MzbSDrH1dU-Fa$trjWMvUMH2); z0z9^N6KgC*<1QP=ad`G$<IFGTS+fF=(yvJQq*`N^WOWTa7V9<}NP>V>%99 z!t-2g+ot>C$uf!i0eJgioFkP6m-|K%AK11{=Hc*iABf{PNh2tYdBYzClqeBN^!9zf z%=+p^GRBZjrxVGQh;ZvftE_K7MGyou7yF2cF>?zslQZ*d*=VyE3!kToq%6g!hJ9$Q z6HAwU@Rhdqk_xZhjZ#}q? 0 or + minetest.get_item_group(item, "cape") > 0 +end + +local function save_clothing_metadata(player, clothing_inv) + local player_inv = player:get_inventory() + local is_empty = true + local clothes = {} + for i = 1, 6 do + local stack = clothing_inv:get_stack("clothing", i) + -- Move all non-clothes back to the player inventory + if not stack:is_empty() and not is_clothing(stack:get_name()) then + player_inv:add_item("main", + clothing_inv:remove_item("clothing", stack)) + stack:clear() + end + if not stack:is_empty() then + clothes[i] = stack:to_string() + is_empty = false + end + end + if is_empty then + player:get_meta():set_string("clothing:inventory", nil) + else + player:get_meta():set_string("clothing:inventory", + minetest.serialize(clothes)) + end +end +local function load_clothing_metadata(player, clothing_inv) + local player_inv = player:get_inventory() + local clothing_meta = player:get_meta():get_string("clothing:inventory") + local clothes = clothing_meta and minetest.deserialize(clothing_meta) or {} + local dirty_meta = false + if not clothing_meta then + -- Backwards compatiblity + for i = 1, 6 do + local stack = player_inv:get_stack("clothing", i) + if not stack:is_empty() then + clothes[i] = stack:to_string() + dirty_meta = true + end + end + end + -- Fill detached slots + clothing_inv:set_size("clothing", 6) + for i = 1, 6 do + clothing_inv:set_stack("clothing", i, clothes[i] or "") + end + + if dirty_meta then + -- Requires detached inventory to be set up + save_clothing_metadata(player, clothing_inv) + end + + -- Clean up deprecated garbage after saving + player_inv:set_size("clothing", 0) +end + +local colors = { + white = "FFFFFF", + grey = "C0C0C0", + black = "121212", + red = "DD0000", + yellow = "FFEE00", + green = "32CD32", + cyan = "00959D", + blue = "003376", + magenta = "D80481", + orange = "E0601A", + violet = "480080", + brown = "391A00", + pink = "FFA5A5", + dark_grey = "696969", + dark_green = "154F00", +} +local function clothing_on_use(itemstack, user, pointed_thing) + local name = user:get_player_name() + local inv = minetest.get_inventory({type = "detached", + name = name .. "_clothing"}) + local list = inv:get_list("clothing") + local index = 0 + for i = 1, #list do + if list[i]:get_name() == "" then + inv:set_stack("clothing", i, itemstack) + index = i + break + end + end + if index == 0 then + return itemstack + end + save_clothing_metadata(user, inv) + clothing:run_callbacks("on_equip", user, index, itemstack) + clothing:set_player_clothing(user) + return "" +end +for color, hex in pairs(colors) do + local desc = color:gsub("%a", string.upper, 1) + desc = desc:gsub("_", " ") + minetest.register_craftitem("clothing:hat_" .. color, { + description = desc.." Cotton Hat", + inventory_image = "clothing_inv_hat.png^[multiply:#" .. hex, + uv_image = "(clothing_uv_hat.png^[multiply:#" .. hex .. ")", + groups = {clothing = 1}, + on_use = clothing_on_use, + }) + minetest.register_craftitem("clothing:shirt_"..color, { + description = desc.." Cotton Shirt", + inventory_image = "clothing_inv_shirt.png^[multiply:#"..hex, + uv_image = "(clothing_uv_shirt.png^[multiply:#"..hex..")", + groups = {clothing=1}, + on_use = clothing_on_use, + }) + minetest.register_craftitem("clothing:pants_"..color, { + description = desc.." Cotton Pants", + inventory_image = "clothing_inv_pants.png^[multiply:#"..hex, + uv_image = "(clothing_uv_pants.png^[multiply:#"..hex..")", + groups = {clothing=1}, + on_use = clothing_on_use, + }) + minetest.register_craftitem("clothing:cape_"..color, { + description = desc.." Cotton Cape", + inventory_image = "clothing_inv_cape.png^[multiply:#"..hex, + uv_image = "(clothing_uv_cape.png^[multiply:#"..hex..")", + groups = {cape=1}, + on_use = clothing_on_use, + }) +end +-- Inventory mod support +--[[ +if minetest.get_modpath("inventory_plus") then + clothing.inv_mod = "inventory_plus" + clothing.formspec = clothing.formspec.. + "button[6,0;2,0.5;main;Back]" +elseif minetest.get_modpath("unified_inventory") and + not unified_inventory.sfinv_compat_layer then + clothing.inv_mod = "unified_inventory" + unified_inventory.register_button("clothing", { + type = "image", + image = "inventory_plus_clothing.png", + }) + unified_inventory.register_page("clothing", { + get_formspec = function(player, perplayer_formspec) + local fy = perplayer_formspec.formspec_y + local name = player:get_player_name() + local formspec = "background[0.06,"..fy.. + ";7.92,7.52;clothing_ui_form.png]".. + "label[0,0;Clothing]".. + "list[detached:"..name.."_clothing;clothing;0,"..fy..";2,3;]".. + "listring[current_player;main]".. + "listring[detached:"..name.."_clothing;clothing]" + return {formspec=formspec} + end, + }) +elseif minetest.get_modpath("sfinv") then + clothing.inv_mod = "sfinv" + sfinv.register_page("clothing:clothing", { + title = "Clothing", + get = function(self, player, context) + local name = player:get_player_name() + local formspec = clothing.formspec.. + "list[detached:"..name.."_clothing;clothing;0,0.5;2,3;]".. + "listring[current_player;main]".. + "listring[detached:"..name.."_clothing;clothing]" + return sfinv.make_formspec(player, context, + formspec, false) + end + }) +end +--]] +--[[ +minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if clothing.inv_mod == "inventory_plus" and fields.clothing then + inventory_plus.set_inventory_formspec(player, clothing.formspec.. + "list[detached:"..name.."_clothing;clothing;0,0.5;2,3;]".. + "listring[current_player;main]".. + "listring[detached:"..name.."_clothing;clothing]") + end +end) +--]] +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + --local player_inv = player:get_inventory() + local clothing_inv = minetest.create_detached_inventory(name .. "_clothing", { + on_put = function(inv, listname, index, stack, player) + save_clothing_metadata(player, inv) + clothing:run_callbacks("on_equip", player, index, stack) + clothing:set_player_clothing(player) + end, + on_take = function(inv, listname, index, stack, player) + save_clothing_metadata(player, inv) + clothing:run_callbacks("on_unequip", player, index, stack) + clothing:set_player_clothing(player) + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + save_clothing_metadata(player, inv) + clothing:set_player_clothing(player) + end, + allow_put = function(inv, listname, index, stack, player) + local item = stack:get_name() + if is_clothing(item) then + return 1 + end + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + return stack:get_count() + end, + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return count + end, + }, name) + if clothing.inv_mod == "inventory_plus" then + inventory_plus.register_button(player,"clothing", "Clothing") + end + + load_clothing_metadata(player, clothing_inv) + minetest.after(3, function(name) -- TODO FIXME Doesn't apply if executes too soon. + -- Ensure the ObjectRef is valid after 1s + clothing:set_player_clothing(minetest.get_player_by_name(name)) + end, name) +end) diff --git a/mods/clothing/loom.lua b/mods/clothing/loom.lua new file mode 100644 index 0000000..a60f572 --- /dev/null +++ b/mods/clothing/loom.lua @@ -0,0 +1,155 @@ +-- formspec = Wardrobe, simple, to apply clothing/capes. +-- Click "craft" or "loom" to make new clothes. + +minetest.register_node("clothing:loom", { + description = "Loom", + tiles = { + "clothing_loom_top.png", + "clothing_loom_bottom.png", + "clothing_loom_side2.png", + "clothing_loom_side1.png", + "clothing_loom_front.png", + "clothing_loom_front.png", + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {choppy=2, oddly_breakable_by_hand=1}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.125, -0.375, 0.5, 0.1875}, -- NodeBox1 + {0.375, -0.5, -0.125, 0.5, 0.5, 0.1875}, -- NodeBox3 + {-0.375, -0.5, -0.5, 0.375, -0.4375, 0.5}, -- NodeBox4 + {-0.5, 0, -0.125, 0.5, 0.0625, 0.1875}, -- NodeBox5 + {-0.5, 0.3125, 0.1875, 0.5, 0.5, 0.25}, -- NodeBox6 + {-0.5, 0.3125, -0.1875, 0.5, 0.5, -0.125}, -- NodeBox7 + {-0.375, -0.1875, -0.5, -0.3125, -0.125, 0.5}, -- NodeBox8 + {0.3125, -0.1875, -0.5, 0.375, -0.125, 0.5}, -- NodeBox9 + {-0.4375, -0.1875, -0.5, 0.4375, -0.125, -0.4375}, -- NodeBox10 + {-0.4375, -0.1875, 0.4375, 0.4375, -0.125, 0.5}, -- NodeBox11 + {-0.375, -0.5, 0.375, -0.3125, -0.125, 0.4375}, -- NodeBox12 + {0.3125, -0.5, 0.375, 0.375, -0.125, 0.4375}, -- NodeBox13 + {-0.375, -0.5, -0.4375, -0.3125, -0.125, -0.375}, -- NodeBox14 + {0.3125, -0.5, -0.4375, 0.375, -0.125, -0.375}, -- NodeBox15 + {-0.3125, -0.4375, -0.25, 0.3125, 0, 0.25}, -- NodeBox16 + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5,0.5,0.5,0.5} + }, + }, + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", (placer:get_player_name() or "")) + meta:set_string("infotext", "Loom (owned by " .. (placer:get_player_name() or "") .. ")") + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if not inv:is_empty("input") or not inv:is_empty("output") then + return false + end + return true + end, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "size[8,8.5;]" .. + jas0.exit_button() .. + "button_exit[0,0;2,1;wardrobe;Wardrobe]" .. + "label[0,1.5;Input Wool]" .. + "list[current_name;input;0,2;1,1;]" .. + "label[7,1.5;Output]" .. + "list[current_name;output;7,2;1,1;]" .. + "label[3,1.25;Hat]" .. + "item_image_button[3,1.75;1,1;clothing:hat_grey;hat; ]" .. + "label[4,1.25;Shirt]" .. + "item_image_button[4,1.75;1,1;clothing:shirt_grey;shirt; ]" .. + "label[3,2.75;Pants]" .. + "item_image_button[3,3.2;1,1;clothing:pants_grey;pants; ]" .. + "label[4,2.75;Cape]" .. + "item_image_button[4,3.2;1,1;clothing:cape_grey;cape; ]" .. + "list[current_player;main;0,4.667;8,1;]" .. + "list[current_player;main;0,5.75;8,3;8]" .. + "listring[current_player;main]" .. + "listring[current_name;input]" .. + "listring[current_player;main]" .. + "listring[current_name;output]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 4.667) .. + "") + meta:set_string("infotext", "Loom") + local inv = meta:get_inventory() + inv:set_size("input", 1) + inv:set_size("output", 1) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.wardrobe then + return minetest.after(0.1, function() + local name = sender:get_player_name() + minetest.show_formspec(name, + "clothing:wardrobe", + "size[8,5.25]" .. + jas0.exit_button() .. + "list[detached:" .. name .. "_clothing;clothing;1,0;6,1]" .. + "list[current_player;main;0,1.34;8,1]" .. + "list[current_player;main;0,2.5;8,3;8]" .. + "listring[detached:" .. name .. "_clothing;clothing]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 1.34) .. + "") + end) + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if inv:is_empty("input") then + return + end + local output = nil + local qty = nil + + if fields["hat"] then + output = "clothing:hat_" + qty = "1" + elseif fields["shirt"] then + output = "clothing:shirt_" + qty = "1" + elseif fields["pants"] then + output = "clothing:pants_" + qty = "1" + elseif fields["cape"] then + output = "clothing:cape_" + qty = "1" + end + + if output and qty then + local inputstack = inv:get_stack("input", 1) + local outputstack = inv:get_stack("output", 1) + local woolcol = inputstack:get_name() + if woolcol then + local color = woolcol:gsub("wool:", "") + local stack = output..color.." "..qty + if minetest.registered_items[output..color] and + inv:room_for_item("output", stack) then + inv:add_item("output", stack) + inputstack:take_item() + inv:set_stack("input", 1, inputstack) + end + end + end + end, +}) + +--Craft + +minetest.register_craft({ + output = 'clothing:loom', + recipe = { + {'group:stick', 'default:pinewood', 'group:stick'}, + {'group:stick', 'default:pinewood', 'group:stick'}, + {'default:pinewood', "default:pinewood", 'default:pinewood'}, + }, +}) diff --git a/mods/clothing/textures/clothing_inv_cape.png b/mods/clothing/textures/clothing_inv_cape.png new file mode 100644 index 0000000000000000000000000000000000000000..b94583588e8b36b3af5ab04e110f84134d000586 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeP%WhK5=i3rp-Vhrjj7PV21zE6P31tcuC&wE)4(M`_JqL^3ptA977~7*Ph?V zb=ZN2`NE(7@!tw!TOO(GQ$1C3^U>ldSv3(%`j53w=NDMLV4c5g->T|Hp}DtzGrlQQ zJ<=o`Yk1Jxqc!WWv*wCW)yE=RuOAidOkUTqQZ3}E0oNAx9NBHWkLN#McE_Uj$LXih SjP*bp89ZJ6T-G@yGywohw@$?X literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_inv_hat.png b/mods/clothing/textures/clothing_inv_hat.png new file mode 100644 index 0000000000000000000000000000000000000000..f20a866427fe126153d91fe8a0e26a6c72e21abe GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeP%WhA-OAy)4hN~OeH~n!3_VSCn{|P@shmVT^Rni_n+Ah&g7&AP&SxyQ;woU7I{ZxOz+d{6UIpYy@X;vK!X;tL{~yr-5lq;I(1 z$e8puhs*W>m(Z#eMhS6Ns;~CEd!Rde_RQ_O@(xr#c#+KfQ2NoniFuaCCNci|d|F+< XOz7LKwd*`UPGazM^>bP0l+XkK#7j|n literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_inv_pants.png b/mods/clothing/textures/clothing_inv_pants.png new file mode 100644 index 0000000000000000000000000000000000000000..b34d7df670b42e69e5ba80bad59e3687dd3823bb GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeP%WhNj<^7K3$*?Q%R6tFvI`oiAq~Ryd-aT7l!}s{b%+Ac@>^6jv*44bNd~+ zm<$D2KL1yjD)3E6oiyWH$b+@EDWX%>CSNr6RsTQH&*fcE_N5)#w@<#~n9z`>@291&Mtn17JKtmvbOVE@tDnm{r-UW|Lt0U{ literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_inv_shirt.png b/mods/clothing/textures/clothing_inv_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ab3879de267b5829743500e584d9336bdf6402 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeP%Wh1>U{6MNff3OeH~n!3_VSCn{|P@shmVT^Rni_n+Ahwp3eOTzvCKf63cw`N}aVQf{Boy{ybXU|)^Lykv`U3D7Vbxl*2Z@w>66L9X7<7GyM zmG=Z2&7xlaU1g*7zuDwKJ6~41gH$Gu!(xL2S5vMw@+eA8zIf|u{IWfcreAONz3o{D Pw2#5l)z4*}Q$iB}Q<_Yj literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_loom_background.png b/mods/clothing/textures/clothing_loom_background.png new file mode 100644 index 0000000000000000000000000000000000000000..55e2411d5af89a286174c14f9c3078b71d4a375d GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0y~yV0_KMz$C-O3=~=YD31?FaTa()7Bet#3xhBt!>lu$_ObjXb6nM{ zPd4yb$NtUPcZ|Mnn||r;x{nd>R&KAod-HaYy!r0ypZk7$q~1FHcF}9Q^|y2FZmJ&l zd%d+dZ@%^Zn{VE4jep;pwtJy|^xLHmYjUFwblA z-p9W`@^7`CHA|M?`nf9i{CUlD0YqpY2qpj5>neTv_vGv83dZ~m$2V{4y&MIM9tKZW KKbLh*2~7Ywpz$F9 literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_loom_bottom.png b/mods/clothing/textures/clothing_loom_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..228ce9bdaf91c09691554d6cdab7cd297677b6f8 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w&nzTrB^98xoDC=x72p%%dVW#D#l=Y%mnL0ansRw%-jx*@S6AiT+1Y$&SL>ZU z9d~!N+}+cDcW>wYeVq@tmpt52{%~jYqaCG>c2+z&GWE%cSwb=tfC|J5=p zIgAxHm#%-t%&u@si@_z~!uQ+a=9)`cv_AhR4*A44%in9#*Yna4xewj) z^mS#w&nzTrYFd-rHUTJ98sHP+3Z&;|$}h^1Ta+)iG*@PI_DAMLDoa%Ae06SJNjo$~DX%x5QNK066SbDp1^_59S_7boZGtc({0THNR9;us>>pU*4h^cz`fBhrj6)qetyA6#my4LSJ@I%|h<-nX4Prc$T!Y)f!a=f8R99ixShY-K&ONb{2{L-G`xEH~yAns*;DAFz#*V`pI7x!QI29;PMP z3-+zbJzKNoj=f{F&8um(-R2CNw@lz(TW)_py3gs|oa3H$>G2==Ra4BC7@0p`26P#N Mr>mdKI;Vst02CygQ2+n{ literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_loom_side1.png b/mods/clothing/textures/clothing_loom_side1.png new file mode 100644 index 0000000000000000000000000000000000000000..b81a5eace367f29b0313c7c3444b0ddee0f397c4 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w&nzUyDSeT_=O<7oC%`Af6-Y12kz156x3gY(PlM8dItKot@2hcD3Hw({XoK%iTTgclUPQ-`DwYd&$Eco5BmVzaejTvz1>4NOTg|>(^BMH-=q=bRU2fcLCvX35N9BYdrl~vs z-_ric9mVH0>1~L(L4WV;nY(8${5Nwqi)wJVr&G4*yn7x@DO_d>W)3_PCglXjI%e~F zCr7WkCekIIJL}&3{pZ`A{uCPbH!QIWmyPc$zTU9P>b=LZUonUIcTN_rY*&6X6X-++ MPgg&ebxsLQ07Gh@+yDRo literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_loom_side2.png b/mods/clothing/textures/clothing_loom_side2.png new file mode 100644 index 0000000000000000000000000000000000000000..af220b106c28f081e4dcd0120e1a15beeea21c33 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w&nzUysn@=_;}%dTC%`Af6-Y12kz156x3gY(PlM8dItKot@2hcD3Hw({XoK%iTTgclUPQ-`DwYd&$Eco5BmVzaejTvz1zY>w+T6J6Ne0H>rH%V{^cFNvxx{Qg!5Jusfkk=flg%b MboFyt=akR{00NPq-T(jq literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_loom_top.png b/mods/clothing/textures/clothing_loom_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1926274e5519268066b731057a660c9c1f148f GIT binary patch literal 359 zcmV-t0hs=YP)A*Zg|LALEKt|LD1d)uY&)tc?P2^23Cgv?r z=*I{}vwUsa^S&GIN|PN@7@^FzZ4Ql1fjKbGP^QBC3vanR5dBj)q?G^w002ovPDHLk FV1oS@p(g+U literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_ui_form.png b/mods/clothing/textures/clothing_ui_form.png new file mode 100644 index 0000000000000000000000000000000000000000..ec27d831c2b1a340542de9b2b6fd837b7447fa0f GIT binary patch literal 7880 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 UQu^!Sv|_~eB;wnuZ!Y}sU*Se@j{pDw literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_uv_cape.png b/mods/clothing/textures/clothing_uv_cape.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e44d07e0703f9613ddb2756e512a8b43c048c3 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{UIxlpsJ!)OY}yd&<{@+$B>MBZ?AfGwHXLFJe+Q!a7XtHf%Bho zZ(lOuO^uxN+_LsQ^AUN51+T5PT&sA$auruYYNWxjBk~Ei&Ds(l?91PB&EomK_xplc z1Rn7Rh_GIZVtDs^S>~+x!bSWEJwJ`D`1>{a&-Ub9tW=_CFLDxAj)4R{W3{;_M_`ErTchS$3! mj!)D%U2x8@Px(M`9V35zti(Uj3yQ!nVDNPHb6Mw<&;$U<-ides literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_uv_hat.png b/mods/clothing/textures/clothing_uv_hat.png new file mode 100644 index 0000000000000000000000000000000000000000..35e66e0aa3d441e61c76c2ad848da56af8fa0b8e GIT binary patch literal 624 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNiv+(B*B+Ni2N)O_|9ZMOhE&{od(Cq7CkF}E2cKu9 zCYfC4)mgjd&;R|-Z(KGA>nz&Au5LJaXK2&+;>T6Xf zyCVaG$7PXgx2FGIUt7fxmA&Tr>-No$U#B+&ac#Zz)M6-~T)K zu_9-EdFl1ihZcOFY}{updr@K);PtS?%F$(&!nWJGQ-UEf6YboFMOTclX7}B}#;CeO?(FG5s{F z64U+f3%AzQGhBXorR&7}uQAu6vcFW>@~}1UzHd4EY)+tvfB%KJ_3VO;9d~RtU)%Rz zZbOV-zS-tYd`%3y@4kDf`ts#3v4eTrcmMqP`guP8g1dR)m%l|t#@}ap-}_FVdQ&MBb@0M$zu A+yDRo literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_uv_pants.png b/mods/clothing/textures/clothing_uv_pants.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf98f2106774c64c6cc947b7bc175f353f86b91 GIT binary patch literal 873 zcmV-v1D5=WP)mh1pE z{a}ni6h%mq1WKvJXTZe`^E?l~vn>044$xXdDFx>ox~^Ni1L*bj^<0)E0N~@}1J>Gb zXsyNZcsw&RPNx&r>oov?nbCC};yA|R`a#JEUofvMiA#35W>H3;@_{Hh6e=KomvD^Bhl4Pm9n9 zVrD!)KV!XKgNVX`e+s=5e3|_G{QU2|1-uf$-+92F^JsrJ%JQIbc!G;I%Yn=5Tpm3e)q$;jjz`5YZ^YzV0`h%}4~N=S%4k z)Ku7vG0<9rnL|%7%n~9(Q52}EY8fK<+owUY)}rgWQ5pCNaKGQ5eHM5vU}m&!i?(gi zG>y#Di`xf$eSMw#z7MspwO$SF+uPe^PlHM+BuRoOieQYnuopiL5BvK(&oAu7iQx1@ z*L9%@x@Ip<1K!`?&wkb?qKiI%zu)8T?k=>*+wC^&0{&~1Rzv&#{(fF1Fr4-MP9Tos z;1J&swQUrJ26bJ7h(g5u&R{wg|I40TA28ejT)T`<_ru{ZI-lCJ?F0N) z_*%5J){|x{@ zk|Zl@EpBdZ&i?%K^AmmFkDkflpC)q^!C%iG;w!uCL&X%300000NkvXXu0mjfOpt{@ literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/clothing_uv_shirt.png b/mods/clothing/textures/clothing_uv_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..23d63e6383fbe8ad04fceb401351cfaaae660252 GIT binary patch literal 1670 zcmaJ?i&xTD9LMG>^MOi>%-KS7K&Cy+p*UZmC8$$!Oq)`QnK&@PM`~(5lJI@<5h_zk zLMrB~rp^?ck#U@JZZTu%e2u9yLUN4ok+NU^!0tWY`#tA#@BQBUz2DF0+|ux{GZtoc zW*`vABKRx@4|u=#W@-$K56QGyz!}Hm&R{_L_x+BLUkf0+Q_n`Hfk1m~-w6nZnxMJV+_7JY;Hf-}bOkEli()5m(Xi5LNtk6tpugY}lIg$wyWa2bGEn~67F*s}Soi%+oaf_N&z-BC<$0# z%?@W#KBx$Cr1$?(yhiU2ab-E0?n;m46FW&w&Y?_-?QbKb_#pdMTDu_@H@rv82b{s9IO_?IR- z@$vrtm?|u~m%RZcQg2~iaR&(=5t?&R@#!Ka?jog;ui+*>*{bU&@8qHw=cf;pj zy(-J~nTYSc6XjwfIo@-=Qcelt;SaILTa}wqyE`)}V?Yf?;%_a|gS(>=x}#F*^rxvP z!}sW{X zO_|~9=4NgETyeZ4pb%bme=@l=f-gl>1{H@mYySRp<^!YeJC4+jVlWt2S68Ph61nI6 zBi>|ku)Ty%qaA|5fTk$Oz4?O`&X(Oh7#u|<3x{zPNQUz?lfy_&=RnT{3Z zZzH+Co)zV7Im2KgH4e(KVZ@zS9@P{8%mM*P9y8xxElGGBO%&$T8=jK7uVfC~h+`^H z02Ct&EmFM9_;K-sVA4$L-WcK>b$cY;>o8~HabMp}1qu^!BM$oAG!?X@@f=UArT15m zn{wCR6b5k%snbx#ni_ub>pbgQ#LlZ~!`>Tl@Hw_Jo7h@#6pM(!jwZS1(2d^F9p<-u zq$_ok$s<|b&vkj5+xa!WQ)=1yL)Gf73JHlI*ehLu%;{Frz1BrQZ9smAk~nA#kw{NV ztA$?{G^p}bnFl5`e`|A+nrCOAv6v9_GtIw=YGs6S}DfB(yG<@*Lrg9{o0~ zm(VHecG&|!RCaPt*`;WAI}5XtT|7L3wl7qQ^6`28$OXs-h&kQcIG$K~T&6rVld_Ko z5ifvaWdQPw7Q&YroL%xIJ9K?E*?t|#L!r?M)pXw|0^qD%zQ2uZ6KLH=c1{Ks+uPea z`3z{+Qu=U^z`<*})!@9}v&@Z9Rkedj?F7<+tE)?|+%AYPn404fTFsGgnKmJJOHT2y z{c^M20(h9>;R3PvbSoVDXjq|844L38EiG$o9n6hO)dv`b$|tW^SLxTT;apjyW6-X? zKHU~etezWUwd-9!+|x9^RGnh6`m?X6XK>8ruRfYRT79G*%c$c>G~T<#;hWncCKJ#P zl=1IYUjCni+#QNqPwhAaW15Q8*JYq74y9s9XDO25)=3s!a!MC<>)?=Y^yhCLY`ohz z=?@NfWtA!##uFXOM~WyOV~LLe$+g0t_NwlM%)YhRq2IcuOFZHM;q$^lyeYPnAkL?Y{f z^DlubTA2W|Ha0xl$gOn&QuiF8L(B4EVUY^=qyvyb`oN5d@|@8-+1@v=&AZyy(9M=K z`;+YPUox5(QknR&l)kYXVHk2$PGL}|0irKyHj1?f1VT^UF=1<;{b0y-7y^C_P;g)v JrX%2D(SJXGFpmHL literal 0 HcmV?d00001 diff --git a/mods/clothing/textures/inventory_plus_clothing.png b/mods/clothing/textures/inventory_plus_clothing.png new file mode 100644 index 0000000000000000000000000000000000000000..35013f15e529699b0035c3b45a1f091a0b66f2b1 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHVEbxddW?vTY zk1@&H-G!w;<7Oa`-Md|1_I_{LxjUMn?%gGh2BYXHW + +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 X 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. + +Except as contained in this notice, the name of the shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the . » diff --git a/mods/craftguide/README.md b/mods/craftguide/README.md new file mode 100644 index 0000000..b7d4559 --- /dev/null +++ b/mods/craftguide/README.md @@ -0,0 +1,14 @@ +## ![Preview1](http://i.imgur.com/fIPNYkb.png) Crafting Guide ## + +#### A Crafting Guide for Minetest that doesn't suck. #### + +#### `craftguide` is the most comprehensive mod of its category. #### +#### Consult the [Minetest Wiki](http://wiki.minetest.net/Crafting_guide) for more details and comparisons. #### + +#### This crafting guide is usable with a blue book named *"Crafting Guide"*. #### + +#### This crafting guide features two modes : Standard and Progressive. #### +The Progressive mode is a Terraria-like system that only shows recipes you can craft from items in inventory. +The progressive mode can be enabled with `craftguide_progressive_mode = true` in `minetest.conf`. + +![Preview2](http://i.imgur.com/3q7rVSo.png) diff --git a/mods/craftguide/depends.txt b/mods/craftguide/depends.txt new file mode 100644 index 0000000..368ca56 --- /dev/null +++ b/mods/craftguide/depends.txt @@ -0,0 +1,2 @@ +sfinv_buttons? +intllib? diff --git a/mods/craftguide/description.txt b/mods/craftguide/description.txt new file mode 100644 index 0000000..b5c0540 --- /dev/null +++ b/mods/craftguide/description.txt @@ -0,0 +1,2 @@ +The most comprehensive Crafting Guide +on Minetest. diff --git a/mods/craftguide/init.lua b/mods/craftguide/init.lua new file mode 100644 index 0000000..81ebf0e --- /dev/null +++ b/mods/craftguide/init.lua @@ -0,0 +1,588 @@ +local craftguide, datas, mt = {}, {searches = {}}, minetest +local progressive_mode = mt.settings:get_bool("craftguide_progressive_mode") +local get_recipe, get_recipes = mt.get_craft_recipe, mt.get_all_craft_recipes +local get_result, show_formspec = mt.get_craft_result, mt.show_formspec +local reg_items = mt.registered_items + +craftguide.path = minetest.get_modpath("craftguide") + +-- Intllib +local S = dofile(craftguide.path .. "/intllib.lua") +craftguide.intllib = S + +-- Lua 5.3 removed `table.maxn`, use this alternative in case of breakage: +-- https://github.com/kilbith/xdecor/blob/master/handlers/helpers.lua#L1 +local remove, maxn, sort = table.remove, table.maxn, table.sort +local min, max, floor, ceil = math.min, math.max, math.floor, math.ceil + +local DEFAULT_SIZE = 10 +local MIN_LIMIT, MAX_LIMIT = 9, 12 +DEFAULT_SIZE = min(MAX_LIMIT, max(MIN_LIMIT, DEFAULT_SIZE)) + +local GRID_LIMIT = 5 + +local group_stereotypes = { + wool = "wool:white", + dye = "dye:white", + water_bucket = "bucket:bucket_water", + vessel = "vessels:glass_bottle", + coal = "default:coal_lump", + flower = "flowers:dandelion_yellow", + mesecon_conductor_craftable = "mesecons:wire_00000000_off", +} + +function craftguide:group_to_item(item) + if item:sub(1,6) == "group:" then + local itemsub = item:sub(7) + if group_stereotypes[itemsub] then + item = group_stereotypes[itemsub] + elseif reg_items["default:" .. itemsub] then + item = item:gsub("group:", "default:") + else + for name, def in pairs(reg_items) do + if def.groups[item:match("[^,:]+$")] then + item = name + end + end + end + end + + return item:sub(1,6) == "group:" and "" or item +end + +local function extract_groups(str) + if str:sub(1,6) ~= "group:" then return end + return str:sub(7):split(",") +end + +local function colorize(str) + -- If client <= 0.4.14, don't colorize for compatibility. + return mt.colorize and mt.colorize("#FFFF00", str) or str +end + +local function get_fueltime(item) + return get_result({method = "fuel", width = 1, items = {item}}).time +end + +function craftguide:get_tooltip(item, recipe_type, cooktime, groups) + local tooltip, item_desc = "tooltip[" .. item .. ";", "" + local fueltime = get_fueltime(item) + local has_extras = groups or recipe_type == "cooking" or fueltime > 0 + + if reg_items[item] then + if not groups then + item_desc = reg_items[item].description + end + else + return tooltip .. S("Unknown Item (@1)", item) .. "]" + end + + if groups then + local groupstr = "" + for i = 1, #groups do + groupstr = groupstr .. + colorize(groups[i]) .. (groups[i + 1] and ", " or "") + end + + tooltip = tooltip .. S("Any item belonging to the group(s)") .. ": " .. groupstr + end + + if recipe_type == "cooking" then + tooltip = tooltip .. item_desc .. "\n" + .. S("Cooking time") .. ": " .. colorize(cooktime) + end + + if fueltime > 0 then + tooltip = tooltip .. item_desc .. "\n" + .. S("Burning time") .. ": " .. colorize(fueltime) + end + + return has_extras and tooltip .. "]" or "" +end + +function craftguide:get_recipe(iY, xoffset, tooltip, item, recipe_num, recipes, show_usage) + local formspec, recipes_total = "", #recipes + if recipes_total > 1 then + formspec = formspec .. + "button[0," .. (iY + 3.3) .. ";2,1;alternate;" .. S("Alternate") .. "]" .. + "label[0," .. (iY + 2.8) .. ";" .. + (show_usage and S("Usage") or S("Recipe")) .. " " .. + S("@1 of @2", recipe_num, recipes_total) .. "]" + end + + local recipe_type = recipes[recipe_num].type + local items = recipes[recipe_num].items + local width = recipes[recipe_num].width + + if recipe_type == "cooking" or (recipe_type == "normal" and width == 0) then + local icon = recipe_type == "cooking" and "furnace" or "shapeless" + formspec = formspec .. + "image[" .. (xoffset - 0.8) .. "," .. (iY + 1.7) .. + ";0.5,0.5;craftguide_" .. icon .. ".png]" + end + + if width == 0 then + width = min(3, #items) + end + + local rows = ceil(maxn(items) / width) + + if recipe_type == "normal" and (width > GRID_LIMIT or rows > GRID_LIMIT) then + formspec = formspec .. + "label[" .. xoffset .. "," .. (iY + 2) .. ";" .. + S("Recipe is too big to\nbe displayed (@1x@2)", width, rows) .. "]" + else + local btn_size = 1 + for i, v in pairs(items) do + local X = (i - 1) % width + xoffset + local Y = ceil(i / width + (iY + 2) - min(2, rows)) + + if recipe_type == "normal" and (width > 3 or rows > 3) then + btn_size = width > 3 and 3 / width or 3 / rows + X = btn_size * (i % width) + xoffset + Y = btn_size * floor((i - 1) / width) + (iY + 3) - min(2, rows) + end + + local groups = extract_groups(v) + local label = groups and "\nG" or "" + local item_r = self:group_to_item(v) + local tltip = self:get_tooltip(item_r, recipe_type, width, groups) + + formspec = formspec .. + "item_image_button[" .. X .. "," .. (Y + 0.2) .. ";" .. + btn_size .. "," .. btn_size .. ";" .. item_r .. + ";" .. item_r .. ";" .. label .. "]" .. tltip + end + end + + local output = recipes[recipe_num].output + return formspec .. + "image[" .. (xoffset - 1) .. "," .. (iY + 2.35) .. + ";0.9,0.7;craftguide_arrow.png]" .. + "item_image_button[" .. (xoffset - 2) .. "," .. (iY + 2.2) .. ";1,1;" .. + output .. ";" .. item .. ";]" .. tooltip +end + +function craftguide:get_formspec(player_name, is_fuel) + local data = datas[player_name] + local iY = data.iX - 5 + local ipp = data.iX * iY + + if not data.items then + data.items = datas.init_items + end + + data.pagemax = max(1, ceil(#data.items / ipp)) + + local formspec = "size[" .. (data.iX - 0.35) .. "," .. (iY + 4) .. ";]" .. [[ + background[1,1;1,1;craftguide_bg.png;true] + button[2.4,0.23;0.8,0.5;search;?] + button[3.05,0.23;0.8,0.5;clear;X] + field_close_on_enter[filter;false] + ]] .. + "tooltip[search;" .. S("Search") .. "]" .. + "tooltip[clear;" .. S("Reset") .. "]" .. + "tooltip[size_inc;" .. S("Increase window size") .. "]" .. + "tooltip[size_dec;" .. S("Decrease window size") .. "]" .. + "tooltip[prev;" .. S("Previous page") .. "]" .. + "tooltip[next;" .. S("Next page") .. "]" .. + "button[" .. (data.iX * 0.48) .. ",-0.02;0.7,1;size_inc;+]" .. + "button[" .. ((data.iX * 0.48) + 0.5) .. + ",-0.02;0.7,1;size_dec;-]" .. + "button[" .. (data.iX - 3.1) .. ",0;0.8,0.95;prev;<]" .. + "label[" .. (data.iX - 2.2) .. ",0.18;" .. + colorize(data.pagenum) .. " / " .. data.pagemax .. "]" .. + "button[" .. (data.iX - 1.2) .. ",0;0.8,0.95;next;>]" .. + "field[0.3,0.32;2.5,1;filter;;" .. + mt.formspec_escape(data.filter) .. "]" + + local even_num = data.iX % 2 == 0 + local xoffset = data.iX / 2 + (even_num and 0.5 or 0) + + if not next(data.items) then + formspec = formspec .. + "label[" .. (xoffset - (even_num and 1.5 or 1)) .. ",2;" .. + S("No item to show") .. "]" + end + + local first_item = (data.pagenum - 1) * ipp + for i = first_item, first_item + ipp - 1 do + local name = data.items[i + 1] + if not name then break end + local X = i % data.iX + local Y = (i % ipp - X) / data.iX + 1 + + formspec = formspec .. + "item_image_button[" .. (X - (X * 0.05)) .. "," .. Y .. ";1.1,1.1;" .. + name .. ";" .. name .. "_inv;]" + end + + if data.item and reg_items[data.item] then + local tooltip = self:get_tooltip(data.item) + if not data.recipes_item or (is_fuel and not get_recipe(data.item).items) then + formspec = formspec .. + "image[" .. (xoffset - 1) .. "," .. (iY + 2.35) .. + ";0.9,0.7;craftguide_arrow.png]" .. + "item_image_button[" .. xoffset .. "," .. (iY + 2.2) .. + ";1,1;" .. data.item .. ";" .. data.item .. ";]" .. + tooltip .. + "image[" .. (xoffset - 2) .. "," .. + (iY + 2.18) .. ";1,1;craftguide_fire.png]" + else + local show_usage = data.show_usage + formspec = formspec .. + self:get_recipe(iY, xoffset, tooltip, + data.item, + data.rnum, + (show_usage and data.usages or data.recipes_item), + show_usage) + end + end + + data.formspec = formspec + show_formspec(player_name, "craftguide", formspec) +end + +local function player_has_item(T) + for i = 1, #T do + if T[i] then + return true + end + end +end + +local function group_to_items(group) + local items_with_group, counter = {}, 0 + for name, def in pairs(reg_items) do + if def.groups[group:sub(7)] then + counter = counter + 1 + items_with_group[counter] = name + end + end + + return items_with_group +end + +local function item_in_inv(inv, item) + return inv:contains_item("main", item) +end + +function craftguide:recipe_in_inv(inv, item_name, recipes_f) + local recipes = recipes_f or get_recipes(item_name) or {} + local show_item_recipes = {} + + for i = 1, #recipes do + show_item_recipes[i] = true + for _, item in pairs(recipes[i].items) do + local group_in_inv = false + if item:sub(1,6) == "group:" then + local groups = group_to_items(item) + for j = 1, #groups do + if item_in_inv(inv, groups[j]) then + group_in_inv = true + end + end + end + if not group_in_inv and not item_in_inv(inv, item) then + show_item_recipes[i] = false + end + end + end + + for i = #show_item_recipes, 1, -1 do + if not show_item_recipes[i] then + remove(recipes, i) + end + end + + return recipes, player_has_item(show_item_recipes) +end + +function craftguide:get_init_items() + local items_list, counter = {}, 0 + for name, def in pairs(reg_items) do + local is_fuel = get_fueltime(name) > 0 + if (not (def.groups.not_in_craft_guide == 1 or def.groups.not_in_creative_inventory == 1)) and + (get_recipe(name).items or is_fuel) and + def.description and def.description ~= "" then + + counter = counter + 1 + items_list[counter] = name + end + end + + sort(items_list) + datas.init_items = items_list +end + +function craftguide:get_filter_items(data, player) + local filter = data.filter + if datas.searches[filter] then + data.items = datas.searches[filter] + return + end + + local items_list = progressive_mode and data.init_filter_items or datas.init_items + local inv = player:get_inventory() + local filtered_list, counter = {}, 0 + + for i = 1, #items_list do + local item = items_list[i] + local item_desc = reg_items[item].description:lower() + + if filter ~= "" then + if item:find(filter, 1, true) or item_desc:find(filter, 1, true) then + counter = counter + 1 + filtered_list[counter] = item + end + elseif progressive_mode then + local _, has_item = self:recipe_in_inv(inv, item) + if has_item then + counter = counter + 1 + filtered_list[counter] = item + end + end + end + + if progressive_mode then + if not data.items then + data.init_filter_items = filtered_list + end + elseif filter ~= "" then + -- Cache the results only if searched 2 times + if datas.searches[filter] == nil then + datas.searches[filter] = false + else + datas.searches[filter] = filtered_list + end + end + + data.items = filtered_list +end + +function craftguide:get_item_usages(item) + local usages = {} + for name, def in pairs(reg_items) do + if not (def.groups.not_in_creative_inventory == 1) and + (get_recipe(name).items) and def.description and def.description ~= "" then + local recipes = get_recipes(name) + for i = 1, #recipes do + local recipe = recipes[i] + local items = recipe.items + + for j = 1, #items do + if items[j] == item then + usages[#usages + 1] = { + type = recipe.type, + items = items, + width = recipe.width, + output = recipe.output, + } + break + end + end + end + end + end + + return usages +end + +mt.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "craftguide" then return end + local player_name = player:get_player_name() + local data = datas[player_name] + + if fields.clear then + data.show_usage = nil + data.filter = "" + data.item = nil + data.pagenum = 1 + data.rnum = 1 + + data.items = progressive_mode and data.init_filter_items or datas.init_items + craftguide:get_formspec(player_name) + + elseif fields.alternate then + local num + if data.show_usage then + num = data.usages[data.rnum + 1] + else + num = data.recipes_item[data.rnum + 1] + end + + data.rnum = num and data.rnum + 1 or 1 + craftguide:get_formspec(player_name) + + elseif (fields.key_enter_field == "filter" or fields.search) and + fields.filter ~= "" then + data.filter = fields.filter:lower() + data.pagenum = 1 + craftguide:get_filter_items(data, player) + craftguide:get_formspec(player_name) + + elseif fields.prev or fields.next then + data.pagenum = data.pagenum - (fields.prev and 1 or -1) + + if data.pagenum > data.pagemax then + data.pagenum = 1 + elseif data.pagenum == 0 then + data.pagenum = data.pagemax + end + + craftguide:get_formspec(player_name) + + elseif (fields.size_inc and data.iX < MAX_LIMIT) or + (fields.size_dec and data.iX > MIN_LIMIT) then + data.pagenum = 1 + data.iX = data.iX - (fields.size_dec and 1 or -1) + craftguide:get_formspec(player_name) + + else for item in pairs(fields) do + if item:find(":") then + if item:sub(-4) == "_inv" then + item = item:sub(1,-5) + end + + local is_fuel = get_fueltime(item) > 0 + local recipes = get_recipes(item) + if not recipes and not is_fuel then return end + + if not data.show_usage and item == data.item and not progressive_mode then + data.usages = craftguide:get_item_usages(item) + if next(data.usages) then + data.show_usage = true + data.rnum = 1 + end + + craftguide:get_formspec(player_name) + else + if progressive_mode then + local inv = player:get_inventory() + local _, has_item = craftguide:recipe_in_inv(inv, item) + + if not has_item then return end + recipes = craftguide:recipe_in_inv(inv, item, recipes) + end + + data.item = item + data.recipes_item = recipes + data.rnum = 1 + data.show_usage = nil + + craftguide:get_formspec(player_name, is_fuel) + end + end + end + end +end) + +function craftguide:on_use(itemstack, user) + if not datas.init_items then + self:get_init_items() + end + + local player_name = user:get_player_name() + local data = datas[player_name] + + if progressive_mode or not data then + datas[player_name] = {filter = "", pagenum = 1, iX = DEFAULT_SIZE} + if progressive_mode then + self:get_filter_items(datas[player_name], user) + end + + self:get_formspec(player_name) + else + show_formspec(player_name, "craftguide", data.formspec) + end +end + +mt.register_craftitem("craftguide:book", { + description = S("Crafting Guide"), + inventory_image = "craftguide_book.png", + wield_image = "craftguide_book.png", + stack_max = 1, + groups = {book = 1}, + on_use = function(itemstack, user) + craftguide:on_use(itemstack, user) + end +}) +--[[ +mt.register_node("craftguide:sign", { + description = S("Crafting Guide Sign"), + drawtype = "nodebox", + tiles = {"craftguide_sign.png"}, + inventory_image = "craftguide_sign_inv.png", + wield_image = "craftguide_sign_inv.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + groups = {wood = 1, oddly_breakable_by_hand = 1, flammable = 3}, + node_box = { + type = "wallmounted", + wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, + wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, + wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375} + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("Crafting Guide Sign")) + end, + on_rightclick = function(pos, node, user, itemstack) + craftguide:on_use(itemstack, user) + end +}) +--]] +mt.register_craft({ + type = "fuel", + recipe = "craftguide:book", + burntime = 3 +}) +--[[ +mt.register_craft({ + output = "craftguide:sign", + type = "shapeless", + recipe = {"default:sign_wall_wood"} +}) + +mt.register_craft({ + type = "fuel", + recipe = "craftguide:sign", + burntime = 10 +}) +--]] +if rawget(_G, "sfinv_buttons") then + sfinv_buttons.register_button("craftguide", { + title = S("Crafting Guide"), + tooltip = S("Shows a list of available crafting recipes, cooking recipes and fuels"), + action = function(player) + craftguide:on_use(nil, player) + end, + image = "craftguide_book.png", + }) +end + +mt.register_alias("xdecor:crafting_guide", "craftguide:book") + +--[[ Custom recipes (>3x3) test code + +mt.register_craftitem("craftguide:custom_recipe_test", { + description = "Custom Recipe Test", +}) + +local cr = {} +for x = 1, 6 do + cr[x] = {} + for i = 1, 10 - x do + cr[x][i] = {} + for j = 1, 10 - x do + cr[x][i][j] = "group:wood" + end + end + + mt.register_craft({ + output = "craftguide:custom_recipe_test", + recipe = cr[x] + }) +end +]] diff --git a/mods/craftguide/intllib.lua b/mods/craftguide/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/mods/craftguide/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/mods/craftguide/locale/de.po b/mods/craftguide/locale/de.po new file mode 100644 index 0000000..8e5a8de --- /dev/null +++ b/mods/craftguide/locale/de.po @@ -0,0 +1,90 @@ +# German translation for craftguide mod. +# Copyright (C) 2018 +# This file is distributed under the same license as the craftguide package. +# codexp , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 1.27\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 00:17+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: init.lua +msgid "Unknown Item (@1)" +msgstr "Unbekannter Gegenstand (@1)" + +#: init.lua +msgid "Any item belonging to the group(s)" +msgstr "Beliebiger Gegenstand aus der Gruppe" + +#: init.lua +msgid "Cooking time" +msgstr "Kochzeit" + +#: init.lua +msgid "Burning time" +msgstr "Brennzeit" + +#: init.lua +msgid "Alternate" +msgstr "Andere" + +#: init.lua +msgid "Recipe @1 of @2" +msgstr "Rezept @1 von @2" + +#: init.lua +msgid "" +"Recipe is too big to\n" +"be displayed (@1x@2)" +msgstr "" +"Rezept ist zu groß\n" +"für die Anzeige (@1x@2)" + +#: init.lua +msgid "Search" +msgstr "Suche" + +#: init.lua +msgid "Reset" +msgstr "Zurücksetzen" + +#: init.lua +msgid "Increase window size" +msgstr "Fenster vergrößern" + +#: init.lua +msgid "Decrease window size" +msgstr "Fenster verkleinern" + +#: init.lua +msgid "Previous page" +msgstr "Vorherige Seite" + +#: init.lua +msgid "Next page" +msgstr "Nächste Seite" + +#: init.lua +msgid "No item to show" +msgstr "Nichts anzuzeigen" + +#: init.lua +msgid "Crafting Guide" +msgstr "Rezeptbuch" + +#: init.lua +msgid "Crafting Guide Sign" +msgstr "Rezepttafel" + +#: init.lua +msgid "Shows a list of available crafting recipes, cooking recipes and fuels" +msgstr "Zeigt eine Liste von verfügbaren Rezepten, Kochrezepten und Brennmaterialien" diff --git a/mods/craftguide/locale/ms.po b/mods/craftguide/locale/ms.po new file mode 100644 index 0000000..56a1c20 --- /dev/null +++ b/mods/craftguide/locale/ms.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: craftguide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 18:35+0100\n" +"PO-Revision-Date: 2018-04-18 02:02+0800\n" +"Language-Team: muhdnurhidayat \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: MuhdNurHidayat (MNH48) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ms\n" + +#: init.lua +msgid "Unknown Item (@1)" +msgstr "Item Tidak Diketahui (@1)" + +#: init.lua +msgid "Any item belonging to the group(s)" +msgstr "Sebarang item dari kumpulan" + +#: init.lua +msgid "Cooking time" +msgstr "Tempoh memasak" + +#: init.lua +msgid "Burning time" +msgstr "Tempoh pembakaran" + +#: init.lua +msgid "Alternate" +msgstr "Resipi lain" + +#: init.lua +msgid "Recipe @1 of @2" +msgstr "Resipi @1 dari @2" + +#: init.lua +msgid "" +"Recipe is too big to\n" +"be displayed (@1x@2)" +msgstr "" +"Resipi terlalu besar\n" +"untuk paparan (@1x@2)" + +#: init.lua +msgid "Search" +msgstr "Cari" + +#: init.lua +msgid "Reset" +msgstr "Set semula" + +#: init.lua +msgid "Increase window size" +msgstr "Besarkan saiz tetingkap" + +#: init.lua +msgid "Decrease window size" +msgstr "Kecilkan saiz tetingkap" + +#: init.lua +msgid "Previous page" +msgstr "Halaman sebelumnya" + +#: init.lua +msgid "Next page" +msgstr "Halaman seterusnya" + +#: init.lua +msgid "No item to show" +msgstr "Tiada item untuk dipaparkan" + +#: init.lua +msgid "Crafting Guide" +msgstr "Panduan Pertukangan" + +#: init.lua +msgid "Crafting Guide Sign" +msgstr "Papan Tanda Panduan Pertukangan" + +#: init.lua +msgid "Shows a list of available crafting recipes, cooking recipes and fuels" +msgstr "Menunjukkan senarai resipi pertukangan, resipi memasak dan bahan api yang ada" diff --git a/mods/craftguide/locale/ru.po b/mods/craftguide/locale/ru.po new file mode 100644 index 0000000..e99d0c6 --- /dev/null +++ b/mods/craftguide/locale/ru.po @@ -0,0 +1,90 @@ +# Russian translation for craftguide mod. +# Copyright (C) 2018 +# This file is distributed under the same license as the craftguide package. +# codexp , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 1.27\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 00:17+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: init.lua +msgid "Unknown Item (@1)" +msgstr "Неизвестный элемент (@1)" + +#: init.lua +msgid "Any item belonging to the group(s)" +msgstr "Любой элемент из группы" + +#: init.lua +msgid "Cooking time" +msgstr "Время преготовления" + +#: init.lua +msgid "Burning time" +msgstr "Время горения" + +#: init.lua +msgid "Alternate" +msgstr "Другой" + +#: init.lua +msgid "Recipe @1 of @2" +msgstr "Рецепт @1 из @2" + +#: init.lua +msgid "" +"Recipe is too big to\n" +"be displayed (@1x@2)" +msgstr "" +"Рецепт слишком большой\n" +"для показа (@1x@2)" + +#: init.lua +msgid "Search" +msgstr "Поиск" + +#: init.lua +msgid "Reset" +msgstr "Сброс" + +#: init.lua +msgid "Increase window size" +msgstr "Увеличить окно" + +#: init.lua +msgid "Decrease window size" +msgstr "Уменьшить окно" + +#: init.lua +msgid "Previous page" +msgstr "Предыдущая страница" + +#: init.lua +msgid "Next page" +msgstr "Следущая страница" + +#: init.lua +msgid "No item to show" +msgstr "Нет элемента для показа" + +#: init.lua +msgid "Crafting Guide" +msgstr "книга рецептов крафта" + +#: init.lua +msgid "Crafting Guide Sign" +msgstr "табличка рецептов крафта" + +#: init.lua +msgid "Shows a list of available crafting recipes, cooking recipes and fuels" +msgstr "Показывает список рецептов крафта, преготовления и топливо" diff --git a/mods/craftguide/locale/template.pot b/mods/craftguide/locale/template.pot new file mode 100644 index 0000000..8f8470d --- /dev/null +++ b/mods/craftguide/locale/template.pot @@ -0,0 +1,88 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 18:35+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: init.lua +msgid "Unknown Item (@1)" +msgstr "" + +#: init.lua +msgid "Any item belonging to the group(s)" +msgstr "" + +#: init.lua +msgid "Cooking time" +msgstr "" + +#: init.lua +msgid "Burning time" +msgstr "" + +#: init.lua +msgid "Alternate" +msgstr "" + +#: init.lua +msgid "Recipe @1 of @2" +msgstr "" + +#: init.lua +msgid "" +"Recipe is too big to\n" +"be displayed (@1x@2)" +msgstr "" + +#: init.lua +msgid "Search" +msgstr "" + +#: init.lua +msgid "Reset" +msgstr "" + +#: init.lua +msgid "Increase window size" +msgstr "" + +#: init.lua +msgid "Decrease window size" +msgstr "" + +#: init.lua +msgid "Previous page" +msgstr "" + +#: init.lua +msgid "Next page" +msgstr "" + +#: init.lua +msgid "No item to show" +msgstr "" + +#: init.lua +msgid "Crafting Guide" +msgstr "" + +#: init.lua +msgid "Crafting Guide Sign" +msgstr "" + +#: init.lua +msgid "Shows a list of available crafting recipes, cooking recipes and fuels" +msgstr "" diff --git a/mods/craftguide/mod.conf b/mods/craftguide/mod.conf new file mode 100644 index 0000000..c32f714 --- /dev/null +++ b/mods/craftguide/mod.conf @@ -0,0 +1 @@ +name = craftguide diff --git a/mods/craftguide/textures/craftguide_arrow.png b/mods/craftguide/textures/craftguide_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d3598a1b8d1ad3d505bb99421495cad111a35d GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g&!3HF6Zj5OLQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#0S}kBqQH+iJf=XQdQTU}5R21CuWaN!puod&pk3!c zkHPfi$&AxW=67iwnfPF7L{Yonu^SC4i`H!Y^!kjJaZ|=x!Pyg)w@hKutm)EAWc}3; zs==T#N%7UY-y1eviac|*dio*;gJTY6o3~Wo{a+>H+q(PknM)UUXx{!5At1UhCX@Bw kFV4A-9&X?HIm0-wapi>w;UHx3vIVCg!01o3^LI3~& literal 0 HcmV?d00001 diff --git a/mods/craftguide/textures/craftguide_bg.png b/mods/craftguide/textures/craftguide_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..db50299362003609665f812236fa4756c8fea5fc GIT binary patch literal 169 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 S1fr$@0000uJ@VVD_U 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 Vez(c=Kl1uJ@VVD_U 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 literal 0 HcmV?d00001 diff --git a/mods/craftguide/textures/craftguide_shapeless.png b/mods/craftguide/textures/craftguide_shapeless.png new file mode 100644 index 0000000000000000000000000000000000000000..179d3173cf098b1b6cd8d72820648090f088af81 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1#^NA%Cx&(BWL^R}OiAAEE({E- zdXmbbNq%pe!D9B#o>Fdh=kco{+kHf>>+8Zd8?&;zfVsZLxup<|P z0>|sM)lUD}7YC>HZc)1QdfDYnuk%boE$ti=WE4XxRJW8I_sh>wNcj+D{x9+IS$ApigX literal 0 HcmV?d00001 diff --git a/mods/craftguide/textures/craftguide_sign.png b/mods/craftguide/textures/craftguide_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..f64b5ab5a67db1501315eefd08a6dc32e685074a GIT binary patch literal 685 zcmV;e0#f~nP)u`(b8u~SrnpcXd%2Nr^;g&=l<3W|lD zgcw6miv(0eMXYTEEsTXIq9n%6?d{I({IW=8X#{Zrl z96FaMtuu5gIWTpQG?la>k~&G0;9L8T7otZffwP`>uU}&tgODitwV}IhJ1d`7=ygX( zGL5$ml_|X63|r-qGU3a|&&X7vqCfuUm~QoOfhx}Ycu zs`3Yu2c|G}gU2!2>mjsG>6aygauq+Uc(FLg>i4faTbM<6I=oqWN;9ZOZT9 zU>Pkm$^C0*;?O#do;u4$xsLQh#&+za9#rJH##)Q+blCXy4KH)XdfV{9^YZaLL(?Mq zWr;+ww*H-!4$33Q8b_U#`> z2t!jtQ>|l%8w3|H)mNMj0xz^OCWkf4T z9IXw2B1VS`0xgrx0*T`M_4zHaaPz{EC|nY@%))4|M{?uhOjL>b@A)!~v^MY;+U7YU TT%RJG00000NkvXXu0mjfIIb+U literal 0 HcmV?d00001 diff --git a/mods/craftguide/textures/craftguide_sign_inv.png b/mods/craftguide/textures/craftguide_sign_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..61372344bbb71a1af0164333415bb90d750bb609 GIT binary patch literal 685 zcmV;e0#f~nP)=-)$~AB+*Jl5G-ucSQ!w4*eNPOPzxLX0}DaaLJ&Ja1;xTn zLX07(MFJ|KBGxv77REvpQ4-_k_IBUx`&f%qmS)O<8K(G+xPAEqX(9hbs@A=VV zG9|PzDJD@Im^w(3C>q(4ctxuqH0~cSwgIUn-UZ&hevPdyQlaTrmhQIgtbAIb*BwEm zhTuFp)r7Dab~>Px;LFF)s6?Y%iHr^%LPIz2(8iX%lanBF#<%CJuSv8{2*Ht>oIKAd ziyurLn8H>y0ncc!hcqUkUla_ARl>03#o`>R-@o!~VHVTr@Mh^L^`PY8y;~qha7{y! zWmwx#RyDF;S)xoB=}n-rE{A7M^XmB$(=#Vno`1m9p=n+$&T;toFCC2``6AebiO@$>MR?@Iw}kq+p&{sP?BW^=NzWfVdK{~g31`{Z6n0M%g6H!Z6jpA zC{SqD*1xmz;RAul@1NfYJ`meT^czSiNyjEoO7Z^PTk64pvZ_%k-Q>WFNH-s6-~Mr= zwA2;U+@nODBrwr1nEWG@)t&XJ;aTRGiagzd%j9q8W;Hsgqk%d TEQ3u-00000NkvXXu0mjfIe;*O literal 0 HcmV?d00001 diff --git a/mods/creative/README.txt b/mods/creative/README.txt new file mode 100644 index 0000000..32e8d22 --- /dev/null +++ b/mods/creative/README.txt @@ -0,0 +1,17 @@ +Minetest Game mod: creative +=========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Jean-Patrick G. (kilbith) (MIT) + +Author of media (textures) +-------------------------- +paramat (CC BY-SA 3.0): +* creative_prev_icon.png +* creative_next_icon.png +* creative_search_icon.png +* creative_clear_icon.png +* creative_trash_icon.png derived from a texture by kilbith (CC BY-SA 3.0) diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt new file mode 100644 index 0000000..975e652 --- /dev/null +++ b/mods/creative/depends.txt @@ -0,0 +1,2 @@ +default +sfinv diff --git a/mods/creative/init.lua b/mods/creative/init.lua new file mode 100644 index 0000000..8a6b9f2 --- /dev/null +++ b/mods/creative/init.lua @@ -0,0 +1,74 @@ +creative = {} + +minetest.register_privilege("creative", { + description = "Allow player to use creative inventory", + give_to_singleplayer = false, + give_to_admin = false +}) + +local creative_mode_cache = minetest.settings:get_bool("creative_mode") + +function creative.is_enabled_for(name) + return creative_mode_cache or + minetest.check_player_privs(name, {creative = true}) +end + +--dofile(minetest.get_modpath("creative") .. "/inventory.lua") + +if creative_mode_cache then + -- Dig time is modified according to difference (leveldiff) between tool + -- 'maxlevel' and node 'level'. Digtime is divided by the larger of + -- leveldiff and 1. + -- To speed up digging in creative, hand 'maxlevel' and 'digtime' have been + -- increased such that nodes of differing levels have an insignificant + -- effect on digtime. + local digtime = 42 + local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256} + + minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x = 1, y = 1, z = 2.5}, + range = 10, + tool_capabilities = { + full_punch_interval = 0.5, + max_drop_level = 3, + groupcaps = { + crumbly = caps, + cracky = caps, + snappy = caps, + choppy = caps, + oddly_breakable_by_hand = caps, + }, + damage_groups = {fleshy = 10}, + } + }) +end + +-- Unlimited node placement +--[[ +minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) + if placer and placer:is_player() then + return creative.is_enabled_for(placer:get_player_name()) + end +end) +--]] + +-- Don't pick up if the item is already in the inventory +--[[ +local old_handle_node_drops = minetest.handle_node_drops +function minetest.handle_node_drops(pos, drops, digger) + if not digger or not digger:is_player() or + not creative.is_enabled_for(digger:get_player_name()) then + return old_handle_node_drops(pos, drops, digger) + end + local inv = digger:get_inventory() + if inv then + for _, item in ipairs(drops) do + if not inv:contains_item("main", item, true) then + inv:add_item("main", item) + end + end + end +end +--]] diff --git a/mods/creative/inventory.lua b/mods/creative/inventory.lua new file mode 100644 index 0000000..79a8529 --- /dev/null +++ b/mods/creative/inventory.lua @@ -0,0 +1,193 @@ +local player_inventory = {} +local inventory_cache = {} + +local function init_creative_cache(items) + inventory_cache[items] = {} + local i_cache = inventory_cache[items] + + for name, def in pairs(items) do + if def.groups.not_in_creative_inventory ~= 1 and + def.description and def.description ~= "" then + i_cache[name] = def + end + end + table.sort(i_cache) + return i_cache +end + +function creative.init_creative_inventory(player) + local player_name = player:get_player_name() + player_inventory[player_name] = { + size = 0, + filter = "", + start_i = 0 + } + + minetest.create_detached_inventory("creative_" .. player_name, { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player2) + local name = player2 and player2:get_player_name() or "" + if not creative.is_enabled_for(name) or + to_list == "main" then + return 0 + end + return count + end, + allow_put = function(inv, listname, index, stack, player2) + return 0 + end, + allow_take = function(inv, listname, index, stack, player2) + local name = player2 and player2:get_player_name() or "" + if not creative.is_enabled_for(name) then + return 0 + end + return -1 + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player2) + end, + on_take = function(inv, listname, index, stack, player2) + if stack and stack:get_count() > 0 then + minetest.log("action", player_name .. " takes " .. stack:get_name().. " from creative inventory") + end + end, + }, player_name) + + return player_inventory[player_name] +end + +function creative.update_creative_inventory(player_name, tab_content) + local creative_list = {} + local inv = player_inventory[player_name] or + creative.init_creative_inventory(minetest.get_player_by_name(player_name)) + local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) + + local items = inventory_cache[tab_content] or init_creative_cache(tab_content) + + for name, def in pairs(items) do + if def.name:find(inv.filter, 1, true) or + def.description:lower():find(inv.filter, 1, true) then + creative_list[#creative_list+1] = name + end + end + + table.sort(creative_list) + player_inv:set_size("main", #creative_list) + player_inv:set_list("main", creative_list) + inv.size = #creative_list +end + +-- Create the trash field +local trash = minetest.create_detached_inventory("creative_trash", { + -- Allow the stack to be placed and remove it in on_put() + -- This allows the creative inventory to restore the stack + allow_put = function(inv, listname, index, stack, player) + return stack:get_count() + end, + on_put = function(inv, listname) + inv:set_list(listname, {}) + end, +}) +trash:set_size("main", 1) + +creative.formspec_add = "" + +function creative.register_tab(name, title, items) + sfinv.register_page("creative:" .. name, { + title = title, + is_in_nav = function(self, player, context) + return creative.is_enabled_for(player:get_player_name()) + end, + get = function(self, player, context) + local player_name = player:get_player_name() + creative.update_creative_inventory(player_name, items) + local inv = player_inventory[player_name] + local start_i = inv.start_i or 0 + local pagenum = math.floor(start_i / (3*8) + 1) + local pagemax = math.ceil(inv.size / (3*8)) + return sfinv.make_formspec(player, context, + "label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. + [[ + image[4.06,3.4;0.8,0.8;creative_trash_icon.png] + listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] + list[current_player;main;0,4.7;8,1;] + list[current_player;main;0,5.85;8,3;8] + list[detached:creative_trash;main;4,3.3;1,1;] + listring[] + image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] + image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] + image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] + image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;] + tooltip[creative_search;Search] + tooltip[creative_clear;Reset] + tooltip[creative_prev;Previous page] + tooltip[creative_next;Next page] + listring[current_player;main] + field_close_on_enter[creative_filter;false] + ]] .. + "field[0.3,3.5;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. + "listring[detached:creative_" .. player_name .. ";main]" .. + "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. + default.get_hotbar_bg(0,4.7) .. + default.gui_bg .. default.gui_bg_img .. default.gui_slots + .. creative.formspec_add, false) + end, + on_enter = function(self, player, context) + local player_name = player:get_player_name() + local inv = player_inventory[player_name] + if inv then + inv.start_i = 0 + end + end, + on_player_receive_fields = function(self, player, context, fields) + local player_name = player:get_player_name() + local inv = player_inventory[player_name] + assert(inv) + + if fields.creative_clear then + inv.start_i = 0 + inv.filter = "" + creative.update_creative_inventory(player_name, items) + sfinv.set_player_inventory_formspec(player, context) + elseif fields.creative_search or + fields.key_enter_field == "creative_filter" then + inv.start_i = 0 + inv.filter = fields.creative_filter:lower() + creative.update_creative_inventory(player_name, items) + sfinv.set_player_inventory_formspec(player, context) + elseif not fields.quit then + local start_i = inv.start_i or 0 + + if fields.creative_prev then + start_i = start_i - 3*8 + if start_i < 0 then + start_i = inv.size - (inv.size % (3*8)) + if inv.size == start_i then + start_i = math.max(0, inv.size - (3*8)) + end + end + elseif fields.creative_next then + start_i = start_i + 3*8 + if start_i >= inv.size then + start_i = 0 + end + end + + inv.start_i = start_i + sfinv.set_player_inventory_formspec(player, context) + end + end + }) +end + +creative.register_tab("all", "All", minetest.registered_items) +creative.register_tab("nodes", "Nodes", minetest.registered_nodes) +creative.register_tab("tools", "Tools", minetest.registered_tools) +creative.register_tab("craftitems", "Items", minetest.registered_craftitems) + +local old_homepage_name = sfinv.get_homepage_name +function sfinv.get_homepage_name(player) + if creative.is_enabled_for(player:get_player_name()) then + return "creative:all" + else + return old_homepage_name(player) + end +end diff --git a/mods/creative/license.txt b/mods/creative/license.txt new file mode 100644 index 0000000..50ff9c7 --- /dev/null +++ b/mods/creative/license.txt @@ -0,0 +1,61 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2015-2016 Jean-Patrick G. (kilbith) + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2016 Jean-Patrick G. (kilbith) +Copyright (C) 2018 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/creative/textures/creative_clear_icon.png b/mods/creative/textures/creative_clear_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9244264adcf8a710ff13a2d684f148f997f1522f GIT binary patch literal 708 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVCwdCaSW-r_4ck|p0J|`+k@?8 z)4T38Ghetp_qK?~6E??3JeK}D7|j>(if@>5FNQ(xtQ%9xq#I|>oJ-rk-tWo9fB*MH zp5A261T+u{c%448b?emavpj!@3x2dSE|*=GYrgL7A+xn2b!l~{&a|J|bNs}_tEEWpk`5!2*`a}1RyVnJUKYCsTDmAJZ691N{Rw#iPDykKZKfD4SDBXYZavSfp zt(M8LUICfU&F8YHzp0s=(DY%oUz2h9J|Q20x{sb8K$MJ(p@+4@qz<4 z!kg0dK3Eysi%9);Rd;NiTfc_o`reublauX^hYkL8bi5ZVT=BywU-{9yDV`H%&hFSD z{eSy3XBU}c*&BW+C(O>xi5IGCE-m?*7^bhf!nSDs-Ve5G964XH7nBIy_{nX@*CKED zC9J9A$E62L@3|g1-|-{rXX!rIBX13O=8G=aFLdP6;d1{6XTq5t?lu(JC&Y2TP@!hB z!wW0ribzTW? zv>WHHXDQnUw9_l$Ihb?k|95ulYSoBmH}=bWKa)PledlLA%OVzTzIe`-^(=?Nn=}vK z|5|oXdfI~7>hssAan;KT<|{qg^yu`QKY#yx%+Ejmf9+EvCB5Qf=OwiwTl#JLZgovQ z!0-C6bfNb@zk-X!W`9H8=%_c!chCE&^5PxeZU@em`wuKW9OwuSX$khe@MP~-NmYTm zX3qx;1G)7Yj~~+PMrdBTn&4iAk_ zCzVg(Na=19?+|cZ@IbL5e8K}(p%j$~LCzBsW`=l_98+=LxOqcU#KxZ4bF1w%xt0{a z`}n5x5A!4yPfR4$8*;e!gynrkwWs^THJ8fwm6_+NZhvfNz`X2$*7H3+nrmg>zn$fk zcU;DTEsp7Yqx;j4fC<766bo4PXc+pOTKe$LWCb^d;0JOacKq4RS~rcuZuyjTGNpGJ zdGs?sCo&vRd%owBN{66>{6Xdinj19ZyXSmv6+FVRpg$o@?6BAl?l~2f9l{R##m}7n zuvdnKCqd%iW=9Tg|0WBd0qnUq*`xfMA{hVF3Oz`Y&}R^LW-c%^fl>ZU%pX(?803|t z4oqwB*k7+NsASMk@89(JA%AxN0fuev7cTA1*!Id^O!B}t4yQjGPcSs;x3LM-7@9OZ z=w8Uk63@e{@FOXM;ULghj(rkR4j+zQ04pijarA>!#Pd1(`(A$LlzLtR)BDcFwBi3|wtWop4gCi;u{`7xI8ZA2L-PYy1jFf#wRRI3-_)Pq&*Imx z{ps&h?Ts7z{(f(M7~k`?l9BmF{*UDcW^d%bulm8@@b{Ao7I4RluIDspxZ8IB{^$7q z%7?}cf4Be5TKAJ}!~JbQq4U|*l{*+&ZhqrE(0ZO>k$w%({XjJjxaR}i|AR;2$Dwqf z`|W`4{~+n`0jQ)&zs5XMrtS@Ycb-gLPVZrJhW300zWWR^`xq^1m zyWUxR_7M!z4@iFKeHXjyz0AM7AYOB&=QfLf7qn^Ky}aAIU0%C^v)*oIvhlX<8Qz#F e2P9I`9q-0Hd(Hm59fiOI%i!ti=d#Wzp$P!RnKjM; literal 0 HcmV?d00001 diff --git a/mods/creative/textures/creative_prev_icon.png b/mods/creative/textures/creative_prev_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b26cd157f95aec853fce734574e5d319686b8399 GIT binary patch literal 728 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 literal 0 HcmV?d00001 diff --git a/mods/creative/textures/creative_trash_icon.png b/mods/creative/textures/creative_trash_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7a0a62f36472ffcc08cd07422d1c5e17e45e3b GIT binary patch literal 712 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVCwgDaSW-r_4e+?-dhe5trxww zq*naqXuWX$%VVcGb_I&R1tv_`WU!j2d1GzgmQ#n_%r@D(8r!SMY)V`@C3wbkp`zrO9YquH$qXGj<1H+Alhfi&G|FJ(}SLs?`@OU z=Ko=Q^1aIOQ@pdR=KhzuvG=pT`FdxDxp@Z+zq8vWPg;3>!84VT2}&@z?=%LBL9Hq~$8|9AiV@%4Xy%;s14dR}%* zon77A&m;qutR!##$3==^`3{2oa1xFUptOVYBf1?jSv-y|x zQ#1GeuC3o5=i4=WKHIvdyz#uX-M?+jJ8Bj`d-DSr7ho$7bd@n~t^F`3MPuolJ6-v_ z)3Z&!%~Jltw_qE;+@zXk@59#=*ZUcKouw=zcJKN8Nip?5uFpu(S=s~FpY@DkZE@4y u*Z=k$xWstn8Ot*UZhL(O28IL6Y8X5J> (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +The torch code was derived by sofar from the 'torches' mod by +BlockMen (LGPLv2.1+) + +Authors of media (textures, sounds, models and schematics) +---------------------------------------------------------- +Everything not listed in here: +celeron55, Perttu Ahola (CC BY-SA 3.0) + + +Textures +-------- +Cisoun's texture pack (CC BY-SA 3.0): + default_jungletree.png + default_lava.png + default_leaves.png + default_sapling.png + default_bush_sapling.png + default_stone.png + default_tree.png + default_tree_top.png + default_water.png + +RealBadAngel's animated water (CC BY-SA 3.0): + default_water_source_animated.png + default_water_flowing_animated.png + +VanessaE (CC BY-SA 3.0): + default_torch_animated.png + default_torch_on_ceiling_animated.png + default_torch_on_floor_animated.png + default_torch_on_floor.png + default_desert_sand.png + default_desert_stone.png + default_sand.png + default_mese_crystal.png + default_mese_crystal_fragment.png + +Calinou (CC BY-SA 3.0): + default_brick.png + default_papyrus.png + default_mineral_copper.png + +PilzAdam (CC BY-SA 3.0): + default_jungleleaves.png + default_junglesapling.png + default_obsidian_glass.png + default_obsidian_shard.png + default_mineral_gold.png + +jojoa1997 (CC BY-SA 3.0): + default_obsidian.png + +InfinityProject (CC BY-SA 3.0): + default_mineral_diamond.png + +Splizard (CC BY-SA 3.0): + default_pine_sapling.png + default_pine_needles.png + +Zeg9 (CC BY-SA 3.0): + default_coal_block.png + +paramat (CC BY-SA 3.0): + wieldhand.png -- Copied from character.png by Jordach (CC BY-SA 3.0) + default_pinetree.png + default_pinetree_top.png + default_pinewood.png + default_acacia_leaves.png + default_acacia_leaves_simple.png + default_acacia_sapling.png + default_acacia_bush_sapling.png + default_pine_bush_sapling.png + default_acacia_tree.png + default_acacia_tree_top.png + default_acacia_wood.png + default_acacia_bush_stem.png + default_bush_stem.png + default_pine_bush_stem.png + default_junglewood.png + default_jungletree_top.png + default_sandstone_brick.png + default_obsidian_brick.png + default_stone_brick.png + default_desert_stone_brick.png + default_sandstone_block.png + default_obsidian_block.png + default_stone_block.png + default_desert_stone_block.png + default_river_water.png + default_river_water_source_animated.png + default_river_water_flowing_animated.png + default_dry_grass.png + default_dry_grass_side.png + default_dry_grass_*.png + default_grass.png + default_grass_side.png + default_mese_block.png + default_silver_sand.png + default_mese_post_light_side.png + default_mese_post_light_side_dark.png + default_mese_post_light_top.png + default_silver_sandstone.png -- Derived from a texture by GreenXenith (CC-BY-SA 3.0) + default_silver_sandstone_brick.png -- Derived from a texture by GreenXenith (CC-BY-SA 3.0) + default_silver_sandstone_block.png -- Derived from a texture by GreenXenith (CC-BY-SA 3.0) + default_bookshelf_slot.png -- Derived from a texture by Gambit (CC-BY-SA 3.0) + default_marram_grass_*.png -- Derived from textures by TumeniNodes (CC-BY-SA 3.0) + default_emergent_jungle_sapling.png + default_permafrost.png -- Derived from a texture by Neuromancer (CC BY-SA 3.0) + default_stones.png -- Derived from a texture by sofar (CC0 1.0) + default_moss.png + default_moss_side.png + default_fence_rail_acacia_wood + default_fence_rail_aspen_wood -- Derived from a texture by sofar (CC BY-SA 3.0) + default_fence_rail_junglewood + default_fence_rail_pine_wood + default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0) + +TumeniNodes (CC BY-SA 3.0): + default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0) + default_coniferous_litter.png + default_coniferous_litter_side.png + +BlockMen (CC BY-SA 3.0): + default_aspen_leaves.png -- Derived from Sofar's texture + default_wood.png + default_clay_brick.png + default_iron_ingot.png + default_gold_ingot.png + default_tool_steelsword.png + default_diamond.png + default_tool_*.png + default_lava_source_animated.png + default_lava_flowing_animated.png + default_stick.png + default_chest_front.png + default_chest_lock.png + default_chest_side.png + default_chest_top.png + default_mineral_mese.png + default_meselamp.png + bubble.png + gui_*.png + +sofar (CC BY-SA 3.0): + default_aspen_sapling + default_aspen_tree + default_aspen_tree_top, derived from default_pine_tree_top (by paramat) + default_aspen_wood, derived from default_pine_wood (by paramat) + default_chest_inside + +sofar (CC0 1.0): + default_gravel.png -- Derived from Gambit's PixelBOX texture pack light gravel + +Neuromancer (CC BY-SA 3.0): + default_cobble.png, based on texture by Brane praefect + default_mossycobble.png, based on texture by Brane praefect + default_furnace_*.png + +Gambit (CC BY-SA 3.0): + default_bronze_ingot.png + default_copper_ingot.png + default_copper_lump.png + default_iron_lump.png + default_gold_lump.png + default_clay_lump.png + default_coal.png + default_grass_*.png + default_paper.png + default_diamond_block.png + default_ladder_steel.png + default_sign_wall_wood.png + default_flint.png + default_snow.png + default_snow_side.png + default_snowball.png + default_key.png + default_key_skeleton.png + default_book.png + +asl97 (CC BY-SA 3.0): + default_ice.png + +KevDoy (CC BY-SA 3.0): + heart.png + +Pithydon (CC BY-SA 3.0) + default_coral_brown.png + default_coral_orange.png + default_coral_skeleton.png + +Ferk (CC0 1.0): + default_item_smoke.png + +npx (CC BY-SA 3.0): + default_rainforest_litter.png + default_rainforest_litter_side.png + +kaeza (CC-BY-SA 3.0): + default_desert_sandstone.png + default_desert_sandstone_brick.png + default_desert_sandstone_block.png + +kilbith (CC BY-SA 3.0): + default_steel_block.png + default_copper_block.png + default_bronze_block.png + default_gold_block.png + default_tin_block.png + default_mineral_tin.png + default_tin_ingot.png + default_tin_lump.png + +tobyplowy (CC BY-SA 3.0): + default_kelp.png + +CloudyProton (CC BY-SA 3.0): + default_book_written.png, based on default_book.png by Gambit + +Mossmanikin (CC BY-SA 3.0): + default_fern_*.png + +random-geek (CC BY-SA 3.0): + default_blueberries.png + default_blueberry_overlay.png + default_blueberry_bush_leaves.png, derived from default_bush_leaves (by paramat) + default_blueberry_bush_sapling.png + default_dirt.png -- Derived from a texture by Neuromancer (CC BY-SA 3.0) + +Krock (CC0 1.0): + default_glass.png + default_glass_detail.png + +Topywo (CC BY-SA 3.0) + default_coral_cyan.png + default_coral_green.png + default_coral_pink.png + + +Sounds +------ +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/ + +Mito551 (sounds) (CC BY-SA 3.0): + default_dig_choppy.ogg + default_dig_cracky.ogg + default_dig_crumbly.1.ogg + default_dig_crumbly.2.ogg + default_dig_dig_immediate.ogg + default_dig_oddly_breakable_by_hand.ogg + default_dug_node.1.ogg + default_dug_node.2.ogg + default_grass_footstep.1.ogg + default_grass_footstep.2.ogg + default_grass_footstep.3.ogg + default_gravel_footstep.1.ogg + default_gravel_footstep.2.ogg + default_gravel_footstep.3.ogg + default_gravel_footstep.4.ogg + default_grass_footstep.1.ogg + default_place_node.1.ogg + default_place_node.2.ogg + default_place_node.3.ogg + default_place_node_hard.1.ogg + default_place_node_hard.2.ogg + default_hard_footstep.1.ogg + default_hard_footstep.2.ogg + default_hard_footstep.3.ogg + default_sand_footstep.1.ogg + default_sand_footstep.2.ogg + default_wood_footstep.1.ogg + default_wood_footstep.2.ogg + default_dirt_footstep.1.ogg + default_dirt_footstep.2.ogg + default_glass_footstep.ogg + +Metal sounds: + default_dig_metal.ogg - yadronoff - CC-BY-3.0 + - https://www.freesound.org/people/yadronoff/sounds/320397/ + default_dug_metal.*.ogg - Iwan Gabovitch - qubodup - CC0 + - http://opengameart.org/users/qubodup + default_metal_footstep.*.ogg - Ottomaani138 - CC0 + - https://www.freesound.org/people/Ottomaani138/sounds/232692/ + default_place_node_metal.*.ogg - Ogrebane - CC0 + - http://opengameart.org/content/wood-and-metal-sound-effects-volume-2 + +Tool breaking sounds added by sofar: CC-BY-3.0 + default_tool_breaks.* - http://www.freesound.org/people/HerbertBoland/sounds/33206/ + +AGFX (CC BY 3.0): +https://www.freesound.org/people/AGFX/packs/1253/ + default_water_footstep.1.ogg + default_water_footstep.2.ogg + default_water_footstep.3.ogg +(default_water_footstep.4.ogg is silent) + +blukotek (CC0 1.0): +https://www.freesound.org/people/blukotek/sounds/251660/ + default_dig_snappy.ogg + +Chests sounds added by sofar, derived of several files mixed together: + default_chest_open.ogg + default_chest_close.ogg + - http://www.freesound.org/people/Sevin7/sounds/269722/ CC0 + - http://www.freesound.org/people/Percy%20Duke/sounds/23448/ CC-BY-3.0 + - http://www.freesound.org/people/kingsamas/sounds/135576/ CC-BY-3.0 + - http://www.freesound.org/people/bulbastre/sounds/126887/ CC-BY-3.0 + - http://www.freesound.org/people/Yoyodaman234/sounds/183541/ CC0 + +Ryding (CC0 1.0): +http://freesound.org/people/Ryding/sounds/94337/ + default_snow_footstep.*.ogg + +Ferk (CC0 1.0): + default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart + + +Models +------ +sofar (CC BY-SA 3.0): + chest_open.obj + torch_ceiling.obj + torch_floor.obj + torch_wall.obj + + +Schematics +---------- +paramat (CC BY-SA 3.0): + acacia_bush.mts + acacia_tree.mts + acacia_tree_from_sapling.mts + apple_tree.mts + apple_tree_from_sapling.mts + aspen_tree.mts + aspen_tree_from_sapling.mts + bush.mts + emergent_jungle_tree.mts + emergent_jungle_tree_from_sapling.mts + jungle_tree.mts + jungle_tree_from_sapling.mts + large_cactus.mts + papyrus.mts + pine_tree.mts + pine_tree_from_sapling.mts + snowy_pine_tree_from_sapling.mts + small_pine_tree.mts + small_pine_tree_from_sapling.mts + snowy_small_pine_tree_from_sapling.mts + +Shara RedCat (CC BY-SA 3.0): + acacia_log.mts + apple_log.mts + aspen_log.mts + jungle_log.mts + pine_log.mts + +sofar (CC BY-SA 3.0): + corals.mts + +TumeniNodes (CC BY-SA 3.0): + pine_bush.mts + +random-geek (CC BY-SA 3.0): + blueberry_bush.mts diff --git a/mods/default/aliases.lua b/mods/default/aliases.lua new file mode 100644 index 0000000..6db3fc8 --- /dev/null +++ b/mods/default/aliases.lua @@ -0,0 +1,77 @@ +-- mods/default/aliases.lua + +-- Aliases to support loading worlds using nodes following the old naming convention +-- These can also be helpful when using chat commands, for example /giveme +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", "carts:rail") +minetest.register_alias("ladder", "default:ladder_wood") +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_wood") +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("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("snow", "default:snow") + +-- 'mese_block' was used for a while for the block form of mese +minetest.register_alias("default:mese_block", "default:mese") + +-- Aliases for corrected pine node names +minetest.register_alias("default:pinetree", "default:pine_tree") +minetest.register_alias("default:pinewood", "default:pine_wood") + +minetest.register_alias("default:ladder", "default:ladder_wood") +minetest.register_alias("default:sign_wall", "default:sign_wall_wood") diff --git a/mods/default/chests.lua b/mods/default/chests.lua new file mode 100644 index 0000000..3338905 --- /dev/null +++ b/mods/default/chests.lua @@ -0,0 +1,321 @@ +default.chest = {} + +function default.chest.get_chest_formspec(pos) + local spos = pos.x .. "," .. pos.y .. "," .. pos.z + local formspec = + "size[8,9]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[nodemeta:" .. spos .. ";main;0,0.3;8,4;]" .. + "list[current_player;main;0,4.85;8,1;]" .. + "list[current_player;main;0,6.08;8,3;8]" .. + "listring[nodemeta:" .. spos .. ";main]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0,4.85) + return formspec +end + +function default.chest.chest_lid_obstructed(pos) + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + local def = minetest.registered_nodes[minetest.get_node(above).name] + -- allow ladders, signs, wallmounted things and torches to not obstruct + if def and + (def.drawtype == "airlike" or + def.drawtype == "signlike" or + def.drawtype == "torchlike" or + (def.drawtype == "nodebox" and def.paramtype2 == "wallmounted")) then + return false + end + return true +end + +function default.chest.chest_lid_close(pn) + local chest_open_info = default.chest.open_chests[pn] + local pos = chest_open_info.pos + local sound = chest_open_info.sound + local swap = chest_open_info.swap + + default.chest.open_chests[pn] = nil + for k, v in pairs(default.chest.open_chests) do + if v.pos.x == pos.x and v.pos.y == pos.y and v.pos.z == pos.z then + return true + end + end + + local node = minetest.get_node(pos) + minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap, + param2 = node.param2 }) + minetest.sound_play(sound, {gain = 0.3, pos = pos, max_hear_distance = 10}) +end + +default.chest.open_chests = {} + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "default:chest" then + return + end + if not player or not fields.quit then + return + end + local pn = player:get_player_name() + + if not default.chest.open_chests[pn] then + return + end + + default.chest.chest_lid_close(pn) + return true +end) + +minetest.register_on_leaveplayer(function(player) + local pn = player:get_player_name() + if default.chest.open_chests[pn] then + default.chest.chest_lid_close(pn) + end +end) + +function default.chest.register_chest(name, d) + local def = table.copy(d) + def.drawtype = "mesh" + def.visual = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.legacy_facedir_simple = true + def.is_ground_content = false + + if def.protected then + def.on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end + def.after_place_node = function(pos, placer) + local meta = minetest.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 + def.can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") and + default.can_interact_with_node(player, pos) + end + def.allow_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + if not default.can_interact_with_node(player, pos) then + return 0 + end + return count + end + def.allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not default.can_interact_with_node(player, pos) then + return 0 + end + return stack:get_count() + end + def.allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not default.can_interact_with_node(player, pos) then + return 0 + end + return stack:get_count() + end + def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if not default.can_interact_with_node(clicker, pos) then + return itemstack + end + + minetest.sound_play(def.sound_open, {gain = 0.3, + pos = pos, max_hear_distance = 10}) + if not default.chest.chest_lid_obstructed(pos) then + minetest.swap_node(pos, + { name = "default:" .. name .. "_open", + param2 = node.param2 }) + end + minetest.after(0.2, minetest.show_formspec, + clicker:get_player_name(), + "default:chest", default.chest.get_chest_formspec(pos)) + default.chest.open_chests[clicker:get_player_name()] = { pos = pos, + sound = def.sound_close, swap = name } + end + def.on_blast = function() end + def.on_key_use = function(pos, player) + local secret = minetest.get_meta(pos):get_string("key_lock_secret") + local itemstack = player:get_wielded_item() + local key_meta = itemstack:get_meta() + + if itemstack:get_metadata() == "" then + return + end + + if key_meta:get_string("secret") == "" then + key_meta:set_string("secret", minetest.parse_json(itemstack:get_metadata()).secret) + itemstack:set_metadata("") + end + + if secret ~= key_meta:get_string("secret") then + return + end + + minetest.show_formspec( + player:get_player_name(), + "default:chest_locked", + default.chest.get_chest_formspec(pos) + ) + end + def.on_skeleton_key_use = function(pos, player, newsecret) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local pn = player:get_player_name() + + -- verify placer is owner of lockable chest + if owner ~= pn then + minetest.record_protection_violation(pos, pn) + minetest.chat_send_player(pn, "You do not own this chest.") + return nil + end + + local secret = meta:get_string("key_lock_secret") + if secret == "" then + secret = newsecret + meta:set_string("key_lock_secret", secret) + end + + return secret, "a locked chest", owner + end + else + def.on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end + def.can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end + def.on_rightclick = function(pos, node, clicker) + minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, + max_hear_distance = 10}) + if not default.chest.chest_lid_obstructed(pos) then + minetest.swap_node(pos, { + name = "default:" .. name .. "_open", + param2 = node.param2 }) + end + minetest.after(0.2, minetest.show_formspec, + clicker:get_player_name(), + "default:chest", default.chest.get_chest_formspec(pos)) + default.chest.open_chests[clicker:get_player_name()] = { pos = pos, + sound = def.sound_close, swap = name } + end + def.on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "main", drops) + drops[#drops+1] = "default:" .. name + minetest.remove_node(pos) + return drops + end + end + + def.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 + def.on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " moves " .. stack:get_name() .. + " to chest at " .. minetest.pos_to_string(pos)) + end + def.on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " takes " .. stack:get_name() .. + " from chest at " .. minetest.pos_to_string(pos)) + end + + local def_opened = table.copy(def) + local def_closed = table.copy(def) + + def_opened.mesh = "chest_open.obj" + for i = 1, #def_opened.tiles do + if type(def_opened.tiles[i]) == "string" then + def_opened.tiles[i] = {name = def_opened.tiles[i], backface_culling = true} + elseif def_opened.tiles[i].backface_culling == nil then + def_opened.tiles[i].backface_culling = true + end + end + def_opened.drop = "default:" .. name + def_opened.groups.not_in_creative_inventory = 1 + def_opened.selection_box = { + type = "fixed", + fixed = { -1/2, -1/2, -1/2, 1/2, 3/16, 1/2 }, + } + def_opened.can_dig = function() + return false + end + def_opened.on_blast = function() end + + def_closed.mesh = nil + def_closed.drawtype = nil + def_closed.tiles[6] = def.tiles[5] -- swap textures around for "normal" + def_closed.tiles[5] = def.tiles[3] -- drawtype to make them match the mesh + def_closed.tiles[3] = def.tiles[3].."^[transformFX" + + minetest.register_node("default:" .. name, def_closed) + minetest.register_node("default:" .. name .. "_open", def_opened) + + -- convert old chests to this new variant + minetest.register_lbm({ + label = "update chests to opening chests", + name = "default:upgrade_" .. name .. "_v2", + nodenames = {"default:" .. name}, + action = function(pos, node) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", nil) + local inv = meta:get_inventory() + local list = inv:get_list("default:chest") + if list then + inv:set_size("main", 8*4) + inv:set_list("main", list) + inv:set_list("default:chest", nil) + end + end + }) +end + +default.chest.register_chest("chest", { + description = "Chest", + tiles = { + "default_chest_top.png", + "default_chest_top.png", + "default_chest_side.png", + "default_chest_side.png", + "default_chest_front.png", + "default_chest_inside.png" + }, + sounds = default.node_sound_wood_defaults(), + sound_open = "default_chest_open", + sound_close = "default_chest_close", + groups = {choppy = 2, oddly_breakable_by_hand = 2}, +}) + +default.chest.register_chest("chest_locked", { + description = "Locked Chest", + tiles = { + "default_chest_top.png", + "default_chest_top.png", + "default_chest_side.png", + "default_chest_side.png", + "default_chest_lock.png", + "default_chest_inside.png" + }, + sounds = default.node_sound_wood_defaults(), + sound_open = "default_chest_open", + sound_close = "default_chest_close", + groups = {choppy = 2, oddly_breakable_by_hand = 2}, + protected = true, +}) diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua new file mode 100644 index 0000000..b8651c0 --- /dev/null +++ b/mods/default/crafting.lua @@ -0,0 +1,1235 @@ +-- mods/default/crafting.lua + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:junglewood 4', + recipe = { + {'default:jungletree'}, + } +}) + +minetest.register_craft({ + output = 'default:pine_wood 4', + recipe = { + {'default:pine_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:acacia_wood 4', + recipe = { + {'default:acacia_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:aspen_wood 4', + recipe = { + {'default:aspen_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:wood', + recipe = { + {'default:bush_stem'}, + } +}) + +minetest.register_craft({ + output = 'default:acacia_wood', + recipe = { + {'default:acacia_bush_stem'}, + } +}) + +minetest.register_craft({ + output = "default:pine_wood", + recipe = { + {"default:pine_bush_stem"}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall_steel 3', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall_wood 3', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_diamond', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_bronze', + recipe = { + {'default:bronze_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_mese', + recipe = { + {'default:mese_crystal'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_diamond', + recipe = { + {'default:diamond'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +-- Axes +-- Recipes face left to match appearence in textures and inventory + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_diamond', + recipe = { + {'default:diamond', 'default:diamond'}, + {'default:diamond', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_bronze', + recipe = { + {'default:bronze_ingot'}, + {'default:bronze_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_mese', + recipe = { + {'default:mese_crystal'}, + {'default:mese_crystal'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_diamond', + recipe = { + {'default:diamond'}, + {'default:diamond'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:skeleton_key', + recipe = { + {'default:gold_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( { + type = "shapeless", + output = "default:chest_locked", + recipe = {"default:chest", "default:steel_ingot"}, +}) + +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:coalblock', + recipe = { + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:coal_lump 9', + recipe = { + {'default:coalblock'}, + } +}) + +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:copperblock', + recipe = { + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:copper_ingot 9', + recipe = { + {'default:copperblock'}, + } +}) + +minetest.register_craft({ + output = "default:tinblock", + recipe = { + {"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}, + {"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}, + {"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}, + } +}) + +minetest.register_craft({ + output = "default:tin_ingot 9", + recipe = { + {"default:tinblock"}, + } +}) + +minetest.register_craft({ + output = "default:bronze_ingot 9", + recipe = { + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + } +}) + +minetest.register_craft({ + output = 'default:bronzeblock', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:bronze_ingot 9', + recipe = { + {'default:bronzeblock'}, + } +}) + +minetest.register_craft({ + output = 'default:goldblock', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:gold_ingot 9', + recipe = { + {'default:goldblock'}, + } +}) + +minetest.register_craft({ + output = 'default:diamondblock', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + } +}) + +minetest.register_craft({ + output = 'default:diamond 9', + recipe = { + {'default:diamondblock'}, + } +}) + +minetest.register_craft({ + output = "default:sandstone", + recipe = { + {"default:sand", "default:sand"}, + {"default:sand", "default:sand"}, + } +}) + +minetest.register_craft({ + output = "default:sand 4", + recipe = { + {"default:sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:sandstonebrick 4", + recipe = { + {"default:sandstone", "default:sandstone"}, + {"default:sandstone", "default:sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:sandstone_block 9", + recipe = { + {"default:sandstone", "default:sandstone", "default:sandstone"}, + {"default:sandstone", "default:sandstone", "default:sandstone"}, + {"default:sandstone", "default:sandstone", "default:sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:desert_sandstone", + recipe = { + {"default:desert_sand", "default:desert_sand"}, + {"default:desert_sand", "default:desert_sand"}, + } +}) + +minetest.register_craft({ + output = "default:desert_sand 4", + recipe = { + {"default:desert_sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:desert_sandstone_brick 4", + recipe = { + {"default:desert_sandstone", "default:desert_sandstone"}, + {"default:desert_sandstone", "default:desert_sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:desert_sandstone_block 9", + recipe = { + {"default:desert_sandstone", "default:desert_sandstone", "default:desert_sandstone"}, + {"default:desert_sandstone", "default:desert_sandstone", "default:desert_sandstone"}, + {"default:desert_sandstone", "default:desert_sandstone", "default:desert_sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:silver_sandstone", + recipe = { + {"default:silver_sand", "default:silver_sand"}, + {"default:silver_sand", "default:silver_sand"}, + } +}) + +minetest.register_craft({ + output = "default:silver_sand 4", + recipe = { + {"default:silver_sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:silver_sandstone_brick 4", + recipe = { + {"default:silver_sandstone", "default:silver_sandstone"}, + {"default:silver_sandstone", "default:silver_sandstone"}, + } +}) + +minetest.register_craft({ + output = "default:silver_sandstone_block 9", + recipe = { + {"default:silver_sandstone", "default:silver_sandstone", "default:silver_sandstone"}, + {"default:silver_sandstone", "default:silver_sandstone", "default:silver_sandstone"}, + {"default:silver_sandstone", "default:silver_sandstone", "default:silver_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:clay_lump 4', + recipe = { + {'default:clay'}, + } +}) + +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_wood 5", + recipe = { + {"group:stick", "", "group:stick"}, + {"group:stick", "group:stick", "group:stick"}, + {"group:stick", "", "group:stick"}, + } +}) + +minetest.register_craft({ + output = 'default:ladder_steel 15', + recipe = { + {'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:mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal 9', + recipe = { + {'default:mese'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal_fragment 9', + recipe = { + {'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal", + recipe = { + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + } +}) + +minetest.register_craft({ + output = 'default:meselamp', + recipe = { + {'default:glass'}, + {'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = "default:mese_post_light 3", + recipe = { + {"", "default:glass", ""}, + {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, + {"", "group:wood", ""}, + } +}) + +minetest.register_craft({ + output = 'default:obsidian_shard 9', + recipe = { + {'default:obsidian'} + } +}) + +minetest.register_craft({ + output = 'default:obsidian', + recipe = { + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + } +}) + +minetest.register_craft({ + output = 'default:obsidianbrick 4', + recipe = { + {'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian'} + } +}) + +minetest.register_craft({ + output = 'default:obsidian_block 9', + recipe = { + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + } +}) + +minetest.register_craft({ + output = 'default:stonebrick 4', + recipe = { + {'default:stone', 'default:stone'}, + {'default:stone', 'default:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:stone_block 9', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', 'default:stone', 'default:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:desert_stonebrick 4', + recipe = { + {'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone'}, + } +}) + +minetest.register_craft({ + output = 'default:desert_stone_block 9', + recipe = { + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + } +}) + +minetest.register_craft({ + output = 'default:snowblock', + recipe = { + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + } +}) + +minetest.register_craft({ + output = 'default:snow 9', + recipe = { + {'default:snowblock'}, + } +}) + +minetest.register_craft({ + output = "default:emergent_jungle_sapling", + recipe = { + {"default:junglesapling", "default:junglesapling", "default:junglesapling"}, + {"default:junglesapling", "default:junglesapling", "default:junglesapling"}, + {"default:junglesapling", "default:junglesapling", "default:junglesapling"}, + } +}) + + +-- +-- 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:obsidian_glass", + recipe = "default:obsidian_shard", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:mossycobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:desert_stone", + recipe = "default:desert_cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:copper_ingot", + recipe = "default:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:tin_ingot", + recipe = "default:tin_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "default:gold_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +minetest.register_craft({ + type = 'cooking', + output = 'default:gold_ingot', + recipe = 'default:skeleton_key', + cooktime = 5, +}) + +minetest.register_craft({ + type = 'cooking', + output = 'default:gold_ingot', + recipe = 'default:key', + cooktime = 5, +}) + + +-- +-- Fuels +-- + +-- Support use of group:tree, includes default:tree which has the same burn time +minetest.register_craft({ + type = "fuel", + recipe = "group:tree", + burntime = 30, +}) + +-- Burn time for all woods are in order of wood density, +-- which is also the order of wood colour darkness: +-- aspen, pine, apple, acacia, jungle + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_tree", + burntime = 22, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_tree", + burntime = 26, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_tree", + burntime = 34, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:jungletree", + burntime = 38, +}) + + +-- Support use of group:wood, includes default:wood which has the same burn time +minetest.register_craft({ + type = "fuel", + recipe = "group:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_wood", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_wood", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglewood", + burntime = 9, +}) + + +-- Support use of group:sapling, includes default:sapling which has the same burn time +minetest.register_craft({ + type = "fuel", + recipe = "group:sapling", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bush_sapling", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_bush_sapling", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_bush_sapling", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_sapling", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_sapling", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_sapling", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglesapling", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:emergent_jungle_sapling", + burntime = 7, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_aspen_wood", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_pine_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_acacia_wood", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_junglewood", + burntime = 9, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_rail_aspen_wood", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_rail_pine_wood", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_rail_wood", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_rail_acacia_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_rail_junglewood", + burntime = 7, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:bush_stem", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_bush_stem", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_bush_stem", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:leaves", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder_wood", + burntime = 7, +}) + +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_wood", + 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:coal_lump", + burntime = 40, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coalblock", + burntime = 370, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:grass_1", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:dry_grass_1", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fern_1", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:marram_grass_1", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:paper", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:book", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:book_written", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:dry_shrub", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:stick", + burntime = 1, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:pick_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:shovel_wood", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:axe_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sword_wood", + burntime = 5, +}) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua new file mode 100644 index 0000000..3e3852c --- /dev/null +++ b/mods/default/craftitems.lua @@ -0,0 +1,349 @@ +-- mods/default/craftitems.lua + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", + groups = {stick = 1, flammable = 2}, +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", + groups = {flammable = 3}, +}) + + +local lpp = 14 -- Lines per book's page +local function book_on_use(itemstack, user) + local player_name = user:get_player_name() + local meta = itemstack:get_meta() + local title, text, owner = "", "", player_name + local page, page_max, lines, string = 1, 1, {}, "" + + -- Backwards compatibility + local old_data = minetest.deserialize(itemstack:get_metadata()) + if old_data then + meta:from_table({ fields = old_data }) + end + + local data = meta:to_table().fields + + if data.owner then + title = data.title + text = data.text + owner = data.owner + + for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do + lines[#lines+1] = str + end + + if data.page then + page = data.page + page_max = data.page_max + + for i = ((lpp * page) - lpp) + 1, lpp * page do + if not lines[i] then break end + string = string .. lines[i] .. "\n" + end + end + end + + local formspec + if owner == player_name then + formspec = "size[8,8]" .. default.gui_bg .. + default.gui_bg_img .. + "field[0.5,1;7.5,0;title;Title:;" .. + minetest.formspec_escape(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;text;Contents:;" .. + minetest.formspec_escape(text) .. "]" .. + "button_exit[2.5,7.5;3,1;save;Save]" + else + formspec = "size[8,8]" .. default.gui_bg .. + default.gui_bg_img .. + "label[0.5,0.5;by " .. owner .. "]" .. + "tablecolumns[color;text]" .. + "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. + "table[0.4,0;7,0.5;title;#FFFF00," .. minetest.formspec_escape(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;;" .. + minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. + "button[2.4,7.6;0.8,0.8;book_prev;<]" .. + "label[3.2,7.7;Page " .. page .. " of " .. page_max .. "]" .. + "button[4.9,7.6;0.8,0.8;book_next;>]" + end + + minetest.show_formspec(player_name, "default:book", formspec) + return itemstack +end + +local max_text_size = 10000 +local max_title_size = 80 +local short_title_size = 35 +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "default:book" then return end + local inv = player:get_inventory() + local stack = player:get_wielded_item() + + if fields.save and fields.title and fields.text + and fields.title ~= "" and fields.text ~= "" then + local new_stack, data + if stack:get_name() ~= "default:book_written" then + local count = stack:get_count() + if count == 1 then + stack:set_name("default:book_written") + else + stack:set_count(count - 1) + new_stack = ItemStack("default:book_written") + end + else + data = stack:get_meta():to_table().fields + end + + if data and data.owner and data.owner ~= player:get_player_name() then + return + end + + if not data then data = {} end + data.title = fields.title:sub(1, max_title_size) + data.owner = player:get_player_name() + local short_title = data.title + -- Don't bother triming the title if the trailing dots would make it longer + if #short_title > short_title_size + 3 then + short_title = short_title:sub(1, short_title_size) .. "..." + end + data.description = "\""..short_title.."\" by "..data.owner + data.text = fields.text:sub(1, max_text_size) + data.text = data.text:gsub("\r\n", "\n"):gsub("\r", "\n") + data.page = 1 + data.page_max = math.ceil((#data.text:gsub("[^\n]", "") + 1) / lpp) + + if new_stack then + new_stack:get_meta():from_table({ fields = data }) + if inv:room_for_item("main", new_stack) then + inv:add_item("main", new_stack) + else + minetest.add_item(player:get_pos(), new_stack) + end + else + stack:get_meta():from_table({ fields = data }) + end + + elseif fields.book_next or fields.book_prev then + local data = stack:get_meta():to_table().fields + if not data or not data.page then + return + end + + data.page = tonumber(data.page) + data.page_max = tonumber(data.page_max) + + if fields.book_next then + data.page = data.page + 1 + if data.page > data.page_max then + data.page = 1 + end + else + data.page = data.page - 1 + if data.page == 0 then + data.page = data.page_max + end + end + + stack:get_meta():from_table({fields = data}) + stack = book_on_use(stack, player) + end + + -- Update stack + player:set_wielded_item(stack) +end) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", + groups = {book = 1, flammable = 3}, + on_use = book_on_use, +}) + +minetest.register_craftitem("default:book_written", { + description = "Book With Text", + inventory_image = "default_book_written.png", + groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, + stack_max = 1, + on_use = book_on_use, +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:book_written", + recipe = {"default:book", "default:book_written"} +}) + +minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack:get_name() ~= "default:book_written" then + return + end + + local original + local index + for i = 1, player:get_inventory():get_size("craft") do + if old_craft_grid[i]:get_name() == "default:book_written" then + original = old_craft_grid[i] + index = i + end + end + if not original then + return + end + local copymeta = original:get_meta():to_table() + -- copy of the book held by player's mouse cursor + itemstack:get_meta():from_table(copymeta) + -- put the book with metadata back in the craft grid + craft_inv:set_stack("craft", index, original) +end) + +minetest.register_craftitem("default:skeleton_key", { + description = "Skeleton Key", + inventory_image = "default_key_skeleton.png", + groups = {key = 1}, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + local node = minetest.get_node(pos) + + if not node then + return itemstack + end + + local on_skeleton_key_use = minetest.registered_nodes[node.name].on_skeleton_key_use + if not on_skeleton_key_use then + return itemstack + end + + -- make a new key secret in case the node callback needs it + local random = math.random + local newsecret = string.format( + "%04x%04x%04x%04x", + random(2^16) - 1, random(2^16) - 1, + random(2^16) - 1, random(2^16) - 1) + + local secret, _, _ = on_skeleton_key_use(pos, user, newsecret) + + if secret then + local inv = minetest.get_inventory({type="player", name=user:get_player_name()}) + + -- update original itemstack + itemstack:take_item() + + -- finish and return the new key + local new_stack = ItemStack("default:key") + local meta = new_stack:get_meta() + meta:set_string("secret", secret) + meta:set_string("description", "Key to "..user:get_player_name().."'s " + ..minetest.registered_nodes[node.name].description) + + if itemstack:get_count() == 0 then + itemstack = new_stack + else + if inv:add_item("main", new_stack):get_count() > 0 then + minetest.add_item(user:get_pos(), new_stack) + end -- else: added to inventory successfully + end + + return itemstack + end + end +}) + +minetest.register_craftitem("default:coal_lump", { + description = "Coal Lump", + inventory_image = "default_coal_lump.png", + groups = {coal = 1, flammable = 1} +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:copper_lump", { + description = "Copper Lump", + inventory_image = "default_copper_lump.png", +}) + +minetest.register_craftitem("default:tin_lump", { + description = "Tin Lump", + inventory_image = "default_tin_lump.png", +}) + +minetest.register_craftitem("default:mese_crystal", { + description = "Mese Crystal", + inventory_image = "default_mese_crystal.png", +}) + +minetest.register_craftitem("default:gold_lump", { + description = "Gold Lump", + inventory_image = "default_gold_lump.png", +}) + +minetest.register_craftitem("default:diamond", { + description = "Diamond", + inventory_image = "default_diamond.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:copper_ingot", { + description = "Copper Ingot", + inventory_image = "default_copper_ingot.png", +}) + +minetest.register_craftitem("default:tin_ingot", { + description = "Tin Ingot", + inventory_image = "default_tin_ingot.png", +}) + +minetest.register_craftitem("default:bronze_ingot", { + description = "Bronze Ingot", + inventory_image = "default_bronze_ingot.png", +}) + +minetest.register_craftitem("default:gold_ingot", { + description = "Gold Ingot", + inventory_image = "default_gold_ingot.png" +}) + +minetest.register_craftitem("default:mese_crystal_fragment", { + description = "Mese Crystal Fragment", + inventory_image = "default_mese_crystal_fragment.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay Brick", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:obsidian_shard", { + description = "Obsidian Shard", + inventory_image = "default_obsidian_shard.png", +}) + +minetest.register_craftitem("default:flint", { + description = "Flint", + inventory_image = "default_flint.png" +}) + +minetest.register_craftitem("default:blueberries", { + description = "Blueberries", + inventory_image = "default_blueberries.png", + on_use = minetest.item_eat(2), +}) diff --git a/mods/default/depends.txt b/mods/default/depends.txt new file mode 100644 index 0000000..19ce2fc --- /dev/null +++ b/mods/default/depends.txt @@ -0,0 +1,2 @@ +dye +player_api? diff --git a/mods/default/functions.lua b/mods/default/functions.lua new file mode 100644 index 0000000..55ea3f2 --- /dev/null +++ b/mods/default/functions.lua @@ -0,0 +1,605 @@ +-- +-- Sounds +-- + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "", gain = 0.1} + table.dug = table.dug or + {name = "default_dug_node", gain = 0.25} + table.place = table.place or + {name = "default_place_node_hard", 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.13} + table.dug = table.dug or + {name = "default_hard_footstep", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_dirt_footstep", gain = 0.14} + table.dug = table.dug or + {name = "default_dirt_footstep", gain = 1.0} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + 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_sand_footstep", gain = 0.012} + table.dug = table.dug or + {name = "default_sand_footstep", gain = 0.24} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_gravel_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_gravel_footstep", gain = 0.14} + table.dug = table.dug or + {name = "default_gravel_footstep", gain = 1.0} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + 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_wood_footstep", gain = 0.13} + table.dug = table.dug or + {name = "default_wood_footstep", gain = 1.0} + 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.145} + table.dug = table.dug or + {name = "default_grass_footstep", gain = 0.7} + table.place = table.place or + {name = "default_place_node", 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_glass_footstep", gain = 0.13} + table.dig = table.dig or + {name = "default_glass_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_break_glass", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_metal_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_metal_footstep", gain = 0.14} + table.dig = table.dig or + {name = "default_dig_metal", gain = 0.5} + table.dug = table.dug or + {name = "default_dug_metal", gain = 0.5} + table.place = table.place or + {name = "default_place_node_metal", gain = 0.5} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_water_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_water_footstep", gain = 0.12} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_snow_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_snow_footstep", gain = 0.12} + table.dig = table.dig or + {name = "default_snow_footstep", gain = 0.3} + table.dug = table.dug or + {name = "default_snow_footstep", gain = 0.3} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + + +-- +-- Lavacooling +-- + +default.cool_lava = function(pos, node) + if node.name == "default:lava_source" then + minetest.set_node(pos, {name = "default:obsidian"}) + else -- Lava flowing + minetest.set_node(pos, {name = "default:stone"}) + end + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.25}) +end + +if minetest.settings:get_bool("enable_lavacooling") ~= false then + minetest.register_abm({ + label = "Lava cooling", + nodenames = {"default:lava_source", "default:lava_flowing"}, + neighbors = {"group:cools_lava", "group:water"}, + interval = 2, + chance = 2, + catch_up = false, + action = function(...) + default.cool_lava(...) + end, + }) +end + + +-- +-- Optimized helper to put all items in an inventory into a drops list +-- + +function default.get_inventory_drops(pos, inventory, drops) + local inv = minetest.get_meta(pos):get_inventory() + local n = #drops + for i = 1, inv:get_size(inventory) do + local stack = inv:get_stack(inventory, i) + if stack:get_count() > 0 then + drops[n+1] = stack:to_table() + n = n + 1 + end + end +end + + +-- +-- Papyrus and cactus growing +-- + +-- Wrapping the functions in ABM action is necessary to make overriding them possible + +function default.grow_cactus(pos, node) + if node.param2 >= 4 then + return + end + pos.y = pos.y - 1 + if minetest.get_item_group(minetest.get_node(pos).name, "sand") == 0 then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "default:cactus" and height < 4 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 4 or node.name ~= "air" then + return + end + if minetest.get_node_light(pos) < 13 then + return + end + minetest.set_node(pos, {name = "default:cactus"}) + return true +end + +function default.grow_papyrus(pos, node) + pos.y = pos.y - 1 + local name = minetest.get_node(pos).name + if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then + return + end + if not minetest.find_node_near(pos, 3, {"group:water"}) then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "default:papyrus" and height < 4 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 4 or node.name ~= "air" then + return + end + if minetest.get_node_light(pos) < 13 then + return + end + minetest.set_node(pos, {name = "default:papyrus"}) + return true +end + +minetest.register_abm({ + label = "Grow cactus", + nodenames = {"default:cactus"}, + neighbors = {"group:sand"}, + interval = 12, + chance = 83, + action = function(...) + default.grow_cactus(...) + end +}) + +minetest.register_abm({ + label = "Grow papyrus", + nodenames = {"default:papyrus"}, + neighbors = {"default:dirt", "default:dirt_with_grass"}, + interval = 14, + chance = 71, + action = function(...) + default.grow_papyrus(...) + end +}) + + +-- +-- Dig upwards +-- + +function default.dig_up(pos, node, digger) + if digger == nil then return end + local np = {x = pos.x, y = pos.y + 1, z = pos.z} + local nn = minetest.get_node(np) + if nn.name == node.name then + minetest.node_dig(np, nn, digger) + end +end + + +-- +-- Fence registration helper +-- + +function default.register_fence(name, def) + minetest.register_craft({ + output = name .. " 4", + recipe = { + { def.material, 'group:stick', def.material }, + { def.material, 'group:stick', def.material }, + } + }) + + local fence_texture = "default_fence_overlay.png^" .. def.texture .. + "^default_fence_overlay.png^[makealpha:255,126,126" + -- Allow almost everything to be overridden + local default_fields = { + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}}, + -- connect_top = + -- connect_bottom = + connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8}, + {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}}, + connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16}, + {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}}, + connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2}, + {-1/16,-5/16,1/8,1/16,-3/16,1/2}}, + connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16}, + {1/8,-5/16,-1/16,1/2,-3/16,1/16}}, + }, + connects_to = {"group:fence", "group:wood", "group:tree", "group:wall"}, + inventory_image = fence_texture, + wield_image = fence_texture, + tiles = {def.texture}, + sunlight_propagates = true, + is_ground_content = false, + groups = {}, + } + for k, v in pairs(default_fields) do + if def[k] == nil then + def[k] = v + end + end + + -- Always add to the fence group, even if no group provided + def.groups.fence = 1 + + def.texture = nil + def.material = nil + + minetest.register_node(name, def) +end + + +-- +-- Fence rail registration helper +-- + +function default.register_fence_rail(name, def) + minetest.register_craft({ + output = name .. " 16", + recipe = { + { def.material, def.material }, + { "", ""}, + { def.material, def.material }, + } + }) + + local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture .. + "^default_fence_rail_overlay.png^[makealpha:255,126,126" + -- Allow almost everything to be overridden + local default_fields = { + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = { + {-1/16, 3/16, -1/16, 1/16, 5/16, 1/16}, + {-1/16, -3/16, -1/16, 1/16, -5/16, 1/16} + }, + -- connect_top = + -- connect_bottom = + connect_front = { + {-1/16, 3/16, -1/2, 1/16, 5/16, -1/16}, + {-1/16, -5/16, -1/2, 1/16, -3/16, -1/16}}, + connect_left = { + {-1/2, 3/16, -1/16, -1/16, 5/16, 1/16}, + {-1/2, -5/16, -1/16, -1/16, -3/16, 1/16}}, + connect_back = { + {-1/16, 3/16, 1/16, 1/16, 5/16, 1/2}, + {-1/16, -5/16, 1/16, 1/16, -3/16, 1/2}}, + connect_right = { + {1/16, 3/16, -1/16, 1/2, 5/16, 1/16}, + {1/16, -5/16, -1/16, 1/2, -3/16, 1/16}}, + }, + connects_to = {"group:fence", "group:wall"}, + inventory_image = fence_rail_texture, + wield_image = fence_rail_texture, + tiles = {def.texture}, + sunlight_propagates = true, + is_ground_content = false, + groups = {}, + } + for k, v in pairs(default_fields) do + if def[k] == nil then + def[k] = v + end + end + + -- Always add to the fence group, even if no group provided + def.groups.fence = 1 + + def.texture = nil + def.material = nil + + minetest.register_node(name, def) +end + + +-- +-- Leafdecay +-- + +-- Prevent decay of placed leaves + +default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) + if placer and placer:is_player() and not placer:get_player_control().sneak then + local node = minetest.get_node(pos) + node.param2 = 1 + minetest.set_node(pos, node) + end +end + +-- Leafdecay +local function leafdecay_after_destruct(pos, oldnode, def) + for _, v in pairs(minetest.find_nodes_in_area(vector.subtract(pos, def.radius), + vector.add(pos, def.radius), def.leaves)) do + local node = minetest.get_node(v) + local timer = minetest.get_node_timer(v) + if node.param2 == 0 and not timer:is_started() then + timer:start(math.random(20, 120) / 10) + end + end +end + +local function leafdecay_on_timer(pos, def) + if minetest.find_node_near(pos, def.radius, def.trunks) then + return false + end + + local node = minetest.get_node(pos) + local drops = minetest.get_node_drops(node.name) + for _, item in ipairs(drops) do + local is_leaf + for _, v in pairs(def.leaves) do + if v == item then + is_leaf = true + end + end + if minetest.get_item_group(item, "leafdecay_drop") ~= 0 or + not is_leaf then + minetest.add_item({ + x = pos.x - 0.5 + math.random(), + y = pos.y - 0.5 + math.random(), + z = pos.z - 0.5 + math.random(), + }, item) + end + end + + minetest.remove_node(pos) + minetest.check_for_falling(pos) +end + +function default.register_leafdecay(def) + assert(def.leaves) + assert(def.trunks) + assert(def.radius) + for _, v in pairs(def.trunks) do + minetest.override_item(v, { + after_destruct = function(pos, oldnode) + leafdecay_after_destruct(pos, oldnode, def) + end, + }) + end + for _, v in pairs(def.leaves) do + minetest.override_item(v, { + on_timer = function(pos) + leafdecay_on_timer(pos, def) + end, + }) + end +end + + +-- +-- Convert dirt to something that fits the environment +-- + +minetest.register_abm({ + label = "Grass spread", + nodenames = {"default:dirt"}, + neighbors = { + "air", + "group:grass", + "group:dry_grass", + "default:snow", + }, + interval = 6, + chance = 50, + catch_up = false, + action = function(pos, node) + -- Check for darkness: night, shadow or under a light-blocking node + -- Returns if ignore above + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + if (minetest.get_node_light(above) or 0) < 13 then + return + end + + -- Look for spreading dirt-type neighbours + local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type") + if p2 then + local n3 = minetest.get_node(p2) + minetest.set_node(pos, {name = n3.name}) + return + end + + -- Else, any seeding nodes on top? + local name = minetest.get_node(above).name + -- Snow check is cheapest, so comes first + if name == "default:snow" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + -- Most likely case first + elseif minetest.get_item_group(name, "grass") ~= 0 then + minetest.set_node(pos, {name = "default:dirt_with_grass"}) + elseif minetest.get_item_group(name, "dry_grass") ~= 0 then + minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) + end + end +}) + + +-- +-- Grass and dry grass removed in darkness +-- + +minetest.register_abm({ + label = "Grass covered", + nodenames = {"group:spreading_dirt_type"}, + interval = 8, + chance = 50, + catch_up = false, + action = function(pos, node) + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or + nodedef.paramtype == "light") and + nodedef.liquidtype == "none") then + minetest.set_node(pos, {name = "default:dirt"}) + end + end +}) + + +-- +-- Moss growth on cobble near water +-- + +minetest.register_abm({ + label = "Moss growth", + nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", "walls:cobble"}, + neighbors = {"group:water"}, + interval = 16, + chance = 200, + catch_up = false, + action = function(pos, node) + if node.name == "default:cobble" then + minetest.set_node(pos, {name = "default:mossycobble"}) + elseif node.name == "stairs:slab_cobble" then + minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) + elseif node.name == "stairs:stair_cobble" then + minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) + elseif node.name == "walls:cobble" then + minetest.set_node(pos, {name = "walls:mossycobble", param2 = node.param2}) + end + end +}) + + +-- +-- NOTICE: This method is not an official part of the API yet. +-- This method may change in future. +-- + +function default.can_interact_with_node(player, pos) + if player then + if minetest.check_player_privs(player, "protection_bypass") then + return true + end + else + return false + end + + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + + if not owner or owner == "" or owner == player:get_player_name() then + return true + end + + -- Is player wielding the right key? + local item = player:get_wielded_item() + if item:get_name() == "default:key" then + local key_meta = item:get_meta() + + if key_meta:get_string("secret") == "" then + local key_oldmeta = item:get_metadata() + if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then + return false + end + + key_meta:set_string("secret", minetest.parse_json(key_oldmeta).secret) + item:set_metadata("") + end + + return meta:get_string("key_lock_secret") == key_meta:get_string("secret") + end + + return false +end diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua new file mode 100644 index 0000000..09966a6 --- /dev/null +++ b/mods/default/furnace.lua @@ -0,0 +1,337 @@ + +-- +-- Formspecs +-- + +function default.get_furnace_active_formspec(fuel_percent, item_percent) + return "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[context;src;2.75,0.5;1,1;]".. + "list[context;fuel;2.75,2.5;1,1;]".. + "image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-fuel_percent)..":default_furnace_fire_fg.png]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. + (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. + "list[context;dst;4.75,0.96;2,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[context;dst]".. + "listring[current_player;main]".. + "listring[context;src]".. + "listring[current_player;main]".. + "listring[context;fuel]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) +end + +function default.get_furnace_inactive_formspec() + return "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[context;src;2.75,0.5;1,1;]".. + "list[context;fuel;2.75,2.5;1,1;]".. + "image[2.75,1.5;1,1;default_furnace_fire_bg.png]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. + "list[context;dst;4.75,0.96;2,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[context;dst]".. + "listring[current_player;main]".. + "listring[context;src]".. + "listring[current_player;main]".. + "listring[context;fuel]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) +end + +-- +-- Node callback functions that are the same for active and inactive furnace +-- + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src") +end + +local function allow_metadata_inventory_put(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "fuel" then + if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext", "Furnace is empty") + end + return stack:get_count() + else + return 0 + end + elseif listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end +end + +local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) +end + +local function allow_metadata_inventory_take(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + return stack:get_count() +end + +local function swap_node(pos, name) + local node = minetest.get_node(pos) + if node.name == name then + return + end + node.name = name + minetest.swap_node(pos, node) +end + +local function furnace_node_timer(pos, elapsed) + -- + -- Inizialize metadata + -- + local meta = minetest.get_meta(pos) + local fuel_time = meta:get_float("fuel_time") or 0 + local src_time = meta:get_float("src_time") or 0 + local fuel_totaltime = meta:get_float("fuel_totaltime") or 0 + + local inv = meta:get_inventory() + local srclist, fuellist + + local cookable, cooked + local fuel + + local update = true + while elapsed > 0 and update do + update = false + + srclist = inv:get_list("src") + fuellist = inv:get_list("fuel") + + -- + -- Cooking + -- + + -- Check if we have cookable content + local aftercooked + cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + cookable = cooked.time ~= 0 + + local el = math.min(elapsed, fuel_totaltime - fuel_time) + if cookable then -- fuel lasts long enough, adjust el to cooking duration + el = math.min(el, cooked.time - src_time) + end + + -- Check if we have enough fuel to burn + if fuel_time < fuel_totaltime then + -- The furnace is currently active and has enough fuel + fuel_time = fuel_time + el + -- If there is a cookable item then check if it is ready yet + if cookable then + src_time = src_time + el + if src_time >= cooked.time then + -- Place result in dst list if possible + if inv:room_for_item("dst", cooked.item) then + inv:add_item("dst", cooked.item) + inv:set_stack("src", 1, aftercooked.items[1]) + src_time = src_time - cooked.time + update = true + end + else + -- Item could not be cooked: probably missing fuel + update = true + end + end + else + -- Furnace ran out of fuel + if cookable then + -- We need to get new fuel + local afterfuel + fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + + if fuel.time == 0 then + -- No valid fuel in fuel list + fuel_totaltime = 0 + src_time = 0 + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + update = true + fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time) + end + else + -- We don't need to get new fuel since there is no cookable item + fuel_totaltime = 0 + src_time = 0 + end + fuel_time = 0 + end + + elapsed = elapsed - el + end + + if fuel and fuel_totaltime > fuel.time then + fuel_totaltime = fuel.time + end + if srclist[1]:is_empty() then + src_time = 0 + end + + -- + -- Update formspec, infotext and node + -- + local formspec + local item_state + local item_percent = 0 + if cookable then + item_percent = math.floor(src_time / cooked.time * 100) + if item_percent > 100 then + item_state = "100% (output full)" + else + item_state = item_percent .. "%" + end + else + if srclist[1]:is_empty() then + item_state = "Empty" + else + item_state = "Not cookable" + end + end + + local fuel_state = "Empty" + local active = "inactive" + local result = false + + if fuel_totaltime ~= 0 then + active = "active" + local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) + fuel_state = fuel_percent .. "%" + formspec = default.get_furnace_active_formspec(fuel_percent, item_percent) + swap_node(pos, "default:furnace_active") + -- make sure timer restarts automatically + result = true + else + if not fuellist[1]:is_empty() then + fuel_state = "0%" + end + formspec = default.get_furnace_inactive_formspec() + swap_node(pos, "default:furnace") + -- stop timer on the inactive furnace + minetest.get_node_timer(pos):stop() + end + + local infotext = "Furnace " .. active .. "\n(Item: " .. item_state .. + "; Fuel: " .. fuel_state .. ")" + + -- + -- Set meta values + -- + meta:set_float("fuel_totaltime", fuel_totaltime) + meta:set_float("fuel_time", fuel_time) + meta:set_float("src_time", src_time) + meta:set_string("formspec", formspec) + meta:set_string("infotext", infotext) + + return result +end + +-- +-- Node definitions +-- + +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, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + + can_dig = can_dig, + + on_timer = furnace_node_timer, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", default.get_furnace_inactive_formspec()) + local inv = meta:get_inventory() + inv:set_size('src', 1) + inv:set_size('fuel', 1) + inv:set_size('dst', 4) + end, + + on_metadata_inventory_move = function(pos) + minetest.get_node_timer(pos):start(1.0) + end, + on_metadata_inventory_put = function(pos) + -- start timer function, it will sort out whether furnace can burn or not. + minetest.get_node_timer(pos):start(1.0) + end, + on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "src", drops) + default.get_inventory_drops(pos, "fuel", drops) + default.get_inventory_drops(pos, "dst", drops) + drops[#drops+1] = "default:furnace" + minetest.remove_node(pos) + return drops + end, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_move = allow_metadata_inventory_move, + allow_metadata_inventory_take = allow_metadata_inventory_take, +}) + +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", + { + image = "default_furnace_front_active.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + } + }, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + on_timer = furnace_node_timer, + + can_dig = can_dig, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_move = allow_metadata_inventory_move, + allow_metadata_inventory_take = allow_metadata_inventory_take, +}) diff --git a/mods/default/init.lua b/mods/default/init.lua new file mode 100644 index 0000000..9e1bb81 --- /dev/null +++ b/mods/default/init.lua @@ -0,0 +1,57 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into game_api.txt + +-- Definitions made by this mod that other mods can use too +default = {} + +default.LIGHT_MAX = 14 + +-- GUI related stuff +default.gui_bg = "" +default.gui_bg_img = "" +default.gui_slots = "" + +function default.get_hotbar_bg(x, y, hotbar_count) + if hotbar_count then + hotbar_count = hotbar_count - 1 + else + hotbar_count = 7 + end + local out = "" + for i = 0, hotbar_count, 1 do + out = out .. "image[" .. x + i .. "," .. y .. ";1,1;gui_hb_bg.png]" + end + return out +end + +default.gui_survival_form = "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "list[current_player;craft;1.75,0.5;3,3;]".. + "list[current_player;craftpreview;5.75,1.5;1,1;]".. + "image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. + "listring[current_player;main]".. + "listring[current_player;craft]".. + default.get_hotbar_bg(0,4.25) + +-- Load files +local default_path = minetest.get_modpath("default") + +dofile(default_path.."/functions.lua") +dofile(default_path.."/trees.lua") +dofile(default_path.."/nodes.lua") +dofile(default_path.."/chests.lua") +dofile(default_path.."/furnace.lua") +dofile(default_path.."/torch.lua") +dofile(default_path.."/tools.lua") +dofile(default_path.."/item_entity.lua") +dofile(default_path.."/craftitems.lua") +dofile(default_path.."/crafting.lua") +dofile(default_path.."/mapgen.lua") +dofile(default_path.."/aliases.lua") +dofile(default_path.."/legacy.lua") diff --git a/mods/default/item_entity.lua b/mods/default/item_entity.lua new file mode 100644 index 0000000..2a61f08 --- /dev/null +++ b/mods/default/item_entity.lua @@ -0,0 +1,74 @@ +-- mods/default/item_entity.lua + +local builtin_item = minetest.registered_entities["__builtin:item"] + +local item = { + set_item = function(self, itemstring) + builtin_item.set_item(self, itemstring) + + local stack = ItemStack(itemstring) + local itemdef = minetest.registered_items[stack:get_name()] + if itemdef and itemdef.groups.flammable ~= 0 then + self.flammable = itemdef.groups.flammable + end + end, + + burn_up = function(self) + -- disappear in a smoke puff + self.object:remove() + local p = self.object:get_pos() + minetest.sound_play("default_item_smoke", { + pos = p, + max_hear_distance = 8, + }) + minetest.add_particlespawner({ + amount = 3, + time = 0.1, + minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 }, + maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 }, + minvel = {x = 0, y = 2.5, z = 0}, + maxvel = {x = 0, y = 2.5, z = 0}, + minacc = {x = -0.15, y = -0.02, z = -0.15}, + maxacc = {x = 0.15, y = -0.01, z = 0.15}, + minexptime = 4, + maxexptime = 6, + minsize = 5, + maxsize = 5, + collisiondetection = true, + texture = "default_item_smoke.png" + }) + end, + + on_step = function(self, dtime) + builtin_item.on_step(self, dtime) + + if self.flammable then + -- flammable, check for igniters + self.ignite_timer = (self.ignite_timer or 0) + dtime + if self.ignite_timer > 10 then + self.ignite_timer = 0 + + local node = minetest.get_node_or_nil(self.object:get_pos()) + if not node then + return + end + + -- Immediately burn up flammable items in lava + if minetest.get_item_group(node.name, "lava") > 0 then + self:burn_up() + else + -- otherwise there'll be a chance based on its igniter value + local burn_chance = self.flammable + * minetest.get_item_group(node.name, "igniter") + if burn_chance > 0 and math.random(0, burn_chance) ~= 0 then + self:burn_up() + end + end + end + end + end, +} + +-- set defined item as new __builtin:item, with the old one as fallback table +setmetatable(item, builtin_item) +minetest.register_entity(":__builtin:item", item) diff --git a/mods/default/legacy.lua b/mods/default/legacy.lua new file mode 100644 index 0000000..123fcd5 --- /dev/null +++ b/mods/default/legacy.lua @@ -0,0 +1,46 @@ +-- mods/default/legacy.lua + +-- Horrible stuff to support old code registering falling nodes +-- 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 + +function default.spawn_falling_node(p, nodename) + spawn_falling_node(p, nodename) +end + +-- Liquids +WATER_ALPHA = minetest.registered_nodes["default:water_source"].alpha +WATER_VISC = minetest.registered_nodes["default:water_source"].liquid_viscosity +LAVA_VISC = minetest.registered_nodes["default:lava_source"].liquid_viscosity +LIGHT_MAX = default.LIGHT_MAX + +-- Formspecs +default.gui_suvival_form = default.gui_survival_form + +-- Players +if minetest.get_modpath("player_api") then + default.registered_player_models = player_api.registered_models + default.player_register_model = player_api.register_model + default.player_attached = player_api.player_attached + default.player_get_animation = player_api.get_animation + default.player_set_model = player_api.set_model + default.player_set_textures = player_api.set_textures + default.player_set_animation = player_api.set_animation +end + +-- Chests +default.register_chest = default.chest.register_chest + +-- Check for a volume intersecting protection +function default.intersects_protection(minp, maxp, player_name, interval) + minetest.log("warning", "default.intersects_protection() is " .. + "deprecated, use minetest.is_area_protected() instead.") + minetest.is_area_protected(minp, maxp, player_name, interval) +end diff --git a/mods/default/license.txt b/mods/default/license.txt new file mode 100644 index 0000000..a5ea24b --- /dev/null +++ b/mods/default/license.txt @@ -0,0 +1,155 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2018 celeron55, Perttu Ahola +Copyright (C) 2011-2018 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2010-2018: + + celeron55, Perttu Ahola + Cisoun + G4JC + VanessaE + RealBadAngel + Calinou + MirceaKitsune + Jordach + PilzAdam + jojoa1997 + InfinityProject + Splizard + Zeg9 + paramat + BlockMen + sofar + Neuromancer + Gambit + asl97 + KevDoy + Mito551 + GreenXenith + kaeza + kilbith + tobyplowy + CloudyProton + TumeniNodes + Mossmanikin + random-geek + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) + +Copyright (C) 2009 cmusounddesign +Copyright (C) 2010 Tomlija +Copyright (C) 2010 lsprice +Copyright (C) 2014 sonictechtonic +Copyright (C) 2015 yadronoff +Copyright (C) 2007 HerbertBoland +Copyright (C) 2006 AGFX + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ + +----------------------- + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication + +Iwan Gabovitch +Ottomaani138 +Ogrebane +blukotek +Sevin7 +Yoyodaman234 +Ryding + +No Copyright + +The person who associated a work with this deed has dedicated the work to the +public domain by waiving all of his or her rights to the work worldwide under +copyright law, including all related and neighboring rights, to the extent +allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial +purposes, all without asking permission. See Other Information below. + +Other Information: + +In no way are the patent or trademark rights of any person affected by CC0, nor +are the rights that other persons may have in the work or in how the work is +used, such as publicity or privacy rights. + +Unless expressly stated otherwise, the person who associated a work with this +deed makes no warranties about the work, and disclaims liability for all uses +of the work, to the fullest extent permitted by applicable law. + +When using or citing the work, you should not imply endorsement by the author +or the affirmer. + +For more details: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua new file mode 100644 index 0000000..b92e12e --- /dev/null +++ b/mods/default/mapgen.lua @@ -0,0 +1,2272 @@ +-- +-- Aliases for map generators +-- + +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_river_water_source", "default:river_water_source") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_desert_stone", "default:desert_stone") +minetest.register_alias("mapgen_desert_sand", "default:desert_sand") +minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow") +minetest.register_alias("mapgen_snowblock", "default:snowblock") +minetest.register_alias("mapgen_snow", "default:snow") +minetest.register_alias("mapgen_ice", "default:ice") +minetest.register_alias("mapgen_sandstone", "default:sandstone") + +-- Flora + +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_jungletree", "default:jungletree") +minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_pine_tree", "default:pine_tree") +minetest.register_alias("mapgen_pine_needles", "default:pine_needles") + +-- Dungeons + +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone") +minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick") +minetest.register_alias("mapgen_stair_sandstone_block", "stairs:stair_sandstone_block") + + +-- +-- Register ores +-- + +-- Mgv6 + +function default.register_mgv6_ores() + + -- Blob ore + -- These first to avoid other ores in blobs + + -- Clay + -- This first to avoid clay in sand blobs + + minetest.register_ore({ + ore_type = "blob", + ore = "default:clay", + wherein = {"default:sand"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 0, + y_min = -15, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = -316, + octaves = 1, + persist = 0.0 + }, + }) + + -- Sand + + minetest.register_ore({ + ore_type = "blob", + ore = "default:sand", + wherein = {"default:stone", "default:desert_stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 0, + y_min = -31, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + }) + + -- Dirt + + minetest.register_ore({ + ore_type = "blob", + ore = "default:dirt", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 31000, + y_min = -31, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + }) + + -- Gravel + + minetest.register_ore({ + ore_type = "blob", + ore = "default:gravel", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 31000, + y_min = -31000, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 766, + octaves = 1, + persist = 0.0 + }, + }) + + -- Scatter ores + + -- Coal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 9, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 8, + clust_size = 3, + y_max = 64, + y_min = -31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 24 * 24 * 24, + clust_num_ores = 27, + clust_size = 6, + y_max = 0, + y_min = -31000, + }) + + -- Iron + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 12, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 7 * 7 * 7, + clust_num_ores = 5, + clust_size = 3, + y_max = 0, + y_min = -31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 24 * 24 * 24, + clust_num_ores = 27, + clust_size = 6, + y_max = -64, + y_min = -31000, + }) + + -- Copper + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 12 * 12 * 12, + clust_num_ores = 4, + clust_size = 3, + y_max = -16, + y_min = -63, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_max = -64, + y_min = -31000, + }) + + -- Tin + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 10 * 10 * 10, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 4, + clust_size = 3, + y_max = -32, + y_min = -127, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 10 * 10 * 10, + clust_num_ores = 5, + clust_size = 3, + y_max = -128, + y_min = -31000, + }) + + -- Gold + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 3, + clust_size = 2, + y_max = -64, + y_min = -255, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_max = -256, + y_min = -31000, + }) + + -- Mese crystal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 18 * 18 * 18, + clust_num_ores = 3, + clust_size = 2, + y_max = -64, + y_min = -255, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_max = -256, + y_min = -31000, + }) + + -- Diamond + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 17 * 17 * 17, + clust_num_ores = 4, + clust_size = 3, + y_max = -128, + y_min = -255, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_max = -256, + y_min = -31000, + }) + + -- Mese block + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_max = -1024, + y_min = -31000, + }) +end + + +-- All mapgens except mgv6 + +function default.register_ores() + + -- Stratum ores. + -- These obviously first. + + -- Silver sandstone + + minetest.register_ore({ + ore_type = "stratum", + ore = "default:silver_sandstone", + wherein = {"default:stone"}, + clust_scarcity = 1, + y_max = 46, + y_min = 10, + noise_params = { + offset = 28, + scale = 16, + spread = {x = 128, y = 128, z = 128}, + seed = 90122, + octaves = 1, + }, + stratum_thickness = 4, + biomes = {"cold_desert"}, + }) + + minetest.register_ore({ + ore_type = "stratum", + ore = "default:silver_sandstone", + wherein = {"default:stone"}, + clust_scarcity = 1, + y_max = 42, + y_min = 6, + noise_params = { + offset = 24, + scale = 16, + spread = {x = 128, y = 128, z = 128}, + seed = 90122, + octaves = 1, + }, + stratum_thickness = 2, + biomes = {"cold_desert"}, + }) + + -- Desert sandstone + + minetest.register_ore({ + ore_type = "stratum", + ore = "default:desert_sandstone", + wherein = {"default:desert_stone"}, + clust_scarcity = 1, + y_max = 46, + y_min = 10, + noise_params = { + offset = 28, + scale = 16, + spread = {x = 128, y = 128, z = 128}, + seed = 90122, + octaves = 1, + }, + stratum_thickness = 4, + biomes = {"desert"}, + }) + + minetest.register_ore({ + ore_type = "stratum", + ore = "default:desert_sandstone", + wherein = {"default:desert_stone"}, + clust_scarcity = 1, + y_max = 42, + y_min = 6, + noise_params = { + offset = 24, + scale = 16, + spread = {x = 128, y = 128, z = 128}, + seed = 90122, + octaves = 1, + }, + stratum_thickness = 2, + biomes = {"desert"}, + }) + + -- Sandstone + + minetest.register_ore({ + ore_type = "stratum", + ore = "default:sandstone", + wherein = {"default:desert_stone"}, + clust_scarcity = 1, + y_max = 39, + y_min = 3, + noise_params = { + offset = 21, + scale = 16, + spread = {x = 128, y = 128, z = 128}, + seed = 90122, + octaves = 1, + }, + stratum_thickness = 2, + biomes = {"desert"}, + }) + + -- Blob ore. + -- These before scatter ores to avoid other ores in blobs. + + -- Clay + + minetest.register_ore({ + ore_type = "blob", + ore = "default:clay", + wherein = {"default:sand"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 0, + y_min = -15, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = -316, + octaves = 1, + persist = 0.0 + }, + }) + + -- Silver sand + + minetest.register_ore({ + ore_type = "blob", + ore = "default:silver_sand", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 31000, + y_min = -31000, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean", + "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean", + "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest", + "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest", + "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert", + "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean", + "rainforest", "rainforest_swamp", "rainforest_ocean", "underground", + "floatland_coniferous_forest", "floatland_coniferous_forest_ocean"} + }) + + -- Dirt + + minetest.register_ore({ + ore_type = "blob", + ore = "default:dirt", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 31000, + y_min = -31, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", + "deciduous_forest", "deciduous_forest_shore", "savanna", "savanna_shore", + "rainforest", "rainforest_swamp", "floatland_coniferous_forest"} + }) + + -- Gravel + + minetest.register_ore({ + ore_type = "blob", + ore = "default:gravel", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = 31000, + y_min = -31000, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 766, + octaves = 1, + persist = 0.0 + }, + biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean", + "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean", + "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest", + "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest", + "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert", + "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean", + "rainforest", "rainforest_swamp", "rainforest_ocean", "underground", + "floatland_coniferous_forest", "floatland_coniferous_forest_ocean"} + }) + + -- Scatter ores + + -- Coal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 9, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 8, + clust_size = 3, + y_max = 64, + y_min = -127, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 12 * 12 * 12, + clust_num_ores = 30, + clust_size = 5, + y_max = -128, + y_min = -31000, + }) + + -- Tin + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 10 * 10 * 10, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 4, + clust_size = 3, + y_max = -64, + y_min = -127, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_tin", + wherein = "default:stone", + clust_scarcity = 10 * 10 * 10, + clust_num_ores = 5, + clust_size = 3, + y_max = -128, + y_min = -31000, + }) + + -- Copper + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 12 * 12 * 12, + clust_num_ores = 4, + clust_size = 3, + y_max = -64, + y_min = -127, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_max = -128, + y_min = -31000, + }) + + -- Iron + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 12, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 7 * 7 * 7, + clust_num_ores = 5, + clust_size = 3, + y_max = -128, + y_min = -255, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 12 * 12 * 12, + clust_num_ores = 29, + clust_size = 5, + y_max = -256, + y_min = -31000, + }) + + -- Gold + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 3, + clust_size = 2, + y_max = -256, + y_min = -511, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_max = -512, + y_min = -31000, + }) + + -- Mese crystal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 18 * 18 * 18, + clust_num_ores = 3, + clust_size = 2, + y_max = -512, + y_min = -1023, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_max = -1024, + y_min = -31000, + }) + + -- Diamond + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 17 * 17 * 17, + clust_num_ores = 4, + clust_size = 3, + y_max = -1024, + y_min = -2047, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_max = -2048, + y_min = -31000, + }) + + -- Mese block + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_max = 31000, + y_min = 1025, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_max = -2048, + y_min = -4095, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 28 * 28 * 28, + clust_num_ores = 5, + clust_size = 3, + y_max = -4096, + y_min = -31000, + }) +end + + +-- +-- Register biomes +-- + +-- All mapgens except mgv6 + +function default.register_biomes(upper_limit) + + -- Icesheet + + minetest.register_biome({ + name = "icesheet", + node_dust = "default:snowblock", + node_top = "default:snowblock", + depth_top = 1, + node_filler = "default:snowblock", + depth_filler = 3, + node_stone = "default:cave_ice", + node_water_top = "default:ice", + depth_water_top = 10, + node_river_water = "default:ice", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_max = upper_limit, + y_min = -8, + heat_point = 0, + humidity_point = 73, + }) + + minetest.register_biome({ + name = "icesheet_ocean", + node_dust = "default:snowblock", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_water_top = "default:ice", + depth_water_top = 10, + y_max = -9, + y_min = -112, + heat_point = 0, + humidity_point = 73, + }) + + -- Tundra + + minetest.register_biome({ + name = "tundra_highland", + node_dust = "default:snow", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 47, + heat_point = 0, + humidity_point = 40, + }) + + minetest.register_biome({ + name = "tundra", + node_top = "default:permafrost_with_stones", + depth_top = 1, + node_filler = "default:permafrost", + depth_filler = 1, + node_riverbed = "default:gravel", + depth_riverbed = 2, + vertical_blend = 4, + y_max = 46, + y_min = 2, + heat_point = 0, + humidity_point = 40, + }) + + minetest.register_biome({ + name = "tundra_beach", + node_top = "default:gravel", + depth_top = 1, + node_filler = "default:gravel", + depth_filler = 2, + node_riverbed = "default:gravel", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 1, + y_min = -3, + heat_point = 0, + humidity_point = 40, + }) + + minetest.register_biome({ + name = "tundra_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:gravel", + depth_riverbed = 2, + vertical_blend = 1, + y_max = -4, + y_min = -112, + heat_point = 0, + humidity_point = 40, + }) + + -- Taiga + + minetest.register_biome({ + name = "taiga", + node_dust = "default:snow", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 4, + heat_point = 25, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "taiga_ocean", + node_dust = "default:snow", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 3, + y_min = -112, + heat_point = 25, + humidity_point = 70, + }) + + -- Snowy grassland + + minetest.register_biome({ + name = "snowy_grassland", + node_dust = "default:snow", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 4, + heat_point = 20, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "snowy_grassland_ocean", + node_dust = "default:snow", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 3, + y_min = -112, + heat_point = 20, + humidity_point = 35, + }) + + -- Grassland + + minetest.register_biome({ + name = "grassland", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 6, + heat_point = 50, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "grassland_dunes", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 5, + y_min = 4, + heat_point = 50, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "grassland_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 3, + y_min = -112, + heat_point = 50, + humidity_point = 35, + }) + + -- Coniferous forest + + minetest.register_biome({ + name = "coniferous_forest", + node_top = "default:dirt_with_coniferous_litter", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 6, + heat_point = 45, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "coniferous_forest_dunes", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 5, + y_min = 4, + heat_point = 45, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "coniferous_forest_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 3, + y_min = -112, + heat_point = 45, + humidity_point = 70, + }) + + -- Deciduous forest + + minetest.register_biome({ + name = "deciduous_forest", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 1, + heat_point = 60, + humidity_point = 68, + }) + + minetest.register_biome({ + name = "deciduous_forest_shore", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 0, + y_min = -1, + heat_point = 60, + humidity_point = 68, + }) + + minetest.register_biome({ + name = "deciduous_forest_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = -2, + y_min = -112, + heat_point = 60, + humidity_point = 68, + }) + + -- Desert + + minetest.register_biome({ + name = "desert", + node_top = "default:desert_sand", + depth_top = 1, + node_filler = "default:desert_sand", + depth_filler = 1, + node_stone = "default:desert_stone", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 4, + heat_point = 92, + humidity_point = 16, + }) + + minetest.register_biome({ + name = "desert_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:desert_stone", + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 3, + y_min = -112, + heat_point = 92, + humidity_point = 16, + }) + + -- Sandstone desert + + minetest.register_biome({ + name = "sandstone_desert", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 1, + node_stone = "default:sandstone", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 4, + heat_point = 60, + humidity_point = 0, + }) + + minetest.register_biome({ + name = "sandstone_desert_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:sandstone", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 3, + y_min = -112, + heat_point = 60, + humidity_point = 0, + }) + + -- Cold desert + + minetest.register_biome({ + name = "cold_desert", + node_top = "default:silver_sand", + depth_top = 1, + node_filler = "default:silver_sand", + depth_filler = 1, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 4, + heat_point = 40, + humidity_point = 0, + }) + + minetest.register_biome({ + name = "cold_desert_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = 3, + y_min = -112, + heat_point = 40, + humidity_point = 0, + }) + + -- Savanna + + minetest.register_biome({ + name = "savanna", + node_top = "default:dirt_with_dry_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 1, + heat_point = 89, + humidity_point = 42, + }) + + minetest.register_biome({ + name = "savanna_shore", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 0, + y_min = -1, + heat_point = 89, + humidity_point = 42, + }) + + minetest.register_biome({ + name = "savanna_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = -2, + y_min = -112, + heat_point = 89, + humidity_point = 42, + }) + + -- Rainforest + + minetest.register_biome({ + name = "rainforest", + node_top = "default:dirt_with_rainforest_litter", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = upper_limit, + y_min = 1, + heat_point = 86, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "rainforest_swamp", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + y_max = 0, + y_min = -1, + heat_point = 86, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "rainforest_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + vertical_blend = 1, + y_max = -2, + y_min = -112, + heat_point = 86, + humidity_point = 65, + }) + + -- Underground + + minetest.register_biome({ + name = "underground", + y_max = -113, + y_min = -31000, + heat_point = 50, + humidity_point = 50, + }) +end + + +-- Biomes for floatlands + +-- TODO Temporary simple biomes to be replaced by special floatland biomes later. + +function default.register_floatland_biomes(floatland_level, shadow_limit) + + minetest.register_biome({ + name = "floatland_grassland", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + y_max = 31000, + y_min = floatland_level + 2, + heat_point = 50, + humidity_point = 25, + }) + + minetest.register_biome({ + name = "floatland_coniferous_forest", + node_top = "default:dirt_with_coniferous_litter", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + y_max = 31000, + y_min = floatland_level + 2, + heat_point = 50, + humidity_point = 75, + }) + + minetest.register_biome({ + name = "floatland_ocean", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + y_max = floatland_level + 1, + y_min = shadow_limit, + heat_point = 50, + humidity_point = 50, + }) +end + + +-- +-- Register decorations +-- + +-- Mgv6 + +function default.register_mgv6_decorations() + + -- Papyrus + + minetest.register_decoration({ + name = "default:papyrus", + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + y_max = 1, + y_min = 1, + decoration = "default:papyrus", + height = 2, + height_max = 4, + spawn_by = "default:water_source", + num_spawn_by = 1, + }) + + -- Cacti + + minetest.register_decoration({ + name = "default:cactus", + deco_type = "simple", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.012, + scale = 0.024, + spread = {x = 100, y = 100, z = 100}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + y_max = 30, + y_min = 1, + decoration = "default:cactus", + height = 3, + height_max = 4, + }) + + -- Long grasses + + for length = 1, 5 do + minetest.register_decoration({ + name = "default:grass_"..length, + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.007, + spread = {x = 100, y = 100, z = 100}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + y_max = 30, + y_min = 1, + decoration = "default:grass_"..length, + }) + end + + -- Dry shrubs + + minetest.register_decoration({ + name = "default:dry_shrub", + deco_type = "simple", + place_on = {"default:desert_sand", "default:dirt_with_snow"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.035, + spread = {x = 100, y = 100, z = 100}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + y_max = 30, + y_min = 1, + decoration = "default:dry_shrub", + param2 = 4, + }) +end + + +-- All mapgens except mgv6 + +local function register_grass_decoration(offset, scale, length) + minetest.register_decoration({ + name = "default:grass_" .. length, + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = offset, + scale = scale, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + y_max = 31000, + y_min = 1, + decoration = "default:grass_" .. length, + }) +end + +local function register_dry_grass_decoration(offset, scale, length) + minetest.register_decoration({ + name = "default:dry_grass_" .. length, + deco_type = "simple", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = offset, + scale = scale, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + decoration = "default:dry_grass_" .. length, + }) +end + +local function register_fern_decoration(seed, length) + minetest.register_decoration({ + name = "default:fern_" .. length, + deco_type = "simple", + place_on = {"default:dirt_with_coniferous_litter"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.2, + spread = {x = 100, y = 100, z = 100}, + seed = seed, + octaves = 3, + persist = 0.7 + }, + biomes = {"coniferous_forest", "floatland_coniferous_forest"}, + y_max = 31000, + y_min = 6, + decoration = "default:fern_" .. length, + }) +end + + +function default.register_decorations() + + -- Apple tree and log + + minetest.register_decoration({ + name = "default:apple_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.024, + scale = 0.015, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/apple_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + name = "default:apple_log", + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + place_offset_y = 1, + sidelen = 16, + noise_params = { + offset = 0.0012, + scale = 0.0007, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/apple_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dirt_with_grass", + num_spawn_by = 8, + }) + + -- Emergent jungle tree + -- Due to 32 node height, altitude is limited and prescence depends on chunksize + + local chunksize = tonumber(minetest.get_mapgen_setting("chunksize")) + if chunksize >= 5 then + minetest.register_decoration({ + name = "default:emergent_jungle_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_rainforest_litter"}, + sidelen = 80, + noise_params = { + offset = 0.0, + scale = 0.0025, + spread = {x = 250, y = 250, z = 250}, + seed = 2685, + octaves = 3, + persist = 0.7 + }, + biomes = {"rainforest"}, + y_max = 32, + y_min = 1, + schematic = minetest.get_modpath("default") .. + "/schematics/emergent_jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + place_offset_y = -4, + }) + end + + -- Jungle tree and log + + minetest.register_decoration({ + name = "default:jungle_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest", "rainforest_swamp"}, + y_max = 31000, + y_min = -1, + schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + name = "default:jungle_log", + deco_type = "schematic", + place_on = {"default:dirt_with_rainforest_litter"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.005, + biomes = {"rainforest", "rainforest_swamp"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dirt_with_rainforest_litter", + num_spawn_by = 8, + }) + + -- Taiga and temperate coniferous forest pine tree, small pine tree and log + + minetest.register_decoration({ + name = "default:pine_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + sidelen = 16, + noise_params = { + offset = 0.010, + scale = 0.048, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + y_max = 31000, + y_min = 4, + schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + name = "default:small_pine_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + sidelen = 16, + noise_params = { + offset = 0.010, + scale = -0.048, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + y_max = 31000, + y_min = 4, + schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + name = "default:pine_log", + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.0018, + biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + y_max = 31000, + y_min = 4, + schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + num_spawn_by = 8, + }) + + -- Acacia tree and log + + minetest.register_decoration({ + name = "default:acacia_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.002, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + name = "default:acacia_log", + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + place_offset_y = 1, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dirt_with_dry_grass", + num_spawn_by = 8, + }) + + -- Aspen tree and log + + minetest.register_decoration({ + name = "default:aspen_tree", + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.0, + scale = -0.015, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/aspen_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + name = "default:aspen_log", + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + place_offset_y = 1, + sidelen = 16, + noise_params = { + offset = 0.0, + scale = -0.0008, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/aspen_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dirt_with_grass", + num_spawn_by = 8, + }) + + -- Large cactus + + minetest.register_decoration({ + name = "default:large_cactus", + deco_type = "schematic", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.0003, + scale = 0.0009, + spread = {x = 200, y = 200, z = 200}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert"}, + y_max = 31000, + y_min = 4, + schematic = minetest.get_modpath("default") .. "/schematics/large_cactus.mts", + flags = "place_center_x", + rotation = "random", + }) + + -- Cactus + + minetest.register_decoration({ + name = "default:cactus", + deco_type = "simple", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.0003, + scale = 0.0009, + spread = {x = 200, y = 200, z = 200}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert"}, + y_max = 31000, + y_min = 4, + decoration = "default:cactus", + height = 2, + height_max = 5, + }) + + -- Papyrus + + minetest.register_decoration({ + name = "default:papyrus", + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 200, y = 200, z = 200}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + biomes = {"savanna_shore"}, + y_max = 0, + y_min = 0, + schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts", + }) + + -- Bush + + minetest.register_decoration({ + name = "default:bush", + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.004, + scale = 0.01, + spread = {x = 100, y = 100, z = 100}, + seed = 137, + octaves = 3, + persist = 0.7, + }, + biomes = {"grassland", "deciduous_forest", + "floatland_grassland"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/bush.mts", + flags = "place_center_x, place_center_z", + }) + + -- Blueberry bush + + minetest.register_decoration({ + name = "default:blueberry_bush", + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "default:dirt_with_snow"}, + sidelen = 16, + noise_params = { + offset = -0.004, + scale = 0.01, + spread = {x = 100, y = 100, z = 100}, + seed = 697, + octaves = 3, + persist = 0.7, + }, + biomes = {"grassland", "snowy_grassland"}, + y_max = 31000, + y_min = 1, + place_offset_y = 1, + schematic = minetest.get_modpath("default") .. "/schematics/blueberry_bush.mts", + flags = "place_center_x, place_center_z", + }) + + -- Acacia bush + + minetest.register_decoration({ + name = "default:acacia_bush", + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = -0.004, + scale = 0.01, + spread = {x = 100, y = 100, z = 100}, + seed = 90155, + octaves = 3, + persist = 0.7, + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/acacia_bush.mts", + flags = "place_center_x, place_center_z", + }) + + -- Pine bush + + minetest.register_decoration({ + name = "default:pine_bush", + deco_type = "schematic", + place_on = {"default:dirt_with_snow"}, + sidelen = 16, + noise_params = { + offset = -0.004, + scale = 0.01, + spread = {x = 100, y = 100, z = 100}, + seed = 137, + octaves = 3, + persist = 0.7, + }, + biomes = {"taiga", "snowy_grassland"}, + y_max = 31000, + y_min = 4, + schematic = minetest.get_modpath("default") .. "/schematics/pine_bush.mts", + flags = "place_center_x, place_center_z", + }) + + -- Grasses + + register_grass_decoration(-0.03, 0.09, 5) + register_grass_decoration(-0.015, 0.075, 4) + register_grass_decoration(0, 0.06, 3) + register_grass_decoration(0.015, 0.045, 2) + register_grass_decoration(0.03, 0.03, 1) + + -- Dry grasses + + register_dry_grass_decoration(0.01, 0.05, 5) + register_dry_grass_decoration(0.03, 0.03, 4) + register_dry_grass_decoration(0.05, 0.01, 3) + register_dry_grass_decoration(0.07, -0.01, 2) + register_dry_grass_decoration(0.09, -0.03, 1) + + -- Ferns + + register_fern_decoration(14936, 3) + register_fern_decoration(801, 2) + register_fern_decoration(5, 1) + + -- Junglegrass + + minetest.register_decoration({ + name = "default:junglegrass", + deco_type = "simple", + place_on = {"default:dirt_with_rainforest_litter"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest"}, + y_max = 31000, + y_min = 1, + decoration = "default:junglegrass", + }) + + -- Dry shrub + + minetest.register_decoration({ + name = "default:dry_shrub", + deco_type = "simple", + place_on = {"default:desert_sand", + "default:sand", "default:silver_sand"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.02, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert", "sandstone_desert", "cold_desert"}, + y_max = 31000, + y_min = 2, + decoration = "default:dry_shrub", + param2 = 4, + }) + + -- Marram grass + + minetest.register_decoration({ + name = "default:marram_grass", + deco_type = "simple", + place_on = {"default:sand"}, + sidelen = 4, + noise_params = { + offset = -0.4, + scale = 3.0, + spread = {x = 16, y = 16, z = 16}, + seed = 513337, + octaves = 1, + persist = 0.5, + flags = "absvalue" + }, + biomes = {"coniferous_forest_dunes", "grassland_dunes"}, + y_max = 6, + y_min = 4, + decoration = { + "default:marram_grass_1", + "default:marram_grass_2", + "default:marram_grass_3", + }, + }) + + -- Tundra moss + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:permafrost_with_stones"}, + sidelen = 4, + noise_params = { + offset = -0.8, + scale = 2.0, + spread = {x = 100, y = 100, z = 100}, + seed = 53995, + octaves = 3, + persist = 1.0 + }, + biomes = {"tundra"}, + y_max = 50, + y_min = 2, + decoration = "default:permafrost_with_moss", + place_offset_y = -1, + flags = "force_placement", + }) + + -- Tundra patchy snow + + minetest.register_decoration({ + deco_type = "simple", + place_on = { + "default:permafrost_with_moss", + "default:permafrost_with_stones", + "default:stone", + "default:gravel" + }, + sidelen = 4, + noise_params = { + offset = 0, + scale = 1.0, + spread = {x = 100, y = 100, z = 100}, + seed = 172555, + octaves = 3, + persist = 1.0 + }, + biomes = {"tundra", "tundra_beach"}, + y_max = 50, + y_min = 1, + decoration = "default:snow", + }) + + -- Coral reef + + minetest.register_decoration({ + name = "default:corals", + deco_type = "simple", + place_on = {"default:sand"}, + place_offset_y = -1, + sidelen = 4, + noise_params = { + offset = -4, + scale = 4, + spread = {x = 50, y = 50, z = 50}, + seed = 7013, + octaves = 3, + persist = 0.7, + }, + biomes = { + "desert_ocean", + "savanna_ocean", + "rainforest_ocean", + }, + y_max = -2, + y_min = -8, + flags = "force_placement", + decoration = { + "default:coral_green", "default:coral_pink", + "default:coral_cyan", "default:coral_brown", + "default:coral_orange", "default:coral_skeleton", + }, + }) + + -- Kelp + + minetest.register_decoration({ + name = "default:kelp", + deco_type = "simple", + place_on = {"default:sand"}, + place_offset_y = -1, + sidelen = 16, + noise_params = { + offset = -0.04, + scale = 0.1, + spread = {x = 200, y = 200, z = 200}, + seed = 87112, + octaves = 3, + persist = 0.7 + }, + biomes = { + "taiga_ocean", + "snowy_grassland_ocean", + "grassland_ocean", + "coniferous_forest_ocean", + "deciduous_forest_ocean", + "sandstone_desert_ocean", + "cold_desert_ocean"}, + y_max = -5, + y_min = -10, + flags = "force_placement", + decoration = "default:sand_with_kelp", + param2 = 48, + param2_max = 96, + }) +end + + +-- +-- Detect mapgen, flags and parameters to select functions +-- + +-- Get setting or default +local mgv7_spflags = minetest.get_mapgen_setting("mgv7_spflags") or + "mountains, ridges, nofloatlands, caverns" +local captures_float = string.match(mgv7_spflags, "floatlands") +local captures_nofloat = string.match(mgv7_spflags, "nofloatlands") + +-- Get setting or default +-- Make global for mods to use to register floatland biomes +default.mgv7_floatland_level = + minetest.get_mapgen_setting("mgv7_floatland_level") or 1280 +default.mgv7_shadow_limit = + minetest.get_mapgen_setting("mgv7_shadow_limit") or 1024 + +minetest.clear_registered_biomes() +minetest.clear_registered_ores() +minetest.clear_registered_decorations() + +local mg_name = minetest.get_mapgen_setting("mg_name") + +if mg_name == "v6" then + default.register_mgv6_ores() + default.register_mgv6_decorations() +-- Need to check for 'nofloatlands' because that contains +-- 'floatlands' which makes the second condition true. +elseif mg_name == "v7" and + captures_float == "floatlands" and + captures_nofloat ~= "nofloatlands" then + -- Mgv7 with floatlands and floatland biomes + default.register_biomes(default.mgv7_shadow_limit - 1) + default.register_floatland_biomes( + default.mgv7_floatland_level, default.mgv7_shadow_limit) + default.register_ores() + default.register_decorations() +else + default.register_biomes(31000) + default.register_ores() + default.register_decorations() +end diff --git a/mods/default/models/chest_open.obj b/mods/default/models/chest_open.obj new file mode 100644 index 0000000..72ba175 --- /dev/null +++ b/mods/default/models/chest_open.obj @@ -0,0 +1,79 @@ +# Blender v2.78 (sub 0) OBJ File: 'chest-open.blend' +# www.blender.org +o Top_Cube.002_None_Top_Cube.002_None_bottom +v -0.500000 0.408471 0.720970 +v -0.500000 1.115578 0.013863 +v -0.500000 0.894607 -0.207108 +v -0.500000 0.187501 0.499999 +v 0.500000 1.115578 0.013863 +v 0.500000 0.408471 0.720970 +v 0.500000 0.187501 0.499999 +v 0.500000 0.894607 -0.207108 +v -0.500000 0.187500 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 0.187500 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 0.0000 1.0000 +vt 1.0000 1.0000 +vt 1.0000 0.6875 +vt 0.0000 0.6875 +vt 1.0000 1.0000 +vt 0.0000 0.6875 +vt 1.0000 0.6875 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 0.0000 0.0000 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.6875 +vt 0.0000 0.6875 +vt 0.0000 0.0000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 1.0000 -0.0000 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Top +s off +f 6/1/1 5/2/1 2/3/1 1/4/1 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Bottom +f 11/5/2 10/6/2 14/7/2 13/8/2 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Right-Left +f 1/9/3 2/10/3 3/11/3 4/12/3 +f 5/13/4 6/1/4 7/14/4 8/15/4 +f 4/12/3 9/16/3 10/17/3 11/18/3 +f 12/19/4 7/14/4 13/8/4 14/20/4 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Back +f 6/21/5 1/9/5 4/12/5 7/22/5 +f 7/22/6 4/12/6 11/18/6 13/23/6 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Front +f 2/10/7 5/24/7 8/25/7 3/11/7 +f 9/16/8 12/26/8 14/27/8 10/17/8 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Inside +f 4/28/9 3/29/9 8/30/9 7/31/9 +f 7/31/10 12/32/10 9/33/10 4/28/10 diff --git a/mods/default/models/torch_ceiling.obj b/mods/default/models/torch_ceiling.obj new file mode 100644 index 0000000..ea51f3c --- /dev/null +++ b/mods/default/models/torch_ceiling.obj @@ -0,0 +1,58 @@ +# Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend' +# www.blender.org +mtllib torch_ceiling.mtl +o Cube_Cube.001 +v -0.062469 -0.047331 0.068152 +v -0.062469 -0.559515 -0.164388 +v -0.062469 0.004344 -0.045667 +v -0.062469 -0.507839 -0.278206 +v 0.062531 -0.047331 0.068152 +v 0.062531 -0.559515 -0.164388 +v 0.062531 0.004344 -0.045667 +v 0.062531 -0.507839 -0.278206 +v 0.353584 0.040000 0.363553 +v 0.353584 -0.397500 0.363553 +v -0.353522 0.040000 -0.343553 +v -0.353522 -0.397500 -0.343553 +v 0.353584 0.040000 -0.343553 +v -0.353522 0.040000 0.363553 +v 0.353584 -0.397500 -0.343553 +v -0.353522 -0.397500 0.363553 +vt 0.5625 0.5000 +vt 0.5625 0.6250 +vt 0.4375 0.6250 +vt 0.4375 0.5000 +vt 0.4375 0.0000 +vt 0.5625 0.0000 +vt 0.5625 0.1250 +vt 0.4375 0.1250 +vt 0.5625 0.6250 +vt 0.4375 0.6250 +vt 0.4375 0.6250 +vt 0.4375 0.0000 +vt 0.5625 0.6250 +vt 0.5625 0.0000 +vt 1.0000 0.5625 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.5625 +vt 0.0000 0.5625 +vt 1.0000 0.5625 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 0.9105 0.4134 +vn -0.0000 -0.4134 0.9105 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +usemtl Material.001 +s off +f 3/1/1 1/2/1 5/3/1 7/4/1 +f 8/5/1 4/6/1 2/7/1 6/8/1 +f 3/9/2 4/6/2 8/5/2 7/10/2 +f 1/11/3 3/9/3 4/6/3 2/12/3 +f 5/13/2 1/11/2 2/12/2 6/14/2 +f 7/10/3 8/5/3 6/14/3 5/13/3 +usemtl Material.002 +f 9/15/4 10/16/4 12/17/4 11/18/4 +f 13/19/5 14/20/5 16/21/5 15/22/5 diff --git a/mods/default/models/torch_floor.obj b/mods/default/models/torch_floor.obj new file mode 100644 index 0000000..e2487ef --- /dev/null +++ b/mods/default/models/torch_floor.obj @@ -0,0 +1,50 @@ +# Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend' +# www.blender.org +mtllib torch_floor.mtl +o Cube_Cube.001 +v 0.062500 0.062500 -0.062500 +v 0.062500 -0.500000 -0.062500 +v 0.062500 0.062500 0.062500 +v 0.062500 -0.500000 0.062500 +v -0.062500 0.062500 -0.062500 +v -0.062500 -0.500000 -0.062500 +v -0.062500 0.062500 0.062500 +v -0.062500 -0.500000 0.062500 +v -0.353553 -0.500000 0.353553 +v -0.353553 0.500000 0.353553 +v 0.353553 -0.500000 -0.353553 +v 0.353553 0.500000 -0.353553 +v -0.353553 -0.500000 -0.353553 +v 0.353553 -0.500000 0.353553 +v -0.353553 0.500000 -0.353553 +v 0.353553 0.500000 0.353553 +vt 0.562500 0.500000 +vt 0.562500 0.625000 +vt 0.437500 0.625000 +vt 0.437500 0.500000 +vt 0.437500 0.000000 +vt 0.562500 0.000000 +vt 0.562500 0.125000 +vt 0.437500 0.125000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn -0.707100 0.000000 -0.707100 +vn -0.707100 -0.000000 0.707100 +g Cube_Cube.001_Cube_Cube.001_Material.001 +usemtl Material.001 +s off +f 3/1/1 1/2/1 5/3/1 7/4/1 +f 8/5/1 4/6/1 2/7/1 6/8/1 +f 3/2/2 4/6/2 8/5/2 7/3/2 +f 1/3/3 3/2/3 4/6/3 2/5/3 +f 5/2/2 1/3/2 2/5/2 6/6/2 +f 7/3/3 8/5/3 6/6/3 5/2/3 +g Cube_Cube.001_Cube_Cube.001_Material.002 +usemtl Material.002 +f 9/9/4 10/10/4 12/11/4 11/12/4 +f 13/12/5 14/9/5 16/10/5 15/11/5 diff --git a/mods/default/models/torch_wall.obj b/mods/default/models/torch_wall.obj new file mode 100644 index 0000000..57baa9e --- /dev/null +++ b/mods/default/models/torch_wall.obj @@ -0,0 +1,64 @@ +# Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend' +# www.blender.org +mtllib torch_wall.mtl +o Cube_Cube.001 +v 0.062469 -0.195248 0.023570 +v 0.062469 -0.476498 -0.463570 +v 0.062469 -0.303502 0.086070 +v 0.062469 -0.584752 -0.401070 +v -0.062531 -0.195248 0.023570 +v -0.062531 -0.476498 -0.463570 +v -0.062531 -0.303502 0.086070 +v -0.062531 -0.584752 -0.401070 +v -0.353584 -0.613553 0.022500 +v -0.353584 -0.613553 0.460000 +v 0.353522 0.093553 0.022500 +v 0.353522 0.093553 0.460000 +v -0.353584 0.093553 0.022500 +v 0.353522 -0.613553 0.022500 +v -0.353584 0.093553 0.460000 +v 0.353522 -0.613553 0.460000 +v 0.353553 0.056811 -0.121957 +v 0.353553 -0.224439 -0.609096 +v -0.353553 -0.555561 0.231596 +v -0.353553 -0.836811 -0.255543 +v -0.353553 0.056811 -0.121957 +v -0.353553 -0.224439 -0.609096 +v 0.353553 -0.555561 0.231596 +v 0.353553 -0.836811 -0.255543 +vt 0.562500 0.500000 +vt 0.562500 0.625000 +vt 0.437500 0.625000 +vt 0.437500 0.500000 +vt 0.437500 0.000000 +vt 0.562500 0.000000 +vt 0.562500 0.125000 +vt 0.437500 0.125000 +vt 0.000000 0.562500 +vt 0.000000 -0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.562500 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vn -0.000000 0.500000 0.866000 +vn -0.000000 0.866000 -0.500000 +vn 1.000000 0.000000 0.000000 +vn -0.707100 0.612400 -0.353600 +vn -0.707100 -0.612400 0.353600 +vn -0.707100 0.707100 -0.000000 +vn -0.707100 -0.707100 -0.000000 +g Cube_Cube.001_Cube_Cube.001_Material.001 +usemtl Material.001 +s off +f 3/1/1 1/2/1 5/3/1 7/4/1 +f 8/5/1 4/6/1 2/7/1 6/8/1 +f 3/2/2 4/6/2 8/5/2 7/3/2 +f 1/3/3 3/2/3 4/6/3 2/5/3 +f 5/2/2 1/3/2 2/5/2 6/6/2 +f 7/3/3 8/5/3 6/6/3 5/2/3 +f 17/9/4 18/10/4 20/11/4 19/12/4 +f 21/9/5 22/10/5 24/11/5 23/12/5 +g Cube_Cube.001_Cube_Cube.001_Material.002 +usemtl Material.002 +f 9/12/6 10/13/6 12/14/6 11/9/6 +f 13/9/7 14/12/7 16/13/7 15/14/7 diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua new file mode 100644 index 0000000..9827474 --- /dev/null +++ b/mods/default/nodes.lua @@ -0,0 +1,2858 @@ +-- mods/default/nodes.lua + + +--[[ Node name convention: + +Although many node names are in combined-word form, the required form for new +node names is words separated by underscores. If both forms are used in written +language (for example pinewood and pine wood) the underscore form should be used. + +--]] + + +--[[ Index: + +Stone +----- +(1. Material 2. Cobble variant 3. Brick variant 4. Modified forms) + +default:stone +default:cobble +default:stonebrick +default:stone_block +default:mossycobble + +default:desert_stone +default:desert_cobble +default:desert_stonebrick +default:desert_stone_block + +default:sandstone +default:sandstonebrick +default:sandstone_block +default:desert_sandstone +default:desert_sandstone_brick +default:desert_sandstone_block +default:silver_sandstone +default:silver_sandstone_brick +default:silver_sandstone_block + +default:obsidian +default:obsidianbrick +default:obsidian_block + +Soft / Non-Stone +---------------- +(1. Material 2. Modified forms) + +default:dirt +default:dirt_with_grass +default:dirt_with_grass_footsteps +default:dirt_with_dry_grass +default:dirt_with_snow +default:dirt_with_rainforest_litter +default:dirt_with_coniferous_litter + +default:permafrost +default:permafrost_with_stones +default:permafrost_with_moss + +default:sand +default:desert_sand +default:silver_sand + +default:gravel + +default:clay + +default:snow +default:snowblock +default:ice +default:cave_ice + +Trees +----- +(1. Trunk 2. Fabricated trunk 3. Leaves 4. Sapling 5. Fruits) + +default:tree +default:wood +default:leaves +default:sapling +default:apple + +default:jungletree +default:junglewood +default:jungleleaves +default:junglesapling +default:emergent_jungle_sapling + +default:pine_tree +default:pine_wood +default:pine_needles +default:pine_sapling + +default:acacia_tree +default:acacia_wood +default:acacia_leaves +default:acacia_sapling + +default:aspen_tree +default:aspen_wood +default:aspen_leaves +default:aspen_sapling + +Ores +---- +(1. In stone 2. Blocks) + +default:stone_with_coal +default:coalblock + +default:stone_with_iron +default:steelblock + +default:stone_with_copper +default:copperblock + +default:stone_with_tin +default:tinblock + +default:bronzeblock + +default:stone_with_gold +default:goldblock + +default:stone_with_mese +default:mese + +default:stone_with_diamond +default:diamondblock + +Plantlife +--------- + +default:cactus +default:papyrus +default:dry_shrub +default:junglegrass + +default:grass_1 +default:grass_2 +default:grass_3 +default:grass_4 +default:grass_5 + +default:dry_grass_1 +default:dry_grass_2 +default:dry_grass_3 +default:dry_grass_4 +default:dry_grass_5 + +default:fern_1 +default:fern_2 +default:fern_3 + +default:marram_grass_1 +default:marram_grass_2 +default:marram_grass_3 + +default:bush_stem +default:bush_leaves +default:bush_sapling +default:acacia_bush_stem +default:acacia_bush_leaves +default:acacia_bush_sapling +default:pine_bush_stem +default:pine_bush_needles +default:pine_bush_sapling +default:blueberry_bush_leaves_with_berries +default:blueberry_bush_leaves +default:blueberry_bush_sapling + +default:sand_with_kelp + +Corals +------ + +default:coral_brown +default:coral_orange +default:coral_skeleton + +Liquids +------- +(1. Source 2. Flowing) + +default:water_source +default:water_flowing + +default:river_water_source +default:river_water_flowing + +default:lava_source +default:lava_flowing + +Tools / "Advanced" crafting / Non-"natural" +------------------------------------------- + +default:bookshelf + +default:sign_wall_wood +default:sign_wall_steel + +default:ladder_wood +default:ladder_steel + +default:fence_wood +default:fence_acacia_wood +default:fence_junglewood +default:fence_pine_wood +default:fence_aspen_wood + +default:glass +default:obsidian_glass + +default:brick + +default:meselamp +default:mese_post_light + +Misc +---- + +default:cloud + +--]] + +-- +-- Stone +-- + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + groups = {cracky = 3, stone = 1}, + drop = 'default:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:cobble", { + description = "Cobblestone", + tiles = {"default_cobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stonebrick", { + description = "Stone Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_stone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_block", { + description = "Stone Block", + tiles = {"default_stone_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mossycobble", { + description = "Mossy Cobblestone", + tiles = {"default_mossycobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("default:desert_stone", { + description = "Desert Stone", + tiles = {"default_desert_stone.png"}, + groups = {cracky = 3, stone = 1}, + drop = 'default:desert_cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_cobble", { + description = "Desert Cobblestone", + tiles = {"default_desert_cobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stonebrick", { + description = "Desert Stone Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_desert_stone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stone_block", { + description = "Desert Stone Block", + tiles = {"default_desert_stone_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:sandstone", { + description = "Sandstone", + tiles = {"default_sandstone.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:sandstonebrick", { + description = "Sandstone Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_sandstone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:sandstone_block", { + description = "Sandstone Block", + tiles = {"default_sandstone_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_sandstone", { + description = "Desert Sandstone", + tiles = {"default_desert_sandstone.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_sandstone_brick", { + description = "Desert Sandstone Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_desert_sandstone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_sandstone_block", { + description = "Desert Sandstone Block", + tiles = {"default_desert_sandstone_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:silver_sandstone", { + description = "Silver Sandstone", + tiles = {"default_silver_sandstone.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:silver_sandstone_brick", { + description = "Silver Sandstone Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_silver_sandstone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:silver_sandstone_block", { + description = "Silver Sandstone Block", + tiles = {"default_silver_sandstone_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:obsidian", { + description = "Obsidian", + tiles = {"default_obsidian.png"}, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) + +minetest.register_node("default:obsidianbrick", { + description = "Obsidian Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_obsidian_brick.png"}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) + +minetest.register_node("default:obsidian_block", { + description = "Obsidian Block", + tiles = {"default_obsidian_block.png"}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) + +-- +-- Soft / Non-Stone +-- + +minetest.register_node("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + groups = {crumbly = 3, soil = 1}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = "Dirt with Grass", + tiles = {"default_grass.png", "default_dirt.png", + {name = "default_dirt.png^default_grass_side.png", + tileable_vertical = false}}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.25}, + }), +}) +--[[ +minetest.register_node("default:dirt_with_grass_footsteps", { + description = "Dirt with Grass and Footsteps", + tiles = {"default_grass.png^default_footprint.png", "default_dirt.png", + {name = "default_dirt.png^default_grass_side.png", + tileable_vertical = false}}, + groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.25}, + }), +}) +--]] +minetest.register_node("default:dirt_with_dry_grass", { + description = "Dirt with Dry Grass", + tiles = {"default_dry_grass.png", + "default_dirt.png", + {name = "default_dirt.png^default_dry_grass_side.png", + tileable_vertical = false}}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.4}, + }), +}) + +minetest.register_node("default:dirt_with_snow", { + description = "Dirt with Snow", + tiles = {"default_snow.png", "default_dirt.png", + {name = "default_dirt.png^default_snow_side.png", + tileable_vertical = false}}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_snow_footstep", gain = 0.2}, + }), +}) + +minetest.register_node("default:dirt_with_rainforest_litter", { + description = "Dirt with Rainforest Litter", + tiles = { + "default_rainforest_litter.png", + "default_dirt.png", + {name = "default_dirt.png^default_rainforest_litter_side.png", + tileable_vertical = false} + }, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, + drop = "default:dirt", + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.4}, + }), +}) + +minetest.register_node("default:dirt_with_coniferous_litter", { + description = "Dirt with Coniferous Litter", + tiles = { + "default_coniferous_litter.png", + "default_dirt.png", + {name = "default_dirt.png^default_coniferous_litter_side.png", + tileable_vertical = false} + }, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, + drop = "default:dirt", + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.4}, + }), +}) + +minetest.register_node("default:permafrost", { + description = "Permafrost", + tiles = {"default_permafrost.png"}, + groups = {cracky = 3}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:permafrost_with_stones", { + description = "Permafrost with Stones", + tiles = {"default_permafrost.png^default_stones.png", + "default_permafrost.png"}, + groups = {cracky = 3}, + drop = "default:permafrost", + sounds = default.node_sound_gravel_defaults(), +}) + +minetest.register_node("default:permafrost_with_moss", { + description = "Permafrost with Moss", + tiles = {"default_moss.png", "default_permafrost.png", + {name = "default_permafrost.png^default_moss_side.png", + tileable_vertical = false}}, + groups = {cracky = 3}, + drop = "default:permafrost", + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.25}, + }), +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + 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"}, + groups = {crumbly = 3, falling_node = 1, sand = 1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:silver_sand", { + description = "Silver Sand", + tiles = {"default_silver_sand.png"}, + groups = {crumbly = 3, falling_node = 1, sand = 1}, + sounds = default.node_sound_sand_defaults(), +}) + + +minetest.register_node("default:gravel", { + description = "Gravel", + tiles = {"default_gravel.png"}, + groups = {crumbly = 2, falling_node = 1}, + sounds = default.node_sound_gravel_defaults(), + drop = { + max_items = 1, + items = { + {items = {'default:flint'}, rarity = 16}, + {items = {'default:gravel'}} + } + } +}) + +minetest.register_node("default:clay", { + description = "Clay", + tiles = {"default_clay.png"}, + groups = {crumbly = 3}, + drop = 'default:clay_lump 4', + sounds = default.node_sound_dirt_defaults(), +}) + + +minetest.register_node("default:snow", { + description = "Snow", + tiles = {"default_snow.png"}, + inventory_image = "default_snowball.png", + wield_image = "default_snowball.png", + paramtype = "light", + buildable_to = true, + floodable = true, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -7 / 16, 0.5}, + }, + }, + groups = {crumbly = 3, falling_node = 1, puts_out_fire = 1, snowy = 1}, + sounds = default.node_sound_snow_defaults(), + + on_construct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "default:dirt_with_grass" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + end + end, +}) + +minetest.register_node("default:snowblock", { + description = "Snow Block", + tiles = {"default_snow.png"}, + groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1, snowy = 1}, + sounds = default.node_sound_snow_defaults(), + + on_construct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "default:dirt_with_grass" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + end + end, +}) + +-- 'is ground content = false' to avoid tunnels in sea ice or ice rivers +minetest.register_node("default:ice", { + description = "Ice", + tiles = {"default_ice.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +-- Mapgen-placed ice with 'is ground content = true' to contain tunnels +minetest.register_node("default:cave_ice", { + description = "Cave Ice", + tiles = {"default_ice.png"}, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3, + not_in_creative_inventory = 1}, + drop = "default:ice", + sounds = default.node_sound_glass_defaults(), +}) + +-- +-- Trees +-- + +minetest.register_node("default:tree", { + description = "Apple Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:wood", { + description = "Apple Wood Planks", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_wood.png"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:sapling", { + description = "Apple Tree Sapling", + drawtype = "plantlike", + tiles = {"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:sapling", + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + {x = -3, y = 1, z = -3}, + {x = 3, y = 6, z = 3}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + +minetest.register_node("default:leaves", { + description = "Apple Tree Leaves", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_leaves.png"}, + special_tiles = {"default_leaves_simple.png"}, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + 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(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:apple", { + description = "Apple", + drawtype = "plantlike", + tiles = {"default_apple.png"}, + inventory_image = "default_apple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + is_ground_content = false, + selection_box = { + type = "fixed", + fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16} + }, + groups = {fleshy = 3, dig_immediate = 3, flammable = 2, + leafdecay = 3, leafdecay_drop = 1, food_apple = 1}, + on_use = minetest.item_eat(2), + sounds = default.node_sound_leaves_defaults(), + + after_place_node = function(pos, placer, itemstack) + minetest.set_node(pos, {name = "default:apple", param2 = 1}) + end, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if oldnode.param2 == 0 then + minetest.set_node(pos, {name = "default:apple_mark"}) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end + end, +}) + +minetest.register_node("default:apple_mark", { + description = "Apple Marker", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + groups = {not_in_creative_inventory = 1}, + on_timer = function(pos, elapsed) + if not minetest.find_node_near(pos, 1, "default:leaves") then + minetest.remove_node(pos) + elseif minetest.get_node_light(pos) < 11 then + minetest.get_node_timer(pos):start(200) + else + minetest.set_node(pos, {name = "default:apple"}) + end + end +}) + + +minetest.register_node("default:jungletree", { + description = "Jungle Tree", + tiles = {"default_jungletree_top.png", "default_jungletree_top.png", + "default_jungletree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:junglewood", { + description = "Jungle Wood Planks", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_junglewood.png"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:jungleleaves", { + description = "Jungle Tree Leaves", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_jungleleaves.png"}, + special_tiles = {"default_jungleleaves_simple.png"}, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {'default:junglesapling'}, rarity = 20}, + {items = {'default:jungleleaves'}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:junglesapling", { + description = "Jungle Tree Sapling", + drawtype = "plantlike", + tiles = {"default_junglesapling.png"}, + inventory_image = "default_junglesapling.png", + wield_image = "default_junglesapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:junglesapling", + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + {x = -2, y = 1, z = -2}, + {x = 2, y = 15, z = 2}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + +minetest.register_node("default:emergent_jungle_sapling", { + description = "Emergent Jungle Tree Sapling", + drawtype = "plantlike", + tiles = {"default_emergent_jungle_sapling.png"}, + inventory_image = "default_emergent_jungle_sapling.png", + wield_image = "default_emergent_jungle_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:emergent_jungle_sapling", + -- minp, maxp to be checked, relative to sapling pos + {x = -3, y = -5, z = -3}, + {x = 3, y = 31, z = 3}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + + +minetest.register_node("default:pine_tree", { + description = "Pine Tree", + tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png", + "default_pine_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:pine_wood", { + description = "Pine Wood Planks", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_pine_wood.png"}, + is_ground_content = false, + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:pine_needles",{ + description = "Pine Needles", + drawtype = "allfaces_optional", + tiles = {"default_pine_needles.png"}, + waving = 1, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:pine_sapling"}, rarity = 20}, + {items = {"default:pine_needles"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:pine_sapling", { + description = "Pine Tree Sapling", + drawtype = "plantlike", + tiles = {"default_pine_sapling.png"}, + inventory_image = "default_pine_sapling.png", + wield_image = "default_pine_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 3, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:pine_sapling", + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + {x = -2, y = 1, z = -2}, + {x = 2, y = 14, z = 2}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + + +minetest.register_node("default:acacia_tree", { + description = "Acacia Tree", + tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png", + "default_acacia_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:acacia_wood", { + description = "Acacia Wood Planks", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_acacia_wood.png"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:acacia_leaves", { + description = "Acacia Tree Leaves", + drawtype = "allfaces_optional", + tiles = {"default_acacia_leaves.png"}, + special_tiles = {"default_acacia_leaves_simple.png"}, + waving = 1, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:acacia_sapling"}, rarity = 20}, + {items = {"default:acacia_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:acacia_sapling", { + description = "Acacia Tree Sapling", + drawtype = "plantlike", + tiles = {"default_acacia_sapling.png"}, + inventory_image = "default_acacia_sapling.png", + wield_image = "default_acacia_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:acacia_sapling", + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + {x = -4, y = 1, z = -4}, + {x = 4, y = 7, z = 4}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + +minetest.register_node("default:aspen_tree", { + description = "Aspen Tree", + tiles = {"default_aspen_tree_top.png", "default_aspen_tree_top.png", + "default_aspen_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:aspen_wood", { + description = "Aspen Wood Planks", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_aspen_wood.png"}, + is_ground_content = false, + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:aspen_leaves", { + description = "Aspen Tree Leaves", + drawtype = "allfaces_optional", + tiles = {"default_aspen_leaves.png"}, + waving = 1, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:aspen_sapling"}, rarity = 20}, + {items = {"default:aspen_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:aspen_sapling", { + description = "Aspen Tree Sapling", + drawtype = "plantlike", + tiles = {"default_aspen_sapling.png"}, + inventory_image = "default_aspen_sapling.png", + wield_image = "default_aspen_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, 0.5, 3 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 3, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:aspen_sapling", + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + {x = -2, y = 1, z = -2}, + {x = 2, y = 12, z = 2}, + -- maximum interval of interior volume check + 4) + + return itemstack + end, +}) + +-- +-- Ores +-- + +minetest.register_node("default:stone_with_coal", { + description = "Coal Ore", + tiles = {"default_stone.png^default_mineral_coal.png"}, + groups = {cracky = 3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:coalblock", { + description = "Coal Block", + tiles = {"default_coal_block.png"}, + is_ground_content = false, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("default:stone_with_iron", { + description = "Iron Ore", + tiles = {"default_stone.png^default_mineral_iron.png"}, + groups = {cracky = 2}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:steelblock", { + description = "Steel Block", + tiles = {"default_steel_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), +}) + + +minetest.register_node("default:stone_with_copper", { + description = "Copper Ore", + tiles = {"default_stone.png^default_mineral_copper.png"}, + groups = {cracky = 2}, + drop = 'default:copper_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:copperblock", { + description = "Copper Block", + tiles = {"default_copper_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), +}) + + +minetest.register_node("default:stone_with_tin", { + description = "Tin Ore", + tiles = {"default_stone.png^default_mineral_tin.png"}, + groups = {cracky = 2}, + drop = "default:tin_lump", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:tinblock", { + description = "Tin Block", + tiles = {"default_tin_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), +}) + + +minetest.register_node("default:bronzeblock", { + description = "Bronze Block", + tiles = {"default_bronze_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), +}) + + +minetest.register_node("default:stone_with_mese", { + description = "Mese Ore", + tiles = {"default_stone.png^default_mineral_mese.png"}, + groups = {cracky = 1}, + drop = "default:mese_crystal", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mese", { + description = "Mese Block", + tiles = {"default_mese_block.png"}, + paramtype = "light", + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_stone_defaults(), + light_source = 3, +}) + + +minetest.register_node("default:stone_with_gold", { + description = "Gold Ore", + tiles = {"default_stone.png^default_mineral_gold.png"}, + groups = {cracky = 2}, + drop = "default:gold_lump", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:goldblock", { + description = "Gold Block", + tiles = {"default_gold_block.png"}, + is_ground_content = false, + groups = {cracky = 1}, + sounds = default.node_sound_metal_defaults(), +}) + + +minetest.register_node("default:stone_with_diamond", { + description = "Diamond Ore", + tiles = {"default_stone.png^default_mineral_diamond.png"}, + groups = {cracky = 1}, + drop = "default:diamond", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:diamondblock", { + description = "Diamond Block", + tiles = {"default_diamond_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +-- +-- Plantlife (non-cubic) +-- + +minetest.register_node("default:cactus", { + description = "Cactus", + tiles = {"default_cactus_top.png", "default_cactus_top.png", + "default_cactus_side.png"}, + paramtype2 = "facedir", + groups = {choppy = 3}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node, +}) + +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, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, + }, + groups = {snappy = 3, flammable = 2}, + sounds = default.node_sound_leaves_defaults(), + + after_dig_node = function(pos, node, metadata, digger) + default.dig_up(pos, node, digger) + end, +}) + +minetest.register_node("default:dry_shrub", { + description = "Dry Shrub", + drawtype = "plantlike", + waving = 1, + tiles = {"default_dry_shrub.png"}, + inventory_image = "default_dry_shrub.png", + wield_image = "default_dry_shrub.png", + paramtype = "light", + paramtype2 = "meshoptions", + place_param2 = 4, + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, + }, +}) + +minetest.register_node("default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + waving = 1, + visual_scale = 1.69, + tiles = {"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, + }, +}) + + +minetest.register_node("default:grass_1", { + description = "Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_grass_1.png"}, + -- Use texture of a taller grass stage in inventory + inventory_image = "default_grass_3.png", + wield_image = "default_grass_3.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random grass node + local stack = ItemStack("default:grass_" .. math.random(1,5)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:grass_1 " .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 5 do + minetest.register_node("default:grass_" .. i, { + description = "Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_grass_" .. i .. ".png"}, + inventory_image = "default_grass_" .. i .. ".png", + wield_image = "default_grass_" .. i .. ".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "default:grass_1", + groups = {snappy = 3, flora = 1, attached_node = 1, + not_in_creative_inventory = 1, grass = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16}, + }, + }) +end + + +minetest.register_node("default:dry_grass_1", { + description = "Dry Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_dry_grass_1.png"}, + inventory_image = "default_dry_grass_3.png", + wield_image = "default_dry_grass_3.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, + attached_node = 1, dry_grass = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random dry grass node + local stack = ItemStack("default:dry_grass_" .. math.random(1, 5)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:dry_grass_1 " .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 5 do + minetest.register_node("default:dry_grass_" .. i, { + description = "Dry Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_dry_grass_" .. i .. ".png"}, + inventory_image = "default_dry_grass_" .. i .. ".png", + wield_image = "default_dry_grass_" .. i .. ".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, + not_in_creative_inventory=1, dry_grass = 1}, + drop = "default:dry_grass_1", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -1 / 16, 6 / 16}, + }, + }) +end + + +minetest.register_node("default:fern_1", { + description = "Fern", + drawtype = "plantlike", + waving = 1, + tiles = {"default_fern_1.png"}, + inventory_image = "default_fern_1.png", + wield_image = "default_fern_1.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random fern node + local stack = ItemStack("default:fern_" .. math.random(1, 3)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:fern_1 " .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 3 do + minetest.register_node("default:fern_" .. i, { + description = "Fern", + drawtype = "plantlike", + waving = 1, + visual_scale = 2, + tiles = {"default_fern_" .. i .. ".png"}, + inventory_image = "default_fern_" .. i .. ".png", + wield_image = "default_fern_" .. i .. ".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, + not_in_creative_inventory=1}, + drop = "default:fern_1", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + }) +end + + +minetest.register_node("default:marram_grass_1", { + description = "Marram Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_marram_grass_1.png"}, + inventory_image = "default_marram_grass_1.png", + wield_image = "default_marram_grass_1.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random marram grass node + local stack = ItemStack("default:marram_grass_" .. math.random(1, 3)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:marram_grass_1 " .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 3 do + minetest.register_node("default:marram_grass_" .. i, { + description = "Marram Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_marram_grass_" .. i .. ".png"}, + inventory_image = "default_marram_grass_" .. i .. ".png", + wield_image = "default_marram_grass_" .. i .. ".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1, + not_in_creative_inventory=1}, + drop = "default:marram_grass_1", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + }) +end + + +minetest.register_node("default:bush_stem", { + description = "Bush Stem", + drawtype = "plantlike", + visual_scale = 1.41, + tiles = {"default_bush_stem.png"}, + inventory_image = "default_bush_stem.png", + wield_image = "default_bush_stem.png", + paramtype = "light", + sunlight_propagates = true, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + selection_box = { + type = "fixed", + fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16}, + }, +}) + +minetest.register_node("default:bush_leaves", { + description = "Bush Leaves", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_leaves_simple.png"}, + paramtype = "light", + groups = {snappy = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:bush_sapling"}, rarity = 5}, + {items = {"default:bush_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:bush_sapling", { + description = "Bush Sapling", + drawtype = "plantlike", + tiles = {"default_bush_sapling.png"}, + inventory_image = "default_bush_sapling.png", + wield_image = "default_bush_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:bush_sapling", + -- minp, maxp to be checked, relative to sapling pos + {x = -1, y = 0, z = -1}, + {x = 1, y = 1, z = 1}, + -- maximum interval of interior volume check + 2) + + return itemstack + end, +}) + +minetest.register_node("default:blueberry_bush_leaves_with_berries", { + description = "Blueberry Bush Leaves with Berries", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_blueberry_bush_leaves.png^default_blueberry_overlay.png"}, + paramtype = "light", + groups = {snappy = 3, flammable = 2, leaves = 1, dig_immediate = 3}, + drop = "default:blueberries", + sounds = default.node_sound_leaves_defaults(), + node_dig_prediction = "default:blueberry_bush_leaves", + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + minetest.set_node(pos, {name = "default:blueberry_bush_leaves"}) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, +}) + +minetest.register_node("default:blueberry_bush_leaves", { + description = "Blueberry Bush Leaves", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_blueberry_bush_leaves.png"}, + paramtype = "light", + groups = {snappy = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:blueberry_bush_sapling"}, rarity = 5}, + {items = {"default:blueberry_bush_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + on_timer = function(pos, elapsed) + if minetest.get_node_light(pos) < 11 then + minetest.get_node_timer(pos):start(200) + else + minetest.set_node(pos, {name = "default:blueberry_bush_leaves_with_berries"}) + end + end, + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:blueberry_bush_sapling", { + description = "Blueberry Bush Sapling", + drawtype = "plantlike", + tiles = {"default_blueberry_bush_sapling.png"}, + inventory_image = "default_blueberry_bush_sapling.png", + wield_image = "default_blueberry_bush_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:blueberry_bush_sapling", + -- minp, maxp to be checked, relative to sapling pos + {x = -1, y = 0, z = -1}, + {x = 1, y = 1, z = 1}, + -- maximum interval of interior volume check + 2) + + return itemstack + end, +}) + +minetest.register_node("default:acacia_bush_stem", { + description = "Acacia Bush Stem", + drawtype = "plantlike", + visual_scale = 1.41, + tiles = {"default_acacia_bush_stem.png"}, + inventory_image = "default_acacia_bush_stem.png", + wield_image = "default_acacia_bush_stem.png", + paramtype = "light", + sunlight_propagates = true, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + selection_box = { + type = "fixed", + fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16}, + }, +}) + +minetest.register_node("default:acacia_bush_leaves", { + description = "Acacia Bush Leaves", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_acacia_leaves_simple.png"}, + paramtype = "light", + groups = {snappy = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:acacia_bush_sapling"}, rarity = 5}, + {items = {"default:acacia_bush_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:acacia_bush_sapling", { + description = "Acacia Bush Sapling", + drawtype = "plantlike", + tiles = {"default_acacia_bush_sapling.png"}, + inventory_image = "default_acacia_bush_sapling.png", + wield_image = "default_acacia_bush_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, 2 / 16, 3 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:acacia_bush_sapling", + -- minp, maxp to be checked, relative to sapling pos + {x = -1, y = 0, z = -1}, + {x = 1, y = 1, z = 1}, + -- maximum interval of interior volume check + 2) + + return itemstack + end, +}) + +minetest.register_node("default:pine_bush_stem", { + description = "Pine Bush Stem", + drawtype = "plantlike", + visual_scale = 1.41, + tiles = {"default_pine_bush_stem.png"}, + inventory_image = "default_pine_bush_stem.png", + wield_image = "default_pine_bush_stem.png", + paramtype = "light", + sunlight_propagates = true, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + selection_box = { + type = "fixed", + fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16}, + }, +}) + +minetest.register_node("default:pine_bush_needles", { + description = "Pine Bush Needles", + drawtype = "allfaces_optional", + waving = 1, + tiles = {"default_pine_needles.png"}, + paramtype = "light", + groups = {snappy = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:pine_bush_sapling"}, rarity = 5}, + {items = {"default:pine_bush_needles"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:pine_bush_sapling", { + description = "Pine Bush Sapling", + drawtype = "plantlike", + tiles = {"default_pine_bush_sapling.png"}, + inventory_image = "default_pine_bush_sapling.png", + wield_image = "default_pine_bush_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + on_timer = default.grow_sapling, + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:pine_bush_sapling", + -- minp, maxp to be checked, relative to sapling pos + {x = -1, y = 0, z = -1}, + {x = 1, y = 1, z = 1}, + -- maximum interval of interior volume check + 2) + + return itemstack + end, +}) + +minetest.register_node("default:sand_with_kelp", { + description = "Kelp", + drawtype = "plantlike_rooted", + waving = 1, + tiles = {"default_sand.png"}, + special_tiles = {{name = "default_kelp.png", tileable_vertical = true}}, + inventory_image = "default_kelp.png", + paramtype = "light", + paramtype2 = "leveled", + groups = {snappy = 3}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + {-2/16, 0.5, -2/16, 2/16, 3.5, 2/16}, + }, + }, + node_dig_prediction = "default:sand", + node_placement_prediction = "", + + on_place = function(itemstack, placer, pointed_thing) + -- Call on_rightclick if the pointed node defines it + if pointed_thing.type == "node" and placer and + not placer:get_player_control().sneak then + local node_ptu = minetest.get_node(pointed_thing.under) + local def_ptu = minetest.registered_nodes[node_ptu.name] + if def_ptu and def_ptu.on_rightclick then + return def_ptu.on_rightclick(pointed_thing.under, node_ptu, placer, + itemstack, pointed_thing) + end + end + + local pos = pointed_thing.under + if minetest.get_node(pos).name ~= "default:sand" then + return itemstack + end + + local height = math.random(4, 6) + local pos_top = {x = pos.x, y = pos.y + height, z = pos.z} + local node_top = minetest.get_node(pos_top) + local def_top = minetest.registered_nodes[node_top.name] + local player_name = placer:get_player_name() + + if def_top and def_top.liquidtype == "source" and + minetest.get_item_group(node_top.name, "water") > 0 then + if not minetest.is_protected(pos, player_name) and + not minetest.is_protected(pos_top, player_name) then + minetest.set_node(pos, {name = "default:sand_with_kelp", + param2 = height * 16}) + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + else + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos, player_name) + end + end + + return itemstack + end, + + after_destruct = function(pos, oldnode) + minetest.set_node(pos, {name = "default:sand"}) + end +}) + + +-- +-- Corals +-- + +minetest.register_node("default:coral_green", { + description = "Green Coral", + drawtype = "plantlike_rooted", + waving = 1, + paramtype = "light", + tiles = {"default_coral_skeleton.png"}, + special_tiles = {{name = "default_coral_green.png", tileable_vertical = true}}, + inventory_image = "default_coral_green.png", + groups = {snappy = 3}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, + }, + }, + node_dig_prediction = "default:coral_skeleton", + node_placement_prediction = "", + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" or not placer then + return itemstack + end + + local player_name = placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + + if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or + minetest.get_node(pos_above).name ~= "default:water_source" then + return itemstack + end + + if minetest.is_protected(pos_under, player_name) or + minetest.is_protected(pos_above, player_name) then + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos_under, player_name) + return itemstack + end + + minetest.set_node(pos_under, {name = "default:coral_green"}) + if not (creative and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + + return itemstack + end, + after_destruct = function(pos, oldnode) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_pink", { + description = "Pink Coral", + drawtype = "plantlike_rooted", + waving = 1, + paramtype = "light", + tiles = {"default_coral_skeleton.png"}, + special_tiles = {{name = "default_coral_pink.png", tileable_vertical = true}}, + inventory_image = "default_coral_pink.png", + groups = {snappy = 3}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, + }, + }, + node_dig_prediction = "default:coral_skeleton", + node_placement_prediction = "", + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" or not placer then + return itemstack + end + + local player_name = placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + + if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or + minetest.get_node(pos_above).name ~= "default:water_source" then + return itemstack + end + + if minetest.is_protected(pos_under, player_name) or + minetest.is_protected(pos_above, player_name) then + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos_under, player_name) + return itemstack + end + + minetest.set_node(pos_under, {name = "default:coral_pink"}) + if not (creative and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + + return itemstack + end, + after_destruct = function(pos, oldnode) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_cyan", { + description = "Cyan Coral", + drawtype = "plantlike_rooted", + waving = 1, + paramtype = "light", + tiles = {"default_coral_skeleton.png"}, + special_tiles = {{name = "default_coral_cyan.png", tileable_vertical = true}}, + inventory_image = "default_coral_cyan.png", + groups = {snappy = 3}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, + }, + }, + node_dig_prediction = "default:coral_skeleton", + node_placement_prediction = "", + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" or not placer then + return itemstack + end + + local player_name = placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + + if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or + minetest.get_node(pos_above).name ~= "default:water_source" then + return itemstack + end + + if minetest.is_protected(pos_under, player_name) or + minetest.is_protected(pos_above, player_name) then + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos_under, player_name) + return itemstack + end + + minetest.set_node(pos_under, {name = "default:coral_cyan"}) + if not (creative and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + + return itemstack + end, + after_destruct = function(pos, oldnode) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_brown", { + description = "Brown Coral", + tiles = {"default_coral_brown.png"}, + groups = {cracky = 3}, + drop = "default:coral_skeleton", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:coral_orange", { + description = "Orange Coral", + tiles = {"default_coral_orange.png"}, + groups = {cracky = 3}, + drop = "default:coral_skeleton", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:coral_skeleton", { + description = "Coral Skeleton", + tiles = {"default_coral_skeleton.png"}, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +-- +-- Liquids +-- + +minetest.register_node("default:water_source", { + description = "Water Source", + drawtype = "liquid", + tiles = { + { + name = "default_water_source_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + { + name = "default_water_source_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + }, + alpha = 160, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 30, g = 60, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +minetest.register_node("default:water_flowing", { + description = "Flowing Water", + drawtype = "flowingliquid", + tiles = {"default_water.png"}, + special_tiles = { + { + name = "default_water_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "default_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + }, + alpha = 160, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 30, g = 60, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, + not_in_creative_inventory = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + + +minetest.register_node("default:river_water_source", { + description = "River Water Source", + drawtype = "liquid", + tiles = { + { + name = "default_river_water_source_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + { + name = "default_river_water_source_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + }, + alpha = 160, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:river_water_flowing", + liquid_alternative_source = "default:river_water_source", + liquid_viscosity = 1, + -- Not renewable to avoid horizontal spread of water sources in sloping + -- rivers that can cause water to overflow riverbanks and cause floods. + -- River water source is instead made renewable by the 'force renew' + -- option used in the 'bucket' mod by the river water bucket. + liquid_renewable = false, + liquid_range = 2, + post_effect_color = {a = 103, r = 30, g = 76, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +minetest.register_node("default:river_water_flowing", { + description = "Flowing River Water", + drawtype = "flowingliquid", + tiles = {"default_river_water.png"}, + special_tiles = { + { + name = "default_river_water_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "default_river_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + }, + alpha = 160, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:river_water_flowing", + liquid_alternative_source = "default:river_water_source", + liquid_viscosity = 1, + liquid_renewable = false, + liquid_range = 2, + post_effect_color = {a = 103, r = 30, g = 76, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, + not_in_creative_inventory = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + + +minetest.register_node("default:lava_source", { + description = "Lava Source", + drawtype = "liquid", + tiles = { + { + name = "default_lava_source_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + { + name = "default_lava_source_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + paramtype = "light", + light_source = default.LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = 7, + liquid_renewable = false, + damage_per_second = 4 * 2, + post_effect_color = {a = 191, r = 255, g = 64, b = 0}, + groups = {lava = 3, liquid = 2, igniter = 1}, +}) + +minetest.register_node("default:lava_flowing", { + description = "Flowing Lava", + drawtype = "flowingliquid", + tiles = {"default_lava.png"}, + special_tiles = { + { + name = "default_lava_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + { + name = "default_lava_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + }, + paramtype = "light", + paramtype2 = "flowingliquid", + light_source = default.LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = 7, + liquid_renewable = false, + damage_per_second = 4 * 2, + post_effect_color = {a = 191, r = 255, g = 64, b = 0}, + groups = {lava = 3, liquid = 2, igniter = 1, + not_in_creative_inventory = 1}, +}) + +-- +-- Tools / "Advanced" crafting / Non-"natural" +-- + +local bookshelf_formspec = + "size[8,7;]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[context;books;0,0.3;8,2;]" .. + "list[current_player;main;0,2.85;8,1;]" .. + "list[current_player;main;0,4.08;8,3;8]" .. + "listring[context;books]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0,2.85) + +local function update_bookshelf(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local invlist = inv:get_list("books") + + local formspec = bookshelf_formspec + -- Inventory slots overlay + local bx, by = 0, 0.3 + local n_written, n_empty = 0, 0 + for i = 1, 16 do + if i == 9 then + bx = 0 + by = by + 1 + end + local stack = invlist[i] + if stack:is_empty() then + formspec = formspec .. + "image[" .. bx .. "," .. by .. ";1,1;default_bookshelf_slot.png]" + else + local metatable = stack:get_meta():to_table() or {} + if metatable.fields and metatable.fields.text then + n_written = n_written + stack:get_count() + else + n_empty = n_empty + stack:get_count() + end + end + bx = bx + 1 + end + meta:set_string("formspec", formspec) + if n_written + n_empty == 0 then + meta:set_string("infotext", "Empty Bookshelf") + else + meta:set_string("infotext", "Bookshelf (" .. n_written .. + " written, " .. n_empty .. " empty books)") + end +end + +minetest.register_node("default:bookshelf", { + description = "Bookshelf", + tiles = {"default_wood.png", "default_wood.png", "default_wood.png", + "default_wood.png", "default_bookshelf.png", "default_bookshelf.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults(), + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("books", 8 * 2) + update_bookshelf(pos) + end, + can_dig = function(pos,player) + local inv = minetest.get_meta(pos):get_inventory() + return inv:is_empty("books") + end, + allow_metadata_inventory_put = function(pos, listname, index, stack) + if minetest.get_item_group(stack:get_name(), "book") ~= 0 then + return stack:get_count() + end + return 0 + 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 bookshelf at " .. minetest.pos_to_string(pos)) + update_bookshelf(pos) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " puts stuff to bookshelf at " .. minetest.pos_to_string(pos)) + update_bookshelf(pos) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " takes stuff from bookshelf at " .. minetest.pos_to_string(pos)) + update_bookshelf(pos) + end, + on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "books", drops) + drops[#drops+1] = "default:bookshelf" + minetest.remove_node(pos) + return drops + end, +}) + +local function register_sign(material, desc, def) + minetest.register_node("default:sign_wall_" .. material, { + description = desc .. " Sign", + drawtype = "nodebox", + tiles = {"default_sign_wall_" .. material .. ".png"}, + inventory_image = "default_sign_" .. material .. ".png", + wield_image = "default_sign_" .. material .. ".png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + is_ground_content = false, + walkable = false, + node_box = { + type = "wallmounted", + wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, + wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, + wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375}, + }, + groups = def.groups, + legacy_wallmounted = true, + sounds = def.sounds, + + on_construct = function(pos) + --local n = minetest.get_node(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local player_name = sender:get_player_name() + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) + return + end + local meta = minetest.get_meta(pos) + if not fields.text then return end + minetest.log("action", (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, + }) +end + +register_sign("wood", "Wooden", { + sounds = default.node_sound_wood_defaults(), + groups = {choppy = 2, attached_node = 1, flammable = 2, oddly_breakable_by_hand = 3} +}) + +register_sign("steel", "Steel", { + sounds = default.node_sound_metal_defaults(), + groups = {cracky = 2, attached_node = 1} +}) + +minetest.register_node("default:ladder_wood", { + description = "Wooden Ladder", + drawtype = "signlike", + tiles = {"default_ladder_wood.png"}, + inventory_image = "default_ladder_wood.png", + wield_image = "default_ladder_wood.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:ladder_steel", { + description = "Steel Ladder", + drawtype = "signlike", + tiles = {"default_ladder_steel.png"}, + inventory_image = "default_ladder_steel.png", + wield_image = "default_ladder_steel.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {cracky = 2}, + sounds = default.node_sound_metal_defaults(), +}) + +default.register_fence("default:fence_wood", { + description = "Apple Wood Fence", + texture = "default_fence_wood.png", + inventory_image = "default_fence_overlay.png^default_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_acacia_wood", { + description = "Acacia Wood Fence", + texture = "default_fence_acacia_wood.png", + inventory_image = "default_fence_overlay.png^default_acacia_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_acacia_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_junglewood", { + description = "Jungle Wood Fence", + texture = "default_fence_junglewood.png", + inventory_image = "default_fence_overlay.png^default_junglewood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_junglewood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_pine_wood", { + description = "Pine Wood Fence", + texture = "default_fence_pine_wood.png", + inventory_image = "default_fence_overlay.png^default_pine_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_pine_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + material = "default:pine_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_aspen_wood", { + description = "Aspen Wood Fence", + texture = "default_fence_aspen_wood.png", + inventory_image = "default_fence_overlay.png^default_aspen_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_aspen_wood.png^" .. + "default_fence_overlay.png^[makealpha:255,126,126", + material = "default:aspen_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence_rail("default:fence_rail_wood", { + description = "Apple Wood Fence Rail", + texture = "default_fence_rail_wood.png", + inventory_image = "default_fence_rail_overlay.png^default_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^default_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence_rail("default:fence_rail_acacia_wood", { + description = "Acacia Wood Fence Rail", + texture = "default_fence_rail_acacia_wood.png", + inventory_image = "default_fence_rail_overlay.png^default_acacia_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^default_acacia_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence_rail("default:fence_rail_junglewood", { + description = "Jungle Wood Fence Rail", + texture = "default_fence_rail_junglewood.png", + inventory_image = "default_fence_rail_overlay.png^default_junglewood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^default_junglewood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence_rail("default:fence_rail_pine_wood", { + description = "Pine Wood Fence Rail", + texture = "default_fence_rail_pine_wood.png", + inventory_image = "default_fence_rail_overlay.png^default_pine_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^default_pine_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + material = "default:pine_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence_rail("default:fence_rail_aspen_wood", { + description = "Aspen Wood Fence Rail", + texture = "default_fence_rail_aspen_wood.png", + inventory_image = "default_fence_rail_overlay.png^default_aspen_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^default_aspen_wood.png^" .. + "default_fence_rail_overlay.png^[makealpha:255,126,126", + material = "default:aspen_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) +minetest.register_alias("default:glass", "default:glass_white") +for i = 1, #dye.dyes do + local c = dye.dyes[i][1] + if c == "dark_grey" then + c = "darkgrey" + elseif c == "dark_green" then + c = "darkgreen" + end + minetest.register_node("default:glass_" .. c, { + description = dye.dyes[i][2] .. " Glass", + drawtype = "glasslike_framed_optional", + tiles = {"default_glass.png^[colorize:" .. c, "default_glass_detail.png^[colorize:" .. c}, + paramtype = "light", + paramtype2 = "glasslikeliquidlevel", + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, glass = 1, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), + }) + minetest.register_craft({ + type = "shapeless", + output = "default:glass_" .. c, + recipe = {"group:glass", "dye:" .. dye.dyes[i][1]}, + }) +end + +minetest.register_node("default:obsidian_glass", { + description = "Obsidian Glass", + drawtype = "glasslike_framed_optional", + tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, + paramtype = "light", + paramtype2 = "glasslikeliquidlevel", + is_ground_content = false, + sunlight_propagates = true, + sounds = default.node_sound_glass_defaults(), + groups = {cracky = 3}, +}) + + +minetest.register_node("default:brick", { + description = "Brick Block", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_brick.png"}, + is_ground_content = false, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("default:meselamp", { + description = "Mese Lamp", + drawtype = "glasslike", + tiles = {"default_meselamp.png"}, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), + light_source = default.LIGHT_MAX, +}) + +minetest.register_node("default:mese_post_light", { + description = "Mese Post Light", + tiles = {"default_mese_post_light_top.png", "default_mese_post_light_top.png", + "default_mese_post_light_side_dark.png", "default_mese_post_light_side_dark.png", + "default_mese_post_light_side.png", "default_mese_post_light_side.png"}, + wield_image = "default_mese_post_light_side.png", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, + }, + }, + paramtype = "light", + light_source = default.LIGHT_MAX, + sunlight_propagates = true, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), +}) + +-- +-- Misc +-- + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles = {"default_cloud.png"}, + is_ground_content = false, + sounds = default.node_sound_defaults(), + groups = {not_in_creative_inventory = 1}, +}) + +-- +-- register trees for leafdecay +-- + +if minetest.get_mapgen_setting("mg_name") == "v6" then + default.register_leafdecay({ + trunks = {"default:tree"}, + leaves = {"default:apple", "default:leaves"}, + radius = 2, + }) + + default.register_leafdecay({ + trunks = {"default:jungletree"}, + leaves = {"default:jungleleaves"}, + radius = 3, + }) + + default.register_leafdecay({ + trunks = {"default:pine_tree"}, + leaves = {"default:pine_needles"}, + radius = 3, + }) +else + default.register_leafdecay({ + trunks = {"default:tree"}, + leaves = {"default:apple", "default:leaves"}, + radius = 3, + }) + + default.register_leafdecay({ + trunks = {"default:jungletree"}, + leaves = {"default:jungleleaves"}, + radius = 2, + }) + + default.register_leafdecay({ + trunks = {"default:pine_tree"}, + leaves = {"default:pine_needles"}, + radius = 2, + }) +end + +default.register_leafdecay({ + trunks = {"default:acacia_tree"}, + leaves = {"default:acacia_leaves"}, + radius = 2, +}) + +default.register_leafdecay({ + trunks = {"default:aspen_tree"}, + leaves = {"default:aspen_leaves"}, + radius = 3, +}) + +default.register_leafdecay({ + trunks = {"default:bush_stem"}, + leaves = {"default:bush_leaves"}, + radius = 1, +}) + +default.register_leafdecay({ + trunks = {"default:acacia_bush_stem"}, + leaves = {"default:acacia_bush_leaves"}, + radius = 1, +}) + +default.register_leafdecay({ + trunks = {"default:pine_bush_stem"}, + leaves = {"default:pine_bush_needles"}, + radius = 1, +}) diff --git a/mods/default/schematics/acacia_bush.mts b/mods/default/schematics/acacia_bush.mts new file mode 100644 index 0000000000000000000000000000000000000000..3322e3b37e47c716b6cf9b4b57ba4fbe74ef26cf GIT binary patch literal 114 zcmeYb3HD`RVPFQq`uchhm6%z?AeEAumROooVwISjn4FmypHy0$5ucNqSe9DMAc0M; vxFj{VVoq`b1GAe7hj8K{0mrap`F#0!dH$3m|NGakU+*qaiOHFX@g+s6sTFgQ6B-zQ|N2!`EhoUh JAh3YR0sxNm5VQaQ literal 0 HcmV?d00001 diff --git a/mods/default/schematics/acacia_tree.mts b/mods/default/schematics/acacia_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..9b23498199e4fc4fb6d03d9cc9cad20394f5bff4 GIT binary patch literal 207 zcmeYb3HD`RVc-P8`g(hN`+6W?U}j)W%q(IMO-W5lEX^sgN=!~n&Pz)2io9CUG5x`n} zME$L>);F{C_I)ew^0t5R;}^NCm^`UaWBDxog{SL0izwRAy-iuuFbEl1j4oc-4!bTiXcDrRp!eBsJFHz)SzybdpTYA1O%g!fLr@O(dKVY8`*%|2BXr|k=q6n7q4eNtRV w|EIq6!rCn?^Ep}Bd3SQIy(sv8k^1lCEGw}{*NheVI`{9Vd=d;hq^mO@05>^M-v9sr literal 0 HcmV?d00001 diff --git a/mods/default/schematics/apple_log.mts b/mods/default/schematics/apple_log.mts new file mode 100644 index 0000000000000000000000000000000000000000..92fb900ae3fee7ef2619457273d932dbed84e3ec GIT binary patch literal 88 zcmeYb3HD`R0YWAQ#`<~&W(J;=)U?FXoD!>&qSRCd=ETe*2C=l9{PNVIVyoQJ;*6sF q{M`7YqWto_iaE&%4NPuqY6@vv)~{cmJ|R8f0VC4{0|x0EOo9Mg`W!R> literal 0 HcmV?d00001 diff --git a/mods/default/schematics/apple_tree.mts b/mods/default/schematics/apple_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..d56cd54b8efb295ccb5ab11b99cc914c8627dca1 GIT binary patch literal 209 zcmeYb3HD`RVPI$AU|_GWx332QAfGugvxtE&B{eOvG^fNWCpEDwwU~hy#!oCL$Vp}3 zfpJTUQd2ADyq$QFx50peHIVIPN6!bh<3X(^QI|8W>Srn?70vPQWXsZ8KJUIx@!7;V zkG9-@$|-$(Zv4+9`_7-6u6}x(-)F_^(wTFg8x(xqGX4F!kGub0zh${6ULkvb8zZNI zRO@%$+SzGgMt)Hb^R91hn-bmBU?!9HKASgydCG+kw)5V9`~K(k<|u|ZPwndfaEDza literal 0 HcmV?d00001 diff --git a/mods/default/schematics/apple_tree_from_sapling.mts b/mods/default/schematics/apple_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..232510034d7d858e36a8a9fcfdd96c76d988f07e GIT binary patch literal 208 zcmeYb3HD`RVPI$AU|_GWx332QAfGugvxtE&B{eOvG^fNWCpEDwwU~hy#!oCL$Vp}3 zfpJTUQd2ADyq$QLw?ToYrIGJYM^C|G?bay^oH+LTPdl=>?e+1MLBdN9pZY!bsLtdL ztF@nE!!BsNec~zl%i6lMe2#9}v&q@+Q6Gbq0={jVnm?uD-T$d+e&@>z0)OW;u-@o> yFkLfumif=kaYef?2tKVU(b*8E6LVv;Y)*di%?7Ld%6$*t|Gd6&7o&!g`gH((_g#ko literal 0 HcmV?d00001 diff --git a/mods/default/schematics/aspen_log.mts b/mods/default/schematics/aspen_log.mts new file mode 100644 index 0000000000000000000000000000000000000000..d0c723d71d002232207e0d1e77c99903dd0cd564 GIT binary patch literal 120 zcmeYb3HD`RVPIuoVqmPV2eO1xQqvMkb4sidiwjco;!BEBQyG{OGm99+(sJ_4Q;UkN za!ZRdit_VweQ!3^pCp0j-DWoJNq$O-wzkdDp^n?l1(;qN0Zct&+ ItYoSK0OB_(?f?J) literal 0 HcmV?d00001 diff --git a/mods/default/schematics/aspen_tree.mts b/mods/default/schematics/aspen_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..429a831c775320ace3f86c566380abea4dafb162 GIT binary patch literal 174 zcmeYb3HD`RVPIw8V_>bXx3{kc0(&5=uV-LpU{1^|Vh~A5O-n4zDX~f{E=bLb&q+-z zOD$#)LKQ73N=>bplbo=CE1|{t($N*H3D1;nJFb$@N>G}8lq2QfnbfA+j%y?i>0aSb zf7Q;t^^VK$FG=&`=jZoNcI9EvVtZ6&&^ect_5Vk~um4|5zG`%_EfW)9z8Y{|mxb}^ OLnAH?CI+>4*1Z5>DMP^k literal 0 HcmV?d00001 diff --git a/mods/default/schematics/aspen_tree_from_sapling.mts b/mods/default/schematics/aspen_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..b7ab3ee6b71ff54ed06229486b50a9dd4f918479 GIT binary patch literal 174 zcmeYb3HD`RVPIw8V_>bXx3{kc0(&5=uV-LpU{1^|Vh~A5O-n4zDX~f{E=bLb&q+-z zOD$#)LKQ73N=>bplbo=CE1|{t($N*H3D1;nJFb$@N>G}8lq2QfnbfA+j%y?i>0aSb zf7Q;t^^VK$FG=&`=jZoNcI9EvVtZ6&&^ect^{c`o`#G&%45G~jEk{l@X)WuE=3qK? OI8`Koh2iurGhP5bJ3{dQ literal 0 HcmV?d00001 diff --git a/mods/default/schematics/blueberry_bush.mts b/mods/default/schematics/blueberry_bush.mts new file mode 100644 index 0000000000000000000000000000000000000000..cf4d8ef84af1d3cec7e274013bf59dc56173cf6f GIT binary patch literal 80 zcmeYb3HD`RVPIxpWMHlb5?U##X^EvdC00o}rKw4&MMahINu|XZ@j0o9WvRvS<(VZJ g@gU*M)Z&Uc$q5eZzkdGu`M)tjUXO{vU>S1-0OD*Mv;Y7A literal 0 HcmV?d00001 diff --git a/mods/default/schematics/bush.mts b/mods/default/schematics/bush.mts new file mode 100644 index 0000000000000000000000000000000000000000..d08cf5f5f9a204b3389405db80edae858d871dd7 GIT binary patch literal 99 zcmeYb3HD`RVPFQq`uchhm6%z?Ae@q#mROooVwF@{oDrXsnpl=v%piy&SX`2tTQMg& nfq~ggg+n;;kbq;DaJ+oJd_I55mH+G6H%)XcU}Vr^WN!ihdf6T? literal 0 HcmV?d00001 diff --git a/mods/default/schematics/emergent_jungle_tree.mts b/mods/default/schematics/emergent_jungle_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..b526430950f44afb3c793bf99d9346a49ed4063c GIT binary patch literal 504 zcmeYb3HD`RVPI!aWniyI2KGn*S)75HfjKd=h(RbNH7&6;r^G6&G%r0TwWKIDl|ckm zEGIRwEVZ~|&f9Qqp(6r3OT~+q$Q-;VbN1I1A+M;k+jGB`xvA8K*u5}vV>|z=l-1u%eDO2{rtR3^q z?bd8u^MA>+#ii%I{1V)~r!ScIIiK-m%X8@q_vU+F+xb?iTk2f-YOZ&WbbtQdCbsJ7 zKb?hM$L_a(u3KOuc`edl-O}Idx0zdZWh6}dEqi>PYuR6(%11gsuD@>*+VXqvQMvgG z?bY7)*N9(e$oE+FZTAkb#ZuKZY_C?_{4XeRdEeRABB$6m6-I^&TQB%5b&c4;{w+{X zU`z3xAK9^aoJ(shuIwpj(2LR3F$qo-+{c<3#kpYV6e))&haQ*9<+WN2 zV`-|J^4(W^Hi@Tx(37xLUL10a(|kF@^JQP>O5RWAh`D`?=YQUD*K!RrmAi$9e(LR6 zEYQW+`hYdGp*1>ilJDN>tJhDz%W-i=_=&$-6`yoER=oLs=Zj-~piCsFcIPj9_k@KW0JSIhT=+qF{ZHD`8CHhq?pGDrK(@mVJ~@mKiAtlvHF znuw(R%AYy1#(U=#yZ_#CrQ)r{=9tG7qBlQpJ9J(*Lo0L7y}f!ny0%|=e>v*SwAZVT z=*_H`TVL%~YqVx_LY(&Z`0V_wX%|nd`EGrFuh*MzlAn%5epr2<)imY(ce(1i){k?F zY(B>-FxNYKZGC@qr_9zHpS3;G@BWo{)O@`@gn`TA?GlD#GZwn0tINu$ri+0^{jPTsbdtJ%GqixF~{(lV%L<;yf@zh4%D&E>4-H_y|DbyiaE2b z_Xy20aue^J=cv(J*^u3I&|qTxGKTfFF6aL}J8Uyw+8PRuM~5KGI+FHbEh yw#qFn&M3;y&y7zi$}i8Wn3J5)!0e`w!Zh*Q*RNl{@$fhtVP;D3WY8>Uss#WyYag-z literal 0 HcmV?d00001 diff --git a/mods/default/schematics/jungle_tree.mts b/mods/default/schematics/jungle_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..fe93c8c1897da5abcfe385b9b5bb0574125db65a GIT binary patch literal 255 zcmeYb3HD`RVPIttWMHiagLn{tFd3K`m=iOL7(`N1(-KQ_O02R<^U`xtb5aw_Qi~ac zP(@3MQd2ADyba3bJFLKwyECKzfS|=J_vBLv!V|B`r=6T+8|-lU_~)aKe=zw)evUo! z`82bgoAr#QWG>C%3+vN=rSWXq^x~b|=M&Ewj4Te{H{7&mMdtdqdA`2WeXQr3zbp3r zu3VqKc~9kCufMz#HWd5EbX0U+WUiaJ>B^KDR?C}bNK9P8w`y*-b((2w_iRI{RjGG0 pZe8=SR^GI%s5x}m)LF^bFU!uf literal 0 HcmV?d00001 diff --git a/mods/default/schematics/jungle_tree_from_sapling.mts b/mods/default/schematics/jungle_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..f32d312bed41b5c3c97f19e9f929a1ec1835b529 GIT binary patch literal 247 zcmeYb3HD`RVPIttWMHiagLn{tFd3K`m=iOL7(`N1(-KQ_O02R<^U`xtb5aw_Qi~ac zP(@3MQd2ADyba3bJFLL5HRjCXFB~!tWoxq~^OP?9I;<19DZOh!jZJ*iDe(;_yOigr zPiKv-(w;FX(MvP<()#pYi9VZ*-oKOGc>UP~qZ@bLzSwHBK6CxsEZ^CBGt12Kdy0Lp zEB`;gXwQzkW&hZC-fa^vOS^aU1>?PCex|G!a&rX^B%Qh#ssGW!$JNx>O*!?F!{M}? h;L3wK!5mK4`d*s+&`B;=+kN><|NH~OpC($F006xgZZiM? literal 0 HcmV?d00001 diff --git a/mods/default/schematics/large_cactus.mts b/mods/default/schematics/large_cactus.mts new file mode 100644 index 0000000000000000000000000000000000000000..b71077b3c5a0f397aade8d76cbe2f0a081d80b9f GIT binary patch literal 94 zcmeYb3HD`RVPIuoXJD*{00t%o=ETe*2ELTkw8YY!6079If6A5r>)AI=bS+?H&|_q80ss&cBCr4e literal 0 HcmV?d00001 diff --git a/mods/default/schematics/pine_log.mts b/mods/default/schematics/pine_log.mts new file mode 100644 index 0000000000000000000000000000000000000000..d51a489f07d8540f65c1b45a047b969be781fe3d GIT binary patch literal 93 zcmeYb3HD`RVPIuoVqmPVXJBR!Oi4{kEX^sgD#*-BjV~!mO=VzC%q(IMNz2JEPc168 x$}KIzjW0?~shE?T(7^1bkiso%)He2ywuc`oYZ0l zK@`!FqSVxiId20U`3@*>Fx#EGJhSJlu7}#JotIZ-R!!LE(qK|xzx*H9v`WKWdWEZ> z*G&ni(D=OkRzsHF-b+W5kM8^VWb6OaXHFF_E|bhl2|MR6^~mYz-W826)_jRQR($y3 P%i8)QHyHl;t8fAUJ_b#< literal 0 HcmV?d00001 diff --git a/mods/default/schematics/small_pine_tree_from_sapling.mts b/mods/default/schematics/small_pine_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..dc438a9d11e28503f53f2f17c120f422af4d46a2 GIT binary patch literal 171 zcmeYb3HD`RVPIw8VPLJVx3{;ihX4j<2Ij=fA_kF^)U?FXoD!>o%)He2ywuc`oYZ0l zK@`!FqSVxiId22s@---Mu*Ch5+bcH1a!H%s@2d|b&fR67tigND>iPPFdEx2PRsFus z@fQ-Fe)7vwwF$4Z*Qb1p*qDE>^6h^ni(fKV`Br4AJ^k`!SKw!^AhoK->ZyhIC)n(L M-!Eakqg0_206@k_!2kdN literal 0 HcmV?d00001 diff --git a/mods/default/schematics/snowy_pine_tree_from_sapling.mts b/mods/default/schematics/snowy_pine_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..3d502a3e19867b81302809da506f65e2351bb0cc GIT binary patch literal 235 zcmeYb3HD`RVPIttU|_AUx3{;i2a;e^Uk?;#PRuM~5J^c*ODxSPu`0;SOO4Mi5BPOmoo^$cwjXpMX9M3bKVABpaiAbp^LEljz6J#jS4X=!{_6vd%}7*UJ8xHBla*e&Ps5fCdV!Wn z7jGNsRYa_{zIJcL#o(hg8DFn2nQ|gv^R>>N)}B^Bo$Qdk_vSjzd$_v(z?of)=dXHi kJrQZS|J)Wi^Mds}&jfb%tX1Q5YTqjPXV*$u+r!#w07tY|UjP6A literal 0 HcmV?d00001 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 zcmaia1zc1?*Y{nPmM%$Mngv!_Tw+0`YYAZq=|&o9L_wDnDTx*74wsS^5e22YLlHqi zIwTYkk?(>}eb4v(-uM27VeXunbLO1$KQm`8+;DW%2Z(@wJhGXYY^Tj%M=%q}1&IG` zZ(C=d(+-Go`ROn434omaYJ}W4o%yflbml4L5NnF1yLR$_Jw4FBj1VB**xA$R(hYA% zn47b$(HVP~225NGDTV|KOi16($;R)NgNL7^qk}K}lskmv?_{{5k`V+T2YZlOunydC zf*}CV0f03hoF@5}2D}KLClr{9S3hlah&@WhKk8t$i$!++vx1@QnE`+pzzI>r7c6PG z45A%b1>?PQ(at*3B`~sRy?HdnyYB*a9>sOVt{#JMesXFP5&*P}ygGLT6ZW*SjpB}E z1*?ag-rd|KnckGb&vHX4#k*l)TH>pP$vQHt&kEvY)`aSY70)5+Mlo8*2_w78*Q6Ff zK7;7x%zsoAXL`WEwJ4IZ+0!YKpR$jF7pHoItp2J618|_4fLbDxMm1AkHRr$x-;G^S zJw}OQ1@=o2tfIMi+E-%h5FFqA4UzfKi*_nmA0nn%NSkVq|l$sB! z%jYUs)O?kD@LB`=TD1Rk!l~NX zZ#L7comru<;CND7ChlVHq4=NG z8I=E`xG*VNxL2sQU%XHBv?^~Klv%H8qf??nf+!Z108t!Qzm)A$iB@+ls-H9!DZ*nh z@S?vF1v(XGpP)d>b`~U&souTt5-=+M({bPUhUmFQ{-X@-aOyGegJnbWJ- zvnP>HvxZN5RCHh$bz=`T!l20c7&CO3@OOCM;9&M5*reef z0rNL(=BE7qBXUkdga;kJpq@nh@5sp&ivJ=V&#RHdXObiknBw>-osgEjO30`DugGzV zE=i3piHcs1iWhp6;`}JR^ku$VZ{>Q^|62YPIcnZ~U;!gX#hdRxBBvF}sRTw-ji~nC zUmdTFfClwdIscyy0D#s6D$TQfL=TIYz)DPD5rziW{^y7RsS_yeF%)RnCjbDR3cR3` z!|9^E6BIqJ8IvQI_(<~5qnSRrO*t*|(LsdyOm zyJB;VuhQh;wnq%;0RRr!jcjN29@OZ`RUSlAWZ}EfflHYEF@xPgX2GaN zPa&RFGdin~!R}E7I0+yFf6nC%Con_gnE=3+3QGx(z+(sDO9|Ls z!0_f|uqH^=*M84zXxL!*{=2(jO7Lf2LyMaZ?+*-3SniumMST7d{F(KX^VEbNNVS=C zuzBG(C*+*&?2`YiG+n5)lu+8>URqgUmcLS(U)o#aSXx=$Tl2iE(rq22Rz54O5iKnh zEvqR%DivLCcvjj}(OXlMQCYU$uzjvgbiK*5w6e0SX5*CFRI%RawcaEaR1EJcE?a9N zG&OmwH+l6pxN{biuDucNdso$4v%TJQxz3MU&(LocZ?SL_)Wh8>AlvL9qQ+gerQ)a; zWH9;@J#?G%B{;3tg9GgA+!K+rk&Z8NOb1t5T9Hv&wqD~Q(pJ8%sAm{#@x)?TouSF3FC(7G&R$z_oFjCcebjEdLvhticU~Ce-W!Drn;WR)dRW2j&ZIy z6;9}2F^dO<>$^%6Pr95E%-pX{ru$$jCdaXHAi>W4^+fu;?SE=+>w@TQ5E?oU2 z2^7Bc!88_)AGHNpC1GR18D?%Ti&I=cLOM34e(8gco5YWC)ACapn&1iH^Z4a=BXHNj zK>>Ljg+uP?7IGT43Q^cW4QD#Uj(MOl$>Bb=QfNt<^&h?cOS8)vZX>s!h8+Hh3Uh! zFoJ{-(4rN7AQXx^`b}Lb>Zaw%D7I!}ljY%6;hivi5*8E(szmUn0&Uk}bV|UR zZooijxJmfafw1Z{Rl-zs7`s+-7fsrhOH6?vu3t)b#ef9YftLXAk%SDWf^w)x3bIlN zqwLR=z`;N>#v&t`Y@?COnM&mFj#MzmDP}!QJ-|cuH2;VN3E*odNI)-ho>rMY@&8Ut z{@tSZ|0qEK^DKHJ@U-q^S^+}tKPy1K zg^~<7A>%MolZLaO6Ft?Djs{Hh+ET$4lX8Ve!dD8zLHFb-VbDVSAWGnH5I$f;<4rMX zK3J?Ue^JWm)-i61L4dr;_=_g7E}#?{@}j!&Q&H0j>hPjT(-;I8av1Q{HdZ1M3l8a+ zwk<~%j$*<1WVI^?1IW}BT)Ha)UO#CYTMybF+#x1yVX0gUPnynYB+Z23XJ+xupv+I>iWgIOvAIec=iJ>Z6lc{tGP-P|JVE;dK?y zphcbs_QAP8kO`f&_`w#%-vsUqjNuGmDu)L-|LwywfHKa~J3RIjk)UZ#31?6}Yf*5Y zn(J&Z_usjvxgZEp=;%C-BH3CVi~yN~UeB-i<6f46>~pZ-fy_3?20@ulMf<@02idK#Y$2 zN{Bp!iM1OP6iy5Wa;sX0k>PONtB2r3MDBajYM7+myi^{jF6DJI$1|zK?Xcj>f~xA*8$4E78V-_eHV|;R}XID zT3eagIaH+=HB1HCNnVt?d{utf=mw}N#sMtpSFQLNz8WB(@qSECOX6;-BuJa)?*Si~ z=V~wvhVOW`0M&P&fKS@xgEcCAr9JykN8<+OoqEIsZ5X&%fDN{sS1OLNFitzDnDjK4 zeA!64Nf90;cZiblI=>-uNAizW-=`uaEU*D-2}>r1GYhp29z%yU2g?EpF_!!fGMQP& znc076XlQxeN=0a6iGlv(PoextB9B^^AJ+zE;PAicW24zck}CX;OLYR!-@6CjP~Co6 zmGG2kk-0@^URBuqE)*7OlS52txN4VzEei1UB`4C_EG|F;d^*?O0x;{$Qi{T|jJcbk zoyz(_oF|qY?{9p$V(ykT@LFLmWnXFc+9PNi>JjTvQh!}^@bHDFO|XnNE?NEa?nYMO zRf8F0wXd^gF1QeHUQLbaTkE=Zlv2UAb#<8XzQi%jSab!1Du$kkm={;o%t@+C@NhXF z8!Ywo<4?7rELXq10>7Q>dheS0ILnf(cx%736-$3ciP4vbN|@5|rGzC=%b#!lU?bmB zIGJxPn!NVT+$wN;2x0nuta~DKQp>)FpNa)i7#hPzo)!|Dwg_pod%&^h_w()uZTb8k zdR~5|Ur{fX%al%X2UPEe5)+7;Bfksbyngb{tBvIHC|=Aqee^W%YAquP5nvrhg2ND4k*m(8m6ogr*mX1P?TVN@4FX)G zRO&XzxC)1-#@c}tWG@L|cjn@w&&4rZY`p;J;ryZcs~z|%fB3()iwR2zF{Jy|5UK0+3~qgl!Zv(xBC@|`sCUl>lT9qHaUlO z!~#j=O+)4G6Gja9EPfyLJziM5_fj-W!~0h$_KTYt4eYGVJNuapYFqB?%p;=zI#mdqe_r*w(H;!VKgEUcSM*6pI7vxyZ z_O^Uyf(86wLN3Yzb8mZ}s+#5%H$zp%APsBL{(;x+o~3F-6$2QC^huVsJ(yn35pTsJ z1e0P5TU;@j01)qD<`J55izkLUk(@i;x<=*#YeL+h1x{r7Z8seK?CnZ6iuahGbmp=Z zA|{ywXeB1XSwNI`>414M=FjO0Tp<(z2c1&DebcW%q;#}pQaybHb5`gZPvm)`SP4v# z44ya5M{D{1ZS-R{+JO&Dv1BcO4nBW7d30sF+awi>eCLApotR+)cpyrw0fFO9A_ufk;E!n`!#g*#{d6Y<-^jOX&;Jk^ zT9^O6N>r%8Y%1JkAfrhh37FG9Y?)Z==j&RSy0jViV^G4iJMz8z8q4Dx!_PU5i>sLqvzvN)Af4RS}ZOPt0qy$|lqQ0-c=t!B%_9^gZz z&RyW)b+t$Gw}0Ig9Jr5kFp}4w#yyZpno);2nB3^tw#U(JTrpS3HOk#Uy?*f;?=nZ4 z^ume%7M+f@U$^0+(e|(qqCQk_a7vduli{|0&bQ?!rO+z?uKV|&x%012Ki^I-R_9DX zFr1uze#5}QAVx>8%LcTQgb zh-7SN0GP`=pSt%biSLWvCO&spC*eACls!uXwJVp0vR1kdKl+(HC2g+*@Jv;@+ZR-s zA+6wb-nesa+mnn0fGxD@9>r^j6tR@x8Y83!S4*I~sq^t7XCY!}5neA{QV8 zn7ESPnW0w=R{;PjAf(5eMvRn|>d6`=_){KnXqCmE^F%=Q$hfQL1?9-2@j51;{MC!k zl1gjq%Y%=9cRFP;%e%dgk-M9hG~Klen4J8)Ku-w_ez=zp0NHG@%%ACKjA4nl^A=KE zp$`RflbA^gKf|DAb`UxP8-o1BAt3wp?tFir-0haO{qxsd*BuuuEmPl&>>2W7-P^R+ zI-9gFufM)%^BSokI>Ovmt4|hZW#tg1I(*EQJo}X3IFzh~A*SSc!cR0^03CP>0jwLv zE;feh&9p#sP-q6Z?ep_3^q0B|Zw=P1yz=X%@&9?f_uNxN(*z>bquo+ z502%C0I0ej(T@^+&RiR&y7y+BdjefSR96zsGP-=N%Qx-=RJU=1L)KKP`Fu+PINWl} z!t^IMi|p;|PZc5=QSnz0#4{Lt(=epvE8Fmal?;;mIb zr_SzA=V?X(+&nF!K#Fb7bb}*}-zG5q7t5pNx^}|0NwM%7zetJ$e?(Z%pF6D;U(hva zV}*~b*L3&@?%f;lQ35V%y`!am8u@*)K~i!UY|}9tMK(N%=3O-_9jie1TQax$dX=?W z{P8`tPTI?&nO6^2Nr4~yG4P&egen0+Ya*!9Na_d;n*#3!rX1wzWC1P0vc1 z63GRPdrmz-+Wh`^`iQX&T9?t&ia)#{x+iy;n`72qShyu(P>CY7SEsm{i*j}^8W?~7 zJ60$erQO+WlPLuqwibqGivA(CV_t>+|M=g?3}U;A&KRR z!H?*uc#MvEd>s@RnAjvxD%l5v(eSU;$GM4@l5v? zGs)(KJC5c!5zz((*R`*eW`=EiGQ(Bu-h3wJ>0|(muhONPDy>!Oq~5!mDRpjz2tJV- zR9Jo>k~n*Z1&#GIEvhEpY@umX+DO2EYeh2)<0l1xK*lZ z>JO8^{OkHLf1v%VFG|b-H9V1)BZ?E0Ja8?gmrY0BIOnn~KICVwwc8?wH>o0N3CP|ddQ0k~K)%-3^HukTA($3Yh~6Qv5SF6>n52HgJoUij_I9ajhb zg1aSLVL1=qnbVZ7`jRJPDi?>${y{;%hBV}ymzZ6(UyHU*dHhH-&#>|RntFrhVcgfB z43(uczW2Ye0yD(ppReMxGwHP1A3j7=%S#LYB-4qbdd*f zF*(q_`uka@Q$hkfY7^kE7q)hI1^+dCKIVE$=8Fa2FV#QOirq?vl*Dc5?jIjd3BJCo z!N<`#4%t7Z)P3c3gC%0)zU{ek%OkcRTj6{{@`u1zv(K-#ziKOklYeWvcrztcoyT3@ zj^t-}+a2Kdcc*rb>DABY-v1GmkMLYt_#DKQ?#4ON{FAjK`#?_@!;-SVEVN=s%xAh4!{*=1UagN0% z)O;N1XMRl_UJdPtIb6F!cg~o&$D=9Ji*-twyUw)K?9#K0?X}h?scNs=VQx39qAo?) zk3h$F{Mo5RCeD!`M3WG)C&+{>wp8qqwCldPjd{#09lAOoVY%dyXdM2g&~p^+delI1 zcpCyVe-FaXrgp!<{aQ>0o~2c}u%cQd(h$8==5?;o(HdI2(<+5;Hph*GkKRswX|gvkgs|IdgI&! z#~ag?wbaJ>w8(S$=RXQMhnJF5ZC|w~yw0}O3VGgu5RxV6FN|b;`5|W!NC{-J1v9;h z;3kgqHJ1hI#?@ECG?9?19V5GbL4~jDSL?pCHb)gi9DVpy5rBIoU`oA@ct8rYOQVB) z_fE{x0qPuvyAD#hJzFOS) zdZ6lH&76lCIQuR_jI#XqcM&MqG<(gJD0o>EaT$R|T^13BOQMG_Nl09QgP%%75E7DC zrP2GFa|i@nMC|fsU+x(0Djr~sqyZwp=R&lVE+wK+iy|BqXUUo6w3z4bh?Hgf;tJ#M zP|F{G+JcsIUE|aW!|Rr%NkhV7zx`>-V4(1szr^PeclmMS!Xv$t+Crj~8QE{M<5WQG zR}8=UIDZEDz#2DDyDCq1+ax>O$mVT`1FjFi-vJ8V9BmU0=cDv-TV0Uwoggi5&BqCY zVtJSm5&H9F92)+WQY^JoA|#YeZiMKU zHDwzO_K9xfp6F)kH6@v*lQv5G@q-pF0Qb8b$RTmtL`CCOUoi{eW+1kyNOGMfc1S-< z^k8Ows2_(AE?DD2#h&|fwRw?ppu6dZwjc&Q|?)~!FCXHiQq8kWM8Sw+czecCs5}`|Yd2@(ZviIFp zchi090*RL{8kRrQ)~)n!WZZhOw{qUCeVFzB#|sXm&9k~pRNm@36j|UgoJ_kQ5jM&{ zu$Y=dd1a7m;(ABY#MTi55#T05-3Yz9(`$pPWO<9g>(3HR)y^Clj9(GDxG)^J(`pkQ z6HWZ_+AAeeJfLC!nCEl?7!#{)!!8&`gtfYZ#jUBkZfn`?9itU z=$rGIOPE+c2CsMG4NAPrue&g`%1~DCu-wMXQ*G&}|CR6lUOk$1@)_ zxnC-dNt`tP{QP6_IAVZPJ+`c<$Y_t%E>ny4!zamlqi-v(uZs)UpRbZ!pr>k#k5NBj z(+|rR=f7y_rLh}btQgRAOe~=pOp}%v)?_U4VaP1}R~|%bB*Ff&T-Ye9`9qUu<_`$L zEp{Z)7P{G{yfx*x);Xg@a#r3$mNybbpqJ8l&|# zJC)MpOATC7bv`&+hWgbO?D}XHnO-Ey+`O73F8(5fQreN-Q~9UNY*nmbyQQo@i;FR* zL^@|s;>I-}CU#PT)n2%+iG}eBOegg*1lgj^DDH1ch`(^s5+K z4oK$LXv8;d)zBpwXPqnaq^~n%zIQaec)V%J%+LodP?F=g7e#dNgIR_Eos|J%S9=+4 z$%R#OO@B3#iaS(SYS)X~@%(Vl@jJ=V%=T;f^n_=K$+_bBVDa{EjYqFe=so|CfhQhi zRi{u!*HXTTdwar#3wsUifksc4oQso-IVX-g|7;){0|h1H>cWH{3&i;v@Y~5E<5Pgx z??8YKTb=f5o`E|(7)sQ~g!L=uhvaj;ix(d<1UMcga4(>^2^zP~~&(#t?i`*?J z=Qp|9Z^#IQ?^H^_@T@prSwpg1qEw=TO9svgdPdhpx5N1FC;J`u2HVCb$}IIoUQMo+ z|Kd#TMk}Oen8FD7&ib3)dMq+5_Cy- z{6_@kORJQ4L$=M45CNxEL*N%l9e-P%{PgQUOkKdqw7Q?#kfb+-n9oh(j{ew_wGot*>>?cYjH^=j2sj>Y(vqnc0OBhF!j6zKrZAZ)z!$%E@)h0UTwl zSJKH(NubGTuRl$0vas~VjT6g~=AK_qL{yz)ym*6ICRA{ui5P2!OVSmdqqp^7EEmzp zsE53BdE2`W4-WJvjuv%tBc-dgrU#Ug^Xx8uc%w9WY$m04fj(W$e=x5gW@Ha{IlS(@ zIh0&}J9%=?U*xN2@z&Cxlh%2&aW)9b@{cRb+dGJi0SNV3? zP}vC}H+gsTlp7K+`sP=_(xjYEL%hZ0Snw-pl?uWmb)QBVn@(Q4L~FYme~(LfGnS(+ z&REy*fF7Lzr)_o9hucNZGU0j5p}jkDwW;PK^lx}8BX!hRb5FK&B@1L-O!)46fGi-Uy$P)D!&X%%IU)SbrO=2jqki5^kS*FFreA{eeDJnpsD7$jjZCI_^>V#vF-Vi$S7 zkmk~M+O)oHzCWV7(|cfHV1cd1riyJ9Q41$L@FAjuu%-eAv(Yfm;_YhYh#@oFbvm;> zqHLxo0;L;~_k0Q&d7rmvFyQ1EgDT=FL_bHQ> z6k!b!iWPI`kL1NA;XqlU`>|vK`h4Sj`4Xe9{!<@c$%1u8`m(tDs}$ zBpWfj*{AS!a-SPe-mDb<8nTn58~&!38<=hcmad-d`N9^jbDFGdQq;=QtX?3Ov~2sDr1~9P6UP@el}^8L9-dTMhE^UhMmtB6aa&C{1@IawM0a^IdQ+t1iX!1r@pVZka&K zuXTsGK{m50YqJVxJ<8fm))e+=iw*RaD^pd}n&1e%bBAn@8c*UrI!@kR;9U8$4#2}s eeyk=Da`$e5q4QM^K+e%h4$f?sD|3^b`u_l*0*jsi 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_chest_close.ogg b/mods/default/sounds/default_chest_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..068d9002fb0db2e50ac3155f53fb3d610386c179 GIT binary patch literal 10768 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_chest_open.ogg b/mods/default/sounds/default_chest_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..40b0b93416cbf8a724a255ba202bcbf4ec74f429 GIT binary patch literal 11092 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 F{{dc*pj7|> literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_cool_lava.1.ogg b/mods/default/sounds/default_cool_lava.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..42506ddffa2cfa4d3177bf13ce1e49b6785ac4b8 GIT binary patch literal 9583 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

F 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 nW~$6=@x>`Ovb9>9M97n055 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..e2ecd8416aa9d4a65ba144c64ac9f71828dd1340 GIT binary patch literal 6794 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 E0d&OH{r~^~ literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_cracky.ogg b/mods/default/sounds/default_dig_cracky.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da1167916197f789d30afba2616269d41f6633e9 GIT binary patch literal 6628 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 ~Iz5Z@@f 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%0D^=0rFMwnN!%pO=}CE;R{#A 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 ObPsHr8u=KK4E_gswq@o3 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_metal.ogg b/mods/default/sounds/default_dig_metal.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0b585097a833720ae1a8bea3da50b66987cbed25 GIT binary patch literal 5245 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 QSSeEum$ieyv4no`A2D0cTL1t6 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..ef4d7b155c520618b5d19e8194c12dc9c7b68e30 GIT binary patch literal 6940 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 N@WW2e3-wod{vRheoE`uG literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dirt_footstep.1.ogg b/mods/default/sounds/default_dirt_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..201aa3b2daff77452b721edb2f7dfc796fd6cf5c GIT binary patch literal 9155 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dirt_footstep.2.ogg b/mods/default/sounds/default_dirt_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2667dbc210ae6cc70a4ca2da31eb8f471f43af9f GIT binary patch literal 7553 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 HdFX!ttfyH> literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dug_metal.1.ogg b/mods/default/sounds/default_dug_metal.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5d6cb5b1e715b5411f3c99e2524b9ab7b1f2eaeb GIT binary patch literal 7076 zcmaiY2{@G9`|vXeA&n&=F=8-M8CywYNeqo;7;8gzgRzZ~B}_<+NcL<|_BCQ`@1zBl zWh_~;#hXgjXrnCspPAnG_x--_y1wgwuJfGdoO?U>xzByhea`vp4Vi3|YbLN((D0RDUs=D!7E%HaG@VsJ7r2PP0j2Y*Zc{;$Nx`bUle zh_=D|d!956^nm%`ovoPCVJMiAB2rZmsi+E*dzTygpN!ZC(yM}>4#pB?VW}BFa`tm2 z`NN#NonWY|PQEY$CuhH4e2|ML>>BJJq_zja3GZ{##gDKbWW1nbsjmqNSB8QO1AP;W zzNUpA$=4O8=Y#hT24R*c%S-y2hWMZ$ysrn$2}UG1`S`#HZb42yFh6H6Hq zi1`EabRrPk0%2D@@jh-aPd^`51{*#I=I8tWFb8=uFg~G-l8L8dmqEIYURM$*oUQCzny&|G}i7#4A z>5_dfoR}h6T&NpwFL!+~1q(13Zt8>x#!_@RC1c^5HmNbPnqVzn9faW-FsSaog}%Bc zh}Gdd8auCeh9~C3nJuwceRUfs2>S$!J*eA~6H~1Y5=*NZn#HiIe-ev*rXWX&?o@0M zie*!kyA}Oj@#RPiw{Cn+3`%uNG}c2WMCeZ+(mIAIG3+`og<~)3fEuu?w+P1e>XeJd z%Byoq#KKfu4*@9vP(GL*hVDh;F0B7MDN{J1n#FMfRpUfE> zSIq*D0e}tcMn%u!oI(190ZZ&Sl`!>R**?=vgvk!t5IT%^uV9Z?WEEj&&I70hnUA8_ zN&eT!WML!T`}=FuXY=L@ZFzHy>eY|t88(Hc=2BYK7xIYoS0D3`bg*_m&z2_#q+7`A zEVSkNQXi82}6Ik08_3?OuGF2mKETla6U*aJ<^kxFn}(1n2OAC+s4hv#8Rd&gLh@ z{h~2>x=TZ!Jd4xMa>6qLFh;U}49)^*b4uP2#2EftILAxI2?zEd$_k^6|mc0%=z*K}em2&!W?-fQX$IWdh^cHT8j7$ZbUI);mBKNx6xU3L-I z6my1T=XgX}ULcoz`5$w_7*hiPreDN{_>TUcydgHg2RG*j^NH6=s;@2du_U+gOp;s0*DBbdLpbx(1amdF*Qz)RH5}H8V4X>@r;?_!+@>}oX8$YW zIG97^2Y|DwQi#-Jh}8Kr$sUD%3<#%%y?-s~c zGD!d^gM^VNr6H7x5K4JS@~8Mz&%2rB6*|!ym;blS&2(^S00@#c2$VL!Nb6(3 z3e&n|9)@+ro+G980~LCQRsM`|NI(-bsCCevP2-;l005p>4+VRN#L)ckQOpUf#fedj z{-_1^e@p1sDrf=Fu;4BW0iKA((odA9p!T20rpR?lf5PZ+AU@F*qYF3r)noEr2&(I* zbZ4Ssvl;7(4KN4S74jvrQ!J2fz9g+rSC>Cp(yeY#@nFQKK*$7Ux^q$WHn@e&f zqQ;3wO9Wjg^&k_#0e;*?gDHm~+JXRZ9g5*X+(>t(BNkFHJ;;w@7>asXo&{Z9E8KBRX~QTv&_A9)z)x3B#Z@1G$^vu#V*P0?Tio8iXPnSr$+k#JOkOE$s&unDL$ zh;_=q&18|LgnesURHgG|qaQfIA&$J09U^iFLGgn>cM{`vY8u^`u$hi`Y?; zMeq$rlAB`-$_jM&l)DF0e#eD z@8zEQZ6mkM47U)%l(jofwy%vK)?TL^=>*1tCuCMYo4ntxkm(+I01%Txj7MQUw#jbSJ{*p#PBRnE~*bV`wni(b5G}&2r*T-S( zxJw#sjPS@ND;MvY?s(+>yF`rALUB6A?s!RKrn*51F$KdRS(1uLgqH{(Unq7RG+%@j zTVfI_iUnQd;N7X1TksN5d&-GsVInUm3X@O|A`%fVgk0!+E@q%8uyaI7qm_|YO`wSp zD5_5f1&T68A>8SxC0Ox@jsZgy3IS^61Bx<6A*sSdUj$Xu2oH+#Mj^UEQ75R=XE|$b zSUU5RbiQ%!Yi+XfW_Df;FPU_%ZUQ?$P||6GsbFwa)sG9i^dqR3EfQ6mg~Mx4G&>M^ zwVJGm6vViY%Nnv7=1r$vg@PmR6gEnz@3QhvL@t;aF~(txss}qK)QpLP2u9}>-NG*P z`fdjc?cfTJTu0o?E%p20|KExvQ3Y8Wg6ezDJ%fwSgxN zDq*=N03_OeTrXxot=(=@-0AiQ_uX?(Awc<)xKTb6N;eBPV=Ht8RqTejLNPC4v0yw! z#HM4wki;$q04$f}Sea_y2lxDA)lFk|E;V40$f$YOfFY9^H~+r{1i%RJ0+@qpo<<71 zf9!aOVMj!%SPakE=jp^jlpMSSG;3Z=D#j>-h%rJ{G>tL5m0>-1C_wAiKe)4rdVq%ZSJfEaM>B2hMp6 zxFGY1yv!r%StgcKGU!iJ7d(S9&#Hs}oLY+*#EkPR1R(F@1w)Nmb+SK3MaYKXN{n-2 z^kkp{QrS@bqk3%{i4W+7A%)!v5Kn+(zUqLj#vTC01yqbOF{s4PA+$V z{1ozR0rrWFGg%G1UBvf66XI^ntrzmcj+L^IJK1hr2Ff3{7`C^NPqJPf>;i*5r!F+w zMob&B|IC@c<7D5i#~#Tmw6I))fpWnJ3d})(xfbBqv7F~G2j9$nTHgZpGp-*1APj5) zz?lo=`1p^CN-An+&YsiK)&+gyPa>1a%!)QxlF7{L6x%T?CJ10$rx=8%tX@z%E(O1EWBS_QJkNTcD427cir7uYV-Ee{(U|BQE6~n-t0YvsA%nyQV!If z(C=q|SA1G%H7}jEw-=+jI)({l1e0%-kvHgfzjj+4eUm$ihBsvy)66v}=P8bI)^qvG zGh-u|vXt@O{xSE)fAW(wQok9=J&?3#RQ{fKKRJay|k^4Vzpp(p1`O~cuDxgHMY zY7BM8)biK0osL@FO~~gX>XULb=Iu81Mt6f~14K;ZuN<1Aa+k>gLK1hhtY4&+Dy!51 zHfdC-oyi-0-ly1GXPtZM&y|H)3$?7Wl21GqY9Y)Wle-_+5}+Msr6edUsPg&oh(ST( zce{O$#H+udy4YGxJjW-*6Z%f(mq)5x=f4VwKDO1Z=HE>{sh0}BQ+Ofj{^S4*pKtZq zZ?D96=VxTArb|_u`IA$__chrkS2uccFUoW574*?z8@Ro{KcZxA9?=+Cs?CqcJLgAx zB-)RGwZF}jj24=>CYs+zyB8eyeSBf_wOwPY-Q>ma9E*(feNQCQ7K1Fh7GGVg#QHvy z)2Tmp{d{)G$Ur7%6>CCt*GSi82=_Wbao~9DrFsXLl2GV5bl~_H>fH2@3+YvgWcNy0 zQ{%$}KqL+>7yDVxuWaGkYPO>t;3>FSBWe5X*Zi#3-ooek&7I0UT3u4)sbdXou1J5H zuSaUM%+$(CcG=ymz8M8X)cR!FPimjl%JS>G+u8T-oTkZoLZZ*Em&YgNMo#oR@`!xI zb7U?8jjrsr$=1rPJM7XW&Vmx%D64DE1rVjo#DI^BbubpZ#V;9=%8EUQcKC|BRR<*j0fN~m|2;} zZ;-&;A?eRW;I(|z%6&OA?Zn9t*Z1j1e%5cd@7phZJnNh?Wnx!DHlU`?ORhuxVwsog zi-W#n%NOo=QC>*}O9uRC%Ma|lTJs`d9@4XRZ9YUw`Gv!m(dpKr2jT%qFC~(cZd$Vj zX|qC-$u>@1;o2-=KsNApf0B6g;Ju&xW0mo3-Cx&+5G#}fF)tN-bqoPmpOXjHw^L=P z%W4CWk>{W2s0K+krk>{=jS9$lk(BmpwszU`u?bNn&#O;1X4POvurpbpzNHu3#Q4lD$v%8;7c;Y7{vt5(uVMF+hyGu#HbfSqkN z^2t-Rezg@1UJ@*Yz>}t|0j2Nnt@{i5qPSn6w)mZ2i2O36eU+Cx-z?Bau{iulSve^n zXagg^rcilZOB{%cKKvLP>07h3_pu-674!T<>AeS0s|T}Fn^bO;h9I^ga^-vyD-7@# z9sJMJRTf`gd-jw|Nc(l#gEqin>sDNJ_KUk&f#1C{R+D@kZK*;Tj%XWQF(iq2Ba z=nwWGtEyEQ$!#LGM>VR>eyGeXYkmA;N`Q8?cs&^Vs5yHuJDlU!o>)U{*iQ0o^6m?7 z2nSbZ=9**p3DGdIdv0^$dXA7nHXw3KVN|>S{^fVy{Ttqd55BO^m+b5HEjU(ruba&r zwA?k8Cko4W)8t2={Xbj<_4zI3wzn0v{dY@8TUbD|H`U~5I=Zh}(^b&QvIj1eFt0mo z7ZwpP|Etncf6=yrCu~_z>RtVjW+{EO(;CQqc*%jzE;flT^&{C`*oWaa6YCTP>bi(i zD}@3$nO#BZ+}PeBgC|dou^|XP3vr-e>oSe)HeIGp!f-O&^0Dcgj7*KOm0r=_!b9K- zjrMIdVcS$G>E+NfpkfNoHfN33xXZefc0-3xd+eV6-FM(4UF)40F<>QrUG`9Pg|Y6< zkmDzZ^&V0A#pzXecZQiMW=>_g3XlLXSgMD$5`ag z{5(6f{nPc{v7&g-8iEEx`KQ5=2V11gk+u3Lmhv1qf=*_Cl%ihZQZ_Zm{g>&lbqa!zytEF!NVUA zykRKBt7e$V6E|TPByww-%Gp43m%7}+c05;N_jP@y%8_|Q{G|gB`IF;pj0Ktoa5{x{ z?>rd8$5lxLAJ`bl({l6#AN7DrZVwf&nAwmjiwE@h4tfkn$(m?yNNkMTQ;C=ky6{$?JDmldC&8^5#+MM#>LF?U(OQSyDWHl9um>E#?|jUV_>$ z>Wun(>wu=3&SI}VSiBdLdS7LBCnMLc%%y4{|MiC$I>ia;xer)l(>5KuJDfJ&@p=4O zU5DqlLI1GnW1vn?ZYn1TX?fHPTpMrX#TKk7Xc3a3cg!uWA};n}STB?m&Nfapco_-3 zjhehJI)_wcIr_8~;aom-QQ0>jZRnuff(d>_1}0n{a7|$tbJNMnyD(4DU~x_mc)K~h zR#W`)!Z@v3Gl%0hz-e51<@vMyjq1~Q9zA;qc^OF28>{>+@o`Ga`K|H*d@<~H?&?og z0GM-KOEeB2pc`L&qjIoMd?Tj&FdwbHJ$#+=32!5ADLIW^l&3MJHH>m6x{c((U2(Vr4(%z>1^P!EbSCc(dkFA zy(7EuFIkw?#mQe6IM4vmLn|<#UO1{eADa61MS;KNJ-xBJS)AA>afxQ1<}1A^b+SKj8^=VfnjUS$9!m^L zec2SWV`4#R`26On%RS`bZMs*D<(0|1XZsN>rj380F=6-k9##ON4`C1??{u~TS=v#H z>uu~pX1^t;zELgaDJI+(g2l$a@lzpBnqhYB3ZH0?yoQvKQBe!S<6+9rB*EuWv-bAP zHFnQEsLH+$>Kl~AFFO&^ck8#8JN|}6m(A!&2xdfm;d$%njvVylZzN<*)7Jt-FIK>3 z&6<%Ky;rwAt&e$8PhFzU%3#0h+S){S5%9+^)AJL2+MSjz-A#M8@m!#qJ!KFu6f9id z&UTQcIb`0cnkr=7Ftry+nGu=*%&->&oR0t_`;o4{--^)Q1*VOB-c5=%^psKGH9QaO z10M2ON!PAg{M1@mzV=H+&2XB?zF;>IKlD!N9p;|ALhc2#_Dk1xrCKYpHFg_Kw?i|& z8y$ksZi@$_OASrxISt2*8$;M`pidO2vO0XJ&b?7&>+a|H{Lb#*mzyV}zgx%_J!NIt zzmH>5M9(7qdBhZ?KsLhhbb)Q0PC|8BWjDv?Nltv&$W}*S8kc#6~XnDSfEvTYsJT^f)hF+`Po4$ zs(ce3rmU1P6R8k5^R=LuDlnrz|GwEEoaDfvO#EpQs@iz-#AEC49u1Lh%B9ag&%7(6 zAmHx|x;{K;S&~PSS;$wimZUoe_g+eEvueqLFFT25DaTVH&m5RSFWph(h9Ijjh!yC; z(Yh#QQ<2^xao_Z6<@hA^$xeb`<&Pb^sFxei<;#cf)_j9qVZn0h?7DYMVpj$sl#&DI z3fq#YesDM254$Jv%iK`*mmV{Aj+c9S!c%I#u`X^{&Re=-YV{mOMw+QIChjX)sRjiC z6F1M(hOo7+=}FzKUwAG7Ngi;Z!$+?SPZ1#`Ys*;z4zjxwCK6C>$jx@>-~%bko{Y|; z&YqH`wBBnpE%2da?+k7JyTaWYO82ZoQ5|1)@?Y}amUi4JGTrn!Vz+E^wpl({|19N4 z0Xnel*Vp4a2${7f=X+XDoo!4^{CdaSB%hskH>8)Cofvpl_TX`zmyM^=pe#k$^SA+B zLG&#Q$=*PGa6|0J46F@IaKT+pGtAK6F5uyB2l1=^9xYvb)D`Bj@z})}0I=)m8e; z>a9JD@P=)}_*Ei3yf0-{wp#SdgP>b_?JENAisQ$;bG6d-?_CNotV>_0fxYG5kv^WKzU@gNnJ+_Uj3bI=nqZbJ;<7W>PF-zdQ3Lp(d>1an zlF#(AtaIvl_Pzc!_2CF$nxARP_KPaS&l6euMF^s3?8d<{{fh0uC-VNt^IL{o>l=_y PWR8bq-Z`Fg*}(q*XiHWL literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dug_metal.2.ogg b/mods/default/sounds/default_dug_metal.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..63567fc05ae56d13f5a2c6976f2cb1b140ad60ec GIT binary patch literal 7260 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dug_node.2.ogg b/mods/default/sounds/default_dug_node.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9f209268ff377db99b55785e897b586742434f60 GIT binary patch literal 7863 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_glass_footstep.ogg b/mods/default/sounds/default_glass_footstep.ogg new file mode 100644 index 0000000000000000000000000000000000000000..191287a330b5df91982dc109bb75f4fb2a5085f1 GIT binary patch literal 7094 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 BN$LOq 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..4ccd8a0f3afeec92946a52bb3cff1127c0dbbcb9 GIT binary patch literal 8759 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 I-jMEp0J9O8F#rGn literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_grass_footstep.3.ogg b/mods/default/sounds/default_grass_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..20db84eda39a89f8a13b4bdd074fad02df71e6d9 GIT binary patch literal 8473 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 YFRzZzCaO)&NRS0q7B`w+2-?8@A2MjEo&W#< literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.2.ogg b/mods/default/sounds/default_gravel_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2aba2c652513a7017a9183bf5aa4c67c9602d110 GIT binary patch literal 10136 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.3.ogg b/mods/default/sounds/default_gravel_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1bcd8a117c160a239793c3c8a9ec5c6d4efe65c5 GIT binary patch literal 8086 zcmaiX2|SeF_y05YVaPH>O&YR|C}XRUK3P(XEyKu?WEtBayB4zVvQ83`F!puq(q`X6 z)`Zl@9uko)`9H(w^ZkDQ-{0@`{oU7n?sK1e?mg$8bKd7Z=jz(p>H{>uU&V43CQt2h zTj|F`_#s}m-7M|hsRNM9MbsBqydej#T8J)n<-ZDbC6!_+BU!|5w*UW?4%$OTk|5p4 z-o@^WuA42=(caSVfIU(JDJ_MTLW314rf+3u;b}u~_O!Jnc%Y~Z5#XbyqpEvZ4R=x5 z`nDxO42ME0ds^Fj*xz;r`w;p=<|q|aLkPeG&PHn?Tm1Xt@BqLL0JnrtY>74+C^G4} z*xh83I~)rVUng$nS#eM|HNd{28R~W z0M=BKAfX9@sDvzy92{D5X^pn;=h{%C?BFYJ0ViMQ>>y}x=VuE6gBlI zES5E~tHRJAiY4Sg6hEw*O?NNBs1wOm!zQQ6Bpen+K8z^PsYvTMWd^>3APG%&>qO;( zQSnd5eHZHGIPv};wRaVv$0-cf_tKL3G8gd%`0HLy#*aP6YC_CDcutP^PL4b@KN|X< z!1`C@0ASDrAH*cdG8)~M7NnyBJ#_Hjk>d()i$`?C3u#h>wEHFAt;y>CkbTdkrYEbd z&u#Xe+jD@2pf7JWAV(O$6NbD9qtyh{8eik;zXIkkY$iuM{}DOV5D~=0OsOZ({X23p z#A5zDA9G40LC82k+5@tnVIKhi9{`*JogB;_=@zHre9?#rJu5{29K-OunKw9> zT?U3>74(Qx7QI-TfN6sL_>2?dzN{7WQ21O7lC?4ChQ`c!Ch*v!1M~pEAKi{_=5_1Q z=*YO-gN8mOwPQrdiTxTV$s}GGlyDBG)l^zmzeYzkiB~i7X*Q=-L@~GsU<4nQ=Y4V9 z5G6SH7lPrKQ6VH;4{A0J*NL7%;INq7H2oe7(~00tG{e&%b`%+*--BvH1a~XXqy_aU ziva-g4Fr5t#AL120CrK}vx`t~qO2xdSd&Yw7fu-A(jIvv`%YF)&j8=Wg&kMU^Z ztA(|>w6)g_@LXzmZu~%!HonTKSC%kpfS=&O4^HU>Y3L8|9SlCSx& zlUed#thC_=tmN?{)pB|scs)G9*Z^1gZMkquh9WHGXu%37_Qq#RG44 zoiMtIH|BX@Iui2br|%bDD(8_QPmpRcOt7f&oD{Q9v3JPKD@YM5D9A6Ub}A?-HqD$b z$Smlj*cOx&by7+TOB@$LYDr!JMWUcUqL5OwTOhGmomWs_+({`*Eh${AUSVmHSgdy` zC@CqVEK#ZT#fz=3i}g}IIjF9j!msuD_4Uq+^{(C3PKd06udl?r8p}E86_@6sHTXi+4Lg2K`%@-rI;ea9M@(ad52l$LUKJ=VQpWDd0{E zic<>;7b(uCn~D}y^zgoBj|h|J%#4pZPo9f09eJ2p@U>pN>lG*nJ>Gg7@j?n=HYN`e zo>Gcge689yp}oYhR@YsHsh^%%r7&n)EQk#V6&qZgO3wvO)A*l<01N_iaD8_17NiF| z?kh6e0L>uau7hnskgj1J1W1G8tw@6yjrO!ePOKe@)Q@9)PQHdEJ|_+1h~+thmdnU& z9<042so%sQzje?gn!}1+dM?|#M*~W(q!K_@a~aueDp+zhToWs4*bM?Xt6y0?Kbuou zBfkn{Mb75Y#G$bplok+!YpE9)dG*L=UIo9Ob}Wfvgg+j*_h=rdm~=>?SM+yDF|S zBsvtgg2IK#yqehZDjuRUdiEIBzL+XJzlFy%1{AJOl*<`*pb|`-E)J)-V~d9eaSuU) zmD9_il=~}xYi{Wv**a`lOcgF({wM(yKKs!m8bj*01X(5EqQMoWj&(Un4j>@~7gaU; z(cMw*=b%XuRfZ<`hj5Rr+b{%A9e-Lt$sbC{pdKOAuvHGn^=R0$yLDs4p(@=N(R?>8 z6%-2Jt;{4`)q_EyT81%9!ekyzamf}#A_@g+0j8802Vu*g9nk_|W;KQam%%7*MS|xJ z10R_;sE;=rZpAK0<^}yihFgKQ<#lIM5$Ch&Q5Hi5U&D%{LfEky!elT7W(HGD8pl48 z5dz%M;W=^(W(h-wB0UVG#W{ktu%h_^phb&4K`4-0x=kF4D?cbP6^9H`l(Vr>dPbm(_PCn7C@)l8*7`sRe$PrpknBNd|MA9A0Yb0sdsE z`A0NJ06$wn0%i_DZPMIh{+*coy9fPWl*kA3EDl5PZ{5m!oarztzruO&Y32A=lAe6{ z`H!6a-`V?r>zNXZLCF2H0hC@dGXndJ#|^KZM;&94pz6rZ1}1t<$>5F|P6UUd=CgxA z_dHj{V#I_&l%P-`e87k%nP8u|<8b1_FJpz-MO{z+b)0HS|$-MdSO=2fh{nlWmm)Yf~=2w;i!lNO+zIdK=q&p6`-2yV6wpBT52u`LX?(z3ZI%6%IXw!l>O33d(EyL3;4qT z!1aT}B5JrD*^(BVq!}FN#%_6r0~d+8T24^sYvCOtp~-N49C1F)GFngfsTCI8R75hw zip2-^yA@S=b%R$#BoiRTE+7-21cCFmgMxzTP(Vi6n?CdnI=X32X=WI6Td;e-JuSc< z+zyKmH-d3;6$E5jDgZ_|ZnZP|!yZ1YjAEIWenW3I?uiUW(g}pOK;UuyL0ryv{$$my zeG64kBeNY|ks$y-03@&?1qD+uF>J9%;@IOk5;zmNNFaOx;4{Sk2;eV7A08fV6O+|6 zMJsgKIyk#|nojtDOl_E$4zDV72mOO9G+l|zA(?uGriwYb?-;9qmXeW@M$5>e<>w2ZVg_#PBHEec+mCB&r8o<*HTOAig7m69A8oL=r!c1zYO zyq5KhJ}yFyns9P+%v6!CIk`8zKT1*{?_Tpn3CX*Au|D1BFFRB^4qgC2r7Q(A>f{mP3@TmD1RKN_M~ zo*!XZtL1pX13mlG!AV6ugoPaEW%FqDRfUaY#mnYTz!J*5l=RY_W`E{^H{=LXsrzI0 zv`jD5|fGNnP$n`@xU5VdWo>Ozl=F87Ftbk}LEV zXPqk+xDAPW!;MDXf(Bvau72yYrCc5^yQ^Dnz>=`JYUS!s5wf!HK7p1X(1>=q-W8ud zQEJP$5kZS!-krTxNf=Q$_Q!TxQ+_G@?9luqAi?IXLWVlfSA093!R$!kOQ0Oj^#8V>eA7-3|Tfzkq?R^Pj>mK;$iEOrS$x%n$6vAzP^Q5Thv{?Zw=(;H>?Rw zP%s}^4J{|zh@Z}y^5#aq(y%oa)S5e`O{pD&OhZcpLT%3&&z*UY62OK|WkayVI@q5| zjY+Jm(=fWflOcQZ*)KZ734Q+T95Y>x_nFeMmm^#mj(Lv@^`GAD=gmyNmo2{>pAP@f4HLzEAQ?j_~j7sILieq`$R+W29fkNy7j0H`EwVl<)M z*}3Mbs`;7nUxMilc0FHt`^2uqP#E%+(ZMS$_22Kvi5&9|3-qI$A5SiEtq(v2^S6-C zVC`6EzD(pu4DJrpvQ5?5+t)t-?$~&Xr!K)o!qTYas{g2J)Vbw9!g!g1Pj-kLE0rME zQT}Tz6UMbZ(;~MV3pcC;iN-s$F1sU;uHlih61_)W{a))Jk3E~c;kPW4>!bN|t&os- zHzoI8d6|PQN2zJVpkoaEl;8au`x@&vqh`IoLQjvt`%!mK6za=Pv9>t|&jzkmrtAEU zyy6o`u{_>Xs)xAvWSp69-K0kZ(-k@EIhf4CJlL4=!l>Tqh0~1W&8>Kzsoj85&FKg^6k?B*vOpHD#bxhT1q06|pIYjL4=1J$ZWa9mstAA_ddz2qRrq6d_`}inb(3oIPYZ7;a^KL1WA>`iRo9SU?PkGVYNR{+_87fVqzr0@MquArnd9j-|@p|`n zkIU3@X(OBbQjZg*y^92!SYI(+W=l>lR}pFw;E$2Dk|p+x%uY@^(se=IK_gmT`9Q{0|BOIm?2}*eMrPsZa{O>I>uYc z_@U$Eoj4>n>q&})0`iz&$M@reE& zfFNDtZq7vv^jNq&f4{ibW8SK>alCE#hxRfp>>HN$8cP{BYG2|S+mlyats1`fc1SE2 zm)>bJde0>2T!e*3eVcxwz2e2$t0$mH6D4ttpQ~VA6_QP#_^}dalOA~|yC4veZIong z>Ommh&q_JP$;|WW+kR9a(k&&?+Iv&SSg#Es zwx{ODlbBg6_e#`vZLhSxnVq^32i@%TUM2BFor?%^JLf9|}AX~k1O zh3&q8)}}i7pH58MAN3zxZs4aqLvAec25O{W zTbq3gl;ZDWZa*z!_BIUnV+Nk8KZ+?SQ5bBnT}4#K&e=I=jIa7IoM(4w*CirpD zUX@nmH_O-IHC4N+de_=X^u93D3jY7d$zqcDlA^xART%`-x^ahnQ)Pne*GDT$0OLD z!0FqrGx8V7(eo!neqCqxQ++nD&2#cz-U*SSpSNyp{;C7sjtxQK-xQVG=;;goY=FM` z{MOF5F5%AA6|t>?*}LbyHAIe)(RE6OVzsou(z0SwD95m1hM=FH5-q*hCX~F{teNE4V1#6are&mpoy!F!I%HOi<$s1$JbM$LFw%B*M zGD^VuHnUWnWGk)LSqBiNhM5MUH>Y-lAN$2+Ue*ffE;P`*VVV(5NUL2kNa%aLl?Q>* zaAYpAKBsZmd0nPtTx)D|{#ej*-P%ghgPI@SUE8(^3sv|AhMW(zD?K|5JYJKK>E-pb zJ3L5wi*nl9CKn*~hQ~AM_?6viN814Bj)_ZR6RfPuIZh4H)%UX?>&ua__Hpu!bFnM0 z{F?(lpM7^UDr4<*;Yrl#iqX(h@VTymeUZEAv`ed4+6oMizD2>vMSLX5;j10Jbocl6cS+wOL3@q(2bLl1h8CbS$5A-KousUvC+HbDfgDZdW z47%r2wG;Q|2R=-B^cTupMe1d%>E(t5HUR;(jAOsel;WCxJw7)pjp{fppIJShIrpNtrK+bm zQFVw|LzBJSnJJ&icBNf^cE5%J#?LT*<^5t$<|Ur+)CrM?Uzgpl?BnmBC=^+`egn&m+WjA=K>e%VWRDZ$v&V zC!p?&=@b-Rl8fs})6ID^oQoOr>kP5G9pE=(d0)D2H20lTozBe4NyQiE1b~l*-6|)) zL@@HSuT7@aUEN3@>3IlfiH{4tPpm=+W+Z!lxw~M(Qm58biQI77-V&_Yw*RHF=^a7J z9)j&XxXET^d(P%%-|EX^!WY`99vPZnzpr&T`Ox`(SQTUMZT}H^(OJ7mSY&TwC+-tv zLXu`8X=!H1jxQy2+tT3P$q-1SPmEnmU-rwZxn{QT+G9H9f@p5LtCmHV7>M`n`16Ty zNe{|#T(I@gBnQ-IACy@kiy6;vFXR$@NfU2i`}$MYh>azxbdFR8cMSYwotHohOe>^a z^19wVpU?ocBes=1zv!y)$IkinSpls#A6OozUGC+Iry03&`fjYqcxlh?bRl#XN?Ybm zdeW!G;qjnelUcf#buXT}v04%n*Jm8+#AXvtYPW7dFK6BSvx{L71)Y7o9a$LUut@o6d6(FAJlOpvPr`b0ugT++4{pX+(?>OFxX)g~bI1^G zs63oNz*JhyN2(T9B8g(xVvWsC4Ye=XXv9tqBQjF?M3(5}`94XK$6ZFa@s7=B7=!}z zrYCGFgr#EoAh0z>POX+VuLoC(11NppcT=pdL@d9DU#wKjvCT^?jnqN5g>`h_el46H zZJ5E!I=+ha?CMWZ_rEm6JNqBW(Ib6^CLGgeE-D`zcQSZ_NF!q9@J43L0SG%8Z zN(xI89>x(_H@*(YhCc1dteC5Vh-6J0MaXAsh<#tE{N@_x0}z(WAH5M^fc3 z$V41Dsrb(JY%{XPR?CP+_UwdgPSsD-E`gf9m8L7|nZk2B!AsfWEvZ?Bn}tzPY3I_& zKgsT`w@gDrmGjTO?S5H5UU!fG?nT=d@z+D1J>Q_b1bkk)aGYzl`BK^+n5n*c@0BpR zCN(weJTPvfUa}_QTE((!9>G;6YBp5gh~BO=3|*+FiO{rtjOY)fslB%`^m^NT^ulj}sYj^|*FTM& zxOjYacC&bYJmrV2!_Oxi0Y!CBS?dzr7p^@S$_uf1F$(P=vY1EiPA!RyD3ErC7R+%n zSASl8mqDnn4SPhF Q6<>30Hp~bVt@i`}5AbL#`2YX_ 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..696c9ffd2d4493661cab39edc4e60d5cc271a086 GIT binary patch literal 9017 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 o32F8O99>=G)|R8b;`;t9bHHcKlt2L? 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 F`M=e90aXA1 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..fe39fd784baef06f360e7d6d37c8ccf113574b70 GIT binary patch literal 4922 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_item_smoke.ogg b/mods/default/sounds/default_item_smoke.ogg new file mode 100644 index 0000000000000000000000000000000000000000..038a46e4f7ba09b151b9a45d9581564c8e836038 GIT binary patch literal 6651 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_metal_footstep.2.ogg b/mods/default/sounds/default_metal_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa61ed3386494085a1d81b587680a23cc888903e GIT binary patch literal 6926 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 K3H)D0GVnjGFILb1 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node.1.ogg b/mods/default/sounds/default_place_node.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..46b9756de3ecbd38d07d1c4dac5aa59ce23faa10 GIT binary patch literal 8584 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�ExX{xV{!^& zF3=%{GaR`XvBE$X!=XSps{ca0-ZT4c=erQ!$6@n*e;)ehx?CNZlmC6?l5E#klZLlQ zudSNo*+cM?UM2Wzt}}g@=SphM-4QBJ5*3~Yzk2mM;*3_F&vE^m>3l{>0m2GJ!}y0w zi*G+|u};n#ES)s+=Jwy^XM)a!_l$q91F*k4Ri%swnUp;&w2ND@ISEF4!M-Y2} z`&vK`no?Tsk>A_6MvJgV+3j5UfkJq-Ai3P!rl}HU8KEEYt~z8 z3OV4S)#+4519dRyS8`r)6|f_pvT)iXxMb|B(_a?nD~*pI$!#CL6ZRp;=mn$5l{6ix z_#w014hNhCHU(YQmHhD671~Dst^C-}&G?`&DZR|f<_l;U_}D^xO%fr5j8AA1{vG_J z1LxMoIUSU3z;W43RLA?W4b66HudF)Wx4)}rh(&XY9Hm*nrLH_qFWm5Q$PPcpM2a9k zHs|_smF2_ivCOMCna0pYxu-ebks~fXRX<8dks5K5zHt9wVXdWhuuDy^C(Ha-SL3UM zuYaw9{4^qL9(D!<5W}T#j=EQJRaja}w<`8jT)I!9%m9yWqexzU*p^zu;kk^Zr4HKQ z8OyGeFs_wyYsyIO59ij!S%rtr@w3mxEmYhiU&TB;sUyyC{#I%iFY&C2rrWJ_TFD2? z27fWlZFFsOfn+D)=*jaxwW|V|bvW|H-<$RcaNss^{cBR&EzDy+Ey8bv9Gi=9=j#gA zRve#l3ew7N4KX$J?YfNd5+x`6Bflz(0@?3PJ zkzrwT2JzsM(@ApqZt?{tfpSt6+EvYi`G?8Xd$>>E-?C+tuiqEX&VWCXUKN~lNN87@ zK5JYn8H7&|74?#;xh0H$qxZNMzidZVTd{N9`1!E*z0exFdD5*Oj(edIpDsMK9i5t5 zb~7~NAF8i)*ctrug?RDHMw+a?zyo1>#pa8&W!iURi|eEwdI59}`9Q#h`p!(Wy0Lke zd!BdeGGyUwxaFL^Ne4RQb5{>c{w!?%v(fX_@^ZzdL+GE5&Gu^#_!lmI#%6sUS{IK! zSr>k~5&xc}BY(5k7618&bjDzD)z`~WH`O~WO($n5CJtB{qwVhI)=nXH3d@cPL+C}D z!MCnEi=Vk}mxtT+Ed*W`Ev&R`SgDPfd>+i 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..d34c01a4329a28a8a4c54f54d004abbe688b8ffd GIT binary patch literal 8644 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%0Ac5{y^&ASwSk*bM_0^-l@Ok z>%sXtDRMcME&1!mYW@+@>cuFy*nEgl!RL(^Z#8bg7bKIPBdD9c=}(YYn@H~7Bf;mR z&5NL7iPgR#>mh6{tz)u!aCmL|8vh?QC6P0?QMXUl+DY-5B0Y{FOToe?Yy3(_PD}0X!Y*F*w5fvnXGWpL&Btz z-i>FokCGVBvDTAJ2NL~$Mg`T3(t#x8LKdXgEtnE&UNvuf6s+I2GAJ!`#Y^=J@=f%+ zsO;eAYgqguLB~mOUS;Dz@g|Bo4LO|hbGhL(p~{%{;8Z<6#`QA$vO?4JRpI;nyrw>#km( z{5^IOWMp;SrF%)6t95@X)II=8{P0@3idE)l+~sL$-3hMb7@i8UY}LWuKca?BM7ly1 z`;Fb1OL3w|o9edMtWoE6%qa1bUqLCm&Uyt*yCatUNMJa=pwb&-_;hafP<-_d((ry= v^zA8Wp#R!agYk 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node_hard.2.ogg b/mods/default/sounds/default_place_node_hard.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1d3b3de2c78ba8d796f5178313ba273c26209943 GIT binary patch literal 5623 zcmai130zZ0x4!{o2P2!IMjH?$7eNVv8Z4DnNC1&QKtPHF0)zlcSZq}kB_JRohKOt` zTYw-zSyk$SV#2-{AfSl2u_#(?Rn!lcH#gYU*Y|$?<~NzloilUJoOAx?+;iQ-!aN}v z=xZ|~Uc@3(IYM(iY6U7`7mLP-MHWyFHOL=mdr;E9ODK2bEIwLcoS$ZBfU5E+JB#8bTa26rjKyN4suas3bMT+PnhGC4dSj9xf){T`o zg$$1eM5UW=R|Q8`G*&R9`(Q&wHQz-Lu$+yvUWyh48E9#GsTeRE!LmB^DvMak##P0K zmCZYF$*$&4%X79`J*_IsvU-MZ9I#U{Z4{GT3B%sOwO8c>_Q&=Sr;EN0N>V*=;4XIZ zx*=#gMTC7CT#?5DtQOS5K}kSO$mxU@sZOiA4%>U%!2J&s4^7M4>l{73+^C?%2lyn= zM-t*k5)ys$Qv5F^`d&)$A595(mlA|Y{o3CrPP{|9RCOE*Dqcyg5SSrg- zt&xF35R>4PIQlTBj8qXCQOhW74nNl%)m?AWU9T$L0-?Ybq!lv?D*jIo_06UK_ihv3 zVGP*-Teinw+hYtIDF*E<69uV-I{>608;XgLW#JTS(H{E)=uUACom|)6H?E8SbOPdb z2(lqyg)!JpU=51tAj{Gx)_Nq?Z3LJCvBDlR13R$f;cB&m6_d^xLr$qh>{;OC!t$}d&^N92TOROV$=re#d0W#Q9v8R-SpmrEnNYG+&iYyT^9 zoLB~+gUE4Y8GI8ttpuz+h^BfIx7Q0gTHgi+jdNW3tpgyaHCxq1nnye+ro$A=VTvi$ z%lh9V22h7B+y*UxVNXJkE(EOvPG+MsSlM>b*4q^cQwEDli1H=3Fzib7I#r^Yeq6S# zk@Y1Gu}$^$0}5W-!8Q4q;f5@n+Rcg`q{)qnAnnOP9uSm7=pfv}u=+@y#SVQ0rPJIF zq7g4gOoB~wG3#K%3XR~$MP*`AXE_(+l5x6RBRE|E4nYdwr&2PIt&OtLf*_hIMHx=v zQu^SjY)Thl5=$WyD~mk)h>FYET?F~l$!M5|_3VS&vFsk($)e-|TRa5eT2bIE`yvi>m2J z)us;Sx>1{=`Yq^pyr|LW>X0aQ=7JK9ugGxg5fC~9uv!#HYy5B<(Ns;|xg|B;l3 zbBPZz2H>UqHNUz!s=8L-UpiA=THRG2R$W`uRe%0m zZR9MV)>c*5n^aeuoU5;yuQr)&uBvVkbk$!dtUWi|{8FXOWVU5@b#3jr`sWC>MKCLh znQbxKUjcVloO{;7Z)u61ZHeh=j>48zKf7k!ee*(B{ma>wwTb9C$ zI}d7Nz)AYVh5+BC(Gwf8{6~(JRzGVo?!E>D5$=h0VShEl28^u-gwyo`mBiqVcS`-t zF;UFC)#JJNvh%7+?Z*K&PzW|OyKGAIR?8%9L_zX;(^{TrV<9dMO?ieZ_aeya#cm}F zvD|Is2tDqQu?XjtMd~QZ(IAJzTrowVgtv{%Ea6Hh%({vp+6!E{4w+%f75hc-MMHj> zOM=nn)8!$3Bqd%WLIA9$i_6vR$h>kb7qY2$4*+tR*w&d}uHi}IHvv|>avc{kp;^m6 znjpb~6XhEIBv_>78D%OeSSi8*R-K4&sf@`yE?||P%psEnCpna!q8x-(au%5cH*?6Y z;8tXET?)l7k{~IfL|TGd0ahGxq^Zcy-?b?o?WZEWm7vL+86gk>;f6en3%RaIhZ#+n z`i{&HAj0`V9sevK+>>cpA&Ec;{!!MFf>^RZGDJBB2*FWThYR+-{8MvUgsDhE6ClEk z>rQfj@Tt3gnMAIb23T<@nc#$fLxIh>C_h9T#I$ zp*ItTffk^oES83?yj!{urL5+w1UY~x7U4kNk=Ny6k_Ry5TES?29tQY@rxgrri-}dY zGu936v&F;gZDeCO1x+Ry@<0i!3`$Lz$N}zlEV$4@9@(i%QzfM0;=Ig_m#|&QM*Ks- zqJnq;1)i|SFGA2bYNIGfk(j#}0w{zEZsqx{hM?!*LeHgn#1P6>fNU^jKrS&1P3s}f zU@bsq#In_mMMcT#c8c2I8sJ^kLj(ib4iG@SSCR|{9#@PIDCDO&umoJl4slyJAeA{>`P0pfs4e3mM(ozNR0aQ&X+05l>k6VL!w zB0qbwK)9V*tH+bjYAiN+jWc88Zo~ zTC@zpbdkLxEX)HnP6Y-jJ-|yAsXsCS0X&KTfjEsthN9T4zYCMUXG;H%5`0i+E%63# zYY}Fd;zCuvMML@+9Qn0K&s%u>re^=UdjGeXKT`l8_w4}LTvt|rz9=m7cG?Jkr(%NW zh*k%MURxfxvHWs&Dm+up2JR`bClm3803|RC-~%F>>qpLyrBI9wdAUgH81f^V0^SOS zJP9QNNU>7nH4Y)7Ms1y8p2Y8{DF`_-c%)@orc%Hb;V7+!P%fr`_{0R)fB^Dif~zx4 z;U)%z`vp=oQDP%?;4b#!N4A!e9M;AweMm@`GROb_?d z!DK>P4cD8DKXF*hs%c8-0iTFCMaT@Tx9*S)N(<8g1hM5{sQ5zb0AYum+!GCRWmV;N zcC45o3!&K^swdL6t7>RgA1b9;LECri>`+KjJ$9_|sLG6a>!N^r@i;b4PA^S}(#lRs z){Or7k(&FZ8%kD=JoSZ7WE8Xlf;eh8ef0J5=Ek|0uKt?{H5iymo56LPSop0;B z(bF^3e(zJyBK%UBs@P51i;8p1p8qQQ-R!3Wl%@m6>gn5Iov9wCmu9%?IC_v-j>p#SzGse&HM#dayZ^yLtZ(%fO%1bUw*W1pI&X1)#WJWt4-GJ{nfAKD3?sMaYz>cMz!t?s0 z9q%6JX?`}+=>BdnD(uJFCl=0EjSmzuE(n}hzvmESv|^7gY4~_}Y9;0e($e?Jn+iU^ zj1UR}9~y7GbDwcd1~s6y${AYWdnG0e8!DUEziQUY5@j98yl&UEHy71&h`*;&rCt7J z?|9hWeWYu&hP>eK2RA32-MV*p`&FvF@J!Y^jZoJeSsA?-H{O{)ts_jR`J{ZoVYSuL z;C-8Y)H?iK*q(xOrzmnmKk2mCm!eyGw<};zem|c9PwR>nes4x%FC~MS2lgA@Zgc8V4qc_E}b`b^*Hp`38s$blX=WNp;IS66AvaFw;F=Uq7~# zj_#)Ik=wZywPFi4-Rf-;9-6Ptw1%RL9cwcDd^vD){<)5)pRdvfU#y*Kcj|sWeH^s| zKiBV_UjCT><|V$SZ}&9kS>4*vDrSX>@R8E3l2>}G2To=_b5H!@qF?Czim=5Cin_2W z;@}}Q*HJ-#S-8r`h8vvyhWESlGS9TKH~n!u^+wM`@1+q>!%3OrPZq@uG@MVr$gihy zH@RuYxE@)Yv-m%^ym0inMUgLte(X5UFP16J-L<%Nd$)M}MJ|74iH?HBrl*aoaL|w5 zMW^;I-D-h;c5|;&FHfoJ4;P*M)$*TV)s?_VK`zjjL3j{K-(eBw#wn&gWHnbgG! zmoH_URg^olsUWvwSAO<^?}h9W>t{6d8;Re?>5csUq3E{%t2K{4qAE_FT&&T%Y#kFz zzvi-Gaq93mL*;m>+F02ay=eD)ADVtxetx}}u{nh@vqf3`1wr}pR+m*JOZGTkT7UO) z!w&~Kejbn5mRPH5aI^8Cgh&mE2q|PFpE{Mw#Lm==4q=Kh{%3%3V&v~?s!D3*!D`arQk_@!PUesv2o%Qkw6I#agB^kNchyA81_D%Dz-ooT~e@^kOv*X?B z;botS=ISX=nO$V6c-6X7*pmGFRh?A>OFYlCT@jC6Su@|;$~vkfx3%!+ZP9OVZQHa< zXI|JIT6xI5s4#nU>ul%uFZA{Iy<$Wh>gCrcYMMR`?`D<7Uuxj0)Y+uRZTRiOhM3Ca zwa|UXqPaH;B~YGvkKBN0JC!ALAlSnfe{!7)?Wz<%&)fR(=QG#kv!WNDv%YAsao<(< z^HDxmazZNSeD1m%%O)PJXfgUB!EcJ`Vz7Mkox<*wc4Ga5iofO^FoC0-_V#rO%E#{Z z^z6Qdzj}S|BCE~UR}FG@oLJwmTCCo-c6HF3TeHG(nfTy)oG~wR-rf`bNA}x&>}K6e z%=j>_7Li-1ek)LBEU@qF=zl_u!aW?uPO2K3S>y3(Ey1>F>#yFN*6pCkH{4&nWBG{K zs{2wY(eaDQ5d#hA8vRPZvm-q=t!V6;Ahpb3;vFK9B*(*vT6V)9=N*4LYdRlTSzA9J z_<7HjK(pWaYwC0ICpni6cIC@q0$^`+mQ_-#@?mxzC;RobBFw?z!il=Z?9DhZVpG{9TZpWA1d2m#YlH zAkGlv7vSO*NJlW}mD7I!AVP&<|Mw|_IbHJKLYJgdcHA`+x%ce${;OPP`lIJKNVfCx z_dIDH-~sdTaU-i_fOJo;6H?sdpUjj*)&V{iywz5|L8w0sO3S#d-Q;VaUpJVp zkC%TCh_g1fHq}=*@*IRk2-Kr~cX$3kdQRHw^(K}g4xCsI_=)ZwjEV5&q>zD~S@?Dg(cEI=2C(+=T_ zPSA!(L`$jLQKDqjK`0&t;=JfMsLnr)KFSlMYD2`LClypUqo!0gM5Falc2E#E3ybE~ zd72$njslq_m5nT-SW&a0(SOOyCPX$XJQav$R+deS{HpNgL(~DC`0OZSL3EYQGVTHqZt~z>0dx7yVYdSU6e^1vwH8L%Q(;sQ{2)D4S3y%K;Ux<^bLR z094D8ukDg(`z_ISn&<(@L3F6*B56;N+ON|$O6A{H?^nfraU%e* zu;kRg#K*QT=LP_fe3b;MT>{lJVJ1Eq5*=I42t)t?GuRDM*GkPWP4B%mcCd~(`d`%{ zgCMjo4%!gf>*Zd;8n3`4#Jax@;4mV15)_&v{xNcdAeyU?y#h6!GnsGCm5rvM#Bz*k zFH`O&)T3r{0=wF$a}Zr1RG4GWnGN#I>0U`6&xlcLJe_8hV z_KghAR|^`Og#QSK^v-y~40v3G73Z|qXBF6mqjGe<^~`z}rKv)s(l24qGJg!t2xvhh zV)!sd|1>V~60w2-9q@Cc@5WDPDC?Q_jpA!#)_ysVCTJv zn#qoOY=iTzsKub+)HDpozWrdJ?R8j%+)^#+nqA`I4|4)I0`-+!3?tflW>Qj7{~SSF|cls@pc&m`~Ow{OdSk)zKk^IRk!5R??YmH_#G|J5G_v= z`jj25PCH_4h_)F-hdT0TCSi0veEh$vBisHI4*`HG+g{|KIri|Xg9f!F z{RtX>F8}~=wm;%~+aqdrNU9%m0&8`mAEV!Ih5i4ESs&7j7c?vwcNu_gTwrHKX0rBd zdFC70qWr;gsOh4?PT9zu87RUvs||zD#V&ebHLXQSt`z?OpI#nT}lIm05p;om-aZ7Ug0JwIoU|_E>73iW#YX4R5JMLSVtVo{8trr&>A~> z8l);)k{m6u1ba|(kfZ$|)^;Eq)ZA}nHq4L3W?+Z=3D^v>GYLCp<2XEswI2u{9f)xr z2>+|N^qFr*Wo21)`F8cm?PuTT(~SE}=>zK5v&5R&))KAAL&S0=>*4Mg6$Jfgoq6aA166FW|AH4+#S|q`p9I*bi%kT!G4|K*fu~O zUpMWmGaKwD_hHH71LUbY#L*2tetW%w!QA?XFJF?ldZr$PS<^t+TOG z?fE5AtOmH}Sw#VW(NvZxCbk>`d|?IzqjPjkwd47sz)%2>PQ^3}Mt7p%LV*|^cu5Qf zb5k%X6(ubdcn&RFK(#=d6hsf`z-ciUoKHo6Htwc!bT3YpT5Ey6Swa^V3;e6^_vI1qP zEflnm6xGhb6jdh}m`v|nX1{Z4Ee7MA9*6-|5xCHDpei&P0geh(#ifG=Rav3IQMnw4 z_uHW_(m+)vhye@CO^{%MMu4h(X;TB*o+pY9xynkl3bt zf=;4$o>UKp!*jH$Y+QML%aAv*elRJMaf$ddSLK`H7%6*ar?&H9g=8 z=8#NWV0e&DyAJMqM*6;ImOvv|3$)`AGet-UVmc=+0WkwB!XTzaqcMszurvyW4q-T` zMHGy8K^g{gu>#!pjP!jkf|L?q1GlXdkjepE@E3jiOU)9A9S)LjU)JkEf;&rW9|P__ z;@dwMGI?yD2TOKzT-UQy1|1l5aCJ}$#MrNe_gU{_>SCOcSX&U2K^V7lr1R8~9RzLq z=@_EJnOKKG^4NL|9;N!kcmCOr?Z1}JwgJFTW;P(7QN+ej1ulF*et%S8;s&m*wvj{> z6g*0)Pz)N3je`DQTB1H~UYP_P-z&V8dJm z*w7rxhtpKF3M7s*M1V?P2~x8HI91u<%84k}g0wWyQuss!gj)0gXObQWMH`pY4!M-) zL|I_a6)nQ9pid3p%4q}HXFSuA!+F0`-+)D1(E4$KKk3QjO~m@gsGnehc|H*}BOd*;i46|`!BI?r zUSyI|xnwSXGV5XbY$5Cb4C(?da1OW+!D)lsqTt~yD}~v|ap^#$-2TB)(-Qyiu~XA1 zfAfKPgyKv-C=22+=zUoT9h&fY#LWd5Pf=n56t& zn3yLtH;cQdkc9+cA>s;les z-RwONeQj9P8&g)!4?dn;UUE6LcWP(XZSx>wdbYUaro&ED%Zabs(y~^ILirP)g!)C? zoI?fDuSLkGhBAo<*ZFvQ_9vrGw&}U7H`uqhZ=BfCL8Uz8eyNz`?w(kawr#_NE0dDC z&V`^w;y$HpR_*PKeM&s})>0#|v!(@jV`m^yHE!+Y4e>a&S-GWBk+<79 z4yKt~`Mqn2Ty9Qjoul}3&vjq?CUu3ey+d{ns7O5ZYRl^_)>39=mR%)$zispGr-=QM zEWW2^B;dJ=y_$*uK)(GQlA0U5@vLyVB$NM>ZiWY8(h*?Kzr0?fj7~vh2D09}xth(^ z=UX0GRA|leY5M!EHw(R@_9+=Gf;UzoRam->6_YtdX-vrts_b?EpEQJLRf-D%|}U z&nwp9G-S*rRWMdV6n0nRLz_h}nzj9+&QNSh{CJ%g1Ob2TU*g{+vDOtGKH~w8T3Bq~ zI*Rw7c^}NfSyY;lqm(fGdsNfdZeIP<#O%`nBvrMR?U#hm#gg6!`JN<)$s46#!sB`m zTp8RVw=4nLT(k~=w;B|S$LICV(t--CZ&A!2(Uz9qd!Up8aoI`Oe&bDl%e zXWfa&5^*U#Ai&B~MgGQaqn6TCDlip}wo%AG{fl42n!|BV+Bq*~jjP8_QcBF@U;~pp zpixg^jmk>EhONjYtbNVfR`z(^>e~YoVLo0BpQvjCynvq%!Eo}f(xda*2hwI&RV^v( z5vtT7?B%9BczTJMtJSX32F(N*e9fQeZf@u>Pt?3 zd&3xh)@{>6HI_QOV$ruA3U1x8ed44(-Mdwupd;xwqcB@qkoRO@NSukCVP<1CEWVHx z*d1DNiu6gcX;}?OcluWKBS`-wY9c#kVNRc$0W{uAFd|mVhlL0KPESGdg9(QBsXW1V z8x4qxU5`h&FOKobUEORyZkFZmd_1Rc{G6C7@h;9bHZ1L_QVHu;2p}j znjl;%JHb=B^;v#v@M;X)J|wAvr;R!CcmLd%N(x(1`@H3@LX216!{1p^2NStEg_bKhs!7P}}w zZkT_0vQE+y49`E2J*o+`)u_R?p}U&-AHt?q-z=3G+$-YEo4Di3?V;iAe9>-TrB{9l z-bPHZUHjGiG`Q&J+B^Rzb_&xNwyoVm35i#9mQ7ymPU2o&XM9ZBYYOb?CSJ+7F7`Ul z0bq0rNz~UdGp=u5{p?0t&)0n7M}V|dj^*5Z^KAPAn=*Y_!IaL~);ug=q49P4ICvoK zq%?0#?M<($`aR)ZtVWo9&>n8S@?6&dPoU<&DJoo?#xD1`letEVO%-p7Cv6$smvdB7 zh2IZtG`_LP{y5bGdVqNXcZ%ID+JbYe{nHYra(*>R<%o(Xqh20diG0TWeM=y;o54Kh zGryiG!_|=UIY4lebkz}~k+2U(w#A?K_R>Pf+L@Wq5lH%t(kmgNLbYTYMRGd}wALet z^PWMM_SwW+c{bwf(<#?hAzLfwamb+UI>@#25?RtmF-6F*FyG)t<--H)5$)aEO`m7F zHc9$Bk`iKCY-)JMVHx8w*c~H}X4kLf*Iusnpd7TAs+LH3GnDWIQdZ5!>`L=8U^h;* z;d<$WMFw{br6G8$&d?6^hF|aW*s(AHEnz^70f-2HS)ZlX_N?fH83%Z|P@RnKv8}jx3lfArO&!oWepG~@LTQ9!*2&Jl`$WO zbm@+|){RFU)O8ZwlYn}`Kj>#^Th@4RvI9eE)UiYN`)B#hkKA{;CiC$@z;hYEDMYQ5 zZ8&=vGJmS6V@-T@ZH|^f5}eeCH$BLpXnHr4GnEwxWCUKtP6;ii;2sK9UL8_ywhG+3 zQb50pD?XX?srca4Nh(*8>akrpZt;nAZ~4g+B9|Ajr(z-tu(+RZS0|Rv#65RiQB~y` zQhfA2{K%5^0NcgyEJ(4b@Ea4FqVmAy4CkANm3!aIlqza3d}SL}!vT%K=UbUwPO{=R z^NZrYKie!l`}kZcYXFS;9?bsrO1p z^k(JIEUejSsZX?4u%{kYlXyELnHntCL+`xEpSm+VS$i)=J*+h!xEK5}GqT8+$#K1U z&C_*voZ&ADeCUw^8_sXx+ylC?&M*KBL88Qptv!6>_hZxQ%jYST>raR8X@c&ycqdRL z^@U1E(J zzxVuDQ^%X3&}6P`AoNFaLX#0wL}moUeGrRz&WZSS4ds>n!+B<0H?*u7yx5MwiBx^o zS}h+zAL$bA%#6M}ukaW)q=cv|FhP0I_}-EGdYk>QYDBZPet zC1l04LGVG5_*UJ08O^YhYq?1S?d?~GN9&sPzn1jEjyDZ*3^8{{u&_U}yPudUJ2=b|zAk3*g|M0)x}<$71C{`=;g-?=8v^Y0*W z;B}5xOL9gfo98A3$+BKI1n1pF3z64k{7T1tAWf**0`3I4YdiA3NcF>>NcItBrh6oJ z;>{7a`X7zHu5~j%*5Dev{k?|u)GCdm-hLmf46{tu)pLJRuhDLdWqB-h#Mpk`{LC&8 z5zVSq2pBf|iX87KlrOy(bUwL6)Y_+8_vprO06{A#_xW)VK=Jkn9=sdMKR2tjDYM(4 z6xuR1%`>wj6>aJ%jrwh*39tb1JT{V*-^rUA3!?$gkRp>(2!?^gfKXl~%^E#0ekcIH0j`LsLeD0VF+KaVWuj}!ht_>L|Y&P*2ljnS= zc=lQ1vF+D2zklsKJf{;S0(%o3$wXu=`X=7d-_JF!=3|AdJ?P}F_JF34@5LY$`w}Hw zdn;%$RmS~bgr=gdj2ZCiphf=90&($7vV>CWu|kj3zt-_slwu^nGI6t}#H80F=v|so zvV1NLE8GA1qu$=*5nEc$Il)3B)}v>?>YC?i_D<=pe0pPj#P3}7L{x#%V?l-*m$bzT zsvE=}r`*9N^O=pB83VW3prJ28x39U+9Ofa!GMQ*5>BFNl?R|9vl3%=)ze{A6I;+K8 z-G8QGJT}!p?Z+2aLgGP{A2K5UhfaSGJ=fP34Z@2s*3_VKs3mNUd@_g-j;j8a95yC~Xk~{ouD&mfI5ay}%B4oy~f% zXRV@0zU;-g6tUqTKH`dE%hEL3a{SnLq$(v(Yv6@xXYcX%%Z05kX%~BaWUd|8WxsKH z7k5*hDtuDdBi-Zm1xDHH%#CgNvMkQa)%Deu=6&b;dub|%Uj?P!Db6Q~GKfETac&tv z02ef&D{IBa+>k-49axmYvJ|4CFX!gBDjSidvhZ&OhM~~OnpI!TUputn&jnutU#@H| zI_h2=)6dLk=`xC&bsBc_>(G4Je(gbDTU3buYdHfk)>V_`9(Jb&)`RUYJT(cg3|*&w z-pa)H<7#)q)DHBr-;dc0l9I7BxwZ2Bd}g68W6JX==|?4J`mQry*j*q2TGsN35@JsJ z(vXTi`}^)(!-9!V78ag|hhEKi;gqa?DkzoR>=j$&SpAKK#fR(h%tm3d&!PB8MK9gG zP}3hH=C#*CcT6a^C8EU}1k98|-b)^+G(KPZ!iN&EJFJvL@>L0QlX5Uq3U}|7`@wwh zcM>A*?D{U(3gD4-3D=o|q&W%B8#C>2ExXDniTrSV{`>+lfIo~QHAP_S>DgBw*|u(n zT`(+us&Uso*;2(^e=ep?Xx6yrct^mlf*c}P#(${@_2~6h{3S?=*Gd*UdFRs_vv|f% z;J}%a`KZ$tE@uo{AuSg!R9Um|+s%`YrHIrrb~+wkx?|+pAK~tW+I0OL#a-Py=OLDC zZZrL&<$|+!Y1wDT$5T^or}o+fn!4K2FQlKiZR9f!C?!2(RG2>`{o@FiS|l}2YC1FK z6z@@9LtbNV=W3=`e{~^*VRp>FbRXrqO&j`rqP^kv^?(;#xpw$Rq?>7{41SI;?dM4a Jk}7cje*kTV|D*r_ literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node_metal.2.ogg b/mods/default/sounds/default_place_node_metal.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5ee67fcf605e3804a42579bc665873ee06343135 GIT binary patch literal 7854 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
Dtb>4_A6_ zBxv@J7i8=4WQ&xiizvV*?>P)@9QqL?U#GE<@#D%SwxzPN+H5c1+<^PgmRSPQr0qt? zk?xvcjc!=NL5?UIjKVKi9!sj_SC}xwfD`OhCPX=oJcEAr^z*X z`N!|E!`nhdS05l|KCycpX66oP3k#{3M&j?ixq?H>a|M0>HDQP53Q5DXrMy$k35Xk_ z@FshCakBpy68>o1H=w^+?iww8ij8=Rni;H6I6nMfaSI;0q;2#-eal{MD>Vc$gz;5p z)Y^%1CMU&RS07<=7Zv!J*vY)T8MXc>DKveAdBH)R~(}^PPvJW`kxG zFY3FVCP1Sn4@{>E6iAyEg3bJYyqb;e7E!dNjFF8(d>6@JtGdWB4qs#f&%Xz+fC*&D=BwN02n#JQ_=akKeyt}k{)iB)%=#|EE%f${gtDrNcDN) zr}%n%zUF|Kk?t4qO40s%RqGuAD;Mn%`0yi(d6HFV8Q=TKSBA&pk|hr>oOxN`C1cc6 z@ArkH?zNBmHz4Rm&FdiXN`I2+Cy}^bv(o1!k*cQ`ELNQD9v40@{1}+twp_ogeg=b* zX3hK_XM5Ma?O_A@o@(&+aju^y^?lZpYLDE>^l+fl3@GUeIC8sLQO4=g5UYmrhf{v{ z!-e}5N=%3%Ve<3Ei>+@(CWGWSFii!aJWZY%=rc8@+g5e}kLGD5c6|ma*X4Rf{^DK9 z(>km%-=;MJB5Le(X0=^ysPTdIZ@)#JR~vkWIP7XFnt~GX-;HXhVJEC?Z+Ld#v3wVo zx%NUY&R0ix@3h@#i8sA7Z9lK0sYyK=(8A06p<&dHnoHOiKen<~5y&I&oj=ozT)Q@D z8esmGWcnubP=h#@VOu3MAUNlg?%ttvN7x=~deHO>#|ay{0|I)os;+sE!zcytpYfkc z4<5t>+BN+o)rsx3ja#J(wlv!GS@2D?k_^@7-@a;<4`VWW=$pR4d@U3GNx|g_`tfQ= zx3NU%i%*;iC%VFfO3%qCnd^sH+JB+59?(y8IJX`|k`phm^%x9_!6^%PomMQjOZr+B zW0~J8xahYwlvmVWJxaLwWwE`l#{PUc=JFAlpMt_L? zRM2LDII%hO!As9KOFv((hw=p1ZTu=7^-a4Zs3N*4A)w+cabP5ln&x!zBA@?gjrvZ@ zB}d|_d7LxXiDc?D$*QB$a|k<@C3-1KH0aa&a|fe|0x^u=t~8Fh+}!#q)XX-fR=H5Z z=P1294zuR}N2Ohqs$NF`?ztUDShTWhlOh2a3MW+T^*VRV@``sw60* zak?I|+>3YM-|Ea$PS xjP_Xj;AiRDUF~w5u2cO)_|vehxG#c~d)st3^;xgb*9TPo1imKUvQN(i{s&z4)|vnS literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_sand_footstep.1.ogg b/mods/default/sounds/default_sand_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..65b68c7e6e42d0ff3d9b13d89f852a942de4a12e GIT binary patch literal 11897 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 F{SPl&Po@9> literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_snow_footstep.2.ogg b/mods/default/sounds/default_snow_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..97a6baa483caba104669dd4d6311cdb0fffa2ab5 GIT binary patch literal 8726 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 G1pXhMazcdw literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_snow_footstep.4.ogg b/mods/default/sounds/default_snow_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8ca6a590da2645c62a26c46b24515ab8b20baf47 GIT binary patch literal 6795 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_snow_footstep.5.ogg b/mods/default/sounds/default_snow_footstep.5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..220d60c9326c2a1025ddf0b0985bbded37cefd5f GIT binary patch literal 8126 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 Ef8TN@p8x;= literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_tool_breaks.1.ogg b/mods/default/sounds/default_tool_breaks.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2a571ae28d42304ec086ff85779220a8de7fb907 GIT binary patch literal 6019 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 Y+?@l@U}n!y`)^;fZj|SuFY*Kb14D+35C8xG literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_tool_breaks.3.ogg b/mods/default/sounds/default_tool_breaks.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a99c4b7e34ad54a62448577846e3b309b725c87f GIT binary patch literal 6875 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_water_footstep.2.ogg b/mods/default/sounds/default_water_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8d79c1f4b21f1b45fe9b70e370efe29d1927bd14 GIT binary patch literal 29335 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

^%a5VKE_cnukzrqZRKcouE3oX3N@I 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_water_footstep.4.ogg b/mods/default/sounds/default_water_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6f1eab8245fdc475451e6eb98186bd6db141fbfd GIT binary patch literal 3974 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 I`T9}qKQy`}3;+NC literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_wood_footstep.1.ogg b/mods/default/sounds/default_wood_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..34f63a17c83df7f420835b445ea611386f6a9f08 GIT binary patch literal 5967 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_wood_footstep.2.ogg b/mods/default/sounds/default_wood_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..124fc297c8917fd5bd8264947f536b9f74210624 GIT binary patch literal 5772 zcmai130zah*1yP>utta&Fxr4n5+G_=D#5CNAQC_%5R@RI1VkX9EWsk82!R43vP6n3 z8X!Rv0mD5J z39W!Ww-vY&Z+JRmu){@eom}kEsDO}YctOrV1pk3{Tu%1aB3_8z`DI2#K;IW~?8pZ9s9+p3B*0t79_NfR-$dF(0v(61p6J}0tm31HxC(+4phP?}t9;HmbdVg3G0uwO zl0$Y|U%@G7c-$u=+h2dph^V+;5f(8>FhZ#NC_=z;w!8FG&{TK`NYhWnfZ=;=RJZ<> z;wTl9tK1|N^KM+StN9aN-fo*GSIe_(p5m_$+p7|%0Mh}wbi$4!Y znI1TB7kee$K$JZKW}il=D2M{Ames;Ri9k)rDF^Lbi|(t%4vZMOzclmEwi>Z;^z?G0 zfyVON8yhqk%bJW$@F_^~ZA$QIO7Wda@q3eU2$TA`zfG8V19zF~I5~*Bo}52RC^OJ2 zdq^&mXQzr*K!LDHaL8N(LT{Er0@(svc12>lA`Km>hFwu+$}$UgL%^rDR5MAGrBk$JSM;}_JHodv!m^j?&3 zFAf(*4?3$A@|S0ET1CoLf>E%hJ728Pse1_Q3mGj`7EJF0XMKhX=dL!R!7QCqWGrs> zTITl|7J>uCgEz?!z=`zRMPbcIKQMb2Sp4$<5?=c|d~AW=4ozV?OOkL2SxNzD{R;iO zbus5P^0=gK0&m^9teq4=@*b+LF+V0rra2CR*eDr_{}^OYUPdu5H^ZbCU*B)uX9f?V zTZ1->HMdYZ)JOouW>x^j=frcDqN~Zf!uVn--IULvQV9IzhyqT<1!mhR>B@p6wIHgO za0NugmyUaGIJ9!@$QOO+1=d5$2=oziqNl}Hnip+vY`D)4tUHYA_BL@OO!pMh+tI_) z&2yFC$ST&DPLSs}eq&ZaW3-@&*r4f#Am7FWpN7u?vm7=vldLZy2M!Sfa@OpwT!p_P zhl|g8Xq~m*IoHr9_v^U);PgVl#Y;~FWh#G*oFf@m3No&wWz45#;nVX&(hG&nWz62{ z#g_lt|BM``C_~Ue3^`9dKP$w+i#w>whFF=qk1g!^7W}`Bqvh5?b?n98~3>8bsN~Ikb_7#+c z8d=>SCfm+7YSn4dT5Od#fCEC@ywT8!D^@=@m=9tY!+QNq(=q*sAMkTUqGmJVmHlCwoa zP=Fd$g^Mg=OCdA%kH;(T%0^?hle0s zn;iJr<1GUnA(Sz6|Cr%Wo}~-g$VJ<62pu%3?KXMAa=_Bc!;99ZO`Gtd-O+KQH5j>R zySe@1Mbmbqt)h+PyV1nqLzY3)UbK5Uw26kGJ36QK=Cfuj+~EHXdbj6A1|6uY>>|z+Fogb3!r+sO|PQS8feq6!)f^m4`OJ3dxNIm z(0p`G`A()h_%-1H2If3D!2;An(x5|)tQmYrVMu7%Rbe4sC=>`A!iCjUzGVx-GGT9B zu&`RxTX(Ipnz;z5)mMdeW^wb&WC*s|$l1);B^@@b2pr6ppqC9=OE99u4Ydc&lzy{5NrX|ZMFb(X#djdhRX zH@g?;5$=EdlJA?8y6`QnRquNNgVDF-p`+MlaI8LJ4Or`ZWxD;4brwIk5ZqK)RV1uj ztcx(cC0exipe6WS2%6dK=d(IuW^!V!(>e z({Z7Y8qmHGBqlkvEK16W;5&ZSVQF62`Ci}PSs z$ypRzmC&IunZUQ zhKN4j{2J7mZHe-bZ6Y#=3#Sk`Z0*vhgU%tSsD82u(!QT;EQoToClF};b_gT!Aelgr zNXZBzzK)9tQQ{p&AOI~uNy(Lkt&&^1L{3HB2MIZVDDK38yrZPc$0QG9cxVR7fR6!w z;iDPAwwP!QdlOy8pdFsT-a|1Vq@XCyMto2LtAJ8-1#_6Q4+}1|oJS6-1*nlyaWP)z zCM(&l6l1{|V9_cTfC69APYDG%B7s0giahMmkPuIl>||0z;+UEn82Yw z!vSb8tzuCCR-N=6lq$)-uxfq2G(coE2|z5KD-5FmLfAkv1l?6shHB*3IDTV{L7G?w z%9KdN0W)TjQqch!r1|0<2!f;l)HoFwxby%oS-Ael1O)Kd2?*qQEIbrPXZ=-}{53=V zKS~Hdowd>%ysbMiYY@v-`A#j_BZK+5NH17^{Gw+6t9t*ZnQvGXfZUe@WZSBu41H2w zhy5eZ^xK&BYjA7lt=z*#FPT@|_?aSTe_RTG(dfmh!?a$n|aeNb%M%d8E5 z7*K&PxG-Au9Vh@*Fh=y*zzxf5?Cd|+P&V_+&;o#(U*5;rV=sdiq7Wiul% zLoOF^GBC2WKqK-`+PVbXpD zg-2TEDrzcS?C8-Dc?iYsR?A7-r>3PXJX0261MS;?uv+Z6rovT$si zf_|Dr4xOEttR3;)Lv{D2n@Af+zQ*z=vK+Jyf^yYy1_p)XERFM;*{GbAxmtPJ8~|Sk zx-XZg2_+gTrlqAF&MLn(D{tr!$mVrCQZSN{;Q@hI{!~$r&1Ij^3gR`(WcU*r7Gt)? zC0KhCiO_0nY>YR?8<9vGMmk3NB{7OQ1JzAt2fjX$5WlNyTS11LvJ)9EmpK-pV<(TxdW2_0XBftsi=h=$c0h&vd*9I>p%4ANZT_Kc~B{UN4`_ zJza4g<8k5BWPNidQ**`!dX_ujF3*a*XMOzl-Ozryz^{g~BdeNHkB=ZdM;>VW#?0FH z0`YwdMo+OWL~?WKQlrw?*oyN-mw)Pb#y?OpzQVO)#JhVhodmhBzIw3FdSUmr6R$oV zpYng@fAmC2oPXvG=Z$WS-*2m5Yd7W`BB|~3NEf9Ftv2`eS}+))kxCSOMNh;=m$0{K zrRoMR*YC+6aibos znzZA><`a4u4p{|O8Esq6WiC88GOv*qGSu`lXEpW^^^sB8N_oSA;1oj@L+GUWyP{b? zolm!=FE`33{;;PZ!)_#g)P`ps{-N3M@+-rIs;@`2wY42gdMx&ged2VKAoZFuHc#ig z7UiBtxW`B3#h&@Vn_D}$LTOv*w~&Lzi!FgD8-M$O8N-8yDHhTW3qe;|kZ{GFA&4JSXES+W1QC}n4SjOcXc(;Mxgk&8>=-jJ)x ztPs7pdb`5oQLNEH1@et9Y$s9pWZ?CS+)Z71LlJ}?JI4d2atbR_jJJ4(>_?Ji#@1j$>PG1e~2 zSGVI^#awDQ6sW}*Ypf|+JF{i!Y2w78`XZi)!7FQdbT9tdO!lMUnG=WGw&%b9Y1(zL zXV|brUk5T&c|5SwG2!N?t7k^X@F((!^#beDnjuRiZt;&RGpN-~>guMayGQ8jNRE#V z#_H{5H~ZE}66F@RrS?jre;C6=RS4TJ3A*h`j=tY&lwVw$NS*q4DKBX3sj&6^?`2W` zlba`6vpzP>NZoVHr27NI`A+Voqvk`br0V+W1j@D7lk^d-7{#(Jm%JbP$ER1Hj>GV< zU4mM!MZ?4Q+S~1JIS|F$49BN!w4@nWR-k~U|CyIDkp2^RC{hP zo;-3$ew`D#gNRNdoxjKmndLBDf5-n|9QL)9=Xe~wNbETFTkH07qI=wp8K<{xn@hRR)C73y;0dB=~tr?YCM?i+q?RgmCcIwo;R=A(#> z59YopxS8fTIeWHv^(M{werD_7_@!3*$`+)cMa)`rrf>G0>KXO!yG~cP5(>QhV)2};QTGmbUe==^fQ2nvX|Nc&u@UC9g$<8D1n$4@PEj^v) zwjw3Zi;sV`mhk%DZaH)|p`Dl=$*%F=i^G*3o4z$4e`mg{arViF-ct3XK_N-s^uB9U z_8PHK#=FP^){a`yey+(G(AqmcoAlp&Ugfn|qU%%lnigx+ZePqXsH{mKvs~Dtjj9-9 zxovyL->!<&?w&IL%G7-51uBBklOCY6(}TU^@|&-^T`ulNUi)_Gv{J&0iPIrkYp&eA zW0y$~H$Ay~VK8QOe%#Ey^bOC1iVi$+=e*6eF;D_L(r)-gbu!D``pCzbwrfvFh zZ{jw+=F8^3=U(nhiZw7ZKCtwkfm7Q)iUg=O!t9SHSUU;toQDp?zTV)nG5%Um%_gE( z5)}a*2sV3b(UdgIjglf&Yx24y#u~0OebDlewahKQEZ$D(Kd)&VciHV#z*vgu#v6lg z-c^1dY;Z24_QMIQ!XKDwk8EO%3r^fC?0R`NT3sZT7T!OT>&|HNY>R0(ND0(dz0tbT zE75Y8zP@tJg3iZv&mD@!vr8R`jkNIrD%06{(&M!Yf76Qylb5{PNaDwr-H#14|8-}^ z3&LH=7~Y6%HImy@<})sQ_DZi!pn}P`sX6c}%w@f@_W0LHk*hqO#}po1u)uDH{s*kQ BpVa^W literal 0 HcmV?d00001 diff --git a/mods/default/textures/bubble.png b/mods/default/textures/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..100fe15fa91a1d7450cb0f40a2aafca8b2f0f0ce GIT binary patch literal 459 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_acacia_tree.png b/mods/default/textures/default_acacia_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..58bb3c4072b617af47b645cf78c3d92845fcaea7 GIT binary patch literal 579 zcmV-J0=)f+P)$T{@q_b*P;TH_?OmXeFP<#PP}{{H&;_4$liYhwC*22q^n z$qq;%@Nj%O^$wfp`N+4EKVuCp{L4;Wt#BgoFf&v0K$bk`R8`yC-2u3}2bd7Lwbp8Gx>ZExoVr(gzQ#FHO82}2kyF~+ z0B}TXH6k*z0F^BBzV_O!HxS=*>0G_mdo4Ewz#z_?vZQ;Ahya0^uj{HuAw)fjAO^r@Mw5Cpp?9B7z8jdE{~cFgJ5^fE~y=k8vNht+f!ICFPvQ7&=!erMEiQ zemq|h#sCu{D8}bgTW5v`<~5(s=XIT1Hvq{+m$ufVR0lXfM5(m$eDvdJiAhx@%lYpu zB7~Utm6${%=LCQmxW-j`f4|?)*K>?JNkZW04ZwZh03zbPMr$n)Y#!Hn_D5fH&ApkR zs-||d_W1D{*PU~2y=}EM7l9ZASDn{%_dTbXfe;Z{G7;@HODTJA+vec_7~#1bd+(zj z0N0~t$;>?G?7cIy2WqV;Cjv1bAO?T{C+UTWsP-NdLcDcz5;FskQ*!rU`VUVrTEW}R RUK;=a002ovPDHLkV1gxp{(S%d literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_acacia_tree_top.png b/mods/default/textures/default_acacia_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a8a0ce05b4f43a0c43f6a9cfe0c494fc0686a8a9 GIT binary patch literal 5010 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 Fe*qbcH4Fd% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_acacia_wood.png b/mods/default/textures/default_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..b5abf1e9e20a4e789038b830a870ac57247b6d74 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYjZ>9K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIUV$K4O$YKTtZeb8+WSBKa0w~B{;_2(kexIF@ zSI%%ny6{Y(P`RgzV+hA}*VBf4hYSQF)MR}@U(cg^fS>L6d>usinyy zMH%sMh6Ah&t63NpurN$!X6R&QIHRi}oy2gTouP!0A&rqCk&z*cfx(M`!JdKPiIdH8 zQ{%gO8vAuL4hZp17vL53V=!i5IAA9l3N)IrB*-tA!Qt7BG$1F))5S4F;_})P+Zh`S zco-a2o;MiJ{QG>#j72) ufenH#tPB~Fj(uDguki)1e4F+qnV-X(Y1`r0BiDeYGkCiCxvXz@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;-$_J4RCwBilTC=@7|l-B)wCcnKYBXPHLrg z1}TV}0o}|_To^hi+C_gT4uT>fT@_2~Mo) z#kS@aGP2t;=sN?xxmZ^K8bGMQ&ntcWz~R`NPYJ;7dwo`05Ba+W1EJP(NyK!XeJv}a z0oNC6YAmkP=yi{fWYAIzX4j)a)k<$eM$WBDbO+=}+T&$Q*sZtO%Unz*^hje-Y z>stfH6FSx|ov%NstNBVnYHg2Rf53sXNp5eJcCSGY3Y$*Ix1ZLPI{3nbBu$O|xfoks z$nE=E6vrd%8jEo4LRFQ@d8u`MVj4_762T4O`bV`9mr?M_`B~{~)CfYM+4cG9%jT$d z>f9j-#9`@Io6ML_B&Ks?8={(9$cQo&-)$%UOY^4-;thmm$75=*Nj#S3(z`d6k+clj zcEHZ*TrV;@<*9Rrq}vO)x_DP9rHE=nxJv+3|5~9`&Wr60K^{n(B;v#AbFXG4qA_~z zzjsII6!xC6lD_wK1|GQ$1N3d;?LwRN9y%OJZa!gA9k9??+8&KAXUa(wl{j|$-A z`Tg?6+spp|I`iU$%s!sOcGek$!b3Y?(+$z8O_#pAGHSee$L5(6X_-BqmYv+}@w6nz z3_gG77d39ppeZO$noMV>hY;r$GSapKY&Rrh8F-hHu?zm2= zoEJ)!;YTTz^RnZ}`AR{adp##l9!&}Vqdx}#>!e7kzSo^m00000NkvXXu0mjfP5_Ok literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_aspen_sapling.png b/mods/default/textures/default_aspen_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d9136a0b5c0397e3feb54f1abce3e44e75ec47 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU}X1naSX9Iot$uh$t(Qk|8xZ* zgGAw)PhXXtzayQ5*pPOs&FM9vUqwQFRQ?(1cez>s0^ MboFyt=akR{08U_&&Hw-a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_aspen_tree.png b/mods/default/textures/default_aspen_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb05fcaf2c48a21c7b0c413f057a7099d0863c8 GIT binary patch literal 4429 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 Nz|od~E5YuM{~LD^au5Ij literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_blueberries.png b/mods/default/textures/default_blueberries.png new file mode 100644 index 0000000000000000000000000000000000000000..1dbb0d64fd3a6eb38944c124c3ce257bb23559bb GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=6x2A*xc@rn25Hs)-Q> zwc)nE+*^)m0VNnqg8YIR9G=}s19I#=T^vI=t|uofkl3KurvfLW{@qfkrWSy85}S Ib4q9e0RCbv761SM literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_blueberry_bush_leaves.png b/mods/default/textures/default_blueberry_bush_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd112c8c3a8792bb5d63652bd723b21e414229b GIT binary patch literal 813 zcmV+|1JeA7P){ zO^aJ~6o;Slzb{GV#w3mtYa6E(?Nsb&Ww7)GanVkxx)|KpS%~5X5b-0-sfAKB*L!d7|F{Sl3Oyg-{LcA3j~qVKpnfjXu#>X? zaEU*^GEzU9Y3z^j5{ImiGyJV2^`n_`0E)9N_pXe{du0JI%WI;i&X%Y)e0KX8(@7JH zttoLQXJy@0fOKR5$a`g3UK5>PRW;i!%g;Z=JiX|Ubu9IBnfA6kaYu%%V>xgpAWCuo zvW{hEBVvA4_3CF4&pZpp#7fvo>34;3ZaHxOSX4>^C)XqH+0#z>bwvfBIJlkR5B%c})~ibuOCQY<*^duayK z+wvrB1>*R^6Y~YqRv@>wEndNJ^1T`EewQ=9s!C;&Y{$y^i$-Oiu(J^%7e3yv{jSh% ziY%{*ZnrFhc1o${67P=jLql)NlgD33)z);fr4Qka!h}Mkj1x4 zT)Sk%Z;UkU1hTU3>h2)JOn-m%LO@XQICLTapj`8K>djpLxt&rv=z{eDs8)Se)?NMj zlU?q21v&Y~llowgq84h4KH>oFpY)dH_`5|mn+bC#e0G1$i2X6< z@0KTNCy;W@qt@^+Mwq6)xLU;>8Pbs@yjhT+J{{sVgz)~D-j*j`;^0o3Z#R7z^oI)U zrQZG~BDzzOg)^uhW;)hM$b-KoX8zmqMUK5TtFOFMWEf8nUAtst=3uN|!w_CAJc6&X zH0fezBjWWBs+g&g0DpXu01zB;$vT#W_jv?gyD9RpwPyBM5e9JM$AqBlQazoh;~896 rC|6t--tzhH?u>Ld;|UGmVQc>fv>b8Yj%znL00000NkvXXu0mjfAjXiM literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_blueberry_bush_sapling.png b/mods/default/textures/default_blueberry_bush_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..5d7393f7b2a69abe041cd7912df8ae681058674b GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=22#O2(o5QDJ&6MIwbc zmZ5!;k0-Nm0wowrg8YIR9G=}s196hP-CYEal|aXmRfK}f|RbD9aq+hb1{5?81=r_NyEP3Ssw$3Z2Usd*(+#IfGc240=zr%pX! pO54D>oUL)H)f-_5+P$@O1TaS?83{1OT?eHi`fM literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_blueberry_overlay.png b/mods/default/textures/default_blueberry_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..de9de623497f7a0488c1e278d5e7913182451baa GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_2M9RHd@*bhdtcx8gZa zkg+7lFPOpM*^M-iiUN&;N=nn! z)TU`_&RH~N;fh%+*DqSXb;X$r$L~J4wX3tm9H^ABB*-tA!Qt7BG$1F~)5S4_<9c#} z1Jjvf0d8H~Ek~b8F(oeDv7^nxi8ba*B2%mbqqxF_h$9CMs62V}=!PnTNy@ef-N#fW yWEPichjBHOXwSX5Qy^)>1wY0WqFp=@j0`{R1q0_DIDkNy9DwNbEF zujlU9C7J7r`GuW!yj|Q8lQ|`Ehk)_*wSuJqe{-g?1n=)({mPt6_va7wV%29oYzihx zVfW%&QhEaxsxM7qo8?#FpgGN``hCA%lj^VUb5<_cYq0D4Pe#@~%vGj&-lXizF*ODJKbAw_W< z@6!M{UX+!Xk|0WleSdij9W|GSB~?Kqj~5q$QUk=T0ABzAM*sjXNNjLdFq>>2esdl$ zDIBgG95q`KH&_vmS_39a16Vf!88QL3oB(=h0EYkoTL1u^QpIlo007TPL_t&-(@oCD znu8!1h2h_bfuIxxY_Z4mI=z?szp8=BChzh*XYm2|JdsbG+;brI5ke{REo8+Y{HG(W zq8T^|?Z7)99_rK$WFX`PgD8HEcPX1eqLo(fQ;3VhTUJGMEX`<)jDcT%Kej0Yx!Fm% zdlb+IlUqHsxh)9py(=ti2hqs4T*rL1hwe0}WnH)qrpgdQ5E8x2p6y_&#XM}G`66mv zpKZq&k#fahe;V{UD=0NIvX2S0-;2*|dx1nI>^0nQXfW=Ae?7*y;eX?Y5+#@@U84X1 N002ovPDHLkV1l3&t#beX literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_bookshelf_slot.png b/mods/default/textures/default_bookshelf_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2c8bceb3832f799198366b569798d872ee252e GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E07Kd2$0~OeILkTED7=p zW^j0RBMrzg@pN$v;kcfh00cG%4x}77aO?1aiH8)99bRD3deE_T;eqCZ=}gU=nVK7! hnf;lWjhR^(7#8edQ@XNgYamcRgQu&X%Q~loCIBhCC|v*m literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_brick.png b/mods/default/textures/default_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1912105d95dabb4bfdf70ab52ae039989a9e34 GIT binary patch literal 351 zcmV-l0igbgP)9%L98wYsvXtD|%wAz2m{yui4RlZ;>)8I+fh`OGSo0002GNkl2 zvzI_UgJq}Jn=RK;fSgA{x(EKNfqDB>g|`3z002ovPDHLkV1f@MkO2Sy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_bronze_block.png b/mods/default/textures/default_bronze_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0c9d5a2c704b8c6ecc7ba231d844387686f16f GIT binary patch literal 356 zcmV-q0h|7bP)Iokp&@HShHh%AU>D~8|InOvL+CbI8pN=6^bBRDUpNo{tpqb^+5t9Ddo#h z+bOokobIgNr@liOi4CUOYC6@WLAk>syKcI{5!MDKg0qJ)UK)9Yi1z)R^mAC3bq*Kf z7SAlhdf#E`SGXdI#_RhhYnT@=3mP-47Flumiu?oE6AOMSi1hFP0000<6ZA3{4|O4WQ6dq zX5(MgYQLxZ&UY8w6(q98Q|M_K=kJB_)0_nAEcj;oD>k~wKdt7>HhdHV)X7*9D(XY_i3u<=T%O449&%cs6ley6r>mdK II;Vst06Lv3;{X5v literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_bush_stem.png b/mods/default/textures/default_bush_stem.png new file mode 100644 index 0000000000000000000000000000000000000000..18b615f72d9199891bac311a8e3302b9d64d8bd9 GIT binary patch literal 428 zcmV;d0aN~oP)PyFB&2tgp)BDSdi|2Y-gDt)L`Ng$ZSvC~CLMMc6F)VnLs%$=(l z_SkcgMp5AK#TR1mZ}>1%yO zetZ9-s%r{sn-tELj41%9oX2~|dc99HrWMfc0g-|6q3n!h!B!A zJu(T0*q;+|jk(KM#o69A*#-I0Fd7d4m_{M{{Q*-pvb302ERH8dv}aE&wik02NLE5JmtFKmZk2 z01-+6FoOUKH~_w~q68lR?E1S&00023NklID@LDA`V@wzW+!bdNKu@P@9&@r-S zms#R{;k;aWC_<$eP5@nsBEP2C+QyM0);VZ*k(wtS8YGzEF$GyMD0eA@Vxv7OR+JFo z8M{xE15h(C2BQf)7mi9_q2RV}`=$@LB7ZhZ{Rh@6?Pj$$=Btgr50WVc&n0Fz_W%F@ M07*qoM6N<$f;sYRY5)KL 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..cf46aa2d88e63ea8a6190d2428c7c52bbc3929e7 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZRZ3>iE@x29V$i8#&?sV1 z&1E>gXPrS4gM2)LUM+)iI)iK!gJd9sm=^=D8N<_#n+t&&XL`CghHzX@-k}f|mzg=` z;^6|Nf~vwrolMNm#}*wp+0+);$m63uNyjy2YLjFPa~aDn-5{?Nj^fnh&;(wtv;-l( z8+QdBJv%ocOSAObw#^-u&5IT~=ap^fv^?x%*lN2y^v)T{Q>_wWDmq+@Ml!o(VwoaZ zCAmx|oza#R5|LP9HRFi3@9yn}1t}{%XYDAupKP&E$s%&C@^eXs6U>?$&az1K0v*ZV M>FVdQ&MBb@0OZJ5sQ>@~ 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 100644 index 0000000000000000000000000000000000000000..85227d8fd636ace9592070a2f7e86df531dc03a8 GIT binary patch literal 423 zcmV;Y0a*TtP)i&K4LJ(h4fd|)}Lf=h&H zLXT)Oby_pmu656)Y`~XZu7*#Kb4!G4MT>1goOVBpWiV}2FKSRK-QC@|u%qC!dc~Y& zzLs61d_{+CM1p2Nz__cUqocE{p6j=Mc6N54fmoDxPm^{|mw8KwZcBJ!K5tn$lWaGU zYBh#mEPz=jWJ@J{RU=tkP^|y}0JKR&K~xyiWzI#i!!Qs<(JxtGvCM3T^TSO0-&i_h z-{GmQuJfE_l-{oE`T}5=5$C4V3&q&H0!WvEqLgLXY__8{K&+!MG8kioLN@@6 zN>kDk@*aBGOD_RVl&R|knQ6>5Cjg{HdNti|CKb)I1AvErQM3I&FVvh>0Bdbfh?>Um zAmA$iTLe&1C`R-A2rxJ}fDLU}me>LiC%WV=gmA9K@ef4uc|E)2k#quJ)ECCe4HTG& R7=Qo(002ovPDHLkV1m!~wG03N literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_inside.png b/mods/default/textures/default_chest_inside.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7b6b13270890618c6a6332eee1c6c721b91f1b GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!2~3yyw0Buq;x%9978NlCvUkPo}j=vVadU` z_{Ppg7lT!aA;@D3{h6xK;WWK5B?*(dP@O1TaS?83{1OQEB B9=-qo 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..73f46c7864e7878d4724cc166d9035291eee845f GIT binary patch literal 469 zcmV;`0V@89P)3qathbYJkPalU4KY$ zo(v(wjJkwUVo50a8i}pw7PnfbP?unvz=vBQjzdT%^Y5WrZN2=?)vE9Nn^kk4O+BxW z&T6L^bts{$4D~S)P}eN%+kNse%wn2hF{)00000 LNkvXXu0mjfS`O4= 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 100644 index 0000000000000000000000000000000000000000..44a65a43d3c3f2ba44bceb519a0696e1ba441800 GIT binary patch literal 375 zcmV--0f_#IP)n`5knO{RcJoOVB!a5-&MFKSRK;In$zuXoa@aHD)h zf@VK%ST=rFCF{3-pn+J3ZcC(oM}}W4WJ@JsV)uan0065=L_t&-(`C+A5`!=dMbXH@ z-MB%3P}BSV*B6mr?&lfJ= zdsUum4#6X1C?EZJP^f8bSOa-|wF`=iC+qn|{rj V3gJ4$MZo|7002ovPDHLkV1iD9pBn%G 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 100644 index 0000000000000000000000000000000000000000..f4a92ee07edb9c3b6b8e33320082ca222656c252 GIT binary patch literal 423 zcmV;Y0a*TtP)nsh*fXFYILEX|{8#G7NJgI1=1NtAU-k#a-k;In$zuXoa@aJiCM zwU1VxfK#S~QIT*zdtp40Y&wEtIDB0)iDE8wS1oK%C}&9`>$iThkYbm5Q>TGSifA}x zPAvL-GKl~H0KiE^K~xyiWzRxw*Esw!*@~va+(l!NIt=xTK_{sHmvS%*@Eh$i&3N9SV2v0001+ zNklQneCT(_OnzR01!p!S#hAKXaI2**M1dng@^z_;hCoe(Hk)UDB-0s zS`JHi07B=R<6C?RM7CPfjtEQ3=s0CA8(!D0&pnE;VmlL{0AH*o+DMLR=egdl?v Wr7hHDcZtFP0000`+rX zT|DD3P>Qi6$S;_|;n|HeAjjU*#W95AdUC=6E(z8JTRIjqw3HPxZalE1gJDV;n~{ub z!xq5_iA;+`8+lTN69vv5&{(3ggyW*Fibg}0o*x54)DHHU>yJd40*zwuboFyt=akR{ E0ObrWP5=M^ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_clay_lump.png b/mods/default/textures/default_clay_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d0220d4bd4730307d8f5c51508f1ba29b89067 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=9Wf{mYjxZ*Om(J$v@n zty}l*-TUQN|52a>V@Z%-FoVOh8)-m}gQtsQ2*>qg1wjKYF7AemG{L0?t^&>~p{Aak zDk@@2mMmdP;?T5|l9Fn;V#UeE+2k^VwN<9|;H_3xUe*t@_!-i7vM!ZeaO(`vECx?k KKbLh*2~7ak0y8N9 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..faf0ec13de983c2e28528138705425868155b239 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;M1%mmiTn0pxOfx;Tb# c$R;ZY0yzc@j9kw>M1U*?Pgg&ebxsLQ0CUz5%m4rY literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coal_block.png b/mods/default/textures/default_coal_block.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe9ed936f1e67e3f22f49b0fec70fa8f580efa1 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtFyDSiHV7=t*yPiy``n4 zxw*NktE;A_rn|elg@uKemzSQNo}ZtetgNhpf`X{1sIai`M+E_CC+A=l`mI{^#`Pe@++w hJ0AT1Qvev%FqZVOtW@6i&lKne22WQ%mvv4FO#n6?Q?392 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coal_lump.png b/mods/default/textures/default_coal_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..792961dc7ab876192537a15ba3ffb2eeb7167e31 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=3blRvsQ6j*gBdCMIEF zVN15;1_MPIOM?7@862M7NCR>#JzX3_IIbrv2pVupJ4-k%>|#o2%bZ{|A?t4)9A&iud+#4fOMI zb#jP_3~ys0h=VsK%ssvH zaMweD_7#tEq!s1ZlG9k#ebbWJ+FmbR)TiW=eOhu-kfa3DluKnsKDXCw-Inr5#gL6N z(UCQ5`ZOCh$%ia`OwA1pZ5IL@RTcH_2DM#%YSYw|)2qZIG?|Afg7>PL!IBPxw^4Dg zln)$8IPmD^LaCfH2TJEQt_`j%HEecpH|FXVgMg*7oBp)<_kgZs N@O1TaS?83{1OU$zVB7!z literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coniferous_litter.png b/mods/default/textures/default_coniferous_litter.png new file mode 100644 index 0000000000000000000000000000000000000000..da340e0a6ef0d0dff2526113dc2ed2da6fae0401 GIT binary patch literal 873 zcmWkr`%)Tr82zEeyT;bmTGO;mYa1F@KoCSO%WZ*Ot_v)CVYy#~WnsB07$x37)Fh@h z7?ZR!oyotQ$y4+V+9&7(G!M|3PB$~(`Of*y%=gbZ7r5UwJGDFo0GP#4BqZ|u2TY8L zTefy541nY>+)Fs@s{2muic9wZ)33Vq58VcFAg@8@H9#KYs@DX0O>!T+=7SYDtn`@` zezQDaQ3NdOL8}6{s&MN@*s8{D8zGxAXj6yn>tVZ^KvX0mCmqU&LrpuCq*F^eb(Cw9 zbm>V{Ph&a;+oCaJ)U9Vd2F7cO`7ANNCE>Rv1Ey?Xb333-hpgFGv!FJNV zm$Wugcr8sd(}7xsY-S^^9NEd?t$ehTC-#bLuZZq*%mGJtOH{YSJmOPbo_Sm*56h7O zk98}_lM2xj$bOCK*V#dx8q}H7M*OT1J8wjL&D5Y7?>DpO&DdotdeMqswqk>wT&v;IOpw-0bIHvT=Cfy z-Yy(|vw25W2hxv7XXfcZlXt47b(&KFJU`V`K0m?Zt{3~)Mtp1%Y{R3pYq<&C#mD9y zz^DOVJ$tR^E`$|)271`hl%9g5^kb-fFT4IKWtsVD7hMA~>IcM|W^Rg(zX)PsU$Lw4D|X~T-!Cab`CK^ zcS!aEj?W|5_K(h(U05@;8aDt9bsikW4z$KLq^yO1`@oPC7xz{Y0KL_NA{Vi=vT0cH z7>o>b2tfVR@M&UttX}|w%kwioK0qBG?)%y%$A$zS`KF&Gxgl!X4V-od+Ji#woM>Iz`sN*H9tT`f6g7VmX zUsiRpAOemKh1pnPPNU-2EUdg@Ubs|zv4fmHdAcfhg^=%wj_uTXTXo5(-RLwN3@wNedLL}JbIl@_IC`2($u3iPDjh5i5l002ovPDHLk FV1m!dpBn%G literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_copper_ingot.png b/mods/default/textures/default_copper_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..bcad9c05e95157f0af90391148332d4452f0887c GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E08Ypl-p6H_icInlV+7S zldKk`X#H61`F(ZT*Ud?PHpYKg6}>h`_e!-&eW1eoHHjal*-cAOn`-s&4NxazNswPK zgTu2MX+Tb-r;B5V#O1l?y!jdwcw7VHxu0sE_-CH2Xli)o%h_|j?6!71H%{F7kaWth zh^Z%LhVbbR5pPnLk0lS7fCmvHxiT@lSwoFo<21pIl%%xakh;W#hagcBQf@uGwM$0-UAN8ckLP}1RvocCf zAMqBxR`0PQ?UPo*-X_(+geP|A0&8~_F3FNfkesPtvHtMpHZ}2QQ#{QVrpDhB<2z#aJT{nLNnv-) swEZt`yzW$fzoSTO@pI9A$J@Rzdwt-2>UP-04d@>RPgg&ebxsLQ09q}YHvj+t literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coral_cyan.png b/mods/default/textures/default_coral_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..11cc7bfda317e5084feb4176e4647b86eadc5872 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=0-LwlPed%i!tBke<(= zqQY?d_OD$9uYux>B|(0{3=Yq3qyag}o-U3d9M`9w+Q{3WAmV!Qdviqn)ClfEh6x4? z9&0>1xFsI{Q}%esbnlfI`~Fw+^YsoNnIWn5amC4u3kSYCRx;)!FJVZM(qUQ5xVLx7 v#Km5#jRep6-p$+WE^swmP-ltGrUys3_a}4Z?d!Ht0y)al)z4*}Q$iB}a$824 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coral_green.png b/mods/default/textures/default_coral_green.png new file mode 100644 index 0000000000000000000000000000000000000000..847c57216ae5b2a4236309db7459619db1bef2a0 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Yk*IPE0AWm&A^b$5Ob1&p@Bj7 z5<}q;1_m<*ztap1lNcDR7%VO@FgP%zA7$v=&meT2LFW>K{W%8bvkYm+7#KPk7z`K~ zbQzLA{hACkhp{BcFPOpM*^M+Hr^D05F+}3Btskclvmy`I$FjR`@BX*nnvgbY1vAgV z8Igv~=k^QftK2b{OJdsayzN{x@1{AAqIW7Sz1*>uL*VYW94$-ra|TO~$A^FV%o4*Wxfekm4?l`1r{P=I5TXn@%Xv2N=jXUkN7-bLidgM-!HYzf(QMmdKI;Vst0Mz?~ A4*&oF literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coral_pink.png b/mods/default/textures/default_coral_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..62d70c6e8ac4881f0cf852583d06e51f8b0bd74e GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=6<}CY@lYKcQMbiNW&{ zL+3g1)@=;AM-{5~^Os&@=shdka+b4YziQdhg|;?8)r=)Ue!&b5&u*jvIc1(Mjv*Y^ zMNgmQJmeta`mp%^gY%#KgbIGMNON#JGBV`t5WUeO8_^(pqgnLEMCJRhboi{U6|f&M zI9|jip)Sj_;pNSxEN^B%WU@+(GZt|d5}mT?E1TsOi-n(qC-W-v$DaKE_o?1u|Lo~5 mai*ePdBtaWpWM6pjNQ0{hkeuQtD8EUp_qCJkw?tPz`5+M`SSr1Gg{;GcwGYBLNg-FY)wsWq-gXB4EX@Jp0Kd zpis4^i(?4Kb>5zXyoVJ8Sj<-*=Gc9&AD*+;Rvr>1nG7s}|5AzC7i%KB! zvZ(U1sPnO|^R;gBw`mQuYXhPnAhK@{w(khG?+kY633KWVbL;~lr@nBfejti)o)FXQ$WadO0?@#5OSLq<2F6UeMXG?^jP;&S7@Gq*%)i?+7#Nxz*j)5wM&#R)ecndTy3*zu8kbvgIs|c? z(POdXsq>us@b=@kr%Ma18XiQZX}-;Uzy7*yYSYgW=Sf<@rJfsJhMb%K?%sd3^QR_O o&F?sJu*bCg*5k9&^s4^vdMb6sc1!X(pvM?IUHx3vIVCg!0LbOX8vpv$(>-=u4l@i zVa=gn!j@asuxi+|Y1go2(W7A7wQI+oUD2#%yp>+Okyy5eR3N$$qyPW_yh%hsR2b6@ z!Uqz=APfY+lSJ%k(JfnqiCg$auyV}>hW-HS!-))U`GAG zt##cOyk`I-RcDXuvi0-c8QZ+G3tH>&q#6!Fn#;vGrHc$digUA^IZCPwU;8h2<~ z^r0ECM`y>KoSSfbUhL_4@uwCfo?V#W|MB`opn9H?AirRS{|LZ&BtQ))KFQO?F+^gj zY=5Abiz0^;>qnWVZ|nCv2g|R#+mMyM|68{PYJOuJ@iByxrF-{(Pq#!X($3X?*93J>!o)n}qPZ;+=0_KQ}w-`0ShD zjR~$_Sf^iE%(7yN?0!+@g$ITAmKX;*Fope5{x_-h&nNNxmXCK_ Px{krq)z4*}Q$iB}e|B}q literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_sandstone_block.png b/mods/default/textures/default_desert_sandstone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc54e75bc0a0eab48724341a18f42a53829c327 GIT binary patch literal 587 zcmV-R0<`^!P)i_Vr7>zrCP4=%i$R zRQ7}9-*;aNLa|tDC8{{5=X;eg4P*P*9rucxqxvgn@>QGWMFS&to6_`$;M8)n* zV{XSSG1At8ybAhjR{KuV^AY1&Jw*g+F~WIEdI4t^U|r9??hh#Av&1RpnF z03$MJgB`Y8m<|K;#i7r4$K~}6B@{knVipu1n2whFT6kJKi9+&)-gbBwvAyQD1b$u? ZegUJ`SZq;McX|K-002ovPDHLkV1kz<5KjOA literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_sandstone_brick.png b/mods/default/textures/default_desert_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..ab58db52350591442c6a84101fa9fd57c84a694a GIT binary patch literal 630 zcmV-+0*U>JP)evs_wbs z^FM!=<@*b|fksN^wJ`RQU(apJkOJe_kxF8-f-jHH=yW@=ouBAi$!RMLeZdC33+Kzm zbnMZ{07MUVxgr6)3tX;_Y~3!hHljq?KeDT58Wh21l++lb$anXw$!cnEG{ev!wcvbO zaWKES6BZ+K_tky_A= z3l9$uxLa*7pDoj!sdYEU$3GkN`S}s=0@Ja_+K5krX;7pXIlWwQAK&B7-?(grX;3^r zC5WE3YpMs{1=_Bu?ivlzGcO4xHDfOkrR*6wpH_yxkYmBSfH4{kU>A=x-Hz(#aW-IG ztXQ?8RfS+PclQV8C1F>Oo{l|s^+4jXDO%wxvMr*!iqnTgjuCTz*m1T>VwYGaFo(8c z%9)5H*o@SIcmt$lI`+&RGCk{~#iSa-)yFFbTLnI_w4>|@NHV|Po*n7lm>E#UxJN}zWzL_tjIsHbpG5e&N z=)ZQ${H`gqx7Q|Uh@M=$G5u1|jLJ=OYdI%yZ+mES?MnE*Q)OO1jbHq%)VDgjZ~LUv zdY5;9-S+j>&YVS3UQd=T?B?pWmme0-1o@r8)78&qol`;+007KyjQ{`u literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_stone_block.png b/mods/default/textures/default_desert_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..9eb8e92434f5cf377adc6c24624060471499373f GIT binary patch literal 4368 zcmeHJYc!PY8XlFLB_t^t-TL;Q{ih%M$6m{`*7LmYb3fO6z1MTCd)@2K^}~6n zDeEZ%001>FPjrCnsj)H@*UDCNs||PnKt3}mkSGWsCjhxT4ucg<2MQ9obRb>GVgLZb zp&CMzbktmR>50XHqGwKjtgtDPQ}>V8@3y4jZ14@@Sd(y4`gn<+hd6EdZtrhjtqaZT zcikKpwR=>dapUWpoEuE6MiX9+zxV7N>tnV}ZBiySX(IhqvmMho zrQc{vkp8mqTS<9Z6Wlsf=&+UsS@7-~q}fF=Oa<@wNx$^g*rB@{qwb&5w^oR@o3Ob*yOq|*Yd&c1F$?JQi781TqD(<`$&1{ImsE`2L({q4HG4@#|kZO_P~iNys9uxG|cOelrUd)DyGNmL9es{9LlAfm_?CyMJ%?1$}0 z9Bm8v*u2={QMpe^Gn(6SK!f60Se=nII9^47KGemxRw?1l4&pv}TJYhdYmdQyY~x8T z0{7-=hlGAMDJBMtMegXjcWW|84c6Ct!SL7#yBDEzR@Vol*`c>3CZ%_V$F6eQEcN?z zE<2N|75MiUhjgOKp<7ay+w>%_K3ZIOl>0%H0o7SEde=5R>s@!5x^ZiHQ+HXx!Kymd zzK(d_j=1*wr|c-n&)&|o4MP&~!OJ=J%k84c-aofXF5+HNX3B4Dxbi%8=2*+XmDYlb z@Xc9|37X!GUd?FHjZyU%_KNv#YeuB(Pw_oKq6T6m&cMVf z^EyvsTU#T;fo9Q6rnQsV+3s*%j}(zQ+?}UoBr}YLJ*A`t{jCzhMp{RO`_WKZuF!6 z*7xRdbB3mFjluD~>C;x?)H>M6^_qUYuKkCL(o8>ksX5{^fn9>pXE=j$-klM~xsuuB zBRGu;dtyU%jC@gi2l>O?rid$38)+%$b?tU;zmIkxIkC4Rg!^W=d}?db*rK3_u&ndt;DM#q&JIHTZLh=^0kwjVE&gs(X()#9 z>zv^%y<)>$Q^0fW_s1v9_ivNS2?4w^OLPnVf*|>onC#n$-(42Gu8gBKi|_i~vnh!= ze}}T?*sQBr@a0!kccGhiW6i8BdW=Fc6Anb-Z}mIBAL^Pve9eFRwOHw?@Acz{QCIR_ z7hD!n@~40a!nKi!=P+}oZ|RKnXATdUis`2N?N9GiiZl8a_4vY#szl}jSU-lPrad3W z=zKc8>v3(G`aQ?Eg4$`q(ISs0nFTk7q=W6=*VZf>guyPQ$?5nEbQyZ|*2$`J_($a-RM-CD)1v4V{rL&PSncKJX-E~Yj^4S@DV{k}gW2qZ*l_OJ(jzHK zzj`vujXYo(%(lw~F`XB9pO?;ELRz!6AC+C5dISI{MY3e2pNREAP&sTcnZ}{e!9q4y zCISFJIt#gEY7|`nq|lkH7$?xj+xI{~7R?DnfMKn%TsL|I%QJ~b$0y+esYy{(2O7wE zmoid_kP)!y0y0p@j*j6YgifFzya?I*N*DqH{(uOgoIpgZAJC1%qXX^0c3^8OjF1&? z1KOnwMDl11L;%|TCxvY11d0#{xCjU&At3>rU<>B(m=LIgg9F6c24Z7lB|}*86JrEq zp;ZjuXoce69B4Y9%9AvB z{w9}jUA^VLOoJT7+XD^Ak=OT>ZIrm4Bt8J3qO~&R04GGcvY>*%3yV>BqoSatx+dBu zKT{T}@j|->>h@R_sA#qVRngUf4|lYfrsnyd?w$OT6A^yP*2OgOqbA!oG?qSioSmMz!=0hJex^erKqgWG*>7q90mdVyDowl2%*<}A8gONy$I9nk zg?!D^1lc^n2sq*+i`^g8FSK{;W%p*oyxDq=h20xZV!t*WAXqXsUI{aqMNmoK>$!@q smUozAhz=?5g|1~RydA!U+Su2+ecDsYaisL2kxV$i3xh+~qQdw63m|L&SO5S3 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_stone_brick.png b/mods/default/textures/default_desert_stone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..a603d18fb552dcd68166c4b3fa3ff31ac1da4580 GIT binary patch literal 4420 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass.png b/mods/default/textures/default_dry_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..03455c3f43826e931fb3f5f4594796a56e624067 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?bUD9Z_qRC=ai_Q8r`;DE> z+j`x$_j~S{;&)(H(BavkCl*DWU6FWYO) z^mS#w&nC($!d=lbD-kF(+tbA{gyTBn1cvYh7ML)4Eal|aXmR^K;5eHl%+WjVFimdKI;Vst E0L8FByZ`_I literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_2.png b/mods/default/textures/default_dry_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c925aceb891921ae4808b3489c77720f76c239e9 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%*XLirAtVbF z^7nLc43W5ew%1Xp!GME#`xdcm*1!L=S&#p7Y-9E;WBOB8BYVvC-L^FoFG-4idlKV( zUMxXs?;^M9Y*7hC4i`C;#9B{jp5!&*dbj=7e*JF@Y3+=s`x;iL0*z+yboFyt=akR{ E0HnTK9smFU literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_3.png b/mods/default/textures/default_dry_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4d84e4382a9eb2d9540fff6ea5ab6db738bb89 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%*Ri@gt@STZ zDA&`)F+}3>*4~3mhYdKK;CGAD*j$&SML>%gJYD@<);T3K0RT#GaYFzA literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_4.png b/mods/default/textures/default_dry_grass_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d315849e0b655c9908bbf278d1b7389af7d9e3cc GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%H&EU7@@gnh zsL9jCF+}3>RKG^SBMKbdtz6r9cl_VNpZB4v!Bc_bPqk2Bq*j>g1HBVT(r)2mYkOsO z?7Da%MN#^|XQsouk{7AYtV^k_zP8Bb&y1tJ0&7D3Eu({s=JH%HDbL{5wOUr==5zU5 z`M$@D?HAquKGt&mvOCLK+~>gCSuPW%ta`re!;WRYp79?qX60S(6EqL#8U{~SKbLh* G2~7ZCq=hj4BSQm47L-f^6u{XBF-QE^^cSrn#U2zY0CqCVm_-ucY!521s-)EC$Q4yWF`LZTZ zXr`x&V~E7%(0)gu!v-A8*V~R*a9aGY&wctWXXo0=g|w~^3PU9%6d|ExKuBd^Kp=JM1`|ugjtn~+ zQyExLg@nYwKqbV`h=s8WEhIEboVY%_cAWcgoIBewLzJk`^h(e0NWbTOq@TW7UkX*= zhcz761E90Jiyzj|b)8P9Lr@J6LQoV1v)PQYEU_$$EKN{7$EVqBva|g!ilneuE(q%l zvNT~jnPM9z!=nL)u<(43vN%Q4G;G%hHaQc z(N!GRqu=ck)I$Jl)8^pd0Oj2^rCoKZNWk9yb8OoIpiyrigh1B~X6200%OTaOkLP-% zSxWCk58JhoTdOTb>4;vxhaoKH<(x1G8IQ&|u18T6l*K8QWs&DO!=oYda?Z4vphyaG zr_-Ue+T!eN&dQY){IJH8zn@^+HWzYSk9ZUVpzAt*Si`kkvNS=q4U@gSU1V8h{ocd& z;eH24ci4ZiPrutm)l^K!CaOi;x&Np=9*uea-wrF+u5taf*O8C%WA1+SS39T%09ckq zMOA36wn!%_o1g#E9uG%kX>tzFwy_P9x9|SYj^h|Lu&V%%-~Zy*P2jvHp|gJPVf)9g z-)X<-7pyp1_adrC-fNfVzNmFK)EQny>^@Nc#Jye#Wb5u@{=4P1OOFL z0bqHyK-JXC4{ThCILUGr%LQ>9Gn>s&E0qdy98(sj%;pPO0?3CkG(Eal|aXt9}qlm&3HfCpL=E=;$6Eu$;VH8OVOn8tmu^=JgQ2~%B pC}i>C@JmU!5F*05DJWQiA@exPD#POe4M0N}JYD@<);T3K0RVObCcppy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_emergent_jungle_sapling.png b/mods/default/textures/default_emergent_jungle_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..b363b3cc3de03ca3d144bbfcdc9a88b2656f5aea GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a^>I@1byW6sQnpazw$%|5 zkrPlf5LXmq^|zD?DO3;#Dq}1O@(X5gcy=QV$O-gxaSY+Oo}2&#z6lKs<{ERe7*Y*p zs5w0KkzhJt#QBEzj6&oyhBWqOgAF{JH#2vnaTn?}yjs=p(mb=l$SXnV8D9WfHTRT* gZ9K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIU;wDcQ#}JO|qNfeH4mpUhT!>tgG&R(|qW`_v zNzNmeN+-x1a9*-?OZ=1Ny&SJK|K8@|`OLN_^lpu3i^TQZ7mT9Q^weFS?JW6{88U70 zOw-TzOdmfj-w--+#paBnTI=alb^lWsDidT+IwKlv3!jQJj!Vv8Awy zkaB6~c0{D+86$FcY`M0xE1{&lKb@X^{yG2j$NA$tkM%rjec$@6_j|v0z0X>|=Xc57 z)m}+nM;-(MDLFdWdIC?CjV`kV7=Is~1Ol?ySnp$ePm%z_;j*bT1_i>8;ZPtHA&m+G z35P0t=)F^W6+erNxiT_x?UBOlvJpt9+k0Kn!tkhfhxyj0@weV+9t-^Q^Jw3R)g5~G zxw`H4i{_`{jp3@6H)q%nZjIL8-S!CM79AC&oelHD7_8s#FnakBwX2>Y5=Cot``P!~ z@HO@E!?=~xLDrQ?cXFcrMEfgax<-4CpE3GmTu?UyLhdKy=ot-+_JR_vWVt(aU_o2p zaPZQ+TE41XqUhx>k~pcwrJyPaZSZ$fb>fvlx+$&qZ|{s%K9S|HTy+T!^@ z`cc1!)ab4l$g3B`h!S+Hw%q0GdJ=49Jif@FLn9LG3FG)gNfjK|BBU#F7*nO5H|++( z6*LlOdnlkfRIxUOA-!5;oS;5{h}iowyu3zwue|UcGEYrGsX21>fZ-nj;N40jR9i}& zQyluswFOw8-?hW(SqU1G=s<~Fk?FvqwyaI5iF3>Z1|B6zZTf-U3Q^9M1@FBvqna~U zXo3+w(C!>E#yKU}1S)`_t5lgS1Wa!}?5dGo3fQ*Aqs7f;s>AYXD+rZGEIYfCj(d{c zRAJZyHtWziC`qZ1wM7z*;&a2*o^UT07EH+K5E+BU)Medchq>?iF`}`xi8cMqb4qZ| zAG>70D8uT>#K%r5>HCax!>f}bmr$kqP#qZ)W~8~qLGW(R?!CjW(P0HgvUGX-)7&DH zk`aXtm-Za>ViG?3o=7P3B)ez@ruDvpH+|NCH%w;g)b=xYsd?-|$7B<|e$8^x9kBur zf6p%Y{`2gezqKWpXCHa#MR)XKykEuVzPd+Orhf!) zH&pqO2@x5N0YAm(boN-0U4*W1|M(j*&8gJZ6m8#kuk70PBooe>!>}tq%}*>>#I@%d z?XdbV?>ASl)OWI0ow|Pv%XyoB4f*IUX68$hAln0f;oiWP(z6v=C}Lc0)QRD+j=lQ z=*ZjF$TV{&F>?N6V?D#S!nTOialuq}w_#+v-a?ug z-?yq6nckAM=M1+3L!l=sP=&f4I#bFAoT3zmz!%!8yzCCeI>N&au{%qIaUMtYkq^~H z8eYZDAP_i$2ITBxF3y%@HWN+?WrtAULM8_g0Rmz1LJo;cr|=;mlrS0#2VH#F4294_ zaZq1#7o-d42qm265X+@_#kzWvW9ejzP$=F?9xJp22$&Q;2_j@NSUgK14*HeX5_sPT zBcPD45I!9TJ?7#LIl|^rAZBngIMRe5q(!5lR`L)mH0e50+`{T;e0;F5`hp1 z1aN^VoXrhGpe!sb5J)rvjWz)gCcGFHpCmM40apc}_&0|wg-7NB&e7N`$Ob1VgdN4l zL7~7pFp0P+Uqi&H0Jhp+>&(OmOLq!blvUit{fKEjYt~D zUNkY6D!~9=D#Xd&7IaZo&jFZ#IS$8pAdrIEMwbHRUe^YK+xU(ygl!WF+tlQD2E`>l z214f?ZLPiK1~igU^3o`ETchA>)arYwHGe`+NKeZ=tnj^nv?13a2N9MFk!yUWuCMzbcVBms zaK>vZj+c8~ysTe$JowiAWd5bQX$dpTAL!nG=B(7AbNd4GGM(72wj;$aBbFbG=zDkX zO#XEr-TTe@Z633)CYk=5GsTA?B}}mKI7Xa3%Q_ZmbBZJtqYQFvls=l+>`)4-BUj5CiVJH_AX>9fI(u=7R`@MS$ z!tQvx>?+<>x_oZsB-f8G(q1W^C^v|j{JD6ugz~9ntXI0h gRn$^wUH(M--J3)mdKI;Vst02}LGZ2$lO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_rail_acacia_wood.png b/mods/default/textures/default_fence_rail_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..64dc90f121118a8207219451ae5d1e6e1f18023a GIT binary patch literal 444 zcmV;t0YmZD=t3O~ixMR!qy`LBORdre zt-~edGx1Efz31I`&Ush3xi|p;z;~TOHYNK4fX-lOSiDuqb1`_EOnodNTon&wNx(X4 zDl;rjHFfzspig$1lmR^2v$Nd(+97LHKTHAe92m{z1R`-b~z!18AG$Mp+|E_}4={m%KME(!J@SRmo!uTnqq&EiMKm0RZa^ zh9oic2cVkGP`KfUki!5RCnBWPRoGpBRESGq3>)wqn;8~2EORyThtGK>jkY<)E-c<5 zyirD=C!+8HpjpiAH~^rmrB~zQSOn7h{?QXrYH=~>O{Sh>vuZZ;Jo()iQ;J0!Weq@Y zGVKn(&h?ZWkvzw)W;4QdMccl&Ssf>m^0cO ledn4vSDi*PXyFj<(jTLFFTeQ?XRZJM002ovPDHLkV1kV&XEXo+ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_rail_junglewood.png b/mods/default/textures/default_fence_rail_junglewood.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc1ef06a14f45ed06d6be169de15cd44713f7c9 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYl@?%-6Jk^qXE9Y~H&f-b z)Znwy;nv>_Lhp$N+b&&1@Z0x71~e=NK4 zmUXKM-=S}DN6y`HHCP+*Wd5c3FWV}a<6f8lReR{vQ6M*gcc)flK!weProa<(SCtw6 z$Xl~ziN519pTJF$wR6sjF(|Tfw``yFD?4PZb1tiW(Z85^!a05it&M-Ly6wtx>s_(U b%72XiQqJYD@<);T3K0RXa;E`$I8 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_rail_pine_wood.png b/mods/default/textures/default_fence_rail_pine_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8d99d6aeacc2dd0c47e8061a3f31043499dc62 GIT binary patch literal 235 zcmVsf>m^0cO ledn4vSDi*PXyFj<(jTLFFTeQ?XRZJM002ovPDHLkV1n%TWYPct literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_rail_wood.png b/mods/default/textures/default_fence_rail_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..f84b755b90e33be5a9cf0e8810963d6a328aedd5 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY4YF4bcUDdI)~ZV|XiPS4 z&9rIHw(ZQeom=U;u+C#yqt|Bj4kMuA22U5q5RU7jrwzH73`JNjcqS%K6-Y6?{$tsV zx2#)D_zr!GJ96%ptHIicC-X1Of7w>a9QV5Xui8VWjsm#}ygRib11fATGzFfRyQ<9i zN8Xw(OY|L=`2=o~tetaKj6so=yJh>VU)dpRopV|3i~hyT6VCBFXl?v^)ooXnTknc( bR{mrBm!cN;#^|98&@Bv}u6{1-oD!M<@|Rc! literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_wood.png b/mods/default/textures/default_fence_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..1e76430d2f54f3b259598fb396df4aaf8b30b39e GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYZOyb<*60=PtXh{~5M-~s zu+F0~*?4ZHYiG7?vbR=yw(ZwzhqeM0H+Z@@hHzXL?Kb2(w_*wCU=;m z*XQ-k{~ai%)VSJcr}BNjhrXKIR?Td@5te)P$>Od29Stwu86PUVs<^v&{qH6Txu9rsuxyb5nf>uTVWPaWfoa&kyNFh zRI4A_WE5L(9oB4|(yW)Vre}9T756};cB|(0{3=Yq3qyaezo-U3d5|@(`B=#IQ za){3(ih1MGg@O?-SFcQSboB2%=;JKE%FX+vm!CsGkO$Kt(=fB^f)5`(5WBWDa3lLC z-ijM3KSWKhZauo>iDZhSmW$*O%gCiaZ&WJAa3rLqBsOhea9GFw@45^p6VNUOPgg&e IbxsLQ00R7XrvLx| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fern_2.png b/mods/default/textures/default_fern_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5f7d544af1d0485a97cbc478c16089ece8e622 GIT binary patch literal 691 zcmV;k0!;mhP)bPRc|d& zaWGDDHCJ&aM|C<>ax+qMGf{LhQ*<{|bum_TE>?6nRd_X1c`;RZHduKzU3fNLcr;jg zHdcHzS$jBQdM{LcJzIP^T75WKemhlwGh%%&Re~~Ie>+x#Gi84J%H+z^pdz(CNowpg?+~NqeMHcc)E-q(geCWqYkqg|AkRuTP6A)kXjS z00DGTPE!Ct=GbNc006^DL_t(I%VS^|1*2eyg81_6b}*x%7DSe$$HbzkXwu0|Enr}% z$#eH*V5m$q@kUqR?3NtS!oXk~8tK8{km4U3j%iC^zI|z+m9meTk*kJ2hHPtHV{uua zypyn~rGTDzNOW}ts(f%E literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fern_3.png b/mods/default/textures/default_fern_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1f605e79efb7f8426ed8200077c3beba757f17 GIT binary patch literal 1172 zcmV;F1Z(?=P)MiW9kBPB-{CP)@1NEIna z5;a5_D@YnQMH)RtBrZ%KHcKcsP9`o=A~RAKJWv}nQXe`{B{)$bF;*HnQz9}}CrnN& zGFKx^Pb@N6BtBInGg=%#Rwg-FAV60qJz66^S|&VQAV6FsLR=|AT_-(XCq-T&N?s&G zU?x9eCP!c-Kw}+6U@tvnCq-f@JZ3FMWF|poB|&BCJLNo+4jY%)%3FidPROKv4cZzoM|C`)fIPi`|uaV<}8FHdkV zP;f9+Z!J!7F;HJemGfvJ5_))Vtp@NemYfxGF^W=U4S}PgEMA-EMHD850YJ)OfhB;t`K3#@AR*5!ahBjz}PGN^UY=tvo zh&x}1Om2oWZHGH#iacG7H)D%CV~aj$iaT+LJ!FhMWsE>=j4^MEHg1eGa*H)*jY4IP zKyHmPYmGZ{j5KGCLu8LdXpcc^k3?vYKxmIlYLG%}kV9mVPjHV$X_7x@lRb8iI%$$d zXOu;1ls|BjJ!_OhXO=#3kz8?>7*I&Pjube>6co=Sh5L3N%?f1N;dphtt8LwBG;e4j&lpiF+D zLVTh?g`hxoq(^$ANqnPAd!$l$r%HFHO@*XGeWpu#sbzPrM1-kPd#zA@txAEeRe`Wl zg|AkHuvd1rP>-)q#r5?F00001bW%=J06^y0W&i*IT1iAfR5;6HU>F6XfHd&w`TN$b zaNb8aYyZ&;=OC=F%P#L(@d3hq`S>n`acawg+(l5On;D)toj$nk2#|TZ<4|Q2kiI@~ zRb(B*BDiVA^i)JG^!3NuGRt@5#oKXWK6t7byCvC&{^aYfiZ{|JK!O zQ2FlrOKpJc|boc&RszW=*qWnXUt-7un`bR zZ9X1o5v&!E&$%mz!3ZtD6B(RUtnA~LYed`e*7`CiVTlt@hA3s896f$jRt7E{(I(Ev mB*x9cCWR+v8QD3QQAGf}41PZ|#X6e+0000!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e487C>1^`N%@F7JlYVhU{e$<9%FB-Z z4>X-kQn*eeTujm65HHo>^L-Pr{atSPqkX^M`-xY)pP6JndDDMpfjG8Pn`}P!8ru0@ zcF<&Xh`s(;R3f?NTS2?wF>zNzzk}aXEPp@R{ytx0>qiFzt_z{liq1VO_;Xue=^W*! zOt(!KES?`@w0aq&$B?mx^}$a=<`4Ev42vw-9+d87Q#k*5weFX+fKbt*Z%x-`-8N9^ zTXgw$fV6FcK+~}(yIa$iU*%$0YkK>xoT5uU_rVLgDxQy~-~1byv->tP%XIn7g5GmG n^&URq58c1&fw|ew8Fq{TpA%az-9K^;7zhlWu6{1-oD!M|jj+W38K+H|Mgu`Ddf{;XIOn|Q70c@>q)<_eA$C*;pkD4^$22rkP_MKJ z#RC|Iq}z3Hdmio(tbnA|=p$7HjNPO`UzrVZSl$HV0dx+ze?0~LUyy($3Ws>W0z06;LNbFfvyE%uq!B>=Uv zXCk))PIvFoi*2OUb|$WhM4Wu)CY{fSQSD^E`Vn5tnHITR5rAkU{5j}(-pGLTyC3f- zzY|)HE(o2=dUAYh zK~7dtUQT>Wl&7n+vx9AHRD`3QO-5>RT5@7tRfV^QtBs|(gYBgyK<%?UT^vIsF30wJ zPdZ}2;e7P?jfBZh{w-JucD!2Q6VB2}a0zQ*v z`OUU*S0z?mx-9R!#9Xwrq?+xCnW~X=!PaO6@2Qf{@)qujJ76N!x1H0jVcPeFk6G8a zen>C5%y}(|Sx7ml;}3WI3h%GGRJLr8nW`~UJ>-p6N}}3!-Vay0n;ull9DM)BUQCX4 UtCL<#Inb31p00i_>zopr0RACpVgLXD 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..126204a31084b89ee2fa9d1878c9dc5567809764 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0B(gisD};KNrYiED7=p zW^j0RBMr#W^mK6y;kcg6z$C`TCd%IS#FgizCeQn~60cq#cwv9IKIKdQ!hiD3Pq-Ok X?1cl1xZ`F5H8FU)`njxgN@xNA-_RnB 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..63888f3998309f931aaaec38dda7bced3a8e23dc GIT binary patch literal 558 zcmWlVT}V@L0L71Pl?_+EY`e=AB?du^BAOCp=-izf=rSFci_mgK^nv9UN~SZJHY&*n zQ&vHrI@gF?Ek~eaMoO)S%v?)ssmz@7@9u4m6m6}C^E><=&oSj{viQ7BJOF&PN|6`s zg#U@-M7cw{F&~K8kejWgqsmOdD*!uzIX6N!EZ)UJ2S@|R8<1C6cnS6qNGq7@U`=2z zB25yM5nLSayZej&mUEcp=}0~tc7AG1%fV#B-ztQny;FpXHKfxiMw34%Jz zYw$Y-M24yDV3IIN;hqRBB4ml+5MVh{!+wBo7$GM@c7!b;_u(}mY(&6_Ndp3vAmqlz7cw5?&dmcOxjp7b!>*{z%{!))yUMH1CN|9uv`bRzQq!+p81V2Lf|X5{bzIlXoj6k8&CT{4ILdLiTv{%y zl|PonN5Z{ZB%^$3v+{w)5o;*@-mOwQ{2edG>enaqwb4B;W@WWG`S4d>k#$?&j~mrD z^^4Dc9U4#5Rq0aI`;Te!3d$1gJO5hR75iq`URh3rwiWK}o7?B>11T?RF+Q9O|sU;YO_9qXq6 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_front.png b/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1798e40e05fdda861d0e3de85fa88df0d4bfd8 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Uw}`DD;qOYa(t|ZixW^FD8Mf@ zDZVH#Cnqy4GBh|gDk3{QwX`rVBQ@E{&L%!4%G<+LK~A={u`VGtIyxd$L`bl*v?wn- z(@N9{Hk!mgZ=~WM*SvU|m~OQBP4$Oo4rSdUkVma&T^IX}3ZV>cVMP8j{T6WN^*;)4*8P!QvK3YA+3 zYd!}5`J4UkXZp`F{kA88UK_t-7o9{EgFO`PyA#@g6aB>!|Dq26)CqD(2wX7;?1lv^ z7XktS0Pog==frT|x?$CzTm0HbdS*QSz%l2!Fi1KinS3K#Js)aU9P6GG%3~Dwyb{oh z5vN-bm~jtbOAr0=hVImU*wB6d_5?CzQ4s%?2o4Jb zpZ6>k0006PNklaumE_*SoauA9oYV*eU_?NX2VEk5x-G7}Kt-?RxZWk4U1}^f21CUCWEShdpr6^04Z* zHkSI&qh8}Z8eI>Mf%j;ryB_YxmWQj}_4xAC@+j#~`_Logbv*R+;dgj%p7-I8=6vbr zeT1XOcm3OkI`P}#%{lVh#v;d56{2q zbVv5S^O!NHE$eRcgTot|}`)zeaUM2aPsXa(6@a! uclLYxhy|;bo<26?#YCj1kG+Hc^!NuF+_>_!=^0c20000Y1sgN>y*x1#9< zpixUaT^vIsF3a|DPdcK&;UYaD{>a6YZ~xL`jn+?TYRWqxz+ad=dx?%^Kmn(dMmpzT_#L>2xo_{*++$s;rg=w1d-S3j3^P6o2=dUAYh zK~7dtUQT>Wl&7n+vx9AHRD`3QO-5>RT5@7tRfV^QtBs|(gYBgyK<%?UT^vIsF30wJ zPdZ}2;e7P?jfBZh{w-JucD!2Q6VB2}a0zQ*v z`OUU*S0z?mx-9R!#9Xwrq?+xCnW~X=!PaO6@2Qf{@)qujJ76N!x1H0jVcPeFk6G8a zen>C5%y}(|Sx7ml;}3WI3h%GGRJLr8nW`~UJ>-p6N}}3!-Vay0n;ull9DM)BUQCX4 UtCL<#Inb31p00i_>zopr0RACpVgLXD 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..74d6a025320dc4dea4de520d3c88f08597c3649b GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Yk*IPE0Df<^XA>Vckkc7|M20% zM~@yofByUh7`%G*>dl)s@87@w`0?YXPoKVg`SR`Cx9{J-|M>Ca=g*(Ne*OCM=g+@? z|Nj5~|8ip4BA`JWB|&~5gTY|?^Pq)5MuDe`V~B(#>p?~)X9EF-4GUt^HJ-otKY!N| z(eFQ8<2JtidGB`t1A{XIL%(0D*=x~Eg=sUF&bhH>1@rt>Mk-nicbOSV;u#VmGDTc7 zE%t6nJtQK0ssE*pMsD_!D;x_Z3Nh?>!*Jkr$LDi0w|$*S|KndlzUPgQu&X%Q~loCIFj6GKByD literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_gold_block.png b/mods/default/textures/default_gold_block.png new file mode 100644 index 0000000000000000000000000000000000000000..170d50be8718aa2af0b56b059c3c14dabd206882 GIT binary patch literal 483 zcmV<90UZ8`P)wEcf3h_0uHu)gtT57VOUz{p~yZ-Zl5zF#6vv z{M|0~*e&tWAo0;3=)VW3kpP{C0GovX{o_3M*eCPXA?wBt<+udMt^m5B0Irq*{N_Xa z-#Yu}H1_2$`r=*J1^xCz?60K%vMB7opF0002qNkl5l)%CBHrlqf!+qEFIk0#K?M2)2+Twdc zb_(+88{+$VU~v+R85T|Ri0%_V5MePofcr|qV*loM2CpoKDWpUXh52C^+_GuIZny?U z5LL&bH%vz904Q^}&4nF>=E)JCG=nXtA%dj$PbK!F3|6$R5h7IlF+dGyB4{ zD@F&Jd`r0RIgdu_v`O4H?HTyvg0W<}T&CD*;zVL5<+DqErr)@AsGY(EaQm0IBUPBM ZcmTcw6ofti%Q^r6002ovPDHLkV1nS^^R)l~ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_gold_ingot.png b/mods/default/textures/default_gold_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..ba66471e18f4e391f0f2d86847e3b647a8c0a391 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0FFhWVp1P;q5+#|Nq_p zUj&k6|Nn>Vp2G0|HN&Pp_Nf)@4>mKLoX_z87Eo&X|Nl+@|0lPL@ZJaNWGo5t3ubV5 zb|VeQiS%@F43W4z_nbFhg8_$Yp#0Jc{a-i#KkK#BaG7yxSsq8?PlE$46T8Gizd1`v zq}aMHnZlvIdDSwJWQB+ms)qMtPBI;uR-D~j+jt_V^w-IGSsCZl&*snkf1Xt*l!@i< SaRHE989ZJ6T-G@yGywp)I9NRZ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_gold_lump.png b/mods/default/textures/default_gold_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a1be79b13a19f418a6d4cfb83e86d8f990db4a GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=1~949^ZT99qoq@8`1r z-y17p8MaJexV4jk@%UbEpfqDikY6x^!?PP{K#ql{i(?4K^<)J>18Hez2{*-8Yzd8G z;p)x?%12yJ@|+1M4H9B8l$bi@iXxAr;X#%S>s%Zi|2$)6DDz`o@3N-%3D67%Pgg&e IbxsLQ03Kd4^Z)<= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..0181fabda9fbaba45d8f763107bf0ad88e2f81c5 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}cz{oct67Ysd90L0yp&~vv{jO{ zb+U|2s*G)#tZjy@U6!nUwwyz*oMWE6Q-Qp5p@K`Xf@`UQdxfG$rIKg0l2?tgSDmtV zy^2qxif^-uUyG`Ln`&UET2PnznW=}wfmU!9ctjR6FmMZlFeAgPITAoY_7YEDSM~=i zQhet8Qj-j}0fn}Dx;TbNToyeaIqi@Ek4qq{k4eQUt{FUE{$0O$Zol7M^^5oC7rD1y zSC*X3uyk@@m5gSSnw#rK*5q`SOU^zH^`cXHGNOwT^;ey8T%e3czw?2!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e43O!qUodcYvxt&^iv>2;5 p`>>Vo6x$8!s*JJ@C(S!0d?DO(&ZoVb?*ZM&;OXk;vd$@?2>_H&Zh8O! literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_2.png b/mods/default/textures/default_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..03729a007860cc2cbf4c060fb6792555b46882ba GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4f{`8 zJEGz|DKUcQ`?Zaq)YBG5Snd8i_x8}>E zony)8Ppn<`=}Y?AnGPlMewtR?e!lt5y{ygGlWLcJNn8K^S)RIBLrOJcg2g>XgN{B1 znREOvO13Q9Uy?L!w{TqaD_0KhHj7f1#Vq$V0#`>ox>7h({fi%~rBBeKs;Ng`={#*x cmr|Kn2Kz}fJy85}Sb4q9e039)dO#lD@ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_3.png b/mods/default/textures/default_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..92ca1b5d8d28ddfa4b16968380d5efd246727cbb GIT binary patch literal 418 zcmV;T0bTxyP)y{D4^009n3L_t(I%k7dqOT$nUhM#+reo&g2 zR4G=sZk=4*-1LX_xA-eMDTt$VFw#;4(V-!=O>1o`ghYEBLL;Jx&`mtcJ@B6Az3;hP zB_eE6dL#PZ;I9~{_UX~D22-;vh1Xbpn_xWG`F9MKhWrGlW;xgWq%0bs?yS^WXjI?w z-cPbKoToXkHX6^h>=$FD*Ta)p#KV0o0E7M%fO;jnNmg;TZye>R+@0drN4)7};P!4N zPG%oKrxScy?Y0{NU=I3IYLADg1CJ64|FT8z`3%`Q!CRgq)ni6Y563nLB9QAA01JIV z*Dr}4-Yo#wvkO?R$*Adx<(dFEwgEuHg77J&_>urHtY1m3V$!hS9fgu^ZRYN%qW}N^ M07*qoM6N<$g2;fZTmS$7 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_4.png b/mods/default/textures/default_grass_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c782a33be6b05c3e5003dc4e9134aaa365abba35 GIT binary patch literal 503 zcmVy{D4^00Co3L_t(I%k7cNN&_(zhQFEV4ZKaQ zs1`V>rqYn=c<8yh8P3Weef6egQw^%)p=T-$aSg8dXEqh!LYf_eR#n?_6mBTB|jVPi_HNS*ijsc(a>zYB;;-iL0Z`NdF&{Udo&ly$BXTB|hp?N t0l7|O)K~bm1u8=e{1746344dz@&%>Lzd3jIMcM!W002ovPDHLkV1nDL(uM#4 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_5.png b/mods/default/textures/default_grass_5.png new file mode 100644 index 0000000000000000000000000000000000000000..b727e9cf3693f8fb494018f8c5b888f2a758b7a1 GIT binary patch literal 628 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ice.png b/mods/default/textures/default_ice.png new file mode 100644 index 0000000000000000000000000000000000000000..2874e1e337e39527ae63bb0e2c4246897f8be854 GIT binary patch literal 4114 zcmeH}do+~m9>>R)Ew@d((uL6&q7>scm@&hY%aEA~Lq(A>US0FT9)n&VGCTIK<^7LNDYmwnpS#6@hVVw<4h}pPt=wphWD=l-x=I#3#6K%bh zK~`}p4VS{pKUenk*uED2Bi3MitgoumZ)|$U`aQ~vfvc!bD+Lt7rS`(}^g5N*v$MMai7`=mF z(=0VcMPi?~g;sq6IvEF#?%DX+n0Rp;J5#7J z3)Y090!FhYY`aygn{iRlr^fp~wLV#us6(ulo$}I3Jjop0(D2^-VqM1ulIgn7r$Su? zeit>oP-s@GS)OV0kq?<~MhK-Uplyx4dTo#*@Cc@h2mz<1IQO3`*n4uQ8A;3s9bs%1 zDn#Da&`NrGNQVs-mp11_x>6Ig^bQ*Cz8qrJ#A-8$FC_odbGplZuwK)FKix7EbX?6L zQA={$3(-4Vn6BUa*y7=n3*gvabh8mr1S7vp^Q*g4O``T}58HWJA zTQd(-T|2+y`OTV9T5%~054Y`%kW4cQT%=XkFW7UhdB^n4JR=WX;p;uFASLO&iq=OGx;%{V>O;hB-SiBA>h~74qoBL7Wn531qP&k z2(Uv)qx0`-C>z=3JWmxrJnh<+5f;#jc_iz{7$0i7bdvwBvNYTuY$|?kD=E?#5g2yc zp819D_~l7x_Pc~Ce=dj9_ z-eY;IuzwgWsi#Rh6-|D!nsN&Y`hw-mX=jv=ZYF9K(pJNh+tZFuM2QllO$)KKLjU@s zz=XolXN!vYw+O+`V{SrRpytU=Hm)6aoWjK}ZXF;eU9g7N>hp11rTVJ|KOL{yCkm{c znzGAz^}cvj%DlE{#7am}ED&6mmZnR4tNmYoy3qs5UpHMBVmcaaLSv{bay73 zJ04wFVsDuF0E0d?_4k8Q{GH+`o0O(KSJ`RB+Fts_n1rE!=VLWW`+4^|U&C)$yQ z8hsnaV7m?P0xi=m6(7%v2aR&+alFRX25WebuCH-gKC6UM(P5aHyHMApQaW!0(KKIN z*G15m+y#MD!m0AwdjO9^k{OX^q!30hV8)AN%Ci80P>wt%iA)1HkYFH;N=HM-Ya5^t zY6u#-AC5Q2Go1hm)s4>rh2J95Nk7QGjmfH9yQt$>Yxfiu|h(T-p;Py5%L)tO5t#rNEj?8 zCdMqr%8bDZgIORD2$;Dg%+k_St}taEp>s$)Q##vV8S!t1Gr%UZxUfpA@R!T`v0;^^*;?1 zK$mw-G4l2Zv?RdDTPqt+oR3TXqv^ty>1(Ysx7uce9kZh6vfG_9@eA1+d6r&0~wt#}~UM78?T-fYum{!|l&l1HlTTEbZhmYKNNw%%Pyk)d z-6#(#bKLPR%Kd7}Yqhp{3AU`3hnVipyL>iw`tE(D-DtkLH6rwVM9=Kf)rze=&XEL6 zqmtd&2@Gt_u!dEUKI!!2`U1i1#Gu<-$@c0*@;h?JVKu=f{@7s4Ob#YT)d8(le6b zM1n|AkPr`pQ3UH$X4ZpUuB@!C2YK8A9sfLIX3*_mDVlCm-vBg+!PC{xWt~$(699$X BC_w-K literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_item_smoke.png b/mods/default/textures/default_item_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..d62fb3b07a48961029e9adb8cc966c2e9d02938b GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^93afW3?x5a^xFxfG6Q@BdV6~(PMkPt(xfRFVdQ&MBb@066`0SpWb4 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_junglegrass.png b/mods/default/textures/default_junglegrass.png new file mode 100644 index 0000000000000000000000000000000000000000..25abb714602b1e7975514886f6ce20000328be4f GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=11*EGi!CcBzt)eHx}l zx~V`R#*!evU)OOG)?utBHuD-LC10<0Dy)6A qp(X#^3*{51lh?A@Z>^a1n*Z_NWrX0X9iQ zK~y-)byL00gD?q@%zYWa%RHO{RaNp26-$ALDh*Ru~eTM;ntVjeO zw9V7lG?H_C!s1q(S01%c{E&$;A8Ex}4P@qUz<t_Tc^K|{ZAv2f7t++p~ zUrmB>n2h$`HcwMlx!5!kT4ElAwi)mO3mW&w)q7ps>aDOg4wDI}c;uOObch;dm5UD% z0BjlwyD}Gw^0bKLYmB;}?RZie$v(WUe*I5@g`+7@cyDtv1^hr(B*Hw7c4ToYHe{Q= z{poL#_ghJXI=qkari;Z}gygJ9M2iLbPvm^LNP1ydk8c;~KRDET{R`~IpmipH=9U?a TsVg)r00000NkvXXu0mjf4dJqo literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_jungleleaves_simple.png b/mods/default/textures/default_jungleleaves_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..7165100c7ee1b526628a81fa387f100fb30a601d GIT binary patch literal 417 zcmV;S0bc%zP)Ih`3S!MF>(a7WwaJ61BEFj#pXqW6Q(h;XZ(J~0KmuX zUGP(n`_uTL6X#o$e8BnkwAYUgY2J{R-2gxn;v@jDrh>=)X`qUigg8l>H?S`+yWyN= zb3Z!xp_33N$;)m^K2Y-Uiv$4N0{~uV*Hn<^4Qnc>i%4u9!`tb6O$C-ZxdMP6IspLE zIu~AKmxpgu^toHq-eQO|A966t2t!@QP7Cma7y9(vJ@M@mUVjz$>KML;^IV zOk-*TJzmig$oW<@fYpB@|1u)g(S|sQjx;a3vHD$WdUYx_I~x8CINKqt%`KdR00000 LNkvXXu0mjf`lYRy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_junglesapling.png b/mods/default/textures/default_junglesapling.png new file mode 100644 index 0000000000000000000000000000000000000000..05e1e505da124fe2793b4cbe19902da9573cc886 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=2oFD!z`&zD~*(YTULu zLLzbkiU#6}Vyym_Qso?LV}UAIN`m}?88~GH;$|x50{PyaE{-7_*OMLC-Waqo_dGln zz>v7ZNToqz8xtR!*aRJKChrDkrieCG6^1pIrYy@=3on~5suskRT)^TW=_9<5XIcQq gS&55D2M#bWc=>Yt+jubT9ne??Pgg&ebxsLQ03Sv$Q2+n{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_jungletree.png b/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf77a680b064903276ecefc02cd0b5e5116b4c1 GIT binary patch literal 5592 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 O0B;X}_tUO%MgIjAf}qI& literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_jungletree_top.png b/mods/default/textures/default_jungletree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..439f0786d7cb6da6b46db323efec9239b084b6d4 GIT binary patch literal 5175 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 Avj6}9 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_kelp.png b/mods/default/textures/default_kelp.png new file mode 100644 index 0000000000000000000000000000000000000000..70b743d594f2674fb2eb67976a5589ce2aeffab2 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*E09i0Rm{v#&dOBI$yO=I zS1l}5D=tziEm1EkRj(-5sI1VauF|Nf)@*FhZfewSZq{jS(dq5hpE$u_`ZS|iGmYoY zF(mm0~ zd2;0pE0*oq~5P5BsuZX(b{44$rjF6*2U FngC5QbLap7 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_key.png b/mods/default/textures/default_key.png new file mode 100644 index 0000000000000000000000000000000000000000..783d3139efe0796e53f53a21edc25e63a50b531d GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4)+#>Uq6a&uNd?1zVUZ~u4u_KipW z-rm3bPn944FN@3LG2HpGppr*F<7K9S&5qLPifZO_8|TJ8uxDmITwmz<^gj;|&;R72 z%aUm&K1nzBrt!Ba7U;+9E@@Uge7g7H>Fe`(8b99SiQo4xB>@N?JapU8>KZ9ovE!yB zOG}I4VFw3~86Pifi#4b>s;T%crpl89GzugOG_I+gxr-5KJkR-gd(v8F_T_Lh11+6& q()d3&2j}99G?0NZzNe;0GcaV|kE@kAAXx$o0R~T3KbLh*2~7Yk2A1{! literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_key_skeleton.png b/mods/default/textures/default_key_skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3497d37fc91be0c835905eb75e68dceaecb864 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4Kc?0OZvb{%2g00e$p8*g+*JXL%rc|_?Z`;ID69Uh4pB5C}po~eQb zi8mVS(`Niko6=Em#@brzw+Yva7i+@$EzGCKy?6U7_To;=9)64InhjBJE7dzVl$=(V zs@{IE!T}{MwLr1?^O0(opMw4 z@=NK>H+Ne}9Q^ID|G(2b{!BCJ9JBch5{plMR%DoZ%JNvo8sAeFPw^=+zh}Ot*7Bk7 zz=FH`j!B%Y*mGc~k1Jc1{R{mDYhCf|$wH6%`To7-^ILF0eCCR(#ZE?1AAljj;OXk; Jvd$@?2>_%1p#A^= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ladder_steel.png b/mods/default/textures/default_ladder_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..a312f3e84d5a4bc6fcd7df02c6f6aea582f10ab4 GIT binary patch literal 587 zcmV-R0<`^!P)y{D4^000SaNLh0L01FcU01FcV0GgZ_0004^ zNklY4G%{HmBEQEzw0?Wc!&14sS@p+mVnBmU3-?`J!S~Hza^=vjH3`5>O zf7IZDu5WJjXfz@WL+0~&!vW~^dIUj$=Xt#Sw$tPB7=WTE?CSeI%jFU&Wv!qCkfte0 zDe^pLx7*=3&R<`TqKIy{OS|2!7pUsX>t}bj@Zd9n6S(X$#Am^Z4*H)`P(S z*L7|0X1`jk0Puak&Oiu(@B09(*K5)=tue^53?T$j6w&YZiQ~A=KuSp*$K-i_ufI@D Z?l%GXz@e#`m{0%!002ovPDHLkV1lOq^Hu-= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ladder_wood.png b/mods/default/textures/default_ladder_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..c167fff5836e96391705eba00908b1ae52e8c1c6 GIT binary patch literal 467 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_lava_source_animated.png b/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..32267a6bf4642c38d05c78b07a4a2bca9ee3a047 GIT binary patch literal 2193 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 Dpf0jgBBRh6iy zMa8lKPdqp=hDMAB$K#nf=k$Vt5@kQY{`Ow$6M*`Ys*S@5Gjq3S{cEEAh*4{R2oBW_o6=ulICQnmg;S5%_Vp{Cp@lVsV|(ohq1B37TTSpSb9 zU)=#EsU<$0Fd8b1G1OP50dO3LcgKBc?;gp!&X~fT97?I13ym?n-H(v^M$N`H#*7U4 zat@st8jof<{w>59L*+qPdJQ60~}<^~0u3la%@IT;6w1Wq5K)-yg`zw`Fvu zQP;oUe^9327MQKg08sRbEN|EC#}6_2**sVe0M~PQ_Hxty^Yeh=P>`kds-46WthIO* z7g37xe2M;F=NN5JC52lqqCXg_k4l{EeWX-#83zfelc3%<1L^w%DSAb`auE^XI`!+V zc~qj%i6LnBY6;j;O{X2h50-> z)NH(He4($sdnBKlQ&S655X0Hgm_o5Y_2Hsbj)PK)qFeY(Uw$?Zz^ASK4-I&YMgvMQ QXaE2J07*qoM6N<$f}50zrT_o{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_marram_grass_1.png b/mods/default/textures/default_marram_grass_1.png new file mode 100644 index 0000000000000000000000000000000000000000..73ec9e9d1109cd50041cad225495430c684db935 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}cz{ocE0ER=HZqAaGmbSgPBgbj zur*1svPiKsO|`O1wzki7vMsiCEOv1%^mD87@vRLFs0;OP4h?LM@ox?DYYPbJiVp3L zj_QdydwklBiwkdEUVQi3(g!zJcrTst7HBkMNswPKgTu2MX+Tbhr;B5V#O1SHo_q}o z49xB^f`U_B9smFLd)Sb_!Ep!p1*u6{1-oD!M<_1Rhs literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_marram_grass_2.png b/mods/default/textures/default_marram_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2db75c706409472f32463a32f4c09d897940d280 GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf!vLQUR|WttKYRBM|QC#y6Y%XAxiAem|DkZx<6>12~- zXP@b0m1A$4>tLVjssjN zTv=vnITR^{VW73fnF;#U*uR~O>d;N#Wc@7ECK+ZgQA z65!t)>fag?&=wZd79Q9c8rBgW+!+zv85PnM71|vWF(Kyc@oCr2&%beT;jPPy?_OK_ z;O2_Zsq41_JGde;{4-%a()Usb7q{hagP3)rWbnFFAi`rz1hFwkf41_#EoX{V!kai9U_yY z4*f9Wx)NE>#u@20ThwjB^c4Y%uB$J*yof9B%CQX%&*ki|FS{$v$6It-Byu6=W{Jc% lHT5%$y(QWzY(!r(==c8RjdYjny$N&|gQu&X%Q~loCIBbBqFVp} literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_marram_grass_3.png b/mods/default/textures/default_marram_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c155f489cae6641344777ed45f6070e1aa4d98 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}W`IwKD+7a}Zm^L_gsDlCnQ^R{ zaiY0Nij_r*rD>{_U9z=(rjv8NuWhldW3h{Cp`Tlkw_BBuZ*6EmU8sL^sBddvU~`Or zYnWeKKuA|~Xm@l}PfW_Jyu^74XOB<2c7FbiiwkdEUVQi3(g!zJ>|3;XDbP~Jk|4ie z28U-i(tw;d>gLgD?O9 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_block.png b/mods/default/textures/default_mese_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e30994e21c3104b547ef397a1fa7e01dc956b8c5 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uFIA&oH@hr>>0!V{|rs4 z-|c|noCO|{#S9F5M?jcysy3fAP>{XE)7O>#0jmUymApo&RS{6g+0(@_gyVYhjsO4u z+qad!{`NnmVsG|UueR{@Vg*KfUNCLk(y%6cb;BC>ZYc}Nd;giW7>nZ#4ywo%9E|jF fPz`o=KFsiUx<Eak7ak;eDk*`64hvn|AYf2pd{%>vS;#E19n>M@Tr?Q{lG`IVmhE|LccOIzDn`y*& z=C-iQ8J%fIUL=YphJ4|kx=QNahAjuW3QS&_XY8Kbb#M3Oc&mNqV_23k{!y*Crw6oz N!PC{xWt~$(69DcDSB?Mx literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_crystal_fragment.png b/mods/default/textures/default_mese_crystal_fragment.png new file mode 100644 index 0000000000000000000000000000000000000000..d5416ab017561c5c300e078e59d98e8d5d7c60b2 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4xTQKAr*|t5{wVt|8M=TxZ{UC zE8B~vk3YS6{-3<|=UcOkC7a0NjAfHA3vRm{Ys@rZrDWpoz3qPz&ZgWxXRwKZfw3u( Uhv!vmG|(&tPgg&ebxsLQ0087GbN~PV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_post_light_side.png b/mods/default/textures/default_mese_post_light_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c23b551a7cc0c6771679dbcfc0ff94f493ae859a GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}OMp*^E0FfGl=rhyEDX~wk29NC z=s2~+sjI7N;>3w_=FC~Sa^_HHI~YrX{DK)Ap4~_Tagw~Fdh=kWrprL`GEgz)he~n5THA`|WcZD8bP0l+XkK4xXID literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_post_light_side_dark.png b/mods/default/textures/default_mese_post_light_side_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fc7ceac3c46b6186e313504f2ff17f3c40e62f GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}OMp*^E0DI(max{940TkDa@Wia zH7p1>>gwv6IC0{fIdfL7T)An}rb}09FJEc6e6{h))#gXf(jPu8d;Bcp@zbJ5PfH&^ z%YXd5@X7Q1hmRLMd0zbZdG*uhHBX;6K6z31_{qj+FWR5I=y~#D#?u$mp1z5*Qd|BKYiZ!@$<1yUk--OJW&I52V+T)UoeBivm0q3PLj8~3quF1tOt<8 zS>O>_%)r1c48n{Iv*t(u1=&kHeO=ifGRpHyvCKGC$_Nw+^K@|xk+|G@!d=M0L4@^y zr2OF%me0@peZTzFsm+&8r@e7J(z%!OvVg$tx)_04Yh8iE73Ty}gUbaxXN3yX%@7xG ulvyjV?QxaBrA;anh_`S#O6DC3Xq#!Ui{m8&Luxl; Uvi~iY_drDqp00i_>zopr0Cij<5C8xG literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_meselamp.png b/mods/default/textures/default_meselamp.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3a1a12c4590a898ceb93b7a34d6adc80bc701d GIT binary patch literal 5103 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 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..6d1386b90c80c1140ce9f14f9367a4f857864284 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMj(LE09)EQPI=Wd+1x>0^~53 z1o;IsI6S+N2ILrdx;TbZFeV@1l922aNKHvfNNDOZOuF27KgW$Dfr)8`Ku2%5x{IRn iE{zi$bE-ThGcqW8G1y!5O)&!MX7F_Nb6Mw<&;$U>y&=#5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_copper.png b/mods/default/textures/default_mineral_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c518ebb7b6b1e59beb0b61b5cd45d8497c660b GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr*|t3#@M3lKWC$w(#=* zMl+Fxg_%pGV;+B7S1`dbq35*NDy#YP7<(ohX>)wo&{J3;Dj1;A_41Xu#W6Mi&V>^H hmhUxhxTBcD$)H+O%ChHL%u%4h44$rjF6*2UngC0qFpdBK literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_diamond.png b/mods/default/textures/default_mineral_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..39c0f83b674a29d7882753aa37b5f544f54c972f GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*E0Ave|3Byd|DcbrKL7v! z`2YVC|Nj^N{~!GSf9(H%(f_^$ym;(+{mRw<|2O~tzv2J?hX4O-|NnOYa)1A}{rffP z=hr2lKh696DeUVONpFT2v`mp}tJ&%XCv+mqZx_oKs*N$mGI~YrX{DK)Ap4~_T zazZ>^977~7Cm-N?Qn{h?Q{jRF*O?L$5|%6nbL1@Z*pwKh#ao_{mrTVPjG)i2)0jVFVXG}``WzUNga=ZIut Yh?lE>?kBln1JFPQPgg&ebxsLQ0Hfn4<^TWy 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..bfec8b1f06b450bc983916b6895c1e39de276088 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=5o|Rkr1NM#o1_p48vi zSXYvl8yp&<#BgmIP>!)A$S;_|;n|HeAjiqm#W95Ada?sk6NlPjhACkQOkGCYU58Xe zBrk|?a&d8KYBoi9c_josW0|pK0Ryu#vom7{Z-{b3lIV=*48a`}7#J?4GW+~c{jnBk O8iS{+pUXO@geCyw`!IR{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_mese.png b/mods/default/textures/default_mineral_mese.png new file mode 100644 index 0000000000000000000000000000000000000000..6952670a8a9bdfe5be45b3538a9e82c86b1525df GIT binary patch literal 546 zcmV+-0^R+IP)Q}#>=iB%9eEam%5fRcUR=tR^x0Iq4 zJ1fjD7$mn-_OzTU7up%~UFbeEMwg0MtG3_RjB%cm>%2aQR~<%Iu3tYqox?H-8)$@_ z*9Y+l=u!LO5C$w3NQ*(-pB?9fPHtpoV*{@MMiMp%hcGZXjkVbs__cj~Ccsx2P*#R6 z;F&Sy0{I2tlOni|l=WM$Qr~u&m{X0ArN`;bee8XAAGp54c2a~?rACNG;BmWPH(OA? zwT`h006G=pZxntj<}X1iGD!wn;fkFVY(e8e#!yDU(G*Ac;|oLtB0_IJc8EZOLkP5X z;)uvZ$Je0hTFg!O5zRBf+WVs5`}r~`v_epYTqOcT+4LZTTH3Lyii>R!wss6rvpH@S z-$3JPD*=D^h?mGFs78SFHT&FB?8CBZ^dm;cp0e$1VB55~v^XE1QN(j{xz`8rUl_xs ktkB&9X=)T6UAo`-13sz>% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_tin.png b/mods/default/textures/default_mineral_tin.png new file mode 100644 index 0000000000000000000000000000000000000000..232d4b537c1d5e93736577096f23f8d558bb4387 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=6QZow{)0!nuoQjvhaK z{J^mThxT8;ar4BXlLwC<6JPN=8mNM?B*-tA!Qt7BG$6;?)5S4_<9f0KQxk{UVumSU z2~3?Zzopr04g>;umAu6 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_moss.png b/mods/default/textures/default_moss.png new file mode 100644 index 0000000000000000000000000000000000000000..479038e9c2107b3d4dff4f80cb527308927bd516 GIT binary patch literal 485 zcmV+YDO!FhTz@KEfh%5u zD`15zVTUbZh%IA^E@X=?WsNUqkT7YHFlv)9Ym_l;mN9LYGH;qQaGW!7oiuWvHFKaf zbfPwQr8jt{H+iTydZ{>jt2lhDIexD?f3Z7&vO9sZJcPGBhPpn7yFQ7&KZ?IVi@-sR z!9VRhY+Do5)+8%3zR3(=R&%oD*}vYdT?MylBsB1E;Yj3wH@3t|Ba|}{GJu1?D>MD z4k1)e(~c)Ad1^paG{QwuF7B&Nb55ZuDQABFnAV?PPQwhYZj>y>(hke4W8z>P)?Twc z67Ce^_p^ikZ<#y!fjLtuBC!J7cQ)Z-SEk862#|(Qw>rY;v$|VWhdu@(n77%+-83~i b%R~Pk(t;bo&@^<}00000NkvXXu0mjfZ_~(a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_moss_side.png b/mods/default/textures/default_moss_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4a20345e6b72152983bd907641ef72e0dc207251 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}SAb85D?=cIbF92uqJn#}f_J8} zPnNQOu1a8mYEYqCaIsownR-}-Mr4gCD->4DNL`27ZSo=&6)7&Z>H!lONvr|2uQ| XCXO(bPjjSz_A+?7`njxgN@xNAkQI4q literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mossycobble.png b/mods/default/textures/default_mossycobble.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae7c91fd909380c86bab3042a91acc69d8ff1cc GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M}SX=tA~qIYErznhih1tQcPr6 zaDZQ+pHF12YEYV7W?D*oOq83mqkpn=QC?1Rd~9TBuy?$8V{LU%fL~03hHI2idvil# zsh+dF?eWLk@_=Tp^K@|xk+>||b9~|v1A!w|GL~P$Zv8Q~y~?Ox!_a?qb@pYJ%(=pB z3#%8-mF{f*1ct3lHKxFuaDdsFFP5yI!w0p#2nS^Tr)xUa#+lL9k&kE z7P%`4ha*^H5B#Wgs$2TTH>JfTQ}j&PJgY@B9jmuCRBtxc3izRVwt=mG!L&<1w;lda z_>5PvdV0`INsmtn$0|2_WW9F%`fpvgpjpcn!(~?`T0YiaK2fi9l>N!Wb$j@ME@$v` L^>bP0l+XkKtwDKH literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian.png b/mods/default/textures/default_obsidian.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4a49c4bb47c06c6e823bde977ee4cd1cbe783a GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW6%Y`RS2NVH@Dmael2Ou; zl2K}5`mPR?b@6m@4B@z*oM4dFz~Feyflb`q&C#Geuz^wZz|S71E{8tG9_gTe~DWM4fk%K4E literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian_block.png b/mods/default/textures/default_obsidian_block.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1d4d3fa3616f17a72dea2597e0c703520a98e6 GIT binary patch literal 3913 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPL>iL45VC<#g|S12gTPs_|nRVb+} zNL5I!$V_8ksJOK@JaXGx4UWI*BBm^k8zuWL?zlGFk$3+#-=d;h<+H7Ja<(ZbR3{f@ z{{Qa3xc-CiV;M`{i|X%r>-2W2NH%9Y%l9(Ni@Dxw$yQ!vCC?EecIjO7e*ND(d+({S zZ2xk5?>wi-x<^GN6>)sI{W=mk+9#i$ICbUouH{>vrItsYv&xmw^Lu=}T0EdDr97kFwU*$68yp^B=W#=ih2v`SNY8=7}Gv59G79d|9(T z+g$5Q!!5y|?+(5@FW|p5d+o7n-*)bLW25ynQ}O4}KiC&?U}Sm2_w zalwnLA`f=Xbea=!W7e@g?ex4o{E<5pT-A3kxT6$wgfG_R=j17jU9Z{AIn8c*nK7+q zx}$TY=-DCVJgJXd?k?+iyb~>w&s12wnEFZm_{$Yr{R-2B&qpchzhrTdlHFO?D$4M1 zTh^+@`yMag&OgH%!Oc=S#WJb!X3piK%W57^leLJxv9d5l?XKmOrwpo2Ij%+tTaq6; zW`4_Q@TceGOgk1 zoF@B&t_2#aL)}-sGR?TM_o@TGzw@bfQ-*`Ol+nobj(`IMis^Qk%cI8v&EvK(?rgaYQjI;IxyzbbUD4w^% zQTEWorr%|YWQ`Tn`Wh=83ebmTgwg z^@rZcr#$9NyZ!S<`g?bUxA_M(8}sB7u1|Qm)*@%RmC@}zTeaPtHl|sz9t?XhFS6>x zcXQAFuG3AA0^3ek-TxVQiP5$Kf?lfg)$}c$?m6axAo@gov;^r-uqH{Mw7 zd4K+nQ+KVcdoI2(s=ApLpYW3Rm}Rfcw=c)jGaYq)nYEeO!91 zDM47jCh=oVX3ddM`zbdk{x@1_@BNE+_WG1%@{^u--u<#jZ+-b8YdLw%Lffbre|E2Z zb?J6b_;rcv9sQ~C)9=OmzT8&(e_gD&HodAB=r3)hE7Kh3MxZi(#L^!v>Hn&KGM zSkZ%Lx2xH;KWabr`0AC%y1Ulb&OY;R&)wRH=TrI1)4mwn%`5#>xwP|t-ywai;>lmW za=z=3_%L$)G~UwsRwIg98uqZ=Zu4o-+UDmwHH9 zaeWgHQ`wOEGUs%uy=Js_%!WgcJ1#A#kBnTEEF><&bvU8N(OWkyPNTnaWtDQQ+g zE^bgGfIM5JjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7sK z5Hnm-i-9F>K}lwQo&w0s#H9Sv5?duDpu7Uq@RVe@*#)IVIbf4hlJ!$_Qgc)DN{aOj z^$hjF>Qj=f-13WZ6M_0Oa}(23^$YUSmGnWb)rUG4=zD#*_d#x;Js7owq%a;0uF>Ek zDFjGTJes;jgNvjPAW89P>Ka`sf18#O?v3r3+@t!V@Asp9}Z`=#yV^ZbO)>ZDk zY^1AhC?YK_9qngk#$w#SaApQia>O~yOq+=dCDpcGx>59O=49iZ|CAMT zEPp;p*}yR&n=?s=ZRG|_&MC8aOm7AX@USo>EY`e~I_+CJ&?*K`S3j3^P6LgEBJgXFU_54%g` zoRj%iBB_&9{Op00z+(fC-oNt?^Eg!VHHmU_adD|IaWa@k8Asan>}vvA&EV^=sc)I$ztaD0e0sw#{AIty% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian_glass_detail.png b/mods/default/textures/default_obsidian_glass_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bbec98d877d4df1130847e873d9c167bb033db GIT binary patch literal 1167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9DvULeeP$l}IhprBM{ zNJNQqer|4RUI~!Pz~GyhlB!UiS(2gPo|#(^r~B_60|Se+r;B5Vg&?B<%lqG8Ringc g2#kinXb1p9fJK0TQR@V7IwKX+0?b)+u_UzdgE?k&9LG&z89b-w5UoeBivm0qZj=!giV+hCfWCeyB zLJLZ|q+2FFdL+cK$a(n=j;N*#M^E?U$DBNCnwl=1I(Cd(Vh0PWxu)cH=A~j@+L|ky ruM}x$W{NbF>IdaFNF3%{X2{53#mm#MH=wl}Xf%VTtDnm{r-UW|Q}#!` literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_papyrus.png b/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000000000000000000000000000000000000..a85e80908fd0b3c6f77c278d528e8ab9b7ef508c GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=3MXGU0WSDSfKh)3vgu zYPc2%2UUq?OjeI=m9q@uU$-=KMsI?V2Vd9wM4FxQ4u>mXeIFs=R@QlA)%uwXtr2t@;(9_Qjqqjv*44dHWrO zSQI&!BPCTBMgIT4_4Lrf%Tq-zJ+07>)6ffazoXQ}5!Vvw_|0$Ds=4X^qHnXU$QM{6 za&Rv literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_bush_sapling.png b/mods/default/textures/default_pine_bush_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..fadeff8711a31948791764056cef8b2313e70b89 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aO=MsY))v=Ol@~RaFw;>H zwUn?k((rD zhXNQD-C&&|al>I#4r>k{C!4}T9y4=xfwM7}*e)++yL_HWiQ(H>*6)d_;md)BFnGH9 KxvXU>WC^)QwM`2{mLJiCzw;v{*y zyD)UH%6b4foCO|{#S9GG!XV7ZFl&wkP>{XE)7O>#5j&Tds7^R@Wd=|v(bL5-gyVX0 zf&yQLYO@C`8{5|eHa4}klRP}L90W_-GTC@;o#XKdmei9re!(aUqa4OXN_*<4}HN=&%5Gvjd{>xN49a9uX(Gf(!MVn}K|6{Nt(@P<_+IqgZY7SJ*V MPgg&ebxsLQ0LSS{(*OVf literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_needles.png b/mods/default/textures/default_pine_needles.png new file mode 100644 index 0000000000000000000000000000000000000000..f6997271012a7d38ade189ff58584193443dc3bb GIT binary patch literal 766 zcmV z+in_H6oBD>?KvNqVE|){l%$E2#PUTh`u?v_sZwuRtE#QKiH!>w2IjyV_Uc8y2l#}a zXS!}1euNRXtDM0quVq8IZ@6A0Y@SMyiKhT-b>-N0F!eQ#J$4UAG1LS5lW@15a;`i6 z{AEMg_RPf<&o!*F2=xs*Sen$R=AJgA<#23?Lk|P6oGRP5nr(d{OJJQwWTD4DWkdFE zqRS}2y!Gt+fpij}FD+d+a&lEokb0Qqg3&6US2^XyaJY2X!q=O&W&3cDt{<_E!`JJa z#U#XzNF)Ty(&cpu4~}s!o>kO_Hx)%lEywfHB4O>;Wksh?799rM*sy*f4s_J5i1G+>G48$ z6%&eKy-c}(+~XZP`rOCh2;(xuafI%9$L`QjwSa4w^&;1^n703a_C1H+fBly%4Y+hL zodlR{5U~%HJnk!0p%!I!H`fFqy-9R)Y8i45D{wfq(2uApH@5}*e!$d`(ePuc@24@l z622@mR*Nas%Z1S@{8b6S@O+`jLYR9D0?)tgWi>crd=a|W7F8H-BJRH*xc{*QU{|(? zRpv#6rz2fIvRWim!-)4O(P$Z|sns&7aIQP@vz0XRn8!YmGtyd1aaU;B_K0Utpn9q0 zDhc>N&BOkTNsNQLzUMyd?P zLJS513|f3{rW!W7%4VAKddkua4&n?dJb`xlI!aPgZ^WDf>R~Pk@(X5Q=U46U?*MZB zJY5_^IIbrX!@g=R!RZn6LVzYSc)I$ztaD0e0sxNd BHbnpc literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_tree.png b/mods/default/textures/default_pine_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5328ff385ebe307f299a8aeb7866da0713aa8d GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtB;eVuZxw3t*Mi_UWliI ztEEA7pnIr~W1yR@qp41WpG$J2UqYx?Ot7cDv6h#Ed4Pv)?nWj%p!NlxE{-7*mt{|T zim@niuv}!B=@Rh1{+3?#?|7DFN}F;Pu8(Xn-B6lC~-{7CUZ0?hkzhXCjFmNxm`?5dh?T-ZyKQ|h`pEi5foD7>AhSILZ zHw)_)oIRTTT1djq!bLA)joJ>o4e3Uf*Qa_g)^2c)+!5o)YA?ZlJRs!75oTM(X`-If b9DgylSg_5@k7{TKx|PAx)z4*}Q$iB}eJx~| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_tree_top.png b/mods/default/textures/default_pine_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8705710ed825fcf7cbbf6edf0de6b5b5ddb8b4f5 GIT binary patch literal 574 zcmV-E0>S->P)DQSwTtT2tLMz6=gy+x#+={6nb@+5^5)F#+qv%B zvhUlk?Aov6%A(`Pn%=*d-Mf&~se!P7VDaS1@ZrSk*t6-=vgp#T>({I2(5vFepy9-u z;KG*Nyq4g>l-|9O)~C_+`^pY!IRjylGU}3+p~||xsKho zjL)r$)~$%erG?9BtagZNU$m zooDc#TuBKj7V@^OxwoLa`;s+^TDep$Xzm>-b2W*MN!}(k!n_oesUFj2IVx362UiB5 z%*<xFN*kwJ2WLQu3>6UXMNLmf0o?WN#%)`mv9FZ+fB6+{lgPc)bo7q z&4UkBGjq2{%x!6B*?Uj^fX35l=@zlU9p2Yx92491(E5wc!H~t4+y3U4xLa>%|H57! WDpDF-_+bao1q`09elF{r5}E*%iCzBy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rainforest_litter.png b/mods/default/textures/default_rainforest_litter.png new file mode 100644 index 0000000000000000000000000000000000000000..d762deb46cdc5c5746128223b9fd0d26e50a11fd GIT binary patch literal 940 zcmWlY_jcL_6vi(CB-xS>7=u-8HX23(WAF%I47LFyS%8dXm*GL|q>k&Pb=#!7O`Fc7 z!%bUv4|ngl>0ar4gXTf{20c~Jx#RbJ=Y0R&dr_;+Q@x&E0HEYbv0-fc|BaiCDa7a{ z07TVPy_D>SOdq73Fv7r;3vzClc0dM884CyndZEvSOkiO6F_Etrko!giNLH6jj>SlA(^11;K#~7$OSM~0EvSH3l$#} z0+ym5E&Gvt5KVB%CVA-e=1LHigO+;0G#i0R$SjK13BfWc zAZiHYFeIW@EeH!Cs~onLBA603mm{bWHVP}TNIB9oCW00Ll{KeDlfn`e4p&*c&LUM7 zud!H_vsMj2elIYzc6ygouK z$87mAa#g~cF{+-RIx&1DPB-IJGfubS^m2l3C+w|JyFBS!P1-t1M>FNxND^yFM{A5+ z8Mm*e9P26PM#`zCo$U$N+Bnmh=sz)L+ZuQ7jMK*_`?u4slNt9`c3?B>-OTz@wID($OAXNf60hMZ|b|jF5L6n zwjGhkLk_SFL5awR{-E+b_o!@!p*ZD_a_f_qVhrYe_{CfP$ z4{mvuVPMmle(TB~kDa-At~Y)7hGE=pvM60^`tazt7aLvM*x}XH_VsgT{@ypf5ad#= JcxASG;Xk&n%v%5e literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rainforest_litter_side.png b/mods/default/textures/default_rainforest_litter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..7ccb11de3dd24a3894a2b1aac37eec9cec190204 GIT binary patch literal 497 zcmV41u{;IB??&%q492U(4Ljxo8olEc{_Cf~48!<2ujl6(`HC8Y(P!Pcd*VQ@n z^r^ZICML?}CO+`O2cLTUaFL?#sYBq4^5_7|0ZMJTHLDoAmfMRZ$EGGTiU=Iqnr}L> zOcwLe?YSQmCPgNb3>7>XDG4K@S~88Qe_Y~C!Qdh>CAz4H0>dz3?)gM+45AGuo#UuT zDMF@2i8oj)9G%06a2O(EO8A&qSi>p@W5p1#Sgo;f3|1qem1d;T1aK~p&nk52h~8r}Ltd1)F)RMSM3Wo(;{OoVD~F)~eU+bTbL_C1uMgKGxek0Vl8&1x#-I&yKvMzo>rMttA0 zoKFeIZRqMf(e=Fk%+r%q#YCc>&kB}Rf%vB9#oO)XYTp5Hbdj>EP^KUw@bVK+RJl;m zRzw(^w&%JHJb$;_^e$jT064$+8rJ|1?i4hA&9e{v=IqgO1DwBlf4%0n`sjJ{oi)I2 n-ve;UpHBaZ8~&U2fB(!c=U>}SPA;3(00000NkvXXu0mjfm*(TO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_river_water.png b/mods/default/textures/default_river_water.png new file mode 100644 index 0000000000000000000000000000000000000000..3b55c5f66f1f1ef780a89dedbd9f9e6a454626e1 GIT binary patch literal 716 zcmV;-0yF)IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n~ z2NxX`Z75g(00K-&L_t(I%RQ6Za@9=rjVK^H*SR1X_|PlgSBOBsF%6JLyew>8fJ3~?D^@a?ZN-xDe&AJi{G0-JdBtjh*ngBw2$J;WXzc1Q>~zR}4uZ#&_+Ip3<24OVm9H#`y} z-YT!Bb@M{kF$@FVCzd?pw(?R9N1$Xbs{AqykoFw^QR2_%# zVVsCD@;(JbMwZoizRcL^JCT0a43sadX{1=>nA^rz75ag9DI(%L6=N+61{}u3OB+!D y_e~asjbp2b2%-Uirv}f}IYjyKbg$z#7 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_river_water_source_animated.png b/mods/default/textures/default_river_water_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..daa5653f2aa857c0a476f1be5da6024a2841d19d GIT binary patch literal 4935 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 J)|vYg{tMfXn)Uzy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sand.png b/mods/default/textures/default_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..645a300444ad7a1bc485d7da294a2d2ca831f3d8 GIT binary patch literal 253 zcmV4{ztHCaJ3!saDnQyaG2iSf ze8Oz^CMK|!S#4A6z$lbnp_Yg;(eimzqmup~Bm`hiG1-m-(>qB!>yc~=W4dPv?;0XG z7Xn{ukNQVGa_uG*2Lr$&Nosh2DZNNveGaS~zc^NoDHR$^2^t>(00000NkvXXu0mjf Djsa=r literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sandstone.png b/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..16e3d13bef014091640abd33843e6c0ca0d1cc28 GIT binary patch literal 258 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 QK_CEoYiHC0OTXBE0UvOKv;Y7A literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sandstone_brick.png b/mods/default/textures/default_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..e7150e501eb86a104943df66da3d22057dc5f86a GIT binary patch literal 439 zcmV;o0Z9IdP)W=}$i$S(#h1*-na;_a&&!C?%#P8_pwrEg)XtUE&zRQIo7U5w z*wmof)T7(hq}|u2-`T3<;Hl@~uW{5bbpQYW32;bRa{vGf6951U69E94oEQKA00(qQ zO+^Ra1sDMn9_Z8JoB#j-$w@>(R2b6@j_p!|Fc1Jwp+G3&+2p7uUt#1CGX{#Kj4(;lbMmJPf2<>i7=6DWUQ?E4ml+CL6o;9t#XB(8sK1CjD|uE z%4#AK)KX+db#TPMNs-xN+z3bb?7D6mTsQUeWpMKww1Jv`_OIVkzH7N>5Hj(W`Wn4@ z5&;ra@;aXZF|9!%ppU9L9_)q9GZ?dHUY8@F8ViD|#l&HHv|nUWXnj?Zp;|LHLvV|m h`p&^^8Qplj4F80g73Sg>o{si>So%?jz($@Mrvj{ zDt0bf36-V+_QrauaSu2!W6a%{WjL z1@F{uw?ita-y#DjsS%sa24H;00w8qTwg4;^i*L6XV=%^`wWetrj>jVaGLB=vsVvJM z$@~4@t8~txCzFW>E|<$6H$O1rIQ~=cnQ%Uz0jR19V+?g&18_JTu-1B2xAZQ>v=+xW4b{`yPF{TwY}7d5$rL`Fu{(G^A+?K$c}M zSSh7MO6f!V?D<*tbI?Kvgb?^M0<2c6Z^_R=E2RL?kESe3|2#qnlv3PoH-=%L?|bg| zyH~2U{@*7_LKH>ftNTl(2}4O3hA*=?j_JA%9Yqn_?Ur|{C<=7fb*$HGq?Et1aJ^oc bPN#eTi=whxbD8&}00000NkvXXu0mjfuoBh^ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sign_wall_steel.png b/mods/default/textures/default_sign_wall_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..2227477fb01049c5da8fa415e4c947811a5a2cbc GIT binary patch literal 550 zcmV+>0@?kEP)y{D4^000SaNLh0L01FcU01FcV0GgZ_0004f zNklbk}`M-T*rVaOBKT7n<|AP54KQUDlhExX-L z@d2_d>*O`%w{Xs(vMlRvx7+6s)*wlfW>0*WAanebsYdAB5#J%=>$Mg6hu)(S(X4C4hQPG?sautqm)9d zwRrD)Vmh5t6a{ITQkEr2l5jj8nM@`WMbYb;ra^0sXsxNL>a9hZrbJQ1Y&N5=YbKKk z07;U(=|lv1KAubbd*;{LuZvbn(KHRFZCk9h04$fwZ_TfZ)>y{D4^000SaNLh0L01FcU01FcV0GgZ_0006_ zNklv zR${;=A_z97ktoC>LW&T?LR}vu?rt{8y!V@j#YnIbGzV^T;d1Xe_Z;Q!)sqFkq18z*(;QLRPnt;7ii%d#d9(6` zCV6!>01lBS5r4^R|Ao}^qj zH;vhHNe4MXGZC7J-Dt8CMyR?$xD_#d{0N3+VLJ@~gxhjywVK$DLFY$@`%e}Dc<^Ew z70KMfD$Rz)!@d{ zr>uVKQ#Y(qM7QNKe&_(}oh^o&4QjScBnQ-Nn?|EabErj@<%~}3qrK5Z7Zs$;N+$-P zBnbO-yA3ACMsS85zJFZ@z}xBXUQ(-8@jRc&u@P+7L2Gx=by51D$P?bKv;i`a*jv#t?` oX-UB~|DeEMD3~NkL=;PY0ilZze)S2ld;kCd07*qoM6N<$g7gAFIRF3v literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sign_wood.png b/mods/default/textures/default_sign_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..d0559dac36e74f6a23df27e7c5c8f97969d7db1f GIT binary patch literal 770 zcmV+d1O5DoP)y{D4^000SaNLh0L01FcU01FcV0GgZ_00076 zNkl9}J3BL(EQTO?sEtjC5+XzdLC{LO6p`p(5cCH`(b85# zuu_O!Py~x$p{NK#ga{JELX8@d>~1#6OlD^H&ch-SYy{1LuQ|;*-+5?xo^$KcNdRQU zBnl!rVMvzc0FdZAPy4>j^_|Z0dE$U z0WjA>(vHF?SAdi>P03UY!k`;R0937*O1Vn0BoVDv8$kPC-2NV|)oN2PE0P1+4+Z|BU}E+Z?y09u{H-v4a2rU=~WmMS#!c^V8rj;5z>J85l5VmPC?;5fl-e$LH>5?V-bkDLguy zE@tfp0P(}B9Z5Z-e>44Dvt7892#4L*qiTOQZ~AQRm5bcis2*pP*hClnRA_+^etE~Z z5HM*$^~0ETI=(jZcWrdA-GrVQhV@?^^@nvppG-Hz8An=OXkM+ujG?Ay`No`A_cf)r z+@G~tFbOa{_StB-EboOe?PbrD_#*oAWfi%ucs9=8?0=} zT-3x-pV&L5r>ky1M)ZY@F{Sq6%@1o)DX+$TptR3!llFw*f6m%!OwJv7#f@2OZZ6>cSv4@!Ko6 zm^~to28GG|y$|T`Qk~~3J7WTWN*FZ=&);Jht#ux8yqay-p4gqIkeJzdvflUj)I9k# zxc@}^O+#z+hvl10onJ67x{rcVrRTLiAc;rYIAy#UF90X1-Y` zBS+jbY9Hoh!M+%W_;%$fBX`#6lr@JEFI5iZZ((Y`=DBo8Zqr*Ipgmd4M+fjD6*~*l zf77MR6hT^eSeB%Bwsa)x+DPnhYe4C?yLpD`+dNq)_O9AjP%G~oOL&NSfR}^TMyT?Cf z`Fd~Yy1p_FaLt`+zy7PN3&tClKG!>U0yWx{m_fMAQI>|Rbjc}C@h)Gzu6ZOb$_A!C zJER@(>O#ED+uW~une`A|gMX0b)bUcYl--#cGFEO2Tk=sp+THW)Ma5h7`F-lZ8iz^l z$b_YHwYl0#yKIL}vs4Ehez3l#|JR1`vZ^z+D$-E@n$(9o?>>mRo~sIn=R3*|(szrJ zN=;k$XMFfE=CvrR5_{_XU~yDu*_qnuc#4;|NB5U%`S|*@E*Oaqfr_Bt_kASIm2K|y zF;sTGxHDiDq^~z)`aW-Vd(8CSBhyY#sJpzmO9+JCFWP#yEFYUUEdfCUN>>hbYU8T* z_2H?%Ez{u!L;(XK0|!*IsU^CO_M-eAR%|l#MW?LIU%n`h-<=hWZvRB;Q zUGg?%gk=C&&nW-3kg<3|>U<&dlioB-3pWmaz2&KKp#8_{wXxSycymNz11Z0ENA;)B zeuD7k`Kfs4ftE`fx-E{Gm}gL4lecx`>q_cvjNz@LO2u1!cPD6{YT}{>0G1}Qz^X|m zZNXBxY*z}6n?QFJvw5Hj0PqbE^C;9Lx)7c~XRtVah}W7H1e`_lLqvI!+(^7&I+I0| z@afwmVUbix5*0&31o%UI#aNJlO&3z&V)h=604w%GeC5T0@AF|K0{#^uO!7mJN#XEd zE}srZyP{p)T<~I6vIoK+0{7+9c4H%Ogl`n!&JV#93VB#0QX~?&icqdxJ_G5F!C;VX z9!L)l7ZBkhNZ|-6Vi%5J?L5W5IdF6Vl@D6S;&R~goRkFaKA|510iMIZk<+Mua`X1_ z_k3lhQIYgLbT*wM6d>JQ-H~7MG%A+B<+CZ^_bfJrK}Yg93JK@KbkyqH~!b}h((1%Vf{>;KCx$bT9rItT2UL|}Ua%%uf_t(8Og zmPow3qUe&Mw7#zVN_|D6TB&KQYH6;!b)%v6ma47w>fN@c`}dj^Cn8sac)f(pAvhp= z$zO@!W+{&tEdT(M74uUMC@Qf5gGRzo65eRg#At>2x=*~=L@-nwiVKP~?$yf$xO0G% zke%$1!pr~)7>uG!dI%GUsw{4ZR!HRlOIe(#DbNrBsiIPuB}o#i#!P2p50V literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_silver_sandstone.png b/mods/default/textures/default_silver_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..eac62cb19c4e9e9b2bac91f86232e8cbefee96e0 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ-M?qUfxVj!9oTy0(Dvg; zcbz!4`^53RUv<)-0Tonwx;Tb#T<1Nrk(bGkhxNjJgN9s*171cRrm KpUXO@geCymTUi_c literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_silver_sandstone_block.png b/mods/default/textures/default_silver_sandstone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..9997461bfa95d735b2a1ee6bf85e8f3df40b6e3d GIT binary patch literal 290 zcmV+-0p0$IP)c~oSTxMo|UPnqN=H*zr3)(y|Ti#GsI39_=l}o!07*qoM6N<$f@AQAX8-^I literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_silver_sandstone_brick.png b/mods/default/textures/default_silver_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..93d87a571ab36f919cf32f84f0b358fb2fba7d15 GIT binary patch literal 314 zcmV-A0mc4_P)vTvkAg<0uuh{|C300vkLOsp2sO#lD@ M07*qoM6N<$g41l9G5`Po literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_snow.png b/mods/default/textures/default_snow.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbef0e5839e699d222479131c00cf058901d8fc GIT binary patch literal 522 zcmV+l0`>igP)D%1u+}!Eh-Rj-l>D}Jz-rwuq-|XMt?BCz* z-{9%r;O*bw?&0C;;NkA!;qT$%>)_(<;^OP!;_u?(@Z#g~?&IX~vI|=k(_1^yldD=;-q2==JF6_UP&N>FV_B>-FpG_U!HV?d|vN?)UEQ z`SbMu{r&&Fpgw#6008PqL_t&-(+$jvLV_?90MMH()Iy~wdy>!tSGLi0c{e9xA{qSu z7uETI0~guK7SapD$(bgP;U?{6(>5qO&-r(jfk1a;qZ45bw}*M00sVflR8g%3FV;^n zhfOfZQ590}o9ePh0fRBqp86W^uM$(+B@Cm5GKE#8R4b!D8L&4bYFgVZs8sHQ!MN`5 zIKQrO>#f-hBgnn1lFS>=O<(>5XYkOV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_snow_side.png b/mods/default/textures/default_snow_side.png new file mode 100644 index 0000000000000000000000000000000000000000..03456c84498d7c06625dfc29db1917f159fd5af6 GIT binary patch literal 848 zcmV-W1F!svP)y{D4^000SaNLh0L01FcU01FcV0GgZ_0007~ zNkl2&%wb6)r_`najv87S|Cvr1?K$XCK+qVRLOJ8 z`*$A@Q99Q#nS4u@Wuyeob>w+YmRZ(U*Mt}-iUJi8_WA{%9v?XSbIxE`Q`h?#V^C2- z2>9RuXxok$K*SPaz*<2Kp11GLNGUNIjj0Ah0G#v05D^i2y$ov%Ap|y?8(zGaGGE-0 zVnol*|02sWg7?(JeMA-S9n;B(^}3<+j=SvxAqGe=8XvG;H>e0Mw7VCqwUqTfF+~Ug z=RB*cPlT{rD)&l^HM=7~2!RluxV&6qQ;fWR_2XWNTP`1Gz?&bwKRn^{SSx(}tULk8 z@*IHU<*MQ0;+Ey|4&eCzS*{w+&bQ1j9|$1<9A95I{PgoL0LSLn-_AKa{1WdPHk&PV zy^n|jV5~t^X_^KVC8mfmh8R2Me=iUfbTk@~Qpff7mTEAh*Y9J@&cF}?DJA;-{tm78 zSYw#aSLAulu&z-RSgtnz`R|-3rJcs2iVp#?LI?p-!FP`sV;I&oRW-n_*Vm|K42Cr+ zMo4Lg4|w)fi2+E7eorBGTrO5r<$$uRcxoD~v4ZywRb@Qh$5=zJ*F#0PT-@QECohE4 z(?3`&uQ)n7Vldp!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e41p{o}iwX~zs*-BkC!PyI&vpeD28Mzsd{`p8eV+xj~<=$!>{CMsC6lg*X)+ha1~!Eu8jv{HR&r z5Yox$5GCYz!F}4^qR44)8%$~+J}h7mVoBC2T%LUOZ$(X`O69XKho5l=B$$<&9(ry0 zcjL_`FV5>`M!D=e*0o>F;$5pP9zXRttIYE!-%ZPQ zJNYc%ZZk8cR{GW~-L9lwgB}AZ-XjNfHJ)}G^e8;-%bnP2(6eBQe%(3qeauU13}@dh mTwflQo+rfI@ZCdN%F4pR!lI(0nVFf>)YQPi zz`nk|mzS5;($UPy&dklt&dbT3o}QJJm6MZ`yS%!%xVW#cug}lU(9+E?z=xIq006y7 zL_t&-(+!MQmI5&h1Y5Es=P&`70PNoXl=!o|UKPrH?|1HdzxHvCoS|{SBf{+IoMWfB z7A!G>%rgMjkrDqQ5FN7tw&RLe08B{4At}m&@Zz~09kgy8W1=U`-v1Izq~Ocsyk}-l zNrEXl&F59=5vzEgc64h1Tcv77bt)%ScA!utk#B2(PUYa2nGZg-mQmdE;X@F4%huYe z_^?kR+dFTPWL+}`j*!y2eYPeN!az~gqFGNJUB_2{&Y}rno2~Oo00000NkvXXu0mjf DKu@$c 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..8100b0132ab8245d8792c0a47659885c598252ab GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=1NA8UO$PKY8@v{oB{x zy?OEH_m3IVCSSdDwyd<|^T&4!=FU2_Z|AnnYnz)I8tQ8`=F}Vj>R~Ji@(X5gcy=QV z$Z_{{aSY+Oo_v5$f_1@`35yt7!h)DK9oX_NgwbGaoK(_@12g_}c$iBYb?BVF$F+o2 xqQ!TbFXJVLt%uZt`J76)r4OAEPC3BOaD6TBfloW;9|s!A;OXk;vd$@?2>@0JQPThb 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..0378d078b0910afff1999c66b8ddfb8e8e89a67c GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=4|*GFB=AIiAAKx+3gn z-^T!j7)yfuf*Bm1-ADs+6g^!WLpZJ{A7E`+V6s?nisBmvQG-TKjRPSQbPgT(o z#%yuM$yd=fnb9=#SI9P*L)BLM+P&n>W-)I3eaq&%;LKj$$;#hC)^|Thr!d;&t;ucLK6ViF;-~+ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stone_block.png b/mods/default/textures/default_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..3b771e725e32c342a26dcee06ec7b7cb5800d974 GIT binary patch literal 498 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 Z`oP^rDys)=#32&h01sCmc!M)G=`ScLs@(tp literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stones.png b/mods/default/textures/default_stones.png new file mode 100644 index 0000000000000000000000000000000000000000..09c5ee1481b2f9a4ec709f7c82f1005576b6c2ed GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfmH?j+S0Eh`5fK9du|NFJr7nHgCb8CjWGAds7#ot=}D zlM4bx1qB7gg+(PGP+C$_US3`a1T`SgPzwU}wYAN4b#?Xi&2U{n8{^==EtMB*U`=VxP%W84g>ZZX= z)pbW|b8C+@cnLk3S~&9$&!f`56{l=E96Ez-PTkm~top~zHK}X=o4_Z<$Jd7Fni#(o z)Nc`+7QHW~KdsLA7%%tzjygvEl25OEgU($&d+UR>`mJ4F;hl$HytF^aKWEOWc^hYB b|7H`I&FM5f;p`=#0~tJB{an^LB{Ts5(Mhai literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tin_block.png b/mods/default/textures/default_tin_block.png new file mode 100644 index 0000000000000000000000000000000000000000..72759b0456246db5be2a6938ac2a20a356ee006d GIT binary patch literal 274 zcmV+t0qy>YP)pB1c0GCNbK~xyiC5;IV#2^dso6wUy0yl>5$pl|UfpaXw8q0pr;FLZ#(jC;KVqf83l|Z4hSkS*}S$~_@5wT;$j4Y4% Y112E^EmuPPX#fBK07*qoM6N<$f_89pc>n+a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tin_ingot.png b/mods/default/textures/default_tin_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..eed536105bf934d6274d31c28e6e98360f1cc5c1 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=8W+;Rg>MoHc#ws^v?z zY~HwU@1BbClEn+=B_zb}*uJH%rYa*NZQA7izV7y#*&j9lH87S0`2{mLJiCzwmW!Mb3}ghdQ3VL?or4s5v>!f3EIPAcidff>ad9_G?U9XhA)aV=q$Xz`uq s%XrCQ>mjvZJ*N_G=|g9PQx5PmT*&2Jw`WP+Dxi@Jp00i_>zopr0IQlvvH$=8 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tin_lump.png b/mods/default/textures/default_tin_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..72bd339bf6247bebfc74f1a4385136509acd557d GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=0%_F5I$Z%gU82=ggV2 zVZ(;QhYue(aNu;f!eXEtV@Z%-FoVOh8)-m}ji-xa2*>qg1wjL8X=e$yl`Gj27=ueo zT@9RlHA5pAP9%tM1qqcf7)7v5m1RBH<;ue9dVt4G(DBbRW`8nU4a^VeoYI Kb6Mw<&;$SvKr+h! literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_bronzeaxe.png b/mods/default/textures/default_tool_bronzeaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae43b5a1b84db6c720ec1caf8660fc619101277 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE07Mfl*#cF-W)4!ttxOb zQ^ib4;Q#!hr!98>+ifp2*c>j``9CG@Lzn-@Cfobvrf#~Tevgv(U)*>%Vp;mVi{3IZ&jofAgkCO5xOJ@c l!;uG57N1TxZ<4YqW8A>T$YeGDC7sn8Z%eg(Cdo zc5OPJIcNFpv?GTnpWc0EGyC$e{^hR%4|MMT+tjGce=V9ZX7S;D{y>8nJYD@<);T3K F0RSkOOR)d| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_bronzeshovel.png b/mods/default/textures/default_tool_bronzeshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d800e4712423eda26bc85adad3d979b9dd4acf GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!cYsfbE07Mfl-V3Bo#QENtt#-W z+4leZqMy@}KTVAEFcdaZ68Jka?c3zI51oN;+P$AQxjt@ic~)a_x6>FVdQ&MBb@0AB-CuK)l5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_bronzesword.png b/mods/default/textures/default_tool_bronzesword.png new file mode 100644 index 0000000000000000000000000000000000000000..cdab89851d664de8fac1e56bec81bd7288e2b555 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=7>}`0LG>|IaU48!!E^ z+`v*@=zqIyj;FA{Dev;R+4Vpbj3q&S!3+-1ZlnP@7M?DSAsp9}9hjS#1ZG`yVLT*I z7TUnY@=#o$g_GlO$cCv7p#@8vd9!Dyu}nOf64125x8asH%TmT?7VPIuN(#OL&0z3! L^>bP0l+XkKtRpg? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondaxe.png b/mods/default/textures/default_tool_diamondaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..e32a0bf2bc272cf0582c5c7f31b21c37eecdb81b GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E07Mfl*#cF7A`NfRuwRx zHN#9vpz+D0>~p8%4;_fvv$O5x^NQOyi>_V{*t}71(gelUW;b0?4h`{nK%I;wL4Lsu z4$p3+0Xf#5E{-7*m)D-K6k<@|U~v@rc;NT{`KF~SjfywPRW0i}x3yvEa+U87Ory%A pr-|^fq#NC+eEs3(#04GOWH-%WuJW7L^Ddp&ozQ2dB;dGYk)b?q*%a+0}c6m2!(ht7d-YDvtny)#xFJIXA?M~hHTp8Ie3v&}okmdKI;Vst01O^W9{>OV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondshovel.png b/mods/default/textures/default_tool_diamondshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fe24decd9028238a63bb04fb4288544ca006ed GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Q-Dv1E07j0FAcPm$?+6!eEP^* zRiNVbO?N|~S--wl-@luD=dAc};NL*fe!jh>$frs^Czng-ZPTu$ZtLCzBOD(Hz zcC3DMWoFWoq#75kI6G_qo%3oI%dQkpz3#^0bnh4ExvEI>2l;0rE-vj#)c1bH_~FFm S9jZW689ZJ6T-G@yGywpTgH$;H literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondsword.png b/mods/default/textures/default_tool_diamondsword.png new file mode 100644 index 0000000000000000000000000000000000000000..dbccd0e395592ee9598d21e4dc5306255db352a0 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=0*b0m9{_iY-lDZ(lpl zoo%Tulz-t|j;FA{DetQ#vi3j)j3q&S!3+-1ZlnP@j-D=#Asp9}9hkki1ZJI#WH@AC z*lI9iF0&$&Rsf^g1_q~AAs+|UWld`(Ry8ThW<}gKaqsX^YgTZ{Wx5jQs=>>^=EGs| Spr275WVffQpUXO@geCy?MKJdO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_meseaxe.png b/mods/default/textures/default_tool_meseaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..c01fb4f339970cd8a01ad6d0d24f7544e42b1d91 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE07Mfl*#cFwpJC`dxYWr zM>jJifq(zJ&tH+a`+(v9|Ek}Aaz1^D{PZRC!DF*qcU7<7R&>)9J$a7z`74I2HyN%U z*tP;_1Y=2%UoeBivm0qZj*X{_V~E7%wWrMa7!(AU4=O)D^Z&kAxBsH#-5Y(*A9CBi zyvx|-UCgEu$^#8x%>$i&0PBQzlih_X}7)yfuf*Bm1-ADs+ygXeT zLpZJ{J21F)t~9vzDL`U%jO3|FuYwy4W~eOaxf>}EdM2+&pjVBH=Mkdh);F%URr+3W<= z&sY-V7tG-B>_!@pF=7$R|b=?P1w1_d70i~c5^Ef1>x@4m&kaY5oPa|x9*GIKZ2 zJ6JWL)^ABrXW5qIuR)%FVdQ I&MBb@0EshB)&Kwi literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_mesesword.png b/mods/default/textures/default_tool_mesesword.png new file mode 100644 index 0000000000000000000000000000000000000000..d395d3a13b3427a2fdd9528ebd6f2773bdf4eae3 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=69B4ED|p<@F4f>Oy-C zG5r5O;s5`-|NnDOo)ydS6!tgeee@*n(Uat(rx=1?E@=U3U@Qsp3ubV5b|VeQarSg^ z4B@z*?7-Z_BrwY`lJSth=4Jzl?&bwd%QBcA2{1YyOY3M@!xF-JI%Nfyp8twO?`<+o mCn}6J8YPAJ0;*dVm@s&|aN0-j`qv3Gj=|H_&t;ucLK6VS;XoMx literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelaxe.png b/mods/default/textures/default_tool_steelaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..1528cad45fd63c4a79892e2c6133949ada2f3e7c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJE07Mfl*#cFwpJBbwrts# zFJH`*1YW*;`RLK3+qZ9@IdkU!|NlRJ{J3)E%EgNpj~zR9^ytxT+qSvsiV7$k$pva= zED7=pW^j0RBMr#0@pN$vk+{6}lqDa70uS@S0v4gXAODkA%69g>J!WJp&AK-9;AH8; vs_V`?;`5nQt`JehVx2E*XDvA8!Zz;x9gJeXUOhexG>5^{)z4*}Q$iB}41rCi 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 100644 index 0000000000000000000000000000000000000000..a7543a1f8fe8ef0f8f8c13b38fef91ec2a404d26 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4%>?*0G&f1ssIj;FA- zs=(d5cTE)eU%h&D@!~~06@h2Zo<%#!IO~i1oANe4cyR=%fw3gWFPOpM*^M+H$J^7z zF@)oKvIBz~r>TT?rgV>Krr{LT6~YXO8@O~E4Bmx0T`}Hm?8jv6!z7_1Nb!G{kYUcY`F zXepE9Dg5Qjm;e9&zj*QD!Gj04Z{NOn@uH`psG9-*&!0cfo;`c&)Ty02cP2Or`(Bb< z2Gq}3666=m;PC858j$1e>Eak7ae3_tOQr?|9@dNgLcUBLxBtG+Qoq>L_3~cA1cT4V zvyNF-nCr&G39pvd6aTd`J#4w%wy@Ae@7*q*p4G75@Vp1-VL6dgjLW31trr0r$>8bg K=d#Wzp$P!)%vS;c 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..630a33966efb2fd8e87dafa0418ffe5673d9766d GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=5ozPtM55`2YX^vSrKe z+___^F7)cvs~k^Ze^cIMpINY&Xs` zUIDX~bDj#w4sI||+OE5YA(1uJ%0XhyssPtRi~_SRvZy_92w1>yN+aEYm7(37{m34* S&?P_v7(8A5T-G@yGywn|+%up6 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 100644 index 0000000000000000000000000000000000000000..237d739c4e5e751899444a59d107dd2bfccc4555 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0DHU6$rGH$?+7<$;nAh zPBu~GudAy|OG|5PY^?w_*zA2T5^wXfT90cpd-G-ECF~R8zH^K0d&KxupD~Z)!+af}!3>_RelF{r5}E+m CYDHoI 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 100644 index 0000000000000000000000000000000000000000..11711bd23279cd49c09e6aed90126cfe24757511 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE0C_Qs|&Q0$?+7fC@+tQ zh_F@_C@d^+Hx%mWXm4z2sIIEa&(Akg5~!>w&&|mxEiFk&Nr{h*2@4HLa1_3sq^JTk zg0UpXFPOpM*^M+H$H&vfF+}3>(o>dV4GKK27hResaL)O*Kg_yQ%w*5If1eXC#BFs; zPdp~mvu5U-ubm#fA71pImg-z)Hzld*V!5Zto;A`3?i(bx`@b`I!)RU4__QvqjR|Nj NgQu&X%Q~loCIGrFOq~D# literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stonesword.png b/mods/default/textures/default_tool_stonesword.png new file mode 100644 index 0000000000000000000000000000000000000000..1a493acbd6125ff226edc18ac838ed626c9083a0 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=8+ru0GygVWA^xl@LpZJ{J1`pt z%&J_?*s?H5hhf>wIm`>0mfc{TlE9>8AewVDKvd=>lYrZ8BX@(dGmk281X?p@%~zVj Z#txJ(=`9Wh7E_7NjgZZSr_2y#3(Q;P*N?yAz%UHsTTbP0l+XkKnkOx} 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 100644 index 0000000000000000000000000000000000000000..dcef2b5bf22283c594f4e0f6dfb653bb5a97bd6b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=2a5!geYGmMQ{~HvB#Y ze1VoSf#!m)I)Wi){7H@iadrZ|3Y_jhb&MrJe!&b5&u*jvIZmD~jv*Y^lO0%%%bhd) z+%?$^lwDL*7+j2ZPMOvq$+PP1Y0(2c%T_2EoHcZoRhp1{fMwaumW9hyr3?fF63iTm a85kBHpz-94JT%d)M z<8a6ZE2mI{b_ZT#U(==&EruG7SJ)ihiZ)$h$bQ9owzKkoIM56RPgg&ebxsLQ05WPS A?f?J) 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..cdf33ef38acb19250410c39f254b7232dad73115 GIT binary patch literal 833 zcmV-H1HSx;P)S;-7BC_dOg14Q77XFx;o{%NIV3705h521d~S z(s|XZcHFXZ<-%*dq-o;5VB@|~%cxDup+-|qHrA3g;;b&(fg<3f9a$v+;^W%l-q_*a z)8gFI-}=tu+|J+4&F$yN(9Ou<+QQP!wBOCG<>0H{z^m}#s<^tO-p`%l(46Pjn#H!5 z(Y2P>!0aGb{(B<9nX3k>8l$k91j!|4T5(J1PKhsUkb}_ z0@g$TuP6YS1pom603tqEnE(I)0d!JMQvg8b*k%9#0dh%1K~z}7-Pcu90s$02VeH;T zN=i^dM362)K)~+q?(VMN?(-g=obkck`^Gny*_kt&s$a~*`fg;ofFYDyxA6c1$~fzEBR*-VErJNskx8$vz;o z=9NNzw#XjyR;BbPn_EJcV?hd&kqlP)UFcC#PLDZ)pq-I|Mcs>)jQ0Z4(X5dBhw6^t zpIU;%On@zSP9Z%C1XGfti3OzK-nL+6*JW2ok0U~Sh$3_Y#+TKQtmhkIlWC9gNfL&2 z0Hc{bu6tS`2F3J969&aADFnkJR?a6B+e4QCXfi|c^P=~jqcraj&Wqec}+5CLH`;9%tyV$jR8NBQK7 z0}!VMFYrcg9BZH1LoVO9AB0EzPU!$6PBmXhPWk;J+939SeSZ7^NU$%G{0x(&00000 LNkvXXu0mjf4}6#L 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..3a8b5ad9547fcb4c9ad7aba659c503e4dc832c34 GIT binary patch literal 916 zcmV;F18e+=P)foE`(}{0bKZamFf?PW>AQB}Q4&mwR(u1o)a2^U;n>dO<;~>a#O&z3 z=jFTR-?_rNu<75dvZ$QBxtQO=leMXVj*@+`qj$WfaGjKE;utZ(Bs8 zfInA2EU$bRpJ@{}AQ2G{5Se2Pj8X{B&eP-L(&60D=cz z;Fd30^j zl0hx>_^Vm`S7uCnB%=>KW1qxF(4ih7C8xS++OuthO~!9|0*K*5&d%W8Dy{@# z`uJcy7le529$HeYfgbM_R{|k?L^i3223ZA6Z6YPB8aNLnON9X5xDtrsV+wqzETrV1 z7v@K#&;X{IEk$*%wy=L43TN zgO5%+9#(9M2?E>!^pQa4BLd3F{qn%f22v7G!Ufzq3Y%fyeX1)Cdb$%z4aW}5&kzj7rI#RvRvZIhJjnc%*y?60SwRNVh<_y>H1 qkAK03QU&piFh6`9PVf=m_xc|c7BHhyqHp#900001dEEN_z0!=q; zSp4bdjg|{NBBCzB3D4Zc6I_K8Qj|0l96VY%w0G$q3SeVc*~6$U_PI6+Xbyv?tDnm{ Hr-UW|3$8^U 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..ad51c03a86e53571ba9eba8e6557b6cb13c6bc81 GIT binary patch literal 830 zcmV-E1Ht@>P)$fV@kqVe3G@8g>7+m+zel;6aO;>&>N z(R|>-dFID(+^=iUrd`~jR^qfz-<3t&l|FuQ9Bw}dVlx2f?Aznx)Zo<9`1#S(($C(* z#o*Dt^zgjm*t^@!yYJ+=y1TaV=-gnllUsIYTbqJez>rm%Z%AxsMeoHz)}KM1 zbvBD~G{l@S=B+5_u_A(7BFl3hbyXfkF&?IO9cMut-Ha2IWD|y54CI~)K@vCoUu* zfk1@d?(XjH`tht-+?xeeS!Md|&Y5{#)wlX}Yf7)pi+&U-ZyJTO5BVyt&>FgS5>1sP zwACakYFN~fXsG8uYDqL!k!WcyA%O2sKv%+z`;{Xb*x(K$pUvITlAW#U%_E;jK0i7| zVX;dn-p$C@BM$=Q!F7_Nd70M_qv%~31>TxaI1e??OHqv@S|t;T(990-TI`AMj}DRY z$Rau=2My3V^6~T`t0#9oEUgR2`+ zwi!?i$pIAc0iGA3?o%0YU-F~SC#a#TC=WHiw_hwGh&E#oPfX7$=TQ(TkDnX~(3qE0<1{$@^xhh&A-ceMJd@C=IS;C2hJ?jK z;%1P9xlpcoJpQ}g4;Ht?8LJb8)nh`jJ!L>)dn?mCw14O07x@-1k*IDPX8-^I07*qo IM6N<$f<(%mO#lD@ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tree.png b/mods/default/textures/default_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..10e297b4475486afd1aeaaf7305129777a8101fe GIT binary patch literal 309 zcmV-50m}Y~P)!;7%LwYNjfV&G9)-HAWl6mMmQ=&Hz+bE z96>fFA{P!T9TaBsIgJ1S0Io?yK~xyi70pQ!fG`L|Q9#C!IeP!As@qq;s{tO2HL9Wb ztPu&o1$9*eQxWnD02#3@0~xasJ^-Bpz1gExo#-zbvZBNm?7e)zy1C|=Tg&A9fF_h$ z&`9!Jf6@I;2{Nj5;Q64H0@8e?X{YOlJ3wd!|NOPS3?MBo_#yOo_0d82O zYZ>mbboUGHJCdEpX*`1QgKHyK8hwx~`T(9Ct?G!`=jxa*B9RC_F*TAx00000NkvXX Hu0mjfY+r0z 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 100644 index 0000000000000000000000000000000000000000..da99bce74a957acb1165aa14efb039ac3adccb8d GIT binary patch literal 659 zcmV;E0&M+>P)d>6&%8TQ=dDfs})Sh5VJ0~+M9q`__?9ra-&6eiIljXvS=EjBQ!Gq(# zg5SA+jEjTV7_v*dx*{|-|tn}TW^4Xl|%$)Gh zlI6vXH7oIRYCRv`MBJ-hmJeTMqApA5dl_S}eC_k4?Tq8g}-7MFa zLLo|~#MBU9MvA>!i58>06=pIWfSG&aShbAG-liQc(We+*8CLRic}*@xc7!to!4JmE zH>%Fzxk0<@7Z`l4VHR}FEHG+b?2!=s-L2LxPdtum*2Lr;0{9!b99L%@YeSU|VgT^- tHohISTb-+Ze;B|JfZ#NInop8={sR}dBW%UADir_#002ovPDHLkV1lP>IDG&B literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png new file mode 100644 index 0000000000000000000000000000000000000000..00500e9b91b12021b528b180473cae639b41f619 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(am8iWd+5A+z=C)qnbBTtB z;uTkv+Mk(BeBnR;`ZcrdNtFNQ|rsx@R2rK4{}p1H74@v-G!h7u-mn{4ZO=|Fcec)I$ztaD0e0sy*)Xj1?H 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..070d79718eb0d1de20147a6184729de6d9a6bf3a GIT binary patch literal 1607 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3>?frR&Nhm4Un=4@Ck8M>wKou`&_Q|nbCyj zW|Ll6O?lxssmwCE4hD02Wxf;oL+kl7V!b7#Jt*X!emFuRaXP)j? zDPnS}bZ*c%zVO}7Fxy33504af2rPb9;vo~CzHF8wr_g@uc!}Nvk38yB^8T{SR%Ndg zG-e8)qU7{Kqq`;2G-{cd+tRqmjxPC-z38VWs%Y!1CaGCytH_iJ4*%{&wn#JRvo@`i&`vOrWBw_@6*o64an)0QY`yY9?a zFwGG7;h4R34x@P1!%5lkUzNN+oKaLiG<)6}2A(xfk8-SGb!hAQLg`-R{!y58D}nJ_ik_h@a@BVcauG~S=BbnJSuuFKL7gl!g1#9?1^Vfsypt= zWyhvH3~ZUm@Z_yw-1@?5iwVVZKQ50`zq61pT)4oc#OWpTk}3HL)yyY(r(AmYpYb7c ziW8$s*R?!_jx7wICVgSt#Qs9azl`~2(go%#)(Z;{tdaJRQ&@44xy9}k8&`}r* z-zJ(I`=(*v|Er=v_J4&(#g(^?Rn<$@x7*99#MM-bMDDQN6uH+nWo_v8_H%ZJnnMb! zReH9!tMl`}`FT^$WTJ^pQ@-!dk+o;_v=aSc1JapDfsg_@F5$hzl zidDB^&-&h5)u~JNUXxLkEEKu0CPp$~DXY*XTKhm?QbUcATF=fg*fC5+Zrx3?GEmQ(uq zu^?gF2ZlGV3yUgF99Lde9n$*5Ex&*BcNsY+2A$TNvpx*J0~eLNXWO1rU$w@W30OL? zC4TX*-5P#i!;WU>M}5{U))r6RJ(vLGyyN5Rw6;(Ia(2TwV425!4?!~T1R%=D(!ooGRf63L_XWt|5M^MiDiq#*xQk00L+WRdSUC`328}gZVspl(lUF?ju|4hb7zpggUJa~2TW41jk zhx}B#mhwx!=$!cHiidIeua`L~&a>CcEj@96`!`$Kbd<Q$#L zJYoO4p=H`^!AhI*UmssRFl;_`dB26=)aRR?=WCyT=eH-h|KkRK_BWp4!O!&)&M!5Z zUw-1Ti1Y8Cb8O@Hwrx!G|8K_6^XY_izK%)dy25YI_k4=jp7%7+Pvcberz_=Ab?a<) z+FEPgFpijcFrnkd`}iZW-L|*q)#puK9-H<^_C#=f0Q>nE%iWV~Hn$qh)vew%)ozuI z_y3c^f4Gr%`l$o=K(8H;+#p>HlqZPD_8Sem-+!-KPwmu#UsO3S}&gf0$f* zet*~#Nd@8BZ(o#MKZ`93)tdD^ft&w`VC9^h>ugNqDqnHVJkfkfIhgw+Z{@lN6V-iA z2rF{DtKC?8&Gkp_+NYIyhfJPt>latuTb9#Qu6&EJI%(>)lfn0= zZp(c3zH#x|OPl}8RW+6!o~Kt~USs@W?XhFLmFG&k^N!8SbF#jrpmB1s%%?m3TWW$Q zEswsjT=~-s2_Dm1(=8T8yVline&2of^Q6jtn-=<5d?@0_~4;J)^GHr}K25_!4aoQ#vR>5u=A{QLf5^u*2w}s2ReL??RhFz{9uV>>Fx zwzl1IV>;VLAo+avbIEE6k?L!Q<=E!V3xAUs07e&n+V$T!yx^;W#y1pnqIzxm`=bkh zQa2v&Ewkt8vgLVI^{(BP$Lf3W@4e|Dv)|T9Oj&CT)_0@k&BmV~wTBnH?RI<(GW)`} zb0F^58-J>RwnEVsu%nL3+1}ng@9kVikh@?=zWzq?=Z)#MFo!{$2O}?vRGR>;JUZ{^ z8K@CJ_T|q%{>E=OJ{u%~6XlClOH8?)7_bfKoXv6wPwrRh#KwblhfLsT5E68_X&*nfp0Cn;O>0+g2E=;=~y#kh144$rj JF6*2UngCodfr|hD 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..af56d6cd451fbd742626e9d1e013c568634b368d GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYZOyb<*60=PtXh{~5M-~s zu+F0~*?4ZHYiG7?vbR=yw(ZwzhqeM0mw383hHzYWJ!QznWGKS+u(9FDx&0A2s&5#T z_-!3dur_HVsdiK_aq~Zr%&~p7&v$dYHS=n5k`LtNrDVJvzTJw_e=XfKP}k6B83i4KJ^#sHm2f zmWhdpt*xzxhsRQXg(E--#*!evUYh7ML)4~Q3cqj$_65qte-UEQN#ScX9OBgaRN7Fwv(thjT%`c%B;YG5*9@O1TaS?83{1OR2R BHz@!B literal 0 HcmV?d00001 diff --git a/mods/default/textures/gui_furnace_arrow_bg.png b/mods/default/textures/gui_furnace_arrow_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..046d8cda098534b25bc2dfa550ca3e705a29acf2 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzs3?v&j#pnYm^#Gp`S0GIgL`6lFUygqcRL4^i z1nwZs?dFV>hg_f193psmo7Gj+uHYL+^95}4hjoTS3j3^P6^StyP{hGr3|NFN++$3=5{P*~d z=(mEQ+xDE#kgAM3l5Y4|+@xMH!zo#Cr2tRtWi5V3WvQ+eTn9Jk=5{G%IMfQJDoSix z9;?$-bwyOL`@th+*;7sd?YETneX;xJvwW4nl|{=s_WbxTRd1!hl?A&v;x{U}bO2aD;VgY)s zPh>?s2op+pzyR?P~#M7Blp@tC6bF`?%lz9I&bWN14N08v-ucc8CW0ED^3Lle&xMrjzq*zHwy^zt>UT50eH57tc zQZrBosMDIMjzm$2sHP>UGK_=*G+L2IQDQ=!%*FY-9^PHUOOo5md%bQc4taNvkFBk( zW8*b4FHb8G(&V%qu&EL;{1UB(f^J_ad0VCI7zn5mYDKc|sQ}G6T{_1*?O-L-+2hN2 z7QGnG{>&p?|Bd8{CshT>=AE~{`jw~Y??eD+`VZ&Gpg3yN~?F+q~EYn1Iw!s+Jv8Zs%&} zs`MowlKby@&%ve^xB4UlHua+Ga%*=NGr3sC-V~=+>u0X>;dg*(yC^y@dkpQ)Xq#tp z`~0LY)YP4POCg~!&unb_qBwa)omH{l7q>JdnGJpk>bP-)x2C!g~ zE}{#|02WNrMRZ{qz=BD-h%PJxSTIQ!(S>CI3nu9zy08pj!6aQo7nT7mn52v7!ZLsb zlXMYXSO&0Qk}jeP%K#Sqe@K@r|M(wN(KCMrdbkh%kop=u7)Z(Cb`gMqDgXwD0Jw4$ zeg6tTng!suZUBT`04&sYJbQ8l00oVaP*XHB_Sw#n$BWjKY&l+9es1tw_cm9-$rE23 zK5(#PRmGa|s*RhXV=wRBa&Sz6TJLLL(%gdJ*~-$F^rBPrvL`lNmP^M+N8yo+-yJpM zs}_9RJzT~uX?=Rv>A_mPvTXFgZllrlZTe`*juX|J3WH6>Bl|1UhmO75ai-|~d9KE) zGwi9^fg|3pibvy%`L6JLiO)w~{pFAG4@7<6MB)Cy7uQDqnpJQfG|ao=3;+En6MuW% z(DnyEnfTMcutH4UQ@qY~wyg6<&`>m&sccREG^hIT;HB2grRIZ$-xqtID{U@IY%|LX zqJ#TREq#4_;{3&d(B8tzrAI%UbF5(2a@Tzm&ny{!s;&G&bEt7a%b7**oPVK>Te0{N zYU@x_Rgl?UvGM{nym|MbH%Go1?cZ3qC^^P2+7lT)eb?`A6<+=5mE%R=v7J9tYZDKj Qw4ca~w5$&8Z|>gw51Z)1CIA2c literal 0 HcmV?d00001 diff --git a/mods/default/textures/wieldhand.png b/mods/default/textures/wieldhand.png new file mode 100644 index 0000000000000000000000000000000000000000..69f4b7bf966270edd12d85cb6370433181d0354c GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=5cXEWW#S+Pxh!AMBoU zYvaT`uCR+hQO1%WzhDN3XE)M-99d5n#}JO|$qM2dEVQi`7)h{B 0) then + minetest.sound_play( + "default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.1} + ) + end + -- Remove the torch node + return false +end + +minetest.register_node("default:torch", { + description = "Torch", + drawtype = "mesh", + mesh = "torch_floor.obj", + inventory_image = "default_torch_on_floor.png", + wield_image = "default_torch_on_floor.png", + tiles = {{ + name = "default_torch_on_floor_animated.png", + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + liquids_pointable = false, + light_source = 12, + groups = {choppy=2, dig_immediate=3, flammable=1, attached_node=1, torch=1}, + drop = "default:torch", + selection_box = { + type = "wallmounted", + wall_bottom = {-1/8, -1/2, -1/8, 1/8, 2/16, 1/8}, + }, + sounds = default.node_sound_wood_defaults(), + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local def = minetest.registered_nodes[node.name] + if def and def.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return def.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + local above = pointed_thing.above + local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above)) + local fakestack = itemstack + if wdir == 0 then + fakestack:set_name("default:torch_ceiling") + elseif wdir == 1 then + fakestack:set_name("default:torch") + else + fakestack:set_name("default:torch_wall") + end + + itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir) + itemstack:set_name("default:torch") + + return itemstack + end, + floodable = true, + on_flood = on_flood, +}) + +minetest.register_node("default:torch_wall", { + drawtype = "mesh", + mesh = "torch_wall.obj", + tiles = {{ + name = "default_torch_on_floor_animated.png", + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = 12, + groups = {choppy=2, dig_immediate=3, flammable=1, not_in_creative_inventory=1, attached_node=1, torch=1}, + drop = "default:torch", + selection_box = { + type = "wallmounted", + wall_side = {-1/2, -1/2, -1/8, -1/8, 1/8, 1/8}, + }, + sounds = default.node_sound_wood_defaults(), + floodable = true, + on_flood = on_flood, +}) + +minetest.register_node("default:torch_ceiling", { + drawtype = "mesh", + mesh = "torch_ceiling.obj", + tiles = {{ + name = "default_torch_on_floor_animated.png", + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = 12, + groups = {choppy=2, dig_immediate=3, flammable=1, not_in_creative_inventory=1, attached_node=1, torch=1}, + drop = "default:torch", + selection_box = { + type = "wallmounted", + wall_top = {-1/8, -1/16, -5/16, 1/8, 1/2, 1/8}, + }, + sounds = default.node_sound_wood_defaults(), + floodable = true, + on_flood = on_flood, +}) + +minetest.register_lbm({ + name = "default:3dtorch", + nodenames = {"default:torch", "torches:floor", "torches:wall"}, + action = function(pos, node) + if node.param2 == 0 then + minetest.set_node(pos, {name = "default:torch_ceiling", + param2 = node.param2}) + elseif node.param2 == 1 then + minetest.set_node(pos, {name = "default:torch", + param2 = node.param2}) + else + minetest.set_node(pos, {name = "default:torch_wall", + param2 = node.param2}) + end + end +}) diff --git a/mods/default/trees.lua b/mods/default/trees.lua new file mode 100644 index 0000000..c9eabaa --- /dev/null +++ b/mods/default/trees.lua @@ -0,0 +1,590 @@ +local random = math.random + +-- +-- Grow trees from saplings +-- + +-- 'can grow' function + +function default.can_grow(pos) + local node_under = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) + if not node_under then + return false + end + local name_under = node_under.name + local is_soil = minetest.get_item_group(name_under, "soil") + if is_soil == 0 then + return false + end + local light_level = minetest.get_node_light(pos) + if not light_level or light_level < 13 then + return false + end + return true +end + + +-- 'is snow nearby' function + +local function is_snow_nearby(pos) + return minetest.find_node_near(pos, 1, {"group:snowy"}) +end + + +-- Grow sapling + +function default.grow_sapling(pos) + if not default.can_grow(pos) then + -- try again 5 min later + minetest.get_node_timer(pos):start(300) + return + end + + local mg_name = minetest.get_mapgen_setting("mg_name") + local node = minetest.get_node(pos) + if node.name == "default:sapling" then + minetest.log("action", "A sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + if mg_name == "v6" then + default.grow_tree(pos, random(1, 4) == 1) + else + default.grow_new_apple_tree(pos) + end + elseif node.name == "default:junglesapling" then + minetest.log("action", "A jungle sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + if mg_name == "v6" then + default.grow_jungle_tree(pos) + else + default.grow_new_jungle_tree(pos) + end + elseif node.name == "default:pine_sapling" then + minetest.log("action", "A pine sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + local snow = is_snow_nearby(pos) + if mg_name == "v6" then + default.grow_pine_tree(pos, snow) + elseif snow then + default.grow_new_snowy_pine_tree(pos) + else + default.grow_new_pine_tree(pos) + end + elseif node.name == "default:acacia_sapling" then + minetest.log("action", "An acacia sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + default.grow_new_acacia_tree(pos) + elseif node.name == "default:aspen_sapling" then + minetest.log("action", "An aspen sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + default.grow_new_aspen_tree(pos) + elseif node.name == "default:bush_sapling" then + minetest.log("action", "A bush sapling grows into a bush at ".. + minetest.pos_to_string(pos)) + default.grow_bush(pos) + elseif node.name == "default:blueberry_bush_sapling" then + minetest.log("action", "A blueberry bush sapling grows into a bush at ".. + minetest.pos_to_string(pos)) + default.grow_blueberry_bush(pos) + elseif node.name == "default:acacia_bush_sapling" then + minetest.log("action", "An acacia bush sapling grows into a bush at ".. + minetest.pos_to_string(pos)) + default.grow_acacia_bush(pos) + elseif node.name == "default:pine_bush_sapling" then + minetest.log("action", "A pine bush sapling grows into a bush at ".. + minetest.pos_to_string(pos)) + default.grow_pine_bush(pos) + elseif node.name == "default:emergent_jungle_sapling" then + minetest.log("action", "An emergent jungle sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + default.grow_new_emergent_jungle_tree(pos) + end +end + +minetest.register_lbm({ + name = "default:convert_saplings_to_node_timer", + nodenames = {"default:sapling", "default:junglesapling", + "default:pine_sapling", "default:acacia_sapling", + "default:aspen_sapling"}, + action = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end +}) + +-- +-- Tree generation +-- + +-- Apple tree and jungle tree trunk and leaves function + +local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, + height, size, iters, is_apple_tree) + local x, y, z = pos.x, pos.y, pos.z + local c_air = minetest.get_content_id("air") + local c_ignore = minetest.get_content_id("ignore") + local c_apple = minetest.get_content_id("default:apple") + + -- Trunk + data[a:index(x, y, z)] = tree_cid -- Force-place lowest trunk node to replace sapling + for yy = y + 1, y + height - 1 do + local vi = a:index(x, yy, z) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or node_id == leaves_cid then + data[vi] = tree_cid + end + end + + -- Force leaves near the trunk + for z_dist = -1, 1 do + for y_dist = -size, 1 do + local vi = a:index(x - 1, y + height + y_dist, z + z_dist) + for x_dist = -1, 1 do + if data[vi] == c_air or data[vi] == c_ignore then + if is_apple_tree and random(1, 8) == 1 then + data[vi] = c_apple + else + data[vi] = leaves_cid + end + end + vi = vi + 1 + end + end + end + + -- Randomly add leaves in 2x2x2 clusters. + for i = 1, iters do + local clust_x = x + random(-size, size - 1) + local clust_y = y + height + random(-size, 0) + local clust_z = z + random(-size, size - 1) + + for xi = 0, 1 do + for yi = 0, 1 do + for zi = 0, 1 do + local vi = a:index(clust_x + xi, clust_y + yi, clust_z + zi) + if data[vi] == c_air or data[vi] == c_ignore then + if is_apple_tree and random(1, 8) == 1 then + data[vi] = c_apple + else + data[vi] = leaves_cid + end + end + end + end + end + end +end + + +-- Apple tree + +function default.grow_tree(pos, is_apple_tree, bad) + --[[ + NOTE: Tree-placing code is currently duplicated in the engine + and in games that have saplings; both are deprecated but not + replaced yet + --]] + if bad then + error("Deprecated use of default.grow_tree") + end + + local x, y, z = pos.x, pos.y, pos.z + local height = random(4, 5) + local c_tree = minetest.get_content_id("default:tree") + local c_leaves = minetest.get_content_id("default:leaves") + + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map( + {x = x - 2, y = y, z = z - 2}, + {x = x + 2, y = y + height + 1, z = z + 2} + ) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm:get_data() + + add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_apple_tree) + + vm:set_data(data) + vm:write_to_map() + vm:update_map() +end + + +-- Jungle tree + +function default.grow_jungle_tree(pos, bad) + --[[ + NOTE: Jungletree-placing code is currently duplicated in the engine + and in games that have saplings; both are deprecated but not + replaced yet + --]] + if bad then + error("Deprecated use of default.grow_jungle_tree") + end + + local x, y, z = pos.x, pos.y, pos.z + local height = random(8, 12) + local c_air = minetest.get_content_id("air") + local c_ignore = minetest.get_content_id("ignore") + local c_jungletree = minetest.get_content_id("default:jungletree") + local c_jungleleaves = minetest.get_content_id("default:jungleleaves") + + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map( + {x = x - 3, y = y - 1, z = z - 3}, + {x = x + 3, y = y + height + 1, z = z + 3} + ) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm:get_data() + + add_trunk_and_leaves(data, a, pos, c_jungletree, c_jungleleaves, + height, 3, 30, false) + + -- Roots + for z_dist = -1, 1 do + local vi_1 = a:index(x - 1, y - 1, z + z_dist) + local vi_2 = a:index(x - 1, y, z + z_dist) + for x_dist = -1, 1 do + if random(1, 3) >= 2 then + if data[vi_1] == c_air or data[vi_1] == c_ignore then + data[vi_1] = c_jungletree + elseif data[vi_2] == c_air or data[vi_2] == c_ignore then + data[vi_2] = c_jungletree + end + end + vi_1 = vi_1 + 1 + vi_2 = vi_2 + 1 + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() +end + + +-- Pine tree from mg mapgen mod, design by sfan5, pointy top added by paramat + +local function add_pine_needles(data, vi, c_air, c_ignore, c_snow, c_pine_needles) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or node_id == c_snow then + data[vi] = c_pine_needles + end +end + +local function add_snow(data, vi, c_air, c_ignore, c_snow) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore then + data[vi] = c_snow + end +end + +function default.grow_pine_tree(pos, snow) + local x, y, z = pos.x, pos.y, pos.z + local maxy = y + random(9, 13) -- Trunk top + + local c_air = minetest.get_content_id("air") + local c_ignore = minetest.get_content_id("ignore") + local c_pine_tree = minetest.get_content_id("default:pine_tree") + local c_pine_needles = minetest.get_content_id("default:pine_needles") + local c_snow = minetest.get_content_id("default:snow") + + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map( + {x = x - 3, y = y, z = z - 3}, + {x = x + 3, y = maxy + 3, z = z + 3} + ) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm:get_data() + + -- Upper branches layer + local dev = 3 + for yy = maxy - 1, maxy + 1 do + for zz = z - dev, z + dev do + local vi = a:index(x - dev, yy, zz) + local via = a:index(x - dev, yy + 1, zz) + for xx = x - dev, x + dev do + if random() < 0.95 - dev * 0.05 then + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + end + vi = vi + 1 + via = via + 1 + end + end + dev = dev - 1 + end + + -- Centre top nodes + add_pine_needles(data, a:index(x, maxy + 1, z), c_air, c_ignore, c_snow, + c_pine_needles) + add_pine_needles(data, a:index(x, maxy + 2, z), c_air, c_ignore, c_snow, + c_pine_needles) -- Paramat added a pointy top node + if snow then + add_snow(data, a:index(x, maxy + 3, z), c_air, c_ignore, c_snow) + end + + -- Lower branches layer + local my = 0 + for i = 1, 20 do -- Random 2x2 squares of needles + local xi = x + random(-3, 2) + local yy = maxy + random(-6, -5) + local zi = z + random(-3, 2) + if yy > my then + my = yy + end + for zz = zi, zi+1 do + local vi = a:index(xi, yy, zz) + local via = a:index(xi, yy + 1, zz) + for xx = xi, xi + 1 do + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + vi = vi + 1 + via = via + 1 + end + end + end + + dev = 2 + for yy = my + 1, my + 2 do + for zz = z - dev, z + dev do + local vi = a:index(x - dev, yy, zz) + local via = a:index(x - dev, yy + 1, zz) + for xx = x - dev, x + dev do + if random() < 0.95 - dev * 0.05 then + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + end + vi = vi + 1 + via = via + 1 + end + end + dev = dev - 1 + end + + -- Trunk + -- Force-place lowest trunk node to replace sapling + data[a:index(x, y, z)] = c_pine_tree + for yy = y + 1, maxy do + local vi = a:index(x, yy, z) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or + node_id == c_pine_needles or node_id == c_snow then + data[vi] = c_pine_tree + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() +end + + +-- New apple tree + +function default.grow_new_apple_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/apple_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 3, y = pos.y - 1, z = pos.z - 3}, + path, "random", nil, false) +end + + +-- New jungle tree + +function default.grow_new_jungle_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/jungle_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "random", nil, false) +end + + +-- New emergent jungle tree + +function default.grow_new_emergent_jungle_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/emergent_jungle_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 3, y = pos.y - 5, z = pos.z - 3}, + path, "random", nil, false) +end + + +-- New pine tree + +function default.grow_new_pine_tree(pos) + local path + if math.random() > 0.5 then + path = minetest.get_modpath("default") .. + "/schematics/pine_tree_from_sapling.mts" + else + path = minetest.get_modpath("default") .. + "/schematics/small_pine_tree_from_sapling.mts" + end + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "0", nil, false) +end + + +-- New snowy pine tree + +function default.grow_new_snowy_pine_tree(pos) + local path + if math.random() > 0.5 then + path = minetest.get_modpath("default") .. + "/schematics/snowy_pine_tree_from_sapling.mts" + else + path = minetest.get_modpath("default") .. + "/schematics/snowy_small_pine_tree_from_sapling.mts" + end + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "random", nil, false) +end + + +-- New acacia tree + +function default.grow_new_acacia_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/acacia_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4}, + path, "random", nil, false) +end + + +-- New aspen tree + +function default.grow_new_aspen_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/aspen_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "0", nil, false) +end + + +-- Bushes do not need 'from sapling' schematic variants because +-- only the stem node is force-placed in the schematic. + +-- Bush + +function default.grow_bush(pos) + local path = minetest.get_modpath("default") .. + "/schematics/bush.mts" + minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, + path, "0", nil, false) +end + +-- Blueberry bush + +function default.grow_blueberry_bush(pos) + local path = minetest.get_modpath("default") .. + "/schematics/blueberry_bush.mts" + minetest.place_schematic({x = pos.x - 1, y = pos.y, z = pos.z - 1}, + path, "0", nil, false) +end + + +-- Acacia bush + +function default.grow_acacia_bush(pos) + local path = minetest.get_modpath("default") .. + "/schematics/acacia_bush.mts" + minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, + path, "0", nil, false) +end + + +-- Pine bush + +function default.grow_pine_bush(pos) + local path = minetest.get_modpath("default") .. + "/schematics/pine_bush.mts" + minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, + path, "0", nil, false) +end + + +-- +-- Sapling 'on place' function to check protection of node and resulting tree volume +-- + +function default.sapling_on_place(itemstack, placer, pointed_thing, + sapling_name, minp_relative, maxp_relative, interval) + -- Position of sapling + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local pdef = node and minetest.registered_nodes[node.name] + + if pdef and pdef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing) + end + + if not pdef or not pdef.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + pdef = node and minetest.registered_nodes[node.name] + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local player_name = placer and placer:get_player_name() or "" + -- Check sapling position for protection + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) + return itemstack + end + -- Check tree volume for protection + if minetest.is_area_protected( + vector.add(pos, minp_relative), + vector.add(pos, maxp_relative), + player_name, + interval) then + minetest.record_protection_violation(pos, player_name) + -- Print extra information to explain + minetest.chat_send_player(player_name, "Tree will intersect protection") + return itemstack + end + + minetest.log("action", player_name .. " places node " + .. sapling_name .. " at " .. minetest.pos_to_string(pos)) + + local take_item = not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) + local newnode = {name = sapling_name} + local ndef = minetest.registered_nodes[sapling_name] + minetest.set_node(pos, newnode) + + -- Run callback + if ndef and ndef.after_place_node then + -- Deepcopy place_to and pointed_thing because callback can modify it + if ndef.after_place_node(table.copy(pos), placer, + itemstack, table.copy(pointed_thing)) then + take_item = false + end + end + + -- Run script hook + for _, callback in ipairs(minetest.registered_on_placenodes) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + if callback(table.copy(pos), table.copy(newnode), + placer, table.copy(node or {}), + itemstack, table.copy(pointed_thing)) then + take_item = false + end + end + + if take_item then + itemstack:take_item() + end + + return itemstack +end diff --git a/mods/doors/README.txt b/mods/doors/README.txt new file mode 100644 index 0000000..ba8bd82 --- /dev/null +++ b/mods/doors/README.txt @@ -0,0 +1,85 @@ +Minetest Game mod: doors +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) + +Modified by BlockMen (MIT): Added sounds, glass doors (glass, obsidian glass) and trapdoor. + +Modified by sofar (sofar@foo-projects.org) (MIT): +Added Steel trapdoor. +Re-implemented most of the door algorithms, added meshes, UV wrapped texture. +Added doors API to facilitate coding mods accessing and operating doors. +Added Fence Gate model, code, and sounds. + +Various Minetest developers and contributors (MIT) + + +Authors of media (textures) +--------------------------- +Following textures created by Fernando Zapata (CC BY-SA 3.0): + door_wood.png + door_wood_a.png + door_wood_a_r.png + door_wood_b.png + door_wood_b_r.png + +Following textures created by BlockMen (CC BY-SA 3.0): + door_trapdoor.png + door_obsidian_glass_side.png + +Following textures created by celeron55 (CC BY-SA 3.0): + door_glass_a.png + door_glass_b.png + +Following textures created by PenguinDad (CC BY-SA 4.0): + door_glass.png + door_obsidian_glass.png + +Following textures created by sofar (CC-BY-SA-3.0): + doors_trapdoor_steel.png + doors_trapdoor_steel_side.png + door_trapdoor_side.png + +Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0): + door_obsidian_glass.png + +Glass door textures by Krock based on textures by VanessaE (CC BY-SA 3.0): + doors_door_glass.png + doors_item_glass.png + +All other textures (created by PilzAdam) (CC BY-SA 3.0): + +Door textures were converted to the new texture map by sofar, paramat and +red-001, under the same license as the originals. + + +Authors of media (models) +------------------------- +Door 3d models by sofar (CC-BY-SA-3.0) + - door_a.obj + - door_b.obj +Fence gate models by sofar (CC-BY-SA-3.0) + - fencegate_open.obj + - fencegate_closed.obj + + +Authors of media (sounds) +------------------------- +Opening-Sound created by CGEffex (CC BY 3.0), modified by BlockMen + door_open.ogg +Closing-Sound created by bennstir (CC BY 3.0) + door_close.ogg +fencegate_open.ogg: + http://www.freesound.org/people/mhtaylor67/sounds/126041/ - (CC0 1.0) +fencegate_close.ogg: + http://www.freesound.org/people/BarkersPinhead/sounds/274807/ - (CC-BY-3.0) + http://www.freesound.org/people/rivernile7/sounds/249573/ - (CC-BY-3.0) +Steel door sounds open & close (CC-BY-3.0) by HazMatt + - http://www.freesound.org/people/HazMattt/sounds/187283/ + doors_steel_door_open.ogg + doors_steel_door_close.ogg +doors_glass_door_open.ogg, doors_glass_door_close.ogg: + https://www.freesound.org/people/SkeetMasterFunk69/sounds/235546/ (CC0 1.0) diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt new file mode 100644 index 0000000..5e28bee --- /dev/null +++ b/mods/doors/depends.txt @@ -0,0 +1,2 @@ +default +screwdriver? diff --git a/mods/doors/init.lua b/mods/doors/init.lua new file mode 100644 index 0000000..2685357 --- /dev/null +++ b/mods/doors/init.lua @@ -0,0 +1,861 @@ +-- our API object +doors = {} + +-- private data +local _doors = {} +_doors.registered_doors = {} +_doors.registered_trapdoors = {} + +local function replace_old_owner_information(pos) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("doors_owner") + if owner and owner ~= "" then + meta:set_string("owner", owner) + meta:set_string("doors_owner", "") + end +end + +-- returns an object to a door object or nil +function doors.get(pos) + local node_name = minetest.get_node(pos).name + if _doors.registered_doors[node_name] then + -- A normal upright door + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.door_toggle(self.pos, nil, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.door_toggle(self.pos, nil, player) + end, + toggle = function(self, player) + return _doors.door_toggle(self.pos, nil, player) + end, + state = function(self) + local state = minetest.get_meta(self.pos):get_int("state") + return state %2 == 1 + end + } + elseif _doors.registered_trapdoors[node_name] then + -- A trapdoor + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + toggle = function(self, player) + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + state = function(self) + return minetest.get_node(self.pos).name:sub(-5) == "_open" + end + } + else + return nil + end +end + +-- this hidden node is placed on top of the bottom, and prevents +-- nodes from being placed in the top half of the door. +minetest.register_node("doors:hidden", { + description = "Hidden Door Segment", + -- can't use airlike otherwise falling nodes will turn to entities + -- and will be forever stuck until door is removed. + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + -- has to be walkable for falling nodes to stop falling. + walkable = true, + pointable = false, + diggable = false, + buildable_to = false, + floodable = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + on_blast = function() end, + tiles = {"doors_blank.png"}, + -- 1px transparent block inside door hinge near node top. + node_box = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, + -- collision_box needed otherise selection box would be full node size + collision_box = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, +}) + +-- table used to aid door opening/closing +local transform = { + { + {v = "_a", param2 = 3}, + {v = "_a", param2 = 0}, + {v = "_a", param2 = 1}, + {v = "_a", param2 = 2}, + }, + { + {v = "_b", param2 = 1}, + {v = "_b", param2 = 2}, + {v = "_b", param2 = 3}, + {v = "_b", param2 = 0}, + }, + { + {v = "_b", param2 = 1}, + {v = "_b", param2 = 2}, + {v = "_b", param2 = 3}, + {v = "_b", param2 = 0}, + }, + { + {v = "_a", param2 = 3}, + {v = "_a", param2 = 0}, + {v = "_a", param2 = 1}, + {v = "_a", param2 = 2}, + }, +} + +function _doors.door_toggle(pos, node, clicker) + local meta = minetest.get_meta(pos) + node = node or minetest.get_node(pos) + local def = minetest.registered_nodes[node.name] + local name = def.door.name + + local state = meta:get_string("state") + if state == "" then + -- fix up lvm-placed right-hinged doors, default closed + if node.name:sub(-2) == "_b" then + state = 2 + else + state = 0 + end + else + state = tonumber(state) + end + + replace_old_owner_information(pos) + + if clicker and not default.can_interact_with_node(clicker, pos) then + return false + end + + -- until Lua-5.2 we have no bitwise operators :( + if state % 2 == 1 then + state = state - 1 + else + state = state + 1 + end + + local dir = node.param2 + if state % 2 == 0 then + minetest.sound_play(def.door.sounds[1], + {pos = pos, gain = 0.3, max_hear_distance = 10}) + else + minetest.sound_play(def.door.sounds[2], + {pos = pos, gain = 0.3, max_hear_distance = 10}) + end + + minetest.swap_node(pos, { + name = name .. transform[state + 1][dir+1].v, + param2 = transform[state + 1][dir+1].param2 + }) + meta:set_int("state", state) + + return true +end + + +local function on_place_node(place_to, newnode, + placer, oldnode, itemstack, pointed_thing) + -- Run script hook + for _, callback in ipairs(minetest.registered_on_placenodes) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + local place_to_copy = {x = place_to.x, y = place_to.y, z = place_to.z} + local newnode_copy = + {name = newnode.name, param1 = newnode.param1, param2 = newnode.param2} + local oldnode_copy = + {name = oldnode.name, param1 = oldnode.param1, param2 = oldnode.param2} + local pointed_thing_copy = { + type = pointed_thing.type, + above = vector.new(pointed_thing.above), + under = vector.new(pointed_thing.under), + ref = pointed_thing.ref, + } + callback(place_to_copy, newnode_copy, placer, + oldnode_copy, itemstack, pointed_thing_copy) + end +end + +local function can_dig_door(pos, digger) + replace_old_owner_information(pos) + return default.can_interact_with_node(digger, pos) +end + +function doors.register(name, def) + if not name:find(":") then + name = "doors:" .. name + end + + -- replace old doors of this type automatically + minetest.register_lbm({ + name = ":doors:replace_" .. name:gsub(":", "_"), + nodenames = {name.."_b_1", name.."_b_2"}, + action = function(pos, node) + local l = tonumber(node.name:sub(-1)) + local meta = minetest.get_meta(pos) + local h = meta:get_int("right") + 1 + local p2 = node.param2 + local replace = { + {{type = "a", state = 0}, {type = "a", state = 3}}, + {{type = "b", state = 1}, {type = "b", state = 2}} + } + local new = replace[l][h] + -- retain infotext and doors_owner fields + minetest.swap_node(pos, {name = name .. "_" .. new.type, param2 = p2}) + meta:set_int("state", new.state) + -- properly place doors:hidden at the right spot + local p3 = p2 + if new.state >= 2 then + p3 = (p3 + 3) % 4 + end + if new.state % 2 == 1 then + if new.state >= 2 then + p3 = (p3 + 1) % 4 + else + p3 = (p3 + 3) % 4 + end + end + -- wipe meta on top node as it's unused + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, + {name = "doors:hidden", param2 = p3}) + end + }) + + minetest.register_craftitem(":" .. name, { + description = def.description, + inventory_image = def.inventory_image, + groups = table.copy(def.groups), + + on_place = function(itemstack, placer, pointed_thing) + local pos + + if not pointed_thing.type == "node" then + return itemstack + end + + local node = minetest.get_node(pointed_thing.under) + local pdef = minetest.registered_nodes[node.name] + if pdef and pdef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return pdef.on_rightclick(pointed_thing.under, + node, placer, itemstack, pointed_thing) + end + + if pdef and pdef.buildable_to then + pos = pointed_thing.under + else + pos = pointed_thing.above + node = minetest.get_node(pos) + pdef = minetest.registered_nodes[node.name] + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + local top_node = minetest.get_node_or_nil(above) + local topdef = top_node and minetest.registered_nodes[top_node.name] + + if not topdef or not topdef.buildable_to then + return itemstack + end + + local pn = placer and placer:get_player_name() or "" + if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then + return itemstack + end + + local dir = placer and minetest.dir_to_facedir(placer:get_look_dir()) or 0 + + local ref = { + {x = -1, y = 0, z = 0}, + {x = 0, y = 0, z = 1}, + {x = 1, y = 0, z = 0}, + {x = 0, y = 0, z = -1}, + } + + local aside = { + x = pos.x + ref[dir + 1].x, + y = pos.y + ref[dir + 1].y, + z = pos.z + ref[dir + 1].z, + } + + local state = 0 + if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then + state = state + 2 + minetest.set_node(pos, {name = name .. "_b", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) + else + minetest.set_node(pos, {name = name .. "_a", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = dir}) + end + + local meta = minetest.get_meta(pos) + meta:set_int("state", state) + + if def.protected then + meta:set_string("owner", pn) + meta:set_string("infotext", "Owned by " .. pn) + end + + if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then + itemstack:take_item() + end + + minetest.sound_play(def.sounds.place, {pos = pos}) + + on_place_node(pos, minetest.get_node(pos), + placer, node, itemstack, pointed_thing) + + return itemstack + end + }) + def.inventory_image = nil + + if def.recipe then + minetest.register_craft({ + output = name, + recipe = def.recipe, + }) + end + def.recipe = nil + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + def.groups.not_in_creative_inventory = 1 + def.groups.door = 1 + def.drop = name + def.door = { + name = name, + sounds = { def.sound_close, def.sound_open }, + } + + def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + _doors.door_toggle(pos, node, clicker) + return itemstack + end + def.after_dig_node = function(pos, node, meta, digger) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + minetest.check_for_falling({x = pos.x, y = pos.y + 1, z = pos.z}) + end + def.on_rotate = function(pos, node, user, mode, new_param2) + return false + end + + if def.protected then + def.can_dig = can_dig_door + def.on_blast = function() end + def.on_key_use = function(pos, player) + local door = doors.get(pos) + door:toggle(player) + end + def.on_skeleton_key_use = function(pos, player, newsecret) + replace_old_owner_information(pos) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local pname = player:get_player_name() + + -- verify placer is owner of lockable door + if owner ~= pname then + minetest.record_protection_violation(pos, pname) + minetest.chat_send_player(pname, "You do not own this locked door.") + return nil + end + + local secret = meta:get_string("key_lock_secret") + if secret == "" then + secret = newsecret + meta:set_string("key_lock_secret", secret) + end + + return secret, "a locked door", owner + end + def.node_dig_prediction = "" + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + -- hidden node doesn't get blasted away. + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + return {name} + end + end + + def.on_destruct = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + end + + def.drawtype = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.sunlight_propagates = true + def.walkable = true + def.is_ground_content = false + def.buildable_to = false + def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + + def.mesh = "door_a.obj" + minetest.register_node(":" .. name .. "_a", def) + + def.mesh = "door_b.obj" + minetest.register_node(":" .. name .. "_b", def) + + _doors.registered_doors[name .. "_a"] = true + _doors.registered_doors[name .. "_b"] = true +end + +doors.register("door_wood", { + tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, + description = "Wooden Door", + inventory_image = "doors_item_wood.png", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + recipe = { + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"}, + } +}) + +doors.register("door_steel", { + tiles = {{name = "doors_door_steel.png", backface_culling = true}}, + description = "Steel Door", + inventory_image = "doors_item_steel.png", + protected = true, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + } +}) + +doors.register("door_glass", { + tiles = {"doors_door_glass.png"}, + description = "Glass Door", + inventory_image = "doors_item_glass.png", + groups = {cracky=3, oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + } +}) + +doors.register("door_obsidian_glass", { + tiles = {"doors_door_obsidian_glass.png"}, + description = "Obsidian Glass Door", + inventory_image = "doors_item_obsidian_glass.png", + groups = {cracky=3}, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + }, +}) + +-- Capture mods using the old API as best as possible. +function doors.register_door(name, def) + if def.only_placer_can_open then + def.protected = true + end + def.only_placer_can_open = nil + + local i = name:find(":") + local modname = name:sub(1, i - 1) + if not def.tiles then + if def.protected then + def.tiles = {{name = "doors_door_steel.png", backface_culling = true}} + else + def.tiles = {{name = "doors_door_wood.png", backface_culling = true}} + end + minetest.log("warning", modname .. " registered door \"" .. name .. "\" " .. + "using deprecated API method \"doors.register_door()\" but " .. + "did not provide the \"tiles\" parameter. A fallback tiledef " .. + "will be used instead.") + end + + doors.register(name, def) +end + +----trapdoor---- + +function _doors.trapdoor_toggle(pos, node, clicker) + node = node or minetest.get_node(pos) + + replace_old_owner_information(pos) + + if clicker and not default.can_interact_with_node(clicker, pos) then + return false + end + + local def = minetest.registered_nodes[node.name] + + if string.sub(node.name, -5) == "_open" then + minetest.sound_play(def.sound_close, + {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = string.sub(node.name, 1, + string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) + else + minetest.sound_play(def.sound_open, + {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = node.name .. "_open", + param1 = node.param1, param2 = node.param2}) + end +end + +function doors.register_trapdoor(name, def) + if not name:find(":") then + name = "doors:" .. name + end + + local name_closed = name + local name_opened = name.."_open" + + def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + _doors.trapdoor_toggle(pos, node, clicker) + return itemstack + end + + -- Common trapdoor configuration + def.drawtype = "nodebox" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.is_ground_content = false + + if def.protected then + def.can_dig = can_dig_door + def.after_place_node = function(pos, placer, itemstack, pointed_thing) + local pn = placer:get_player_name() + local meta = minetest.get_meta(pos) + meta:set_string("owner", pn) + meta:set_string("infotext", "Owned by "..pn) + + return (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) + end + + def.on_blast = function() end + def.on_key_use = function(pos, player) + local door = doors.get(pos) + door:toggle(player) + end + def.on_skeleton_key_use = function(pos, player, newsecret) + replace_old_owner_information(pos) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local pname = player:get_player_name() + + -- verify placer is owner of lockable door + if owner ~= pname then + minetest.record_protection_violation(pos, pname) + minetest.chat_send_player(pname, "You do not own this trapdoor.") + return nil + end + + local secret = meta:get_string("key_lock_secret") + if secret == "" then + secret = newsecret + meta:set_string("key_lock_secret", secret) + end + + return secret, "a locked trapdoor", owner + end + def.node_dig_prediction = "" + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + return {name} + end + end + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + local def_opened = table.copy(def) + local def_closed = table.copy(def) + + def_closed.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.tiles = {def.tile_front, + def.tile_front .. '^[transformFY', + def.tile_side, def.tile_side, + def.tile_side, def.tile_side} + + def_opened.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.tiles = {def.tile_side, def.tile_side, + def.tile_side .. '^[transform3', + def.tile_side .. '^[transform1', + def.tile_front .. '^[transform46', + def.tile_front .. '^[transform6'} + + def_opened.drop = name_closed + def_opened.groups.not_in_creative_inventory = 1 + + minetest.register_node(name_opened, def_opened) + minetest.register_node(name_closed, def_closed) + + _doors.registered_trapdoors[name_opened] = true + _doors.registered_trapdoors[name_closed] = true +end + +doors.register_trapdoor("doors:trapdoor", { + description = "Wooden Trapdoor", + inventory_image = "doors_trapdoor.png", + wield_image = "doors_trapdoor.png", + tile_front = "doors_trapdoor.png", + tile_side = "doors_trapdoor_side.png", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, +}) + +doors.register_trapdoor("doors:trapdoor_steel", { + description = "Steel Trapdoor", + inventory_image = "doors_trapdoor_steel.png", + wield_image = "doors_trapdoor_steel.png", + tile_front = "doors_trapdoor_steel.png", + tile_side = "doors_trapdoor_steel_side.png", + protected = true, + sounds = default.node_sound_metal_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + groups = {cracky = 1, level = 2, door = 1}, +}) + +minetest.register_craft({ + output = 'doors:trapdoor 2', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', '', ''}, + } +}) + +minetest.register_craft({ + output = 'doors:trapdoor_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot'}, + } +}) + + +----fence gate---- + +function doors.register_fencegate(name, def) + local fence = { + description = def.description, + drawtype = "mesh", + tiles = {}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = false, + drop = name .. "_closed", + connect_sides = {"left", "right"}, + groups = def.groups, + sounds = def.sounds, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local node_def = minetest.registered_nodes[node.name] + minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) + minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, + max_hear_distance = 8}) + return itemstack + end, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + }, + } + + + if type(def.texture) == "string" then + fence.tiles[1] = {name = def.texture, backface_culling = true} + elseif def.texture.backface_culling == nil then + fence.tiles[1] = table.copy(def.texture) + fence.tiles[1].backface_culling = true + else + fence.tiles[1] = def.texture + end + + if not fence.sounds then + fence.sounds = default.node_sound_wood_defaults() + end + + fence.groups.fence = 1 + + local fence_closed = table.copy(fence) + fence_closed.mesh = "doors_fencegate_closed.obj" + fence_closed.gate = name .. "_open" + fence_closed.sound = "doors_fencegate_open" + fence_closed.collision_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + } + + local fence_open = table.copy(fence) + fence_open.mesh = "doors_fencegate_open.obj" + fence_open.gate = name .. "_closed" + fence_open.sound = "doors_fencegate_close" + fence_open.groups.not_in_creative_inventory = 1 + fence_open.collision_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4}, + {-1/2, -3/8, -1/2, -3/8, 3/8, 0}}, + } + + minetest.register_node(":" .. name .. "_closed", fence_closed) + minetest.register_node(":" .. name .. "_open", fence_open) + + minetest.register_craft({ + output = name .. "_closed", + recipe = { + {"default:stick", def.material, "default:stick"}, + {"default:stick", def.material, "default:stick"} + } + }) +end + +doors.register_fencegate("doors:gate_wood", { + description = "Apple Wood Fence Gate", + texture = "default_wood.png", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_acacia_wood", { + description = "Acacia Wood Fence Gate", + texture = "default_acacia_wood.png", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_junglewood", { + description = "Jungle Wood Fence Gate", + texture = "default_junglewood.png", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_pine_wood", { + description = "Pine Wood Fence Gate", + texture = "default_pine_wood.png", + material = "default:pine_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} +}) + +doors.register_fencegate("doors:gate_aspen_wood", { + description = "Aspen Wood Fence Gate", + texture = "default_aspen_wood.png", + material = "default:aspen_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} +}) + + +----fuels---- + +minetest.register_craft({ + type = "fuel", + recipe = "doors:trapdoor", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:door_wood", + burntime = 14, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:gate_wood_closed", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:gate_acacia_wood_closed", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:gate_junglewood_closed", + burntime = 9, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:gate_pine_wood_closed", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "doors:gate_aspen_wood_closed", + burntime = 5, +}) diff --git a/mods/doors/license.txt b/mods/doors/license.txt new file mode 100644 index 0000000..8ce73c4 --- /dev/null +++ b/mods/doors/license.txt @@ -0,0 +1,164 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 sofar (sofar@foo-projects.org) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2011-2016 Fernando Zapata +Copyright (C) 2014-2016 celeron55 +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 sofar +Copyright (C) 2016 red-001 +Copyright (C) 2016 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +Copyright (C) 2014-2016 PenguinDad + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/4.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2014 CGEffex +Copyright (C) 2014 bennstir +Copyright (C) 2016 BarkersPinhead +Copyright (C) 2016 rivernile7 +Copyright (C) 2016 HazMatt + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ + +----------------------- + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication +mhtaylor67 +SkeetMasterFunk69 + +No Copyright + +The person who associated a work with this deed has dedicated the work to the public +domain by waiving all of his or her rights to the work worldwide under copyright law, +including all related and neighboring rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial purposes, all +without asking permission. See Other Information below. + +Other Information + +In no way are the patent or trademark rights of any person affected by CC0, nor are the +rights that other persons may have in the work or in how the work is used, such as +publicity or privacy rights. +Unless expressly stated otherwise, the person who associated a work with this deed makes +no warranties about the work, and disclaims liability for all uses of the work, to the +fullest extent permitted by applicable law. +When using or citing the work, you should not imply endorsement by the author or the +affirmer. + +For more details: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/mods/doors/models/door_a.obj b/mods/doors/models/door_a.obj new file mode 100644 index 0000000..bd5127b --- /dev/null +++ b/mods/doors/models/door_a.obj @@ -0,0 +1,40 @@ +# Blender v2.76 (sub 0) OBJ File: 'door_a.blend' +# www.blender.org +mtllib door_a.mtl +o Cube_Cube.001 +v 0.499000 -0.499000 -0.499000 +v 0.499000 1.499000 -0.499000 +v 0.499000 -0.499000 -0.375000 +v 0.499000 1.499000 -0.375000 +v -0.499000 -0.499000 -0.499000 +v -0.499000 1.499000 -0.499000 +v -0.499000 -0.499000 -0.375000 +v -0.499000 1.499000 -0.375000 +vt 0.842105 1.000000 +vt 0.894737 1.000000 +vt 0.894737 0.000000 +vt 0.842105 0.000000 +vt 0.421053 1.000000 +vt 0.421053 0.000000 +vt 0.947368 1.000000 +vt 0.947368 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.500000 +vt 0.947368 0.500000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/5/2 8/1/2 7/4/2 3/6/2 +f 8/2/3 6/7/3 5/8/3 7/3/3 +f 6/9/4 2/5/4 1/6/4 5/10/4 +f 1/11/5 3/12/5 7/7/5 5/13/5 +f 6/14/6 8/8/6 4/12/6 2/11/6 diff --git a/mods/doors/models/door_b.obj b/mods/doors/models/door_b.obj new file mode 100644 index 0000000..c5607b8 --- /dev/null +++ b/mods/doors/models/door_b.obj @@ -0,0 +1,40 @@ +# Blender v2.76 (sub 0) OBJ File: 'door_b.blend' +# www.blender.org +mtllib door_b.mtl +o Cube_Cube.001 +v -0.499000 -0.499000 -0.499000 +v -0.499000 1.499000 -0.499000 +v -0.499000 -0.499000 -0.375000 +v -0.499000 1.499000 -0.375000 +v 0.499000 -0.499000 -0.499000 +v 0.499000 1.499000 -0.499000 +v 0.499000 -0.499000 -0.375000 +v 0.499000 1.499000 -0.375000 +vt 0.842105 1.000000 +vt 0.842105 0.000000 +vt 0.894737 0.000000 +vt 0.894737 1.000000 +vt 0.421053 1.000000 +vt 0.421053 0.000000 +vt 0.947368 0.000000 +vt 0.947368 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.947368 0.500000 +vt 1.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +usemtl None +s off +f 2/1/1 1/2/1 3/3/1 4/4/1 +f 4/5/2 3/6/2 7/2/2 8/1/2 +f 8/4/3 7/3/3 5/7/3 6/8/3 +f 6/9/4 5/10/4 1/6/4 2/5/4 +f 1/11/5 5/12/5 7/13/5 3/7/5 +f 6/8/6 2/13/6 4/12/6 8/14/6 diff --git a/mods/doors/models/doors_fencegate_closed.obj b/mods/doors/models/doors_fencegate_closed.obj new file mode 100644 index 0000000..0050f70 --- /dev/null +++ b/mods/doors/models/doors_fencegate_closed.obj @@ -0,0 +1,106 @@ +# Blender v2.76 (sub 0) OBJ File: 'gate_closed.blend' +# www.blender.org +mtllib gate_closed.mtl +o Cube_Cube.001 +v -0.625000 -0.500000 0.125000 +v -0.625000 0.500100 0.125000 +v -0.625000 -0.500000 -0.125000 +v -0.625000 0.500100 -0.125000 +v -0.375000 -0.500000 0.125000 +v -0.375000 0.500100 0.125000 +v -0.375000 -0.500000 -0.125000 +v -0.375000 0.500100 -0.125000 +v 0.375000 -0.500000 0.125000 +v 0.375000 0.500100 0.125000 +v 0.375000 -0.500000 -0.125000 +v 0.375000 0.500100 -0.125000 +v 0.625000 -0.500000 0.125000 +v 0.625000 0.500100 0.125000 +v 0.625000 -0.500000 -0.125000 +v 0.625000 0.500100 -0.125000 +v -0.375000 0.187500 0.062500 +v -0.375000 0.312500 0.062500 +v -0.375000 0.187500 -0.062500 +v -0.375000 0.312500 -0.062500 +v 0.375000 0.187500 0.062500 +v 0.375000 0.312500 0.062500 +v 0.375000 0.187500 -0.062500 +v 0.375000 0.312500 -0.062500 +v -0.374831 0.187348 0.062500 +v -0.156342 0.187363 0.062500 +v -0.374831 0.187348 -0.062500 +v -0.156342 0.187363 -0.062500 +v 0.374981 -0.343683 0.062500 +v 0.375065 -0.187304 0.062500 +v 0.374981 -0.343683 -0.062500 +v 0.375065 -0.187304 -0.062500 +vt 0.000000 0.750000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt -0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.500000 -0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.875000 +vt 0.000000 0.875000 +vt -0.000000 0.687500 +vt 0.000000 0.562500 +vt 1.000000 0.562500 +vt 1.000000 0.687500 +vt 0.813740 0.249033 +vt 0.201557 0.249293 +vt 0.120995 0.125498 +vt 0.987404 0.125469 +vt 0.125000 0.375000 +vt 0.812500 0.375000 +vt 0.937500 0.500000 +vt 0.062500 0.500000 +vt 0.000000 0.125000 +vt 1.000000 0.125000 +vt 0.312500 0.437500 +vt 0.312500 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.437500 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.578000 -0.816100 0.000000 +vn 0.576200 0.817300 0.000000 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/4/2 8/5/2 7/6/2 3/1/2 +f 8/7/3 6/8/3 5/9/3 7/10/3 +f 6/2/4 2/9/4 1/8/4 5/3/4 +f 1/9/5 3/10/5 7/11/5 5/12/5 +f 6/6/6 8/1/6 4/13/6 2/14/6 +f 10/1/1 12/2/1 11/3/1 9/4/1 +f 12/2/2 16/9/2 15/8/2 11/3/2 +f 16/7/3 14/8/3 13/9/3 15/10/3 +f 14/4/4 10/5/4 9/6/4 13/1/4 +f 9/12/5 11/11/5 15/15/5 13/16/5 +f 14/14/6 16/13/6 12/17/6 10/18/6 +f 20/2/2 24/3/2 23/19/2 19/20/2 +f 22/1/4 18/4/4 17/21/4 21/22/4 +f 17/23/5 19/24/5 23/25/5 21/26/5 +f 22/21/6 24/5/6 20/6/6 18/22/6 +f 28/27/2 32/28/2 31/29/2 27/30/2 +f 30/31/4 26/32/4 25/33/4 29/34/4 +f 25/35/7 27/10/7 31/7/7 29/36/7 +f 30/37/8 32/38/8 28/39/8 26/40/8 diff --git a/mods/doors/models/doors_fencegate_open.obj b/mods/doors/models/doors_fencegate_open.obj new file mode 100644 index 0000000..3fb727f --- /dev/null +++ b/mods/doors/models/doors_fencegate_open.obj @@ -0,0 +1,112 @@ +# Blender v2.76 (sub 0) OBJ File: 'gate_open.blend' +# www.blender.org +mtllib gate_open.mtl +o Cube_Cube.001 +v -0.625000 -0.500000 0.125000 +v -0.625000 0.500100 0.125000 +v -0.625000 -0.500000 -0.125000 +v -0.625000 0.500100 -0.125000 +v -0.375000 -0.500000 0.125000 +v -0.375000 0.500100 0.125000 +v -0.375000 -0.500000 -0.125000 +v -0.375000 0.500100 -0.125000 +v 0.375000 -0.500000 0.125000 +v 0.375000 0.500100 0.125000 +v 0.375000 -0.500000 -0.125000 +v 0.375000 0.500100 -0.125000 +v 0.625000 -0.500000 0.125000 +v 0.625000 0.500100 0.125000 +v 0.625000 -0.500000 -0.125000 +v 0.625000 0.500100 -0.125000 +v 0.434859 0.187500 -0.872359 +v 0.434859 0.312500 -0.872359 +v 0.559859 0.187500 -0.872359 +v 0.559859 0.312500 -0.872359 +v 0.434859 0.187500 -0.122359 +v 0.434859 0.312500 -0.122359 +v 0.559859 0.187500 -0.122359 +v 0.559859 0.312500 -0.122359 +v 0.434859 0.187348 -0.872190 +v 0.434859 0.187363 -0.653701 +v 0.559859 0.187348 -0.872190 +v 0.559859 0.187363 -0.653701 +v 0.434859 -0.343683 -0.122379 +v 0.434859 -0.187304 -0.122294 +v 0.559859 -0.343683 -0.122379 +v 0.559859 -0.187304 -0.122294 +v 0.499560 -0.442900 0.005495 +vt 0.000000 0.750000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt -0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.500000 -0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.875000 +vt 0.000000 0.875000 +vt -0.000000 0.687500 +vt 0.000000 0.562500 +vt 1.000000 0.562500 +vt 1.000000 0.687500 +vt 0.813740 0.249033 +vt 0.201557 0.249293 +vt 0.120995 0.125498 +vt 0.987404 0.125469 +vt 0.125000 0.375000 +vt 0.812500 0.375000 +vt 0.937500 0.500000 +vt 0.062500 0.500000 +vt 0.000000 0.125000 +vt 1.000000 0.125000 +vt 0.312500 0.437500 +vt 0.312500 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.437500 +vt 0.312500 0.625000 +vt 0.312500 0.500000 +vt 0.187500 0.500000 +vt 0.187500 0.625000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -0.816100 -0.578000 +vn 0.000000 0.817300 0.576200 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/4/2 8/5/2 7/6/2 3/1/2 +f 8/7/3 6/8/3 5/9/3 7/10/3 +f 6/2/4 2/9/4 1/8/4 5/3/4 +f 1/9/5 3/10/5 7/11/5 5/12/5 +f 6/6/6 8/1/6 4/13/6 2/14/6 +f 10/1/1 12/2/1 11/3/1 9/4/1 +f 12/2/2 16/9/2 15/8/2 11/3/2 +f 16/7/3 14/8/3 13/9/3 15/10/3 +f 14/4/4 10/5/4 9/6/4 13/1/4 +f 9/12/5 11/11/5 15/15/5 13/16/5 +f 14/14/6 16/13/6 12/17/6 10/18/6 +f 20/2/3 24/3/3 23/19/3 19/20/3 +f 22/1/1 18/4/1 17/21/1 21/22/1 +f 17/23/5 19/24/5 23/25/5 21/26/5 +f 22/21/6 24/5/6 20/6/6 18/22/6 +f 28/27/3 32/28/3 31/29/3 27/30/3 +f 30/31/1 26/32/1 25/33/1 29/34/1 +f 25/35/7 27/10/7 31/7/7 29/36/7 +f 30/37/8 32/38/8 28/39/8 26/40/8 +f 17/41/2 18/42/2 20/43/2 19/44/2 diff --git a/mods/doors/sounds/doors_door_close.ogg b/mods/doors/sounds/doors_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fede4af323d1b4322180c4a2a0734a60077b4121 GIT binary patch literal 6161 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 O0Eh=DnBoC8$o~L@cublA literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_fencegate_open.ogg b/mods/doors/sounds/doors_fencegate_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f6dfd1d9778240796820c052213903889e7e2896 GIT binary patch literal 8942 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 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_close.ogg b/mods/doors/sounds/doors_glass_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3c135598e8a7c7a56d54e05c3ed7ceb006004ca GIT binary patch literal 7289 zcmb_=c|4Te`~OYKQiP<*)(B;+jis^`qbw7}$kJGfA`^Wcwote4Lxt4RT_jR4?oO@1rdfGtT&|gnX z)q*0Ml)E=d=91yM7(j6ICb9>(_S&(3Ajs<3#xI@g6kGG3hpov4dPGD16Wa~e|NZ>A zX~T{xU^{qU@KQTP@Pzw%yV-H9!_DCu2apGlpurVwa9*y#=RN#`Jv}{w5NzXIn>Uo@ zQO0&$kRb%YP{K-^D{zUrZ98Sjy9@JC9f($GRIhB2ym729Q@a(0Gp%=zL$zP-O|pg9 z3REe3D}uS|d=9Y)X5SU~1`eoMxMx=&zXG5Vb>>qDiO3DE5COrKyDVlJ7gz!V6jcgP zciEI5vMzvaK-L_7>Qd$=Y>;8*&_B&KH?&o^jvfj^>bf-aBt!SfOH8p;B43cSp5KXZ6A(HIBL&h?BKg%LOrBj-ERN@tsqQD>|I` z+98E@CXbhNy__40fgm0rx6QOl%<_|b&$52c=l{2DObdq~=!&8{Y}4N%;FFcuZJdh{ zbrKLqNr@Osqq>dhw5xw2t|{R9ZOV=KWFtNptWAY~*a(3z1i6YGj=kI}&nHWA6Wf0* zuow=gS$T(!&^PjYlUIdN4|Bph>wyLb3gF{YI7t`RiZk5e5UoNbrx`Kc#$+o>rhbvxvX5;1rLL(ImaYE~Rq!C>VO?-?O*WF!;zpD#HM48URGExX;5 zzye8P9HRtaPin(0z+~?NspA-VQ-Zu{ihO&Dig~JjXAQeq4j!}IX**==H@xb1cGd6Y zkjKkakMSW7=X8%rhMzOb*?BnlzZ=K(7#=7l@ijmlG_ypinE)p^NnDUH6jO9KZpIA6 zBT?Z@%0BOO&(QRe(5$;RWjG=rFaS01#1wMECVwWq*gLO;9qiK5xMF%~sZUn1_y50f z7s!@D5I+P-w+2d?21>OCvc2LU4BrI7A;{QT>Nr8AHAU+L@NwW+&le}_gTXfTet!o6 zh_IhlqCRNt017~)>YEQ}S^h5@8(3}#B%f4EMmPpd?=~_+?)TJVN~4XzfR!l8Um>ZAr*D9|X;Y4?(9Z4_$aIREuPSrQty~*uY%o-7B^=4xreq^v3QSI8&p~H^RRL4Fyb5U) zHx&g&24DbFyt1?ujIRQ11cj*BV2rqRF&HC0iu4xt95k3CnNd69vq*g)j=2ez>lRQHYNpf(v8fkn?a#3I;8Lve4Ng zOTu7$R6(fcq)1k1bcL-25>UVjoqYdgi#q(mW37t4eNiLy}_LMgI=BukSx zU6>va2FM{VvSUJHxv6kqMzXMMVHVgX06CDeSUj4}fZ@s+EN@Q{`|Ob69p)0{;ReHE9bQ zbxAwZ!w8A3Dq8LeP!ca>2!9UFBApu)H}*xq7$jW=8*SJI+F)_u*06CyU^D)?7bN}@ zhW`Yl8`N{93!oC-w{|C9NzUi^_-ez)Rsb)?C*ul0TY=h(D#~Do3P7pxhDtpR^1g-b zC>4VN6sS?`bR+}FIVtK!X0V-CZE?U=aJ;Qx!0>|XF!&-_SzvF2EGAd6vQ7Y9AW}c) z1YE9lz*lI4G66!9h3{@CVY#tIh)WF+l*-Es-Q|(=bTHRdmJ(Fs;2;Ubz@G#E*rzZ1 zaOZ4N4n@JBsbH)B%^(3V^1-g;15rUEcK^jdE7C}!x*P^Shd~Ph)nH>U0=c)G8^Z>J z($6*pV$10&u;=)TfkFRA191P%K>TBht@bYs1dUw-{xQH`z+Tl~UD1CiFsAS?1_mtm zU){gg!WsLw0gM0y>9XT_ps*jcs5R3ecj1`qGoI64ZDzQ({nX<|_zh;5xHS+1&G5(I3~Ym-9gVVB_OJdL!DXHQ@dwh!aNf z=90vG?kW^tNAk%AvD2#7fw-lB3M!;3)8Xn11CVN)M&asiY9}l!txNDUYO`!7{8T2F+c*82!0J*G*I7 zHAd+?Vegw{37;y_#a;pbkKCM62JMER*Hj7xt15x&F!I)pZG+Fsx5)3sC0*&iQj&y> zHSdtd3CM1yU+hI*6DyLy2xMXed`fk$CnE16_rJpM)3$)j5r*J!dFUx*^v5>nz+pp} zj_?~k_yw;`(6(c37U!(^1cfxX{^Z(=Qi9AZtSD+hMtmaFcz8UoTF%2y&jt4fd0pjP z|6-t+?NAJfJ2v+G`O4;LZaHJz)uLxJo8*tV%X0(_p+CWOQkH9PVPfFWpMGc|9g3k`x)?d*X=0`?+XQxJZ-=>%P;gmFTI_F6HLqYyLRr)!N&K^c$Y^ z6p^YR_*&B$Ba4M#dfU?Cqqz%jl6-!ATl?@a=xy(dL$~eXw)gum zi1=DMg;Qs!CtfUJ%CGbVqu&P)2zpqD38m_M)2oiW*>$fgI+{Dex)RSw%^kl=-92-( z;^o%ot6?s_iFIpRUdT_KZNg5Dq@SeM`>v0zi``hZu*sC_bL<=TI+;+?m@Gs0c~bIC zZ*_8P46oolCFhR%QQAQ8yLY6f>-S>H{#xvP0syx3AL`!^OQ3l znj|f7?7#AA`EVg#wc+5PpaswveVpJwX^zxu?7b3b{8Ju4v~P6fPE%1YCE zc+ys_JpAk6)Xgd;Qx?O#_xo zEv;QQb*A$DzCHZ?QUCd({o|Q$pY$xuzB3wct+~$~YJ8I0Ah)&dazg8EC*t6PqvJOM zbtHewj=0ud7uS~`sxe;nZc^TRJa)BC#ad$8e>sLRK4|6GxDEQ!A+uEZ}(xzXAy=v~+)<%+Cn1xj;s~A<*rp}zltz;wL6f+aQ$&sFlBRPBr zRR}&sQJ%G9#8#@ojS*C~h^WZ#_y>V{B0nPfKWr-pADWNIbu z2oFQrhDkJ5${G7D1}snh)|bRPN@@n|jMmiMOL^d@b3L!sDnd7T%G3MW;qe4-XGzhM z5eYjJ;y(;Y+h4$djplB;DbVC|3@O;;vCZ^xJ>Ol;ErqY_heB%?gI&rDZ%+;|&o%Gp zbEsRkah*sV&|Ekoc>4Qd*qQJGK?`!;PNHE)c;u-T`dILXKgPz+?1~#|Xb`BArZ3bC zommomR%!pC^<&r9SFE42^EIQ2qx+Y73S3mzFg#F@twWMr%t-VrYF~aHuexW|oMux_Qtv z;ixlZIae=QQNq=3ZijQxLyxyl@v(R61!(0u*rEirgWInUb)LT?%9}T|9{E5n4;Q;& z0{L3==>Hg#nN~)p8^w&ea8>h+pyNJG?T9;4+8FWY%0k*tLg)&`bIjPf*m3CIFOwQr zur9A-LGtMdxLwtXnRXxteWBeR#<`E6+Mg^Y$Fi zX9lC44T?h*qytZW{@A|aLfx+}zypnC`R<&2PP*K+dV2EPNHJ=QT&9MsN(JFDeY;+S z-N3J8$z4bl`(Q$S&(1#cY|oMss-?fuhZm1pb_b6dXQ|d8k*f5$f%p3~-|zf6JS}A` z_D*V_N_*e7pL>$Ox9T2Uct9K(qbJ`A4cC_WRr;$7rAoNIY3Gpe>gof!(p2YsRz~x) zSf>z56*OLdgrL!RBb?c*s+PAtCw;M_XRO-^G3fYRWxwZL!g%6I zTSIi8-{;?n)^#-y)EIgU6nxg5fqbs|H2@7wO7(N6!WKUGS7 zqJ0luS3#%pV0**0Z=UX!-`(*TNsfv$$_VtLNiKwHXS^4M>_$)MgTFYBwu@$X^T{52 z#>$^rpFS^~ri@w~t$g?U{b_|Be;5DPoWLB!<;x{|e!8kSeyvug-Zq;d=*4LT zFEbjhW%g-apfx#!tn}u{rCwih!YmGZ9NPZl#g3H4dp6mxuGg*<`Af2r92xRw>q`ai z-T7SY@_kkDnc`+h%V4POS6}5e9)onD+}L`q?>lm@69ZW5Yib^2b=7sgiq{p+dWx_8 z^15+h;881n_Wa1v#=w=g1DEO(b8ZbETnT+r=`B$|tQYbl>$T2$*QuqINAIy`@cZ)q zAQ4WT8utr~L`-a7fEp%uaJMgAq@CX{9CR?v1cDyj)s#`(2{~F^Hhn=|N+||!+kMf+ z0>%cRo-5NMuO1fKhuTv@ezt#}pLuHBj1EZ6{4Lk_x$@T9t|Yf~SKlwT^Zc{hlW(sL z(7N7ggoZsEv|Z}dj}zaa74)oj_*0W%bteBpPl9WNl1p(3zfcGSrF^?WL`tzRq zo&@97L-+16vYj(tiX>^-zvY9X_@1*QbCf-V-t&zd7kQ?@%PU&+032{ISS@s$`#Y;au}@hBE8%HPiDsXP(fE&%T?_ zuAZzFfR32W7%D&u7iK$i#Gxw!afk%1=(XX@KC^DB#rSvBNxH#~mmz|oVuw0>S~}up z?cc=V*Phtwb==)&_c40*p5p}yabap)BXe4ruDK$euxE=uw0#z%(1V2OKB8=XSDCkx z{CT-thTfe>*T$BKe|~*;axQ->A|OOJ>yqh!@Muw#p>_)MkT$nWyA64l1@xx#5SON% zSYP7X@_CZIxgEJys(Bb+_9OM9a*4EAwAE_ZLj4r|k?2Rvj3#{Pg5u@e|GPv3X)o zRN#;CfbNhxPG7F3ebfz|h~kA@_>AFOp{L)g@O}jEcKGJwe6Ejfi|(DcIPHsmIG_2- z=H6S4@RkU(1%A4#L*s|xbh`EC?Mq(HG`}N^n;z@!-X6cpWr)!MUw`^G3JrZm+R@r( zyGv%%F0!<)vmFD?9QaM*g7`ZXo$QH%_wRH0&*nE#!rE+A)UXSYlIJB@bcB=x@Q&7Nw%;;6%VCoReZYNq9;$~YTKC8%OH3`d>yy+xZf`8BXrsxP&V;Rkq#agKGHg_)sJtR0ic>rB7 zfw?{yM$$(kLkG1~C5keRDUC?k9g;qz%tY+!RjX7;IyW(?g00FNj`TuC_Lxs;FWIhW zHN9L|Vph$qu%5gc@IN)-9~;8T=)TBZqu18VcQf&i5agb<_W?B?>qSxDk{S)h-Lo6} z+pJdJnM?fGv+P(Aa3uqowCU%F3>knnF194Tz9jPAkZCiSkA zi4VR$hm`S{D$qNw=-t17PJcstLv*c|)x^mtHY_C#kKL%(LC8{_X8Wb^sb!@QSi z;h57J6R*SfF)z5eoARA~_K8(tzNmCrxX4Btd3ZuMdtv~*oki7+UN~xDd&1%pqNXl@ z>v-&5(v<*@bj!EW^b=?!(dYfAWatL^8T(~RGovKJVEAEt)0c&?J>MUCyFI>HAGH)w zr+@yI<()lYB$&*NBY9s55qI94E6j}YAFOPZY4?x2U}|L0Wd6QRujy@snoi>nsC;cv N#BKh$-tEoM{{YSn#=8Ij literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_open.ogg b/mods/doors/sounds/doors_glass_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..66e6812d1877340c2f12ddeae02eae1f7c0e1cb1 GIT binary patch literal 7288 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 JtvWFX`X7uryYB!1 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_close.ogg b/mods/doors/sounds/doors_steel_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aea7be670b0763259c269521e035966fa1a8d4e6 GIT binary patch literal 8574 zcmaiZcU)7?()Xc=fQa-TLQp^uLJvg5lO+W?d zhTf~7Q~_zy;W@#3?{nWj-p{k2&7Rqvo$t=hmYH*6;OuM+5Ci{82ld7e3FP;H!XTn+ zME;)McCJ2z1|roG!UF*A(h{9NYlsX8lK)8rNdiaXIO8(4?Ad=MT9Uso0wCAi^{$JM zfwwcehpV0GIXJr(yQm0ELIfrv!OlDPD*QhgN`NN1@K=^oS;dqHPy_%jA7(!FJRhcT z8Wv^4tMd?Ly!)@K%DS|VA)>mLUEDrTIdb19M_KYd>V1j?2m()(0vN($l*l>4x#i50 z!g%CBDhdv^xf0rFl>c3*!CgSE5;!JV;;AN)G&pUO7O-#{vpyn7#bxF!G?8d0fvF~_lv$fPo1zpxgPnhaqE6Q?hqGZds{)f=#ni$V zu|D{Y1uP5?QrTD(RXW&j5!>Qku1ah*vsM+5^x^WTMC z6h|bpcPBLe&0}r8!h-BL(Jp}x-RFh$uaXbcGE}e@8WsN17KAZIV%Xe$9ln?zR%vSC zURs6FhUTRpD9`Q34%%Ls?5e|4BLcEr6f_^}P03gA*PQHxr2zngEl3|N+yCZGNDnQy z5gnKX2SgfU|>}{qIDet;{~% z@FlJkntx9dTu|UHgU0!O)2iUo>F4^^FJQ1OZa^<*#Gp1Hj_hMZ8%bh}ZaEG}pp9># zk){~4G>j$AZ{oS*#9qkEe`WN=^C{8+fOOIgXc8whX;XIo^bM zsU$9~ByQIv=fJdrm+8wdGx>_ny8twVE`${GHXx=jAf_N7VJRxfzpN)`VmE@5PX)ML;aGC`u4^oCNo^~Ch_7?8&FYDh+; zahe`7)v-q$GiHLEVnQOT9WDQW`^0ZXOmB<{IW(+?tnve^Q>mD#=l_91j+h`VZy|?p z5=OpgBcvk=MD}+a!6D6t{qz{nBgT4Tj7Ve}a%{*EndWEXi$t5DM@Eole?rEFL(s#1 zw#)?Nks&{%zn{%8X6Csc+Wh9ZR%j%sl>~?kYJ~xz%>Jb_a%|Uc$Pa_2R~sQ9t07a- zpzKVl&ovKf=b((Wb`F26YF$_z@THanuQ0Z4^6J_qCBq z8^S@~-MQ3Uvbz6eU7-FqzuZ8j-vH8Y$^>om9AkO)4qD?J6t%Bs_9wz}Bz}H4#Q7@v zd0A(La7jf8RrLmI^ZL=3igBD*H!i__wX^(4+i@?|F#t1R=7i?yuERj;--$i21%1J% zP!d2fl)~}N`S!p9K-g2CC@A?eJJ9(-BWMsY%wbRAJlyvB+EDH)Lv1%&dm6sBTnD@s zMP4O?wktHH-vY{wGt`bPt+Ft7FONi6T*|97*LHg4^pQnh69C=BISnfP#{>5B}UZZ99ToXieVJ?F`FL!GaB91$c#WF^)n%RdMghE7@ zgN#^c846ENon%Z2opQ1yp~bB?%FC-_w&I^xbw#CN~*xYFXy$G zBMJ!;#pNT+_TQj5E8|#+YUbcF!D?$CYWXTtpBU%}ll?lZn%y1WaE}I@c?+|4bop0P z_gL7Xp*CS2I$Gu6;F!|kYaoL#cwsBEJ-)ov+St7c#~iFLIBey!-p~pOb1Pi{p`bXd zds)NCv@a7Y9lCBR8+>_)#zDN1m3h@ zSn>N+(MlcIQn7Zac(t=aU;=lCwRxouj5u(Z)lM(4(@|qNL<3iLR3~!WdKbKRWj_-E z1)m~^X!T=Si7yeZLI+UAR(1y(L_2#p=ue^HDG1OdkwE}}SeKXNTA8`K&wp#e~$box4wrY6N2dqMZdz8qN z5ye#tkZ|gvDhqc!e4ky{y?mI(mqwWx2ps^;A9TBUg`7vt{?We|fIK|Kt{WUwMH{w2 z2vwf^t@`N0TEVIkc@}|7@W=!%ArS2b*E|e7kQqMI=OL-|IhUNn_it4hj6u(1)!u(a ztyzT5g!q*R2)#fJx|&-h33n0VOy-2GM2Hg~k9!Ni#5Cax0=GyxF4Q75pSlNiH?kz{r!fH zo%1bmXbWkC6;SZLMzg*qREWf?_bce^$(3myn?n?dD5RvmNAgVn4rj%_F*aFY2XR3U z3d|A#vo!!GXL@sc@96B(?|py*bc|qP2KE6!N;NbpYC%L){Faooth}N!xF`Om(9qCx zLJ=%OL;t>MC~BQI0faXVLPrbJqJHOA19Q*;W{S=2gfxYL1+!1AP1EH zBRkmsm79};PXPLh>1dM6)!#be$(3#(x5-E;#66$ulmM^$ zI5%~AHz#EObEE>%ad&oe>{-sXYZB(m>5)18hn-(ibyALN-0o-wq1R`>`We-$STEND zvMAVVv3=nRYTqJpy~Ls4>+b`Rr@o!A2S;9#MN$rY*2CMAjRN7F{r%_KhLg-^oSkC=iS|17qoC>&ZjhCC<} zy&fr^C`T&r;jw@Ut1fo9RYCG#-Wwu`G1(HtHB@$#Rv{sY&E;f%mIL&(?j84%7&9*5 zt5r@`Vq-48RhP*6$ILj16=(WsI#7CPfan+mQk6 zEe%plw>IDKvE+yrhEee1y0?C86#wfp-c@h)9sBLFhgRdhLR9RU8lSw)O9D7`f`tR4We+vbW&{c*9USBqZaeCKs$G- z1*fe3|9n_N;T-jHW`;y|gy{0#~hMrXK#xOC-_l%X;RKA(lnOW zyIy@*W!rNft@s_e=fF+GWsI<<@*n82e@c}E>+m@drz~Zfir?Rit3rJ3OLCA)8)fEInEMHO4K4cqvJ2Z#`z1Bk zAoD#>8lXD(aAuH7`9p`;&ct+aHli;5-aI&M&6B`kx||1PZO`c7E7%Ds*bwUwbXsV zSksm$AcX$666_ivZV=tv+lal#A);g9yt9Cf^<@YiquZPd?Gwvas&6laU(qrSBkJaN&Mm~S<*F;a@E z_Ux&+LJ!esH~mK%ke$#HNw%89iN-j1^gK&^^7!V&P2nAH6v9+M3-;k|*2A+GtV-hr zyT1Ew#(DL7N9|B*VRt2gpmEMCCOQsUYxm75d^T5CG5Dt0YB*!QYJm9z`BV+K35BeI z$=HeT73~t$;@$V#6$~31@&}T*AmPI51#|Ot1(69;)i{O1iw+Z`Z*U|nvX?~E7dN~y z)_jwr^ZktmmIvLI8dWOSkEQjkt>zYa2M6S8699*?3cApT@IH3reb?#Xd3lB4pxmvJ zj{1{@iCA!gzx&8+Jk`h8L>VRqfchmM-4#XC%c}Ji)U$HpGqy+ zKP!nFh5NY(R3ik?clKHk>Wovxnw6$3Ls+Q|HsRM5K`ReB^-47^G1<7!3w6IOTT#kM zMcLlr-LRBGd!)(VxG^XqwRlmNf376=&Wo1s2?b&}U?6BD`aO_=?!>4dEk=*xXWPpz%J+*O7m}kPB*kl50ZM1eKpx@u!)7sKGG+40W z@{{PoO1ivF!@>t*d>j2rm%qFwH$TWGHBj<6L?ZgYLDwh3>SV07xM+nv ziN)!cQD8E>Y;FEWZz{Rs!zJ2#*KD*Y27FfwRO=;Oto`NmSt0;#VyN1Jg;WFTwF; z-nPI;K0Za=Om30C$`|EC}*H_L>nk>y9T< zMWO`pqlZgWv31sO?q;H!_4)rm4}Lj&ME{7Ay!K>(&p>-17p>`*_mtiW8Ff|SAf>Zi zH@n4?*{C%mGeJSFP_T1;Wac;!su176jq|uvtPt16?JbQ2h?2hOc&H^I5N9OGD+m7s zBU8OZ6f&YMURwcrsG!bPT}^A$h{+#$A5mvt_&~i{emXak(=AKnu3wJD*0aE2zpnug zgnzUq@w3);jtla!ty~xt-wMpsHy%LRwX!I#xPR+o@JA)iqT~`X?itwOuk$1u7EC|E z8x2g^$K%f|5Q91NaBEWif~gnAX1@MS$%NA`SY0(63usM=$>jnHFy5I z@BH@rDKCjUQ2r4&2Z?6KghJ1ZehiuV)WtvSEoJW-T^D=8%kfi$4)B;@4((cQJQEE4 zk@@5P6BaU(;?>~I+vRxACYog>fm|YSBS*Ee(^=`}?E8&xW>z{r21!!}p0x?bo>Hzy zt)1L$(>Y}|c`p|qLTq9b&5Av<9$|08-tD=DpSJsGm;2=IYU@4u;#lA|Po>B2xUikWOrQrtGXqX-;xYcI(pGrKZat=Oc$r zkn{@b(-?=uHt+dM*Mr3F?dPQ$^2V|qB8?O7SwJuTWNr{!cTUY&Ro=XO4`xhLzG+MS zIZFSsR-f?z^udL|>`A+Kgu(mw2cO%nH3Gm7m9`5m?t+Bbw;r+4z3e^_EDFRn@-J=DI*g zUc&wRY!wlY-v^((9zDwKV@_8yD(U2UwOUR412M?bKjdLSKN(7nOv+Y%;vZvj-+#4jQ)ku5cxwK}7=LijPgWPB<0FSJZ>-cNTHRJV-%mPwE4}uxyHFPN;X60H^}afP%eN1HT>Hu0puIiH7!>7%n$G(zlX~OV3WbFXdt`NSM2xMzO?mcQgrh2tBrc;=YBFZo@p5lw&vEgX5$Pd8!@SY!nHOe zpKmmzZuGWvG3I`M!;}a+u>ZD#yY5D>du$m6EilzHrDm%Adqg{S~mqyAga1Hx~ z!b!T|a6xO`PMZEzfIXMx%j=CV(;BZPsoe18v3X5diLDk}<2laQaa+W{cbcWOO?A33 zUCicA!4XP5yD@OxRh&hPbz=Z(>B(?8Id0b9UaHM_4sD> z+e*k(WNHhEz@KJq``X*l%k#k_YQ=XSvH)=UZH&rPE z8{Sg|`gpjEsXR+5u+vYcaFova?ZU3IcYS)*Gay}( zr|h-<3+Wzvb%95w+%vIEId)t5I^ug`8ch}0uJLKM;l@`t2N@rpmY&q7i#R(cE9P7< zEaxg<=*+1xcl}U)U@X`Fp6Kp}nW^K@emUBQ>=5qtc*}G= zPp01@)0SPlzXg{d!pLSpnbYVQUkm_GUiKPTnS`2Oj(>Z2=v zYPVlVVCrZR)vW)S7-&WUjVyY37tDG?_lj*AcBA35I{d>!(tiGY4@`T*CHDg(PP8&tR z=^=81H&Qn_jpSI9FxtN)-#Xlmd?9+2Ao?i1Y?nG1KYi^+#nz3fvzx!p3L1xiu<2&`)c6B#U(MI&yPO#it#Jm&z?ep03M3vRc4yo&ucyQkYA~X@++fj7)7&m8Yj}wQm z=Jmt9X0 zO|9Vx`E!PjX7shnjFA(L@4rIc=ZV?p*NVd>U%5?wZux#C=bt+CVu3!-sr2p_M6!p} zKwf~jTDl_wejB+r=aNZQ8q`RFK%>QCHpE+CeJ|{ull_u(=b%pIdQ4}IhD1?1~rPoa|M6??f12=J8o=k`At!O@N_frGa2%=Y5BPUm++EFmCh1s z@Qo7xdr!(C&`Zrwz1U0fEnHg1|Xf3`~y?-C0l^{r3yke!}Mof3A;qIxKzofWz+UgPv#CBGvW06Qbrv=e^*EQkym1 z4~6o*gmCF0TY)w|mrR7y6}#>IBT2Y9`tV^jV#G02UpcXH;H|fB?y2+x)o$&N1>P(i5Rw$ju1+5a#xV+u=>Gv22m*R~Z{L;@l z?!yEYbb6Wat=~x=MUGz>4^ic(#} z{U_YGctnYuue`(HwPuy=^$c`&Ooe|Yao&dL}p zvar_vSeDIz0Vc?|e3TbHY2WWimxV8k%a+H#nPJO^7uDi^GqT!5y&K(cQIqlN(}yqw z9?ZT{;b0=7>)D6)RR8JY+SEnOK7RE1AqSEtL3oqwni*L3m3KrnnW*%>u1Jf~xAjp85WELP*%LJC&;qFy{E H?j`ykI$Eli literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_open.ogg b/mods/doors/sounds/doors_steel_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..de87477018cc1186834fa91ef930e45e5018f54c GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_glass.png b/mods/doors/textures/doors_door_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..3c205dd7655fcdc96f543c1602b2748212a9438a GIT binary patch literal 625 zcmV-%0*?KOP)>m6es5nVFlL zo1UJYyu7^9($dt_)aB*n=jZ3>=;-R|>g((4?d|RE?(XmJ@A2{R^78WY^Yird^!E1l z_xJbs`1twx`TF|$`}_O+{QUj>{r>*`|Ns93_K#=)0004WQchCb$H)~7_h1OmW zm>#<)Ofw}njbT}1+b50(%M^w?QfUVedvLT;C9vIlAh{Ko^fAmOxO0v3i6rRMv_xd5 z$wjFuUGc{hj+cIBmo-jedjzl^B75HBuko;|DuQ<=GR$J%J+?nmav_dvhvAyg-iLYg z)&B~q!d${Dh8xn}LmB-Wj%u(>ANO(g_O(KKlbH7KnOTwQjdw)7se%aM%2C!^CvWv; zZWSWk@~}vs9N9GKhfE`~bY%4HvNxlbgLYVNcN-#07&9$ky{*=CWdYNj|4O!3HGjQn)q)DVB6cUq=Rpjs4tz5?O(K#^NA% zC&rs6b?QMXlRbib85pX7x*A#-7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f-TA0 z-G$*l2rk&Wd@@jkv%n*=n1O*?7=#%aX3dcR3jX$VaSVw#{5Haxui1d7RIALW^tsnQ z$L;TI-M{DUZR|e~dSm7TmJ+6m&lb0}dxt#r^_V#Kx&IvTo~>m{{I7~P*YwxAuXK3Z zyR}TJ?Vw7u&_x-MtoMgAyAQ`RD5)u_D9wI*{b^apQL(LpulI5lo;kBbG-99awx=5F z8*j09%1-QE-?7kk(Y0g`%~!?DQ-exlGE&z#DP6O%_-Xe4B8$_Cj*eT~O7ni6{<=-0 zE#TDi>Pa)_ZuP&ZtaMJ!Znt^TnVh7)?+y9000CMNkl7~S05WX2fqrIdm(20q>Akx~KxwAM(|w2)T_0U<<= zM+kv9jvd-yF!&!I0OscAAcSxPj4?=(#L`F!zW@062msjF*swHOT5J0q$8m1o7=!os zcRW2kVS0KR0Py|&ZNHT<21+SBKR*Kiq9_6YWLbtR%PbgI901nV)||b5zwhkxy(o$t zTmV>KU$X$-uwsEIO+q>y;Bbq%l8?)5+3MN$7UF8SP0aF&qwq zxJ2h?=UmCJk_7xr91e#$>sD4)oZl}mFF8ehS#D5KowQlWV`Oh{&xzJvua~{Oz2&m9 z*X!l{zOb->?d|PcR?g4Q=jfN0msu!T9K)(&BxDs2(z4($i=nExR8&VoaZ|PaMTWO1 z|7;2zR>!DKQi?v>=-=KKdu5~1a1tSo zW29+nWvE$`;mu|fQp&x1m)2R(}6ZY^C=VOVbqh_xAvR&CSi=KFKy3 zaSl68HC|s|(eL+*=P_dpe*XORXCe@+rxj<^>gpFHNx9aMj(3zGv7BKiX?oXknnG?x_Q zx{y+Y<=>hy#=+s=iff&wsgotfWQE1jcR{H6b9uUXU-=?e3eM~gZhjl7dO6X4$VL8M z#?xpGlw1S*ZOvRRz_K4jtN z=Vz&VxeUc@=y6+lV;>(MPG)hy(2M5eXCZ9E>M)oK9%{sYG}XA7q2 R{`>#{002ovPDHLkV1fb(6QckC literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_wood.png b/mods/doors/textures/doors_door_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..7b18203eb37b72e44275281e4510e1e33b6290be GIT binary patch literal 1662 zcmV-^27&pBP)000I>NklgA6DB0fqwyP6Rvl z0|Fd6rO4eKfza;qVRB}=yIu~ur>A?TXJr>KsP3M+Rkv=Pd+sUq*~cFw+GaFlR?u3} zZ!tDQoR6dw36areG$^I9q5($dshuC#Utd0Fv8tI(vOzD-1?uHB0GTMfF{6w65C-qH zPh7n&0l0goAQOda|62ia%RIGjHkwV}<3EdvA~RdPSZhEOm#?a3*G8k2BBsP`?cRQY zHBDrux$y0)^2P`^cw5gI+Hf82=U8hfGK2GRs~0gEZ4Jg~zWnN&LF~Wy^usitU-0L@ zUktwg=GPykxO%}={2l;5D3-kc=sv&w!#@V&e)ZGibaZsg@BaAD!S`Q2ewcD=&_b0Q30;CnqNZ+5m8iOXgQA0FLfXu(QJr&|8`~KR@T_=y>qm z8qIuu&Vz#~UiNwN_0!Q!N$otYc2q9%@KRX*;;OVoo zZk!c^F^$u!%8`=a8Eq-60JW#AJb(Sy^8t!K|KxF+&o8#J_47|2C%3r5^_cSL=$POC z>8q{m8~gtApFBvb%0LSEkPxG`dMR>4N(L+2gqUZB+{)JXy@{m?mUpIE!()XdpV(0> z<(V15o*}mel^dpo9cTW`3Pg()KML*LPL5G(xWluv zGfq!WyW+hLK>6m9Z?2oHeE8mk;+?~epVq~EZF`ec&(ANKk~BNy?CcCH8t3Dn7o$O2 z!|DAQ)Gx6jy`6cE52sLFqW~G;$8^V(TZ5`!HpkiNAL|x77T=bnF&tgRI{^G}vKmnl+jf8XcVsqu7l5CAe?`nJ&PU#z z(8Fuv{*iNqa=Pu4k3ISqCGFMQlq_=s0hqCRzuh-m0(D>6B&ZFe;1! zf3d2OviA7O^P_{8Z~&P#l$Gi^mIkcvdmw)}dDD{Rq?e&Xk*L&W{6~)xwF^MSssb^7 zw;o#?UA}Jhn7+OKZJ0ktM0d`7+v>URY9Y3I>`o4_TaOi);Jje8#@-DAjCvWvBO798?4-PuJ3qE zpxMS?2(g{FH9iu%gL&q`T(2elJz+sj3?1BenN9 zA3L3{wL+=w)vOJKn7RxLG2wl{jnvhYQb#pbG^s5+i?W8>^qBJjUo{Subr`7B?`qyh z{-5T2B*f-|vZ_2{ZqZ{_3?>t-1Tt&7<5D;H%=X?@VKKq7*XprJVaWGrH+NZs>bk=D_R)m;D{>1tpHkheGS%^ZdpHb+|I zLeOe=R*D#W-QcQpe(Msg{RY4xG?GN?hOL^;=Mf!KFWdF;F)=_Hfc%c*|^m~V!C*X4CuG>*MqxGkH$-OWqzx}6+kJN4Lq0R|)a2UrsT+W-In07*qo IM6N<$f(<`F?*IS* literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_glass.png b/mods/doors/textures/doors_item_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..49a300feb797fbe5b302f554981d0528ca0b71eb GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAm`Z~Df*BafCZDwc@{&AV977}| zSq~oMZ8i{KFz`Pu@^_<){oGZjl(jVGyknVoO5ldV=XY0=n0_$x9#9BinAO0zpn>~< zxD#WAJ_~CCt5t)z0b`BW24)M6Hw<-5Y7M-H7zz|T7}O^)oIA5SoV$YI`f*+5B?+d+ PAUAlr`njxgN@xNAx7{%J literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_obsidian_glass.png b/mods/doors/textures/doors_item_obsidian_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..1026d43722be449b6b9068ccfd11896448b7cbef GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|0s;c^YKHsv?NfAD z^#Y1BmIV0)GdMiEkp|)W#5_CPos1n9JJ;PzD!wT=-6rk2V WwrH^(7I%PJ7(8A5T-G@yGywo68Z1cw literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_steel.png b/mods/doors/textures/doors_item_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..dd99e1361acd2121343c0be743638e54c554ca8e GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|U0q#^7A-n@^yt*; z-C96##*!evUa01s>&fZOswwi7XK(SBJ86 cUI<`kNP8-Mb^dev*+3l(p00i_>zopr0H_KpvH$=8 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_wood.png b/mods/doors/textures/doors_item_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a62ab156db2d81442bcef039fed5148d09e9bd GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyCl{4Hyt~5}p(1ZCf zkk42WAdr&KH*Mz;w$(pxq3fu6{1-oD!Mljy?ggsL_^Ji xg5sVojv*Y^lM@&k0~8V>SXl&^&Zzn`G3?nZ{*uYv`T|f1gQu&X%Q~loCIHdY8#e#| literal 0 HcmV?d00001 diff --git a/mods/dresser/AUTHORS b/mods/dresser/AUTHORS new file mode 100644 index 0000000..55f8daf --- /dev/null +++ b/mods/dresser/AUTHORS @@ -0,0 +1,7 @@ +Blass by blassdeskywars: CC BY-NC-SA (3.0) +Urotsuki by 2ch: CC 0 (1.0) +Temerlime by Temerario: CC BY-SA (3.0) +Me Only by ourhouseisapie: CC 0 (1.0) +Blockcolor by Chiantos: CC BY-SA (3.0) +Cheapie by lovehart: CC BY-SA (3.0) +Winter II Sam by Jordach: CC BY-SA (3.0) diff --git a/mods/dresser/README b/mods/dresser/README new file mode 100644 index 0000000..2e774c6 --- /dev/null +++ b/mods/dresser/README @@ -0,0 +1,3 @@ +Dress mod for Glitchtest game +Copyright 2018 James Stevenson +GNU GPL 3 diff --git a/mods/dresser/init.lua b/mods/dresser/init.lua new file mode 100644 index 0000000..876f6d7 --- /dev/null +++ b/mods/dresser/init.lua @@ -0,0 +1,144 @@ +-- Dresser mod for Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + + +dresser = {} +dresser.players = {} +dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/skins.lua") +local function formspec(name) + local player = minetest.get_player_by_name(name) + if not player then + return + end + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = -10, z = 0}) + dresser.players[name] = true + return "size[8,10.5]" .. + "no_prepend[]" .. + "bgcolor[#FFFFFF00]" .. + "box[-0.15,-0.15;8,1.2;#000000FF]" .. -- Top border + "box[6.85,-0.15;1.1,11.2;#000000FF]" .. -- Right border + "box[-0.15,6.85;8.1,4.2;#000000FF]" .. -- Bottom border + "box[-0.15,-0.15;1.1,10;#000000FF]" .. -- Left border + "box[-0.1,-0.1;1,10;#343434FF]" .. -- Left + "box[-0.1,-0.1;8,1.1;#343434FF]" .. -- Top + "box[6.9,-0.1;1,10;#343434FF]" .. -- Right + "box[-0.1,6.9;8,4.1;#343434FF]" .. -- Bottom + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. + jas0.help_button() .. + jas0.exit_button() .. + "list[current_player;skin;3.5,0;1,1]" .. + "list[detached:" .. name .. "_clothing;clothing;0,1;1,6]" .. + "list[detached:" .. name .. "_armor;armor;7,1;1,6]" .. + "list[current_player;main;0,7;8,4]" .. + "" +end + +local dresser_help = "The dresser can be used to change clothing, " .. + "armor, and skins. Use third person view to check yourself out!" .. + "\n\nThe clothing goes on the left side, and the armor on the right. " .. + "The skin goes on top. Armor, skins, and clothing, can be applied " .. + "by swinging the items in your hand!" .. +"" + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "dresser:dresser" then + return + end + if fields.quit then + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) + dresser.players[player:get_player_name()] = nil + if fields.help then + jas0.message(player, dresser_help, true, nil, "Dresser Help", true) + end + end +end) +minetest.register_on_joinplayer(function(player) + if not player then + return + end + local inv = player:get_inventory() + inv:set_size("skin", 1) +end) +minetest.register_allow_player_inventory_action(function(player, action, inventory, inventory_info) + if action == "move" then + if inventory_info.from_list == "main" and inventory_info.to_list == "skin" then + if inventory:get_stack(inventory_info.from_list, + inventory_info.from_index):get_definition()._skin then + return 1 + else + return 0 + end + end + end +end) +minetest.register_on_player_inventory_action(function(player, action, inventory, inventory_info) + if action == "move" and inventory_info.to_list == "skin" then + local skin = inventory:get_stack("skin", 1):get_definition()._skin + if skin then + multiskin.set_player_skin(player, skin) + multiskin.update_player_visuals(player) + end + elseif (action == "move" and + inventory_info.from_list == "skin") or + (action == "take" and + inventory_info.listname == "skin") then + local gender = player:get_meta():get_string("gender") + local skin = "multiskin_" .. gender .. ".png" + if skin ~= player:get_meta():get_string("multiskin_skin") then + multiskin.set_player_skin(player, skin) + multiskin.update_player_visuals(player) + end + end +end) +minetest.register_on_respawnplayer(function(player) + if not player then + return + end + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) +end) +minetest.register_on_dieplayer(function(player) + if not player then + return + end + dresser.players[player:get_player_name()] = nil +end) +minetest.register_on_leaveplayer(function(player) + if not player then + return + end + dresser.players[player:get_player_name()] = nil +end) +minetest.register_craft({ + output = "dresser:dresser", + recipe = { + {"group:wool", "group:wool", "group:wool"}, + {"group:wool", "default:chest", "group:wool"}, + {"group:wool", "group:wool", "group:wool"}, + }, +}) +minetest.register_node("dresser:dresser", { + description = "Dresser", + paramtype2 = "facedir", + tiles = { + "default_wood.png", + "default_wood.png", + "default_wood.png", + "default_wood.png", + "dresser_dresser.png", + "dresser_dresser.png", + }, + sounds = default.node_sound_wood_defaults(), + groups = {choppy = 3, flammable = 3}, + on_construct = function(pos) + minetest.get_meta(pos):set_string("infotext", "Dresser") + end, + on_use = function(itemstack, user, pointed_thing) + local name = user:get_player_name() + minetest.show_formspec(name, "dresser:dresser", formspec(name)) + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = clicker:get_player_name() + minetest.show_formspec(name, "dresser:dresser", formspec(name)) + end, +}) diff --git a/mods/dresser/skins.lua b/mods/dresser/skins.lua new file mode 100644 index 0000000..3f83c27 --- /dev/null +++ b/mods/dresser/skins.lua @@ -0,0 +1,37 @@ +dresser.skins = { + {"blass", "Blass"}, + {"urotsuki", "Urotsuki"}, + {"temerlime", "Temerlime"}, + {"me_only", "Me Only"}, + {"blockcolor", "Blockcolor"}, + {"cheapie", "Cheapie"}, + {"sam_ii_winter", "Winter Sam"}, +} + +minetest.register_alias("jas0:skin_character", "dresser:skin_blass") +minetest.register_alias("dresser:skin_dusty", "dresser:skin_blass") + +for i = 1, #dresser.skins do + local file = dresser.skins[i][1] + local name = dresser.skins[i][2] + minetest.register_alias("jas0:skin_" .. file, + "dresser:skin_" .. file) + minetest.register_craftitem("dresser:skin_" .. file, { + description = name, + inventory_image = "multiskin_" .. file .. "_inv.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + multiskin.set_player_skin(user, + "multiskin_" .. file .. ".png") + multiskin.update_player_visuals(user) + local inv = user:get_inventory() + if not inv:is_empty("skin", 1) then + local object = minetest.add_item(user:get_pos(), inv:get_stack("skin", 1)) + inv:set_list("skin", {}) + end + inv:add_item("skin", itemstack) + return "" + end, + _skin = "multiskin_" .. file .. ".png", + }) +end diff --git a/mods/dresser/textures/dresser_dresser.png b/mods/dresser/textures/dresser_dresser.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f3cce2107899f6ea806c397a3d6303473f025c GIT binary patch literal 571 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf^8lX^S1xvDZXn`d<^drVUJe#M zAj!$X$H~ga#mdjcDgY$8*#)>+1-aRTK!{zKhh3PLU6hwyn2$%4k3*D?Q;d&Ogr8TG zpIe-tLsWoAOn^s1fKx(%OHzPKN|0Mph*Ls{PeO=aT8KwdL{L&hNJ>;lQJhCtR!CP- z_yhxkrIz@A1_n11xjhUgG|f{LZKedxMBgUj zL}{dMag<4IqFHOYRcDq>X!-vw-OGQmJwemk#%)*%%R?W=dDYB80@{Swe?AWY^S3M-;uVkelgWEp>?~1 zW_87SomY|E@qEwzpptL{Gk+DEv^n|i%9`^k^e2WW8puw*6urgy@Am%nR(8v31$Z0E y7gc_4(sDj^V6{qT<>f0J_jcdZKUXdPO8#)ZMoZTR4>h1K89ZJ6T-G@yGywoQxwCfw literal 0 HcmV?d00001 diff --git a/mods/dungeon_loot/README.txt b/mods/dungeon_loot/README.txt new file mode 100644 index 0000000..c500d25 --- /dev/null +++ b/mods/dungeon_loot/README.txt @@ -0,0 +1,11 @@ +Minetest Game mod: dungeon_loot +=============================== +Adds randomly generated chests with some "loot" to generated dungeons, +an API to register additional loot is provided. +Only works if dungeons are actually enabled in mapgen flags. + +License information can be found in license.txt + +Authors of source code +---------------------- +Originally by sfan5 (MIT) diff --git a/mods/dungeon_loot/depends.txt b/mods/dungeon_loot/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/dungeon_loot/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/dungeon_loot/init.lua b/mods/dungeon_loot/init.lua new file mode 100644 index 0000000..9d8ac52 --- /dev/null +++ b/mods/dungeon_loot/init.lua @@ -0,0 +1,8 @@ +dungeon_loot = {} + +dungeon_loot.CHESTS_MIN = 0 -- not necessarily in a single dungeon +dungeon_loot.CHESTS_MAX = 2 +dungeon_loot.STACKS_PER_CHEST_MAX = 8 + +dofile(minetest.get_modpath("dungeon_loot") .. "/loot.lua") +dofile(minetest.get_modpath("dungeon_loot") .. "/mapgen.lua") diff --git a/mods/dungeon_loot/license.txt b/mods/dungeon_loot/license.txt new file mode 100644 index 0000000..0af30a0 --- /dev/null +++ b/mods/dungeon_loot/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2017 sfan5 + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/dungeon_loot/loot.lua b/mods/dungeon_loot/loot.lua new file mode 100644 index 0000000..3fe0bff --- /dev/null +++ b/mods/dungeon_loot/loot.lua @@ -0,0 +1,62 @@ +dungeon_loot.registered_loot = { + -- buckets + {name = "bucket:bucket_empty", chance = 0.55}, + -- water in deserts or above ground, lava otherwise + {name = "bucket:bucket_water", chance = 0.45, types = {"sandstone", "desert"}}, + {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, types = {"normal"}}, + {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, types = {"normal"}}, + + -- various items + {name = "default:stick", chance = 0.6, count = {3, 6}}, + {name = "default:flint", chance = 0.4, count = {1, 3}}, + {name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}}, + {name = "carts:rail", chance = 0.35, count = {1, 6}}, + + -- farming / consumable + {name = "farming:string", chance = 0.5, count = {1, 8}}, + {name = "farming:wheat", chance = 0.5, count = {2, 5}}, + {name = "default:apple", chance = 0.4, count = {1, 4}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, types = {"normal"}}, + {name = "default:cactus", chance = 0.4, count = {1, 4}, types = {"sandstone", "desert"}}, + + -- minerals + {name = "default:coal_lump", chance = 0.9, count = {1, 12}}, + {name = "default:gold_ingot", chance = 0.5}, + {name = "default:steel_ingot", chance = 0.4, count = {1, 6}}, + {name = "default:mese_crystal", chance = 0.1, count = {2, 3}}, + + -- tools + {name = "default:sword_wood", chance = 0.6}, + {name = "default:pick_stone", chance = 0.3}, + {name = "default:axe_diamond", chance = 0.05}, + + -- natural materials + {name = "default:sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"normal"}}, + {name = "default:desert_sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"sandstone"}}, + {name = "default:desert_cobble", chance = 0.8, count = {4, 32}, types = {"desert"}}, + {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}}, + {name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-32768, -512}}, + {name = "default:mese", chance = 0.15, y = {-32768, -512}}, +} + +function dungeon_loot.register(t) + if t.name ~= nil then + t = {t} -- single entry + end + for _, loot in ipairs(t) do + table.insert(dungeon_loot.registered_loot, loot) + end +end + +function dungeon_loot._internal_get_loot(pos_y, dungeontype) + -- filter by y pos and type + local ret = {} + for _, l in ipairs(dungeon_loot.registered_loot) do + if l.y == nil or (pos_y >= l.y[1] and pos_y <= l.y[2]) then + if l.types == nil or table.indexof(l.types, dungeontype) ~= -1 then + table.insert(ret, l) + end + end + end + return ret +end diff --git a/mods/dungeon_loot/mapgen.lua b/mods/dungeon_loot/mapgen.lua new file mode 100644 index 0000000..c6a4509 --- /dev/null +++ b/mods/dungeon_loot/mapgen.lua @@ -0,0 +1,168 @@ +minetest.set_gen_notify({dungeon = true, temple = true}) + +local function noise3d_integer(noise, pos) + return math.abs(math.floor(noise:get_3d(pos) * 0x7fffffff)) +end + +local function random_sample(rand, list, count) + local ret = {} + for n = 1, count do + local idx = rand:next(1, #list) + table.insert(ret, list[idx]) + table.remove(list, idx) + end + return ret +end + +local function find_walls(cpos) + local wall = minetest.registered_aliases["mapgen_cobble"] + local wall_alt = minetest.registered_aliases["mapgen_mossycobble"] + local wall_ss = minetest.registered_aliases["mapgen_sandstonebrick"] + local wall_ds = minetest.registered_aliases["mapgen_desert_stone"] + local is_wall = function(node) + return table.indexof({wall, wall_alt, wall_ss, wall_ds}, node.name) ~= -1 + end + + local dirs = {{x=1, z=0}, {x=-1, z=0}, {x=0, z=1}, {x=0, z=-1}} + local get_node = minetest.get_node + + local ret = {} + local mindist = {x=0, z=0} + local min = function(a, b) return a ~= 0 and math.min(a, b) or b end + local wallnode + for _, dir in ipairs(dirs) do + for i = 1, 9 do -- 9 = max room size / 2 + local pos = vector.add(cpos, {x=dir.x*i, y=0, z=dir.z*i}) + + -- continue in that direction until we find a wall-like node + local node = get_node(pos) + if is_wall(node) then + local front_below = vector.subtract(pos, {x=dir.x, y=1, z=dir.z}) + local above = vector.add(pos, {x=0, y=1, z=0}) + + -- check that it: + --- is at least 2 nodes high (not a staircase) + --- has a floor + if is_wall(get_node(front_below)) and is_wall(get_node(above)) then + table.insert(ret, {pos = pos, facing = {x=-dir.x, y=0, z=-dir.z}}) + if dir.z == 0 then + mindist.x = min(mindist.x, i-1) + else + mindist.z = min(mindist.z, i-1) + end + wallnode = node.name + end + -- abort even if it wasn't a wall cause something is in the way + break + end + end + end + + local mapping = { + [wall_ss] = "sandstone", + [wall_ds] = "desert" + } + return { + walls = ret, + size = {x=mindist.x*2, z=mindist.z*2}, + type = mapping[wallnode] or "normal" + } +end + +local function populate_chest(pos, rand, dungeontype) + --minetest.chat_send_all("chest placed at " .. minetest.pos_to_string(pos) .. " [" .. dungeontype .. "]") + --minetest.add_node(vector.add(pos, {x=0, y=1, z=0}), {name="default:torch", param2=1}) + + local item_list = dungeon_loot._internal_get_loot(pos.y, dungeontype) + -- take random (partial) sample of all possible items + assert(#item_list >= dungeon_loot.STACKS_PER_CHEST_MAX) + item_list = random_sample(rand, item_list, dungeon_loot.STACKS_PER_CHEST_MAX) + + -- apply chances / randomized amounts and collect resulting items + local items = {} + for _, loot in ipairs(item_list) do + if rand:next(0, 1000) / 1000 <= loot.chance then + local itemdef = minetest.registered_items[loot.name] + local amount = 1 + if loot.count ~= nil then + amount = rand:next(loot.count[1], loot.count[2]) + end + + if itemdef.tool_capabilities then + for n = 1, amount do + local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear + table.insert(items, ItemStack({name = loot.name, wear = wear})) + end + elseif itemdef.stack_max == 1 then + -- not stackable, add separately + for n = 1, amount do + table.insert(items, loot.name) + end + else + table.insert(items, ItemStack({name = loot.name, count = amount})) + end + end + end + + -- place items at random places in chest + local inv = minetest.get_meta(pos):get_inventory() + local listsz = inv:get_size("main") + assert(listsz >= #items) + for _, item in ipairs(items) do + local index = rand:next(1, listsz) + if inv:get_stack("main", index):is_empty() then + inv:set_stack("main", index, item) + else + inv:add_item("main", item) -- space occupied, just put it anywhere + end + end +end + + +minetest.register_on_generated(function(minp, maxp, blockseed) + local gennotify = minetest.get_mapgen_object("gennotify") + local poslist = gennotify["dungeon"] or {} + for _, entry in ipairs(gennotify["temple"] or {}) do + table.insert(poslist, entry) + end + if #poslist == 0 then return end + + local noise = minetest.get_perlin(10115, 4, 0.5, 1) + local rand = PcgRandom(noise3d_integer(noise, poslist[1])) + + local candidates = {} + -- process at most 8 rooms to keep runtime of this predictable + local num_process = math.min(#poslist, 8) + for i = 1, num_process do + local room = find_walls(poslist[i]) + -- skip small rooms and everything that doesn't at least have 3 walls + if math.min(room.size.x, room.size.z) >= 4 and #room.walls >= 3 then + table.insert(candidates, room) + end + end + + local num_chests = rand:next(dungeon_loot.CHESTS_MIN, dungeon_loot.CHESTS_MAX) + num_chests = math.min(#candidates, num_chests) + local rooms = random_sample(rand, candidates, num_chests) + + for _, room in ipairs(rooms) do + -- choose place somewhere in front of any of the walls + local wall = room.walls[rand:next(1, #room.walls)] + local v, vi -- vector / axis that runs alongside the wall + if wall.facing.x ~= 0 then + v, vi = {x=0, y=0, z=1}, "z" + else + v, vi = {x=1, y=0, z=0}, "x" + end + local chestpos = vector.add(wall.pos, wall.facing) + local off = rand:next(-room.size[vi]/2 + 1, room.size[vi]/2 - 1) + chestpos = vector.add(chestpos, vector.multiply(v, off)) + + if minetest.get_node(chestpos).name == "air" then + -- make it face inwards to the room + local facedir = minetest.dir_to_facedir(vector.multiply(wall.facing, -1)) + minetest.add_node(chestpos, {name = "default:chest", param2 = facedir}) + populate_chest(chestpos, PcgRandom(noise3d_integer(noise, chestpos)), room.type) + end + end +end) diff --git a/mods/dye/README.txt b/mods/dye/README.txt new file mode 100644 index 0000000..a2fbdd2 --- /dev/null +++ b/mods/dye/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: dye +====================== +See license.txt for license information. +See init.lua for documentation. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Perttu Ahola (celeron55) (CC BY-SA 3.0) 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..c259811 --- /dev/null +++ b/mods/dye/init.lua @@ -0,0 +1,97 @@ +dye = {} + +-- Make dye names and descriptions available globally + +dye.dyes = { + {"white", "White"}, + {"grey", "Grey"}, + {"dark_grey", "Dark grey"}, + {"black", "Black"}, + {"violet", "Violet"}, + {"blue", "Blue"}, + {"cyan", "Cyan"}, + {"dark_green", "Dark green"}, + {"green", "Green"}, + {"yellow", "Yellow"}, + {"brown", "Brown"}, + {"orange", "Orange"}, + {"red", "Red"}, + {"magenta", "Magenta"}, + {"pink", "Pink"}, +} + +-- Define items + +for _, row in ipairs(dye.dyes) do + local name = row[1] + local description = row[2] + local groups = {dye = 1} + groups["color_" .. name] = 1 + + minetest.register_craftitem("dye:" .. name, { + inventory_image = "dye_" .. name .. ".png", + description = description .. " Dye", + groups = groups + }) + + minetest.register_craft({ + type = "shapeless", + output = "dye:" .. name .. " 4", + recipe = {"group:flower,color_" .. name}, + }) +end + +-- Manually add coal -> black dye + +minetest.register_craft({ + type = "shapeless", + output = "dye:black 4", + recipe = {"group:coal"}, +}) + +-- Manually add blueberries->violet dye + +minetest.register_craft({ + type = "shapeless", + output = "dye:violet 2", + recipe = {"default:blueberries"}, +}) + +-- Mix recipes + +local dye_recipes = { + -- src1, src2, dst + -- RYB mixes + {"red", "blue", "violet"}, -- "purple" + {"yellow", "red", "orange"}, + {"yellow", "blue", "green"}, + -- RYB complementary mixes + {"yellow", "violet", "dark_grey"}, + {"blue", "orange", "dark_grey"}, + -- CMY mixes - approximation + {"cyan", "yellow", "green"}, + {"cyan", "magenta", "blue"}, + {"yellow", "magenta", "red"}, + -- other mixes that result in a color we have + {"red", "green", "brown"}, + {"magenta", "blue", "violet"}, + {"green", "blue", "cyan"}, + {"pink", "violet", "magenta"}, + -- mixes with black + {"white", "black", "grey"}, + {"grey", "black", "dark_grey"}, + {"green", "black", "dark_green"}, + {"orange", "black", "brown"}, + -- mixes with white + {"white", "red", "pink"}, + {"white", "dark_grey", "grey"}, + {"white", "dark_green", "green"}, +} + +for _, mix in pairs(dye_recipes) do + minetest.register_craft({ + type = "shapeless", + output = 'dye:' .. mix[3] .. ' 2', + recipe = {'dye:' .. mix[1], 'dye:' .. mix[2]}, + }) +end diff --git a/mods/dye/license.txt b/mods/dye/license.txt new file mode 100644 index 0000000..bf9d350 --- /dev/null +++ b/mods/dye/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/dye/textures/dye_black.png b/mods/dye/textures/dye_black.png new file mode 100644 index 0000000000000000000000000000000000000000..1055b6c22a683977c0842fcd201e13e733a41f11 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78C&YHo=Z8JtcEP7)YeG0C9)-E9b+jt zdt%$+9~{#keB<&v`{Gf+^hZ~HE(q|5Ke*JQ#x zEqmD3W_R!ARe?-S96P&O+fBc)%GS?GW&dY;>N48~?Gwq2l~dPzW;nChr|8bg K=d#Wzp$P!nK|S~Y literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_brown.png b/mods/dye/textures/dye_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..77d475cdfccb7caae035ab8802e27a161dfb55ab GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*{w`wwz91n@Xpw`W&e zG`w?o^KFaO{{om)1zrd0*!<$%6Y#iy^W4tgc~5^bRA|pEXI(PwjW@%ywLUMSma}}i zp>t^Wbk6QIYg|K_qKvlv7gf(b=Pmzqn~Q$Iq-S@on!3)bu#Wq4>CWEm^;+CahrR=? OW$<+Mb6Mw<&;$TuB|%jH 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..239d66cea231a2c228b4fb4340c21b3888382280 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*|t5`78N PTFl_->gTe~DWM4fxNtb7 literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_dark_green.png b/mods/dye/textures/dye_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..9606ccf4561bd576c31a4e4a47a09adf161ffb98 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*|t5`78W%FK#?ErQ*LL P&}s%xS3j3^P6i&Yb16rY)sW?s+8W8WM7G4NV=M({ zPi#B Ssct~K89ZJ6T-G@yGywoZaXLHz literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_green.png b/mods/dye/textures/dye_green.png new file mode 100644 index 0000000000000000000000000000000000000000..0d99ee1c112676370725369996e5038d75de7608 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*|t5`78jm(9%GJRW3`5C zw{5b=+;^~S4=>1a6K~%ovOcY;Enx@4bTyMgi{2%omld35ym0AUSQx;>5Y4+&@63(l QP@vrmp00i_>zopr0Ku6!MgRZ+ literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_magenta.png b/mods/dye/textures/dye_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..c84df62c13b117d784e4c6930356b9091b361580 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78{K;H>3an literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_pink.png b/mods/dye/textures/dye_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..c3dec22a56d2f9e602b45f33009eebd0f6b670cf GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78+tB|M(D=V+v=d1qnDO5J2LX1#FCpqTuB^Ld?So`4)Ywk(!=>+ z*2LWQkAiv!--^zeb@Avzy`!sVE>M)vJFt|~SH@2{^QcLOfSOfcQijYF28LNOy<2)W S=J^5bX7F_Nb6Mw<&;$Tncse)$ literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_violet.png b/mods/dye/textures/dye_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..600cbb4452dbb5e6dc39f47bbd5474ca39fa89f4 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78e%E5@$Hhm}STq zW4!6Df!!h19ebOCjdxjGSz2K#Y{GJwb%)8q&cm51YiF7CQ6f!XS(*>S z^`0E-p8f*Py!8*R^yu-GYQ~*q;XPQusOOvUs6fh7dzoX4!NpD?=f?|J7-kq=zoOpe R$q%%f!PC{xWt~$(698CGIoSXJ literal 0 HcmV?d00001 diff --git a/mods/farming/README.txt b/mods/farming/README.txt new file mode 100644 index 0000000..d46748d --- /dev/null +++ b/mods/farming/README.txt @@ -0,0 +1,40 @@ +Minetest Game mod: farming +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +webdesigner97 (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Created by PilzAdam (CC BY 3.0): + farming_bread.png + farming_soil.png + farming_soil_wet.png + farming_soil_wet_side.png + farming_string.png + +Created by BlockMen (CC BY 3.0): + farming_tool_diamondhoe.png + farming_tool_mesehoe.png + farming_tool_bronzehoe.png + farming_tool_steelhoe.png + farming_tool_stonehoe.png + farming_tool_woodhoe.png + +Created by MasterGollum (CC BY 3.0): + farming_straw.png + +Created by Gambit (CC BY 3.0): + farming_wheat.png + farming_wheat_*.png + farming_cotton_*.png + farming_flour.png + farming_cotton_seed.png + farming_wheat_seed.png + +Created by Napiophelios (CC BY-SA 3.0): + farming_cotton.png diff --git a/mods/farming/api.lua b/mods/farming/api.lua new file mode 100644 index 0000000..1c613a6 --- /dev/null +++ b/mods/farming/api.lua @@ -0,0 +1,391 @@ + +-- Wear out hoes, place soil +-- TODO Ignore group:flower +farming.registered_plants = {} + +farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z} + local above = minetest.get_node(p) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + -- check if the node above the pointed thing is air + if above.name ~= "air" then + return + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") ~= 1 then + return + end + + -- check if (wet) soil defined + local regN = minetest.registered_nodes + if regN[under.name].soil == nil or regN[under.name].soil.wet == nil or regN[under.name].soil.dry == nil then + return + end + + if minetest.is_protected(pt.under, user:get_player_name()) then + minetest.record_protection_violation(pt.under, user:get_player_name()) + return + end + if minetest.is_protected(pt.above, user:get_player_name()) then + minetest.record_protection_violation(pt.above, user:get_player_name()) + return + end + + -- turn the node into soil and play sound + minetest.set_node(pt.under, {name = regN[under.name].soil.dry}) + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(user:get_player_name())) then + -- wear tool + local wdef = itemstack:get_definition() + itemstack:add_wear(65535/(uses-1)) + -- tool break sound + if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then + minetest.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}) + end + end + return itemstack +end + +-- Register new hoes +farming.register_hoe = function(name, def) + -- Check for : prefix (register new hoes in your mod's namespace) + if name:sub(1,1) ~= ":" then + name = ":" .. name + end + -- Check def table + if def.description == nil then + def.description = "Hoe" + end + if def.inventory_image == nil then + def.inventory_image = "unknown_item.png" + end + if def.max_uses == nil then + def.max_uses = 30 + end + -- Register the tool + minetest.register_tool(name, { + description = def.description, + inventory_image = def.inventory_image, + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) + end, + groups = def.groups, + sound = {breaks = "default_tool_breaks"}, + }) + -- Register its recipe + if def.recipe then + minetest.register_craft({ + output = name:sub(2), + recipe = def.recipe + }) + elseif def.material then + minetest.register_craft({ + output = name:sub(2), + recipe = { + {def.material, def.material, ""}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) + end +end + +-- how often node timers for plants will tick, +/- some random value +local function tick(pos) + minetest.get_node_timer(pos):start(math.random(166, 286)) +end +-- how often a growth failure tick is retried (e.g. too dark) +local function tick_again(pos) + minetest.get_node_timer(pos):start(math.random(40, 80)) +end + +-- Seed placement +farming.place_seed = function(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return itemstack + end + if pt.type ~= "node" then + return itemstack + end + + local under = minetest.get_node(pt.under) + local above = minetest.get_node(pt.above) + + local player_name = placer and placer:get_player_name() or "" + + if minetest.is_protected(pt.under, player_name) then + minetest.record_protection_violation(pt.under, player_name) + return + end + if minetest.is_protected(pt.above, player_name) then + minetest.record_protection_violation(pt.above, player_name) + return + end + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return itemstack + end + if not minetest.registered_nodes[above.name] then + return itemstack + end + + -- check if pointing at the top of the node + if pt.above.y ~= pt.under.y+1 then + return itemstack + end + + -- check if you can replace the node above the pointed node + if not minetest.registered_nodes[above.name].buildable_to then + return itemstack + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") < 2 then + return itemstack + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name = plantname, param2 = 1}) + tick(pt.above) + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + return itemstack +end + +farming.grow_plant = function(pos, elapsed) + local node = minetest.get_node(pos) + local name = node.name + local def = minetest.registered_nodes[name] + + if not def.next_plant then + -- disable timer for fully grown plant + return + end + + -- grow seed + if minetest.get_item_group(node.name, "seed") and def.fertility then + local soil_node = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) + if not soil_node then + tick_again(pos) + return + end + -- omitted is a check for light, we assume seeds can germinate in the dark. + for _, v in pairs(def.fertility) do + if minetest.get_item_group(soil_node.name, v) ~= 0 then + local placenode = {name = def.next_plant} + if def.place_param2 then + placenode.param2 = def.place_param2 + end + minetest.swap_node(pos, placenode) + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + return + end + end + end + + return + end + + -- check if on wet soil + local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}) + if minetest.get_item_group(below.name, "soil") < 3 then + tick_again(pos) + return + end + + -- check light + local light = minetest.get_node_light(pos) + if not light or light < def.minlight or light > def.maxlight then + tick_again(pos) + return + end + + -- grow + local placenode = {name = def.next_plant} + if def.place_param2 then + placenode.param2 = def.place_param2 + end + minetest.swap_node(pos, placenode) + + -- new timer needed? + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + end + return +end + +-- Register plants +farming.register_plant = function(name, def) + local mname = name:split(":")[1] + local pname = name:split(":")[2] + + -- Check def table + if not def.description then + def.description = "Seed" + end + if not def.inventory_image then + def.inventory_image = "unknown_item.png" + end + if not def.steps then + return nil + end + if not def.minlight then + def.minlight = 1 + end + if not def.maxlight then + def.maxlight = 14 + end + if not def.fertility then + def.fertility = {} + end + + farming.registered_plants[pname] = def + + -- Register seed + local lbm_nodes = {mname .. ":seed_" .. pname} + local g = {seed = 1, snappy = 3, attached_node = 1, flammable = 2} + for k, v in pairs(def.fertility) do + g[v] = 1 + end + minetest.register_node(":" .. mname .. ":seed_" .. pname, { + description = def.description, + tiles = {def.inventory_image}, + inventory_image = def.inventory_image, + wield_image = def.inventory_image, + drawtype = "signlike", + groups = g, + paramtype = "light", + paramtype2 = "wallmounted", + place_param2 = def.place_param2 or nil, -- this isn't actually used for placement + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + fertility = def.fertility, + sounds = default.node_sound_dirt_defaults({ + dig = {name = "", gain = 0}, + dug = {name = "default_grass_footstep", gain = 0.2}, + place = {name = "default_place_node", gain = 0.25}, + }), + + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local udef = minetest.registered_nodes[node.name] + if udef and udef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return udef.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":seed_" .. pname) + end, + next_plant = mname .. ":" .. pname .. "_1", + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + + -- Register harvest + minetest.register_craftitem(":" .. mname .. ":" .. pname, { + description = pname:gsub("^%l", string.upper), + inventory_image = mname .. "_" .. pname .. ".png", + groups = def.groups or {flammable = 2}, + }) + + -- Register growing steps + for i = 1, def.steps do + local base_rarity = 1 + if def.steps ~= 1 then + base_rarity = 8 - (i - 1) * 7 / (def.steps - 1) + end + local drop = { + items = { + {items = {mname .. ":" .. pname}, rarity = base_rarity}, + {items = {mname .. ":" .. pname}, rarity = base_rarity * 2}, + {items = {mname .. ":seed_" .. pname}, rarity = base_rarity}, + {items = {mname .. ":seed_" .. pname}, rarity = base_rarity * 2}, + } + } + local nodegroups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} + nodegroups[pname] = i + + local next_plant = nil + + if i < def.steps then + next_plant = mname .. ":" .. pname .. "_" .. (i + 1) + lbm_nodes[#lbm_nodes + 1] = mname .. ":" .. pname .. "_" .. i + end + + minetest.register_node(":" .. mname .. ":" .. pname .. "_" .. i, { + drawtype = "plantlike", + waving = 1, + tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, + paramtype = "light", + paramtype2 = def.paramtype2 or nil, + place_param2 = def.place_param2 or nil, + walkable = false, + buildable_to = true, + drop = drop, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + groups = nodegroups, + sounds = default.node_sound_leaves_defaults(), + next_plant = next_plant, + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + end + + -- replacement LBM for pre-nodetimer plants + minetest.register_lbm({ + name = ":" .. mname .. ":start_nodetimer_" .. pname, + nodenames = lbm_nodes, + action = function(pos, node) + tick_again(pos) + end, + }) + + -- Return + local r = { + seed = mname .. ":seed_" .. pname, + harvest = mname .. ":" .. pname + } + return r +end diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt new file mode 100644 index 0000000..301d971 --- /dev/null +++ b/mods/farming/depends.txt @@ -0,0 +1,3 @@ +default +wool +stairs diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua new file mode 100644 index 0000000..3328582 --- /dev/null +++ b/mods/farming/hoes.lua @@ -0,0 +1,49 @@ +farming.register_hoe(":farming:hoe_wood", { + description = "Wooden Hoe", + inventory_image = "farming_tool_woodhoe.png", + max_uses = 30, + material = "group:wood", + groups = {flammable = 2, tool = 1}, +}) + +farming.register_hoe(":farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_tool_stonehoe.png", + max_uses = 90, + material = "group:stone", + groups = {tool = 1}, +}) + +farming.register_hoe(":farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_tool_steelhoe.png", + max_uses = 500, + material = "default:steel_ingot", + groups = {tool = 1}, +}) + +-- The following are deprecated by removing the 'material' field to prevent +-- crafting and removing from creative inventory, to cause them to eventually +-- disappear from worlds. The registrations should be removed in a future +-- release. + +farming.register_hoe(":farming:hoe_bronze", { + description = "Bronze Hoe", + inventory_image = "farming_tool_bronzehoe.png", + max_uses = 220, + groups = {not_in_creative_inventory = 1, tool = 1}, +}) + +farming.register_hoe(":farming:hoe_mese", { + description = "Mese Hoe", + inventory_image = "farming_tool_mesehoe.png", + max_uses = 350, + groups = {not_in_creative_inventory = 1, tool = 1}, +}) + +farming.register_hoe(":farming:hoe_diamond", { + description = "Diamond Hoe", + inventory_image = "farming_tool_diamondhoe.png", + max_uses = 500, + groups = {not_in_creative_inventory = 1, tool = 1}, +}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua new file mode 100644 index 0000000..723201d --- /dev/null +++ b/mods/farming/init.lua @@ -0,0 +1,139 @@ +-- Global farming namespace + +farming = {} +farming.path = minetest.get_modpath("farming") + + +-- Load files + +dofile(farming.path .. "/api.lua") +dofile(farming.path .. "/nodes.lua") +dofile(farming.path .. "/hoes.lua") + + +-- WHEAT + +farming.register_plant("farming:wheat", { + description = "Wheat Seed", + paramtype2 = "meshoptions", + inventory_image = "farming_wheat_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland"}, + groups = {food_wheat = 1, flammable = 4}, + place_param2 = 3, +}) + +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", + groups = {food_flour = 1, flammable = 1}, +}) + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + on_use = minetest.item_eat(5), + groups = {food_bread = 1, flammable = 2}, +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "farming:bread", + recipe = "farming:flour" +}) + + +-- Cotton + +farming.register_plant("farming:cotton", { + description = "Cotton Seed", + inventory_image = "farming_cotton_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland", "desert"}, + groups = {flammable = 4}, +}) + +minetest.register_craftitem("farming:string", { + description = "String", + inventory_image = "farming_string.png", + groups = {flammable = 2}, +}) + +minetest.register_craft({ + output = "wool:white", + recipe = { + {"farming:cotton", "farming:cotton"}, + {"farming:cotton", "farming:cotton"}, + } +}) + +minetest.register_craft({ + output = "farming:string 2", + recipe = { + {"farming:cotton"}, + {"farming:cotton"}, + } +}) + + +-- Straw + +minetest.register_craft({ + output = "farming:straw 3", + recipe = { + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + } +}) + +minetest.register_craft({ + output = "farming:wheat 3", + recipe = { + {"farming:straw"}, + } +}) + + +-- Fuels + +minetest.register_craft({ + type = "fuel", + recipe = "farming:straw", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:wheat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:cotton", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:string", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:hoe_wood", + burntime = 5, +}) diff --git a/mods/farming/license.txt b/mods/farming/license.txt new file mode 100644 index 0000000..8cbb63a --- /dev/null +++ b/mods/farming/license.txt @@ -0,0 +1,61 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 webdesigner97 +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +License of media (textures) +--------------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 MasterGollum +Copyright (C) 2015-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua new file mode 100644 index 0000000..cc9d1f6 --- /dev/null +++ b/mods/farming/nodes.lua @@ -0,0 +1,190 @@ +minetest.override_item("default:dirt", { + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_grass", { + soil = { + base = "default:dirt_with_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_dry_grass", { + soil = { + base = "default:dirt_with_dry_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_rainforest_litter", { + soil = { + base = "default:dirt_with_rainforest_litter", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_coniferous_litter", { + soil = { + base = "default:dirt_with_coniferous_litter", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.register_node("farming:soil", { + description = "Soil", + tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.register_node("farming:soil_wet", { + description = "Wet Soil", + tiles = {"default_dirt.png^farming_soil_wet.png", "default_dirt.png^farming_soil_wet_side.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:desert_sand", { + groups = {crumbly=3, falling_node=1, sand=1, soil = 1}, + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) +minetest.register_node("farming:desert_sand_soil", { + description = "Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil.png", "default_desert_sand.png"}, + groups = {crumbly=3, not_in_creative_inventory = 1, falling_node=1, sand=1, soil = 2, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) + +minetest.register_node("farming:desert_sand_soil_wet", { + description = "Wet Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, + groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1, soil=3, wet = 1, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) + +minetest.register_node("farming:straw", { + description = "Straw", + tiles = {"farming_straw.png"}, + is_ground_content = false, + groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}, + sounds = default.node_sound_leaves_defaults(), +}) + +stairs.register_stair_and_slab( + "straw", + "farming:straw", + {snappy = 3, flammable = 4}, + {"farming_straw.png"}, + "Straw Stair", + "Straw Slab", + default.node_sound_leaves_defaults(), + true +) + +minetest.register_abm({ + label = "Farming soil", + nodenames = {"group:field"}, + interval = 15, + chance = 4, + action = function(pos, node) + local n_def = minetest.registered_nodes[node.name] or nil + local wet = n_def.soil.wet or nil + local base = n_def.soil.base or nil + local dry = n_def.soil.dry or nil + if not n_def or not n_def.soil or not wet or not base or not dry then + return + end + + pos.y = pos.y + 1 + local nn = minetest.get_node_or_nil(pos) + if not nn or not nn.name then + return + end + local nn_def = minetest.registered_nodes[nn.name] or nil + pos.y = pos.y - 1 + + if nn_def and nn_def.walkable and minetest.get_item_group(nn.name, "plant") == 0 then + minetest.set_node(pos, {name = base}) + return + end + -- check if there is water nearby + local wet_lvl = minetest.get_item_group(node.name, "wet") + if minetest.find_node_near(pos, 3, {"group:water"}) then + -- if it is dry soil and not base node, turn it into wet soil + if wet_lvl == 0 then + minetest.set_node(pos, {name = wet}) + end + else + -- only turn back if there are no unloaded blocks (and therefore + -- possible water sources) nearby + if not minetest.find_node_near(pos, 3, {"ignore"}) then + -- turn it back into base if it is already dry + if wet_lvl == 0 then + -- only turn it back if there is no plant/seed on top of it + if minetest.get_item_group(nn.name, "plant") == 0 and minetest.get_item_group(nn.name, "seed") == 0 then + minetest.set_node(pos, {name = base}) + end + + -- if its wet turn it back into dry soil + elseif wet_lvl == 1 then + minetest.set_node(pos, {name = dry}) + end + end + end + end, +}) + + +for i = 1, 5 do + minetest.override_item("default:grass_"..i, {drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'},rarity = 5}, + {items = {'default:grass_1'}}, + } + }}) +end + +minetest.override_item("default:junglegrass", {drop = { + max_items = 1, + items = { + {items = {'farming:seed_cotton'},rarity = 8}, + {items = {'default:junglegrass'}}, + } +}}) diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..0c25678ce995d71809c5938be9c1b06bfa590321 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfx&WULS0Ftjm2p}aLxwTKtW=gt zOQviyrWr|$1!jz8W(>Mc_|#N z9<0+6nP&ttH+V94J2DkpG4)0;PV!^uHf1O>V%Xncvaw!sU$N@OG?h&SN~=;8H>OK2 zO_f|2DLErqs6Rlk(NSPQBJZLMp2>kc6Fqr~9eL{Qcv_uV8y%TC9GGhDn5INBO!a1% z>cWs?#2``l1>_~hk|4ie28U-i(tw;!PZ!4!iOX~QU4@to8CW{ir4#S6mY4tgZ#b#x z5u^3?cZaW>S&)B@!?W^NGT-4f8d;^&N2yKBYck5fN2iyvte;>cYqG40Qb zrAw4%FMGQ}xOC?(j(^Wo+IMYMVtM@|%}2W@Eg;(PkV5lWX1n+v#s^XAfs+yr7;N~- kJM-s1yC|ROw)wRTJMM9^%}vYk0y>Jp)78&qol`;+0AGWMWdHyG literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton.png b/mods/farming/textures/farming_cotton.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa50e4e38c75bce9f41cbee1ed6535adb7c7f9c GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}U4T!BE09hPlFg1#&W%*gjMFKI z)yPOP%t|uMPBzX>Hpogd&q*`OO*72{lIiC8>1O#E=7l-7uit>c+qZAuy?gieJs5ld zf!Citef;?G!zU2<{Q2{zFCg$02)=#${{8z;Ao%s`HxT>*gTH@QO`CrR=mN%)AirP+ zhi5m^fSepp7sn6@$+-uk`I-zwSPwjA4y;@izA)1_v|}5O@0-{{x55C$p3ov)Lq3BN%fu6j$bxAmcc4> o$>!#pM%J{aRpF1k10Uow$7gUvCD|;E0ou#p>FVdQ&MBb@0CbC+Pyhe` literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_1.png b/mods/farming/textures/farming_cotton_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc218078722b9634503146a0fb0d3353c3e5859 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0ENCG36TW*{TIiIzRq! z3jxI$OM?7@862M7NCWBcba4!+U`$>hl)xgG#>vCLxQk&%%X!6lKsg3aS3j3^P6N1~t zT7lw>B|(0{3=Yq3qyafno-U3d6^zLXSPYCdFr0Mfa%j5C=_!@pqwneB7{YNqd4UMW0SP{XHb$ow$z^Sx4T37?j~qC$fI-YC mC8cFmP*}r-9yd1!AqL+pCe=^OGu(k%89ZJ6T-G@yGywoue<@V} literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_4.png b/mods/farming/textures/farming_cotton_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f314b07b7e1968592fb8bf3f9fb592f4a6467010 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=7hmI;G_XzVTY!9oC1Y zup|P77)yfuf*Bm1-ADs+Og&v3LpZJ{EAVbOAi-zQ#?;oq5F)ymnOS)P%j(3i1g4Y5 q%sbf$~F!A+hX*qB)6klZKoY&;i1vH7l)78&qol`;+0Mzd* A1ONa4 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_6.png b/mods/farming/textures/farming_cotton_6.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bd4fb346ec9ee2a71696d9337723d2be7de8dd GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW^~o%3Ot#4jH=kbW9_ejT z5o;-L`KAjf%UBZR7tG-B>_!@pn!GVY2Kz8F^Aq7W=<|h7su7+0_ z%;(jgy1^6crYhviImc{Ej=$HGy^A(l>lC<3yg$co;R#@=OgfrXJV)k$6JL*(mP0PX<{vDId%2_RfQB-7 My85}Sb4q9e07KF(tpET3 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_8.png b/mods/farming/textures/farming_cotton_8.png new file mode 100644 index 0000000000000000000000000000000000000000..f835ba5b3f6f2c4d0e6c3f730be01e599dab7b6e GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=1BEstJygSFT*~H50Ya z6g2nMH80Iv29#hd3GxeOaCmkj4akZ0ba4#fxSrd&k+;Es=fIpT2I&tPJ~#^SGX#C- zlbP^;{Q{w$icL9n8i96(^{U|s@{S!nx`{Fen{H}v4KbMfXl0lD=7OY*ggmJ~bxxfl+I4L|LH_AoGby85}Sb4q9e09F4!`v3p{ literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_seed.png b/mods/farming/textures/farming_cotton_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d5b8ab714e2f074b8136aac0d8dab88c0acc2a GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b^~o&sbXJcEvo6REsH=<@ zI$@IslwvFi@(X5gcy=QV$T9VFaSW+oOg_LkL)2l3Fmv-nh7LuY0}32s=^+P}PGejn t#^aEscx$0U1mmeR5eCVl4VN|87&b3ts&DABf<~Ev zM3{a-k$F9gcRh}FI?}9T&!%C@reD6ASEz|hrie?Ofkl#fL6LkuiE}-Ob~}o8I)!pL ziE%iDa5mDZVZobOvy@V>jZvwKN~DEJjd?(odOwYIKFX$E$emrooLj+{Tez85y_r_D zkyNUVOrU^Bk$XUcZ8yZ5UdNR2b7G&V_-5Fc1L1 z1%gLNa6L!Q^}YYHKH(~u0W^7z7Ic?^uhyO`FpL(sx+q%Oc!r&f2&}~pG;zB!u{D>+ zdk5Us!Qs`Z549Coj|-HcrmveSe?(4V9PkxTW$Lb7l41|K5e+GvN%XOarwj$==fdcH z$k=wX)9UZEUmjzde8D|XKF?2;{L};iwv_*uKh?*=8PHJrG3|uYHhWmPO{SSpcoM0#U3W>qSlfJ%&S zL703;mw85xb3ux6KZk8Te`h#-WjJkKE}MKwifur5VKsnjIfG+6e??2S0002GNklctStLLU@VQkp*kluu_SY z*YUA|(c;17CcuxqS;2&D9^I}RapNFCnM)q}kYtfP6;Q&YiO{!niiS%EsFSsf%WO)C zC&$Jp#qCj^x4-Yl@I1Fhva@gY&-B=Iq1xH6o}a^GYesOR?@Z#Do_@o;{SrT~=lSB_ xuW|1fV?iSas?Np4*w*1WrepMF(mG5J&p-Pc3xv*T0crpM002ovPDHLkV1lrul%W6s literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_desert_sand_soil_wet_side.png b/mods/farming/textures/farming_desert_sand_soil_wet_side.png new file mode 100644 index 0000000000000000000000000000000000000000..41e5a04a36f76537ad5153b3360fc929dd905a3f GIT binary patch literal 272 zcmV+r0q_2aP)WvN|$y>po31Gdr6XUMWBOAm2^g#c}Ss!O`w5FqK8k6YC)TMNR4ntJ*s2)0001+ zNklYz~^4HgN(6gQT6MII~5cDTAG(%!x*qKqm%67ZLL_!bh4I0$m)uG^b3q zU=R{1n8rLw)P%vbiY;5I#L0<4X?ffBsx^m{8G`m*tXgwMEQvvIuKMybi|z+9#C@!0 z;O^CSV7Rv2EMrFY>M(|<)0()-cQfZQ072F1$GKM-7$YsB_T5c=z`z=tz}(x)tqlM) Ww=vDlXsW0H0000MaIl#*FCAl<2 z*jzM4Ty?~h`4}A)c{PPt?KMP{c^Kt*n1q=bRCrk=xEU0986`OxWVslmco^k*nT44c z#Mwdm`4||0?gk==lYqvmax=(sFz88e+o=nSF))N!Dw)c0i7+sj$_sdC3VG;?gI%2B*-tAL5ssp zg-ugQ=JU=uj`9Nk{{8*_^zOAo%NAzE^8Wkr>FulM&mKK`aOcLA%jZt--?L|7TSI-Y zt)cF}e?Ncx`2PLeVafjvYCCXwRlio7S(M+S^r<9N}ZCe)ikpO+brY zd%8G=NL=n)e-CV|fjjVi!YBt~8j4oBq$NwtYo?c(at-|KQ;Z)*ex=iq0{<>owioXsq z1ik!ouD*J@sM%aW-=!Po+i&^w^w-O$1utxSnvFerlGdfq=U>%&>050@iqkdj*>7K8 zJlePNw(E6UM$dR}myBgQQ(tAd;k@w1$+=w<)GdgYQ#>vo>l>7bDJ MboFyt=akR{09AqB)&Kwi 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..0b4487d8a2460c3d06a49560ca5c5905fba69f30 GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47zG1-LR^7dWWa>P5ny3}a5aQk zlzAD&I2c(N7(8_)M41?z)kK^$g=k&_1z9AS7;Myp6}cH@xEVEsScI4u6nU5>SQz9v8BG<0gupt1 zRs)eLH-jt(gNgvFtqQNLnozKXqA&x4u^hh=Ka(O4g9sx-u(`aRB&P;HqZAW^hk>lM zs-U?nueJzhxSgh{s(_IUzpav(z67Tv50eNVv$>LpFgt@N2LlHK13xPxC@dJEPBoO| zc2*a*m*WYkKbr#-k0=T93--^>2ncORO^Q697xMSp<(hy0etmua=>DBkhxYAWKC!1L z=-=Nzzu&!k`}+0E7tfzOzItWP>gkpLfP%k%e);tA!@F0{pFey2=+VQwH*Q?Jc>dJU z1KT#NTRwkg+w`@aM}T&`_H=O!k+^Jn*0t!cgNWZBPMTc0`OG>O8!?2L;U3OjqcUv+ABv;?~9#d{o(b^nay(07R%SGXNIn&nK znOvFwJ}Nf1EPC0^J6hQZUuDye%goDK+%3E|dFq1YmQz){p2r*YUS{8(#M)%2n9=H@ zmn6v&AfenM{N*640LzLG3TIy2d9bs`we7(TyUla%{dlG4ndTo^!uzW1_O!k{@#e$l z;x^diH(34tvgh~rmvwuu<@&2lSCIU~ZJK2JIP)RHaRQ}yRgy`n?5nmy2^F!kBLd>=TPO& zP{^rJ{_9TDx=y>6PW9nUv64)^pGw@tN!Ywev5iT&l}Pm1M$))O(XU3vs7CeQMbflI zwVXq^l|%5?LeslK$*DrUok69CLEX4O&#XY})IQ$BKHA2H|54R^4>PHk2cAvG|i(l)weUcl{2`LGoE@g!J{#-jWM;EFTj^5=FMpS^=9nN zV&unS=GI`yuwLH5TP}HPXVSNZh|j|KUfvn@8EQME~+b-Nr-PyhFyZL&B*;!J|XUxS{hpNzjy=7BT<#fYq}?m*m2V-%980)Q;K zB(|(j6zR9{xIQ`y%q#>3r%cWzEX|5I%Mms(A`!#ZTORQQjWnvqhy!qB(5^eSv}>H9 z8YIrNe+LI7Y);FWj{V};Zj?&t;uc GLK6Urr%G`E literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_diamondhoe.png b/mods/farming/textures/farming_tool_diamondhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..66f1042a425f5098f7001213ac9192150ce855e0 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4|*GC7{Y)~W)+<)tQy z{DE6Gb-jJvMlvi}hqW?e*j3q&S!3+-1ZlnP@7M?DS zAsp9}9U7*@W(J6z{uCpzdecXSmZyP<42cHsOBxK$wK`RifU*#Rp3qg zhlWXO9tVhdyID>-dbhBUspaXmTMUO1%8DBd(%Kv{+(K6*DKf8UFk)nE5xd5~7Q(;~ XwUFcR0ow#Qpdk#Nu6{1-oD!M<)DJvd literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_steelhoe.png b/mods/farming/textures/farming_tool_steelhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..d057af24c30b9a1bcfac890da03d4e3ff87e1fd6 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=4%>?hUk*$?+7nRuwpN z=8TCV|KrDx|NsC0@#9AqJ+bfKzdw8S%-@uECU4IZplZgFAirP+hi5m^fE-It7sn8e z>&Xrchh8~obboZwoO0AkIfJo9)#57Sp#(wk27_yAP8n*(E0R*#S2S=kGPa0qV_^$n aV37F1F?GVB^bJ5m7(8A5T-G@yGywqiay`-j literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_stonehoe.png b/mods/farming/textures/farming_tool_stonehoe.png new file mode 100644 index 0000000000000000000000000000000000000000..55d8123f8b9eaed4410989827adb5fade27d4651 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4|*GC7{Y)~W(2DJc~d z74`M?xw*M!N&+r=Vutd(MMXsg1qIfcBL1ela~uMf0yQv}1o;IsI6S+N2IN?Ix;Tb# zTu*jjxVEW8quch2#gwB$X%>u!if$$`Bz{>;7#+*Z=EaM zw?66EcHjN$UFP>Vu3EMD;^DZZlbjwsdT{x8)Akkdd)7v7THv>8y4&_8*2j(=oHc9m z$z9o7wY5`$rZAQS`2{mLJiCzwlo8NZu>H-brP(K~|(phXOxu6{1-oD!M<;EG@u literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c16ad94ba4e9989dd795c452559376ea2137d78b GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=9Yr1Ue5HHSX6f+M=Q~ zYo{boh_NKdFPOpM*^M+HN8HoJF@)oKvP8xM1|=4W84^4a5|S(;3~VV3TOtB)Z38M{ N@O1TaS?83{1OQMF9ZdiL 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..baddb4c544c6ea55d23c5dec5462e351c0f80c54 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=3wxO(*WOis%vDe8I1J zrB3l;b^H6RpMVmKB|(0{3=Yq3qyahVo-U3d9M_W<=yNa#vhn!vF!7w>VdLV_abQz! jW}J`^;*pRTP{6<-pT?xP*61c5Pz!^ntDnm{r-UW|z&Rvh 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..36ebb1929de7851303f7b7da7a46fe831765608f GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=7oRg-u%NdiX-lntjog zlXa)B_1J%|{C~fqJ5Y|XB*-tA!Qt7BG$6;x)5S4_<9hM}Mh^x-Mjjm=CZ07sjC?$2 z9N3hd873r@1SF&t7$gX!gm@&B2n3{Pr0E1ChzWS42qXmt1cU?xurVyGV&j}_c4jru OGzL#sKbLh*2~7aHK`<)- literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_4.png b/mods/farming/textures/farming_wheat_4.png new file mode 100644 index 0000000000000000000000000000000000000000..735ed7772e5ed4e8ecf29004ce2fc92fc3001247 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=8yeCePUzxb3x$}4MW-^nS{=7dR2o)#&6-Tm*+8s;xLd_unYEgOKA OF?hQAxvX9s(+5ED7=pW^j0RBMrzY^mK6y;kcfx zz^0S%ASuBkAtC7j!z70^W@heYh6$G+95`@J@4(R$7ZeUWIPqe^fpZT64k?^iG2y@q zg#{-J<`yTY8L2jYFgCPWYsLW_)yD%7EVQ;MLk?xjf`9ed6rv>PMO`bP0l+XkKd0|`D literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_7.png b/mods/farming/textures/farming_wheat_7.png new file mode 100644 index 0000000000000000000000000000000000000000..cc26ca96990f96f8fe71d5c3eed9d0eea3bb7c2e GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=42^r0?G1yl-9Ds>LRk zj^=EhYw_T6>gAKMhqp$qS!#Crc>12re#f@OT}v_e094Ib666=m;PC858j#cI>Eal| zaXqzTBQKMoi1Xix@0<#cx*IU@hS*8nQV|kjb-khBePQ`x+dQTzflFvXs>=mhV;2emCjG1i2d=>Yi4QG+X_?w&uF`J&|NjKx2-V2i> z8I~wss2>uhpfH0;Q;cQ6mTSUj*^G3scIec@IkN4fjwkQ5J3rKu+S3!)(;3JQS_PpA z-;0E(n_uCPBcg(a93^6ni1$PrHQeA-jcoLXQ_goZLEjMb50^^>=YLuCB>(^b07*qo IM6N<$f*<&P1^@s6 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..a9031fba979d5fd323ce9f5200f6ede53b2e733f GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ^~o&Uwme~4v(x#*or@>< z%7V@L&K@&PuV1Rg~;HfM?GGmNJaLK%Y3 kFmc!!9azVD)2D`kVexq;Szopr0Jyg)f&c&j literal 0 HcmV?d00001 diff --git a/mods/fire/README.txt b/mods/fire/README.txt new file mode 100644 index 0000000..25ba26e --- /dev/null +++ b/mods/fire/README.txt @@ -0,0 +1,35 @@ +Minetest Game mod: fire +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures and sounds) +-------------------------------------- +Everything not listed in here: +Copyright (C) 2012 Perttu Ahola (celeron55) (CC BY-SA 3.0) + +Muadtralk (CC BY-SA 3.0) + fire_basic_flame_animated.png + +Gambit (CC BY-SA 3.0) + fire_flint_steel.png + +dobroide (CC BY 3.0) +http://www.freesound.org/people/dobroide/sounds/4211/ + fire_small.ogg + +Dynamicell (CC BY 3.0) +http://www.freesound.org/people/Dynamicell/sounds/17548/ + fire_large.ogg + fire_fire.*.ogg + +fire_small.ogg and fire_large.ogg are unused but kept temporarily to not break +other mods that may use them. + +Benboncan (CC BY 3.0) +https://www.freesound.org/people/Benboncan/sounds/66457/ + fire_flint_and_steel.ogg diff --git a/mods/fire/depends.txt b/mods/fire/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/fire/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/fire/init.lua b/mods/fire/init.lua new file mode 100644 index 0000000..612e052 --- /dev/null +++ b/mods/fire/init.lua @@ -0,0 +1,355 @@ +-- Global namespace for functions + +fire = {} + +-- 'Enable fire' setting + +local fire_enabled = minetest.settings:get_bool("enable_fire") +if fire_enabled == nil then + -- enable_fire setting not specified, check for disable_fire + local fire_disabled = minetest.settings:get_bool("disable_fire") + if fire_disabled == nil then + -- Neither setting specified, check whether singleplayer + fire_enabled = minetest.is_singleplayer() + else + fire_enabled = not fire_disabled + end +end + +-- +-- Items +-- + +-- Flood flame function + +local function flood_flame(pos, oldnode, newnode) + -- Play flame extinguish sound if liquid is not an 'igniter' + local nodedef = minetest.registered_items[newnode.name] + if not (nodedef and nodedef.groups and + nodedef.groups.igniter and nodedef.groups.igniter > 0) then + minetest.sound_play("fire_extinguish_flame", + {pos = pos, max_hear_distance = 16, gain = 0.15}) + end + -- Remove the flame + return false +end + +-- Flame nodes + +minetest.register_node("fire:basic_flame", { + drawtype = "firelike", + tiles = { + { + name = "fire_basic_flame_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1 + }, + }, + }, + inventory_image = "fire_basic_flame.png", + paramtype = "light", + light_source = 13, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + floodable = true, + damage_per_second = 4, + groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, + drop = "", + + on_timer = function(pos) + local f = minetest.find_node_near(pos, 1, {"group:flammable"}) + if not fire_enabled or not f then + minetest.remove_node(pos) + return + end + -- Restart timer + return true + end, + + on_construct = function(pos) + if not fire_enabled then + minetest.remove_node(pos) + else + minetest.get_node_timer(pos):start(math.random(30, 60)) + end + end, + + on_flood = flood_flame, +}) + +minetest.register_node("fire:permanent_flame", { + description = "Permanent Flame", + drawtype = "firelike", + tiles = { + { + name = "fire_basic_flame_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1 + }, + }, + }, + inventory_image = "fire_basic_flame.png", + paramtype = "light", + light_source = 13, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + floodable = true, + damage_per_second = 4, + groups = {igniter = 2, dig_immediate = 3}, + drop = "", + + on_flood = flood_flame, +}) + + +-- Flint and steel + +minetest.register_tool("fire:flint_and_steel", { + description = "Flint and Steel", + inventory_image = "fire_flint_steel.png", + sound = {breaks = "default_tool_breaks"}, + + on_use = function(itemstack, user, pointed_thing) + local sound_pos = pointed_thing.above or user:get_pos() + minetest.sound_play( + "fire_flint_and_steel", + {pos = sound_pos, gain = 0.5, max_hear_distance = 8} + ) + local player_name = user:get_player_name() + if pointed_thing.type == "node" then + local node_under = minetest.get_node(pointed_thing.under).name + local nodedef = minetest.registered_nodes[node_under] + if not nodedef then + return + end + if minetest.is_protected(pointed_thing.under, player_name) then + minetest.chat_send_player(player_name, "This area is protected") + return + end + if nodedef.on_ignite then + nodedef.on_ignite(pointed_thing.under, user) + elseif minetest.get_item_group(node_under, "flammable") >= 1 + and minetest.get_node(pointed_thing.above).name == "air" then + minetest.set_node(pointed_thing.above, {name = "fire:basic_flame"}) + end + end + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) then + -- Wear tool + local wdef = itemstack:get_definition() + itemstack:add_wear(1000) + -- Tool break sound + if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then + minetest.sound_play(wdef.sound.breaks, {pos = sound_pos, gain = 0.5}) + end + return itemstack + end + end +}) + +minetest.register_craft({ + output = "fire:flint_and_steel", + recipe = { + {"default:flint", "default:steel_ingot"} + } +}) + + +-- Override coalblock to enable permanent flame above +-- Coalblock is non-flammable to avoid unwanted basic_flame nodes + +minetest.override_item("default:coalblock", { + after_destruct = function(pos, oldnode) + pos.y = pos.y + 1 + if minetest.get_node(pos).name == "fire:permanent_flame" then + minetest.remove_node(pos) + end + end, + on_ignite = function(pos, igniter) + local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z} + if minetest.get_node(flame_pos).name == "air" then + minetest.set_node(flame_pos, {name = "fire:permanent_flame"}) + end + end, +}) + + +-- +-- Sound +-- + +local flame_sound = minetest.settings:get_bool("flame_sound") +if flame_sound == nil then + -- Enable if no setting present + flame_sound = true +end + +if flame_sound then + + local handles = {} + local timer = 0 + + -- Parameters + + local radius = 8 -- Flame node search radius around player + local cycle = 3 -- Cycle time for sound updates + + -- Update sound for player + + function fire.update_player_sound(player) + local player_name = player:get_player_name() + -- Search for flame nodes in radius around player + local ppos = player:get_pos() + local areamin = vector.subtract(ppos, radius) + local areamax = vector.add(ppos, radius) + local fpos, num = minetest.find_nodes_in_area( + areamin, + areamax, + {"fire:basic_flame", "fire:permanent_flame"} + ) + -- Total number of flames in radius + local flames = (num["fire:basic_flame"] or 0) + + (num["fire:permanent_flame"] or 0) + -- Stop previous sound + if handles[player_name] then + minetest.sound_stop(handles[player_name]) + handles[player_name] = nil + end + -- If flames + if flames > 0 then + -- Find centre of flame positions + local fposmid = fpos[1] + -- If more than 1 flame + if #fpos > 1 then + local fposmin = areamax + local fposmax = areamin + for i = 1, #fpos do + local fposi = fpos[i] + if fposi.x > fposmax.x then + fposmax.x = fposi.x + end + if fposi.y > fposmax.y then + fposmax.y = fposi.y + end + if fposi.z > fposmax.z then + fposmax.z = fposi.z + end + if fposi.x < fposmin.x then + fposmin.x = fposi.x + end + if fposi.y < fposmin.y then + fposmin.y = fposi.y + end + if fposi.z < fposmin.z then + fposmin.z = fposi.z + end + end + fposmid = vector.divide(vector.add(fposmin, fposmax), 2) + end + -- Play sound + local handle = minetest.sound_play( + "fire_fire", + { + pos = fposmid, + to_player = player_name, + gain = math.min(0.06 * (1 + flames * 0.125), 0.18), + max_hear_distance = 32, + loop = true, -- In case of lag + } + ) + -- Store sound handle for this player + if handle then + handles[player_name] = handle + end + end + end + + -- Cycle for updating players sounds + + minetest.register_globalstep(function(dtime) + timer = timer + dtime + if timer < cycle then + return + end + + timer = 0 + local players = minetest.get_connected_players() + for n = 1, #players do + fire.update_player_sound(players[n]) + end + end) + + -- Stop sound and clear handle on player leave + + minetest.register_on_leaveplayer(function(player) + local player_name = player:get_player_name() + if handles[player_name] then + minetest.sound_stop(handles[player_name]) + handles[player_name] = nil + end + end) +end + + +-- Deprecated function kept temporarily to avoid crashes if mod fire nodes call it + +function fire.update_sounds_around(pos) +end + + +-- +-- ABMs +-- + +if fire_enabled then + + -- Ignite neighboring nodes, add basic flames + + minetest.register_abm({ + label = "Ignite flame", + nodenames = {"group:flammable"}, + neighbors = {"group:igniter"}, + interval = 7, + chance = 12, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + local p = minetest.find_node_near(pos, 1, {"air"}) + if p then + minetest.set_node(p, {name = "fire:basic_flame"}) + end + end, + }) + + -- Remove flammable nodes around basic flame + + minetest.register_abm({ + label = "Remove flammable nodes", + nodenames = {"fire:basic_flame"}, + neighbors = "group:flammable", + interval = 5, + chance = 18, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + local p = minetest.find_node_near(pos, 1, {"group:flammable"}) + if p then + local flammable_node = minetest.get_node(p) + local def = minetest.registered_nodes[flammable_node.name] + if def.on_burn then + def.on_burn(p) + else + minetest.remove_node(p) + minetest.check_for_falling(p) + end + end + end, + }) + +end diff --git a/mods/fire/license.txt b/mods/fire/license.txt new file mode 100644 index 0000000..43f9cd7 --- /dev/null +++ b/mods/fire/license.txt @@ -0,0 +1,84 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2012-2016 celeron55, Perttu Ahola +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures and sounds) +--------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Muadtralk +Copyright (C) 2013-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2005 dobroide +Copyright (C) 2006 Dynamicell +Copyright (C) 2009 Benboncan + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ diff --git a/mods/fire/sounds/fire_extinguish_flame.1.ogg b/mods/fire/sounds/fire_extinguish_flame.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..42506ddffa2cfa4d3177bf13ce1e49b6785ac4b8 GIT binary patch literal 9583 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

F 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 nW~$6=@x>`Ovb9>9M97n055 literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_fire.1.ogg b/mods/fire/sounds/fire_fire.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cbfee4c65f4739acc951e8f87f30d824f1ae21ea GIT binary patch literal 57957 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%0AypZXh?iy`+ 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 literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_fire.2.ogg b/mods/fire/sounds/fire_fire.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e8d0eb1356c3ef33949dae57847c88988a1c38a9 GIT binary patch literal 60497 zcmagG1y~%<(lUD6{KOrE_)lZ7grqhIK!Me8C{p$ZPR3~g01g0{ z(t@!PtmVLk&|Jp1DNxy`Qa^h{3N)gh#3Gtw;NKY~wWdtl$H8a8ed03F3EO=OwA1ipoSU)L&&Qd=uugEc{ZBf~QWaR5UF0h~R zuMG9?I4EI#kwAK8i6epX#6BEcl;Q?s_0O;Ks|7F51us9nlu(0aKfUHqgT+vzn@}^7uz#gnzm1!x^mpi#ARvcE zAZZ(%M@^cyC6EUn5>^feSU#zQ5;dM09G@>&WNlw*m)>amxzTB)mU*NWagg`Bl7EG1L!D*DjYr2_WWil&0j7#4jr^aFpuc#5 z4TLJwI>|l|g)7eNuUZ0OY)NuaBr*Px1iK(ScZV`P zCH=1j9mk(-!)ys2PVLW0olJ8dm%~Ua{HOF5FCDp}bQ)IoY(E2Q;F%fhI=ksKmn$FPBqWKTMf5D>EIAgq9U=!9NVmaNR1=R>v`em7MHir6C_rKvI z2D6*lBFRAJdrH4pBy$3)BC3Sv9v`t1ayW*-1J90_@2*LS_ z;(up?jwA*L48_bmFcil$>}9!E3dlMXHq7fY z6++eJ!G-^L6wIiUmT}@p&;B||Sc=;)xESUY|82PMv=g`#Q~#AFevqr-(ZSLbCyNG` zh?b_7j+c{Ovgb-usL`V5#)99*LW~J<*#8FB|9B1nbDEI9J_$9C<`~QfR+d2h$H4#g z99M$DPvl=e(JIu^Dorzw{p41;;GV*lR^wLEAT*jH^qe8G(%?0k;jx<0vYPXK9#r+=Gd6OmS$nsr#3 zhxWfb$2PJ!C9*g?az8wlF(Sz>BCV_?&vCf&xb^><{>O7(xzWNB%yXpOX#dM|x;V%s zVct~BtaS0u7)7RF3iXgC{%->SKvx`w!rysBO`T;KwPy3^z=% zi2(2n0BB%F4#A0Zi<58`(M93dqeaXWK+5eS2`R?m!Vtiu_J|W_5NVDV=*77Brp`zx zr5GGT#}`Y9*;8aFx66+LoAwX@H2?_Y7~<$7aT}NWnj&5@0Ayn3e;xB$04| z>5A|ywlngl<-Qg`NfaV83-Bx=DqxKOWY`BicQTF;Bt`%L<{0W|;83XgICw8keVAjH zTwPwEI74Gx0EHrCm;)&@7zbQPt}zZCBo7%C-^~b~6lVkg$}SM>Bf-dRDGlH-0N-BI zP9$(E5YQ>$OHUA3E#NCHByx{&^QdWRjo@p|X=<$yDQPv*Dd8(AU21CKOKTBo%_J#l zH8@RhTPHCn9@`RgQkZg45-!A|F4RL_MZKa+VUqm+NKQX=@vidSo)kw?u# zOHIp4Pg6_J%S!J?OK09s0Y=qOS|ZfaYSdb~a?(oj+w{;f(y>~)(b6OGH&_VWy!P89 zdE&e<=Lw^l&0Co@d2TS;rPd-mJiofeXevo zhEXd^%4(U*%9uabmfw{zA2*hiwN?z*R;O2fK5jfm?`1x2eO*>r`MLJwiP~CmJm7lV z%I;eP9x3{K)LPow>U`YlI@;(&o?mv<2^s0B9%hk0Wa6D= za1&bVB=n`?ZWzX3`c`1Vg}epUtj?JXRyT0L^wNw!w$LUG*3+_z^s>*#wa!ev<;N0g zT7E`}RvUaqdc@8fe6a=#F?nT2t&ovUm>`bT0T=Q%c5wgTPHV(12S!eM2= z^-gg6+B3fj19k8t3>%;)Y~T-zU6)qYL^mV|s^0fB-%i}olC$obRavZV!h8giu#Fjj>HL<;g8 zjRXeH9P{L`76o_)a^L|14JVd?G@1cQ7^|;O!vD(HO@YE#r3S~#%U2}EtB+*?hdL=Jk6RNK7$T6Rx?#Kh{6^vE9yd%qizJX$cCyqY)-(FQTXgkqLxjoCkym`fwa7ayJJWTlBvVODxblM!oDqcMr*22KCr6|cBMo3eSYS>$LcjURA z)h~aNp#Zx>xPNT9(uU1Cf$)G>AgWc)(-iXLw&LOH<8pR5ZleMaREbdmhEg|02{2e| zR2+q_VO#(V?w=Pxp(`X(fUxvyJAlEkQNTjRoWE|1q!iH)Lc`QU1*BkJJU|JXcaWYH zk_1nZ6cAY8P#2QG>{3Wz0n;ssJC+3GnZ>v`BRE7=9s&-M1>KDaODnjQu73g44u&(G! z(PsjH6Ih2%{>~$GKpZk4Mv@PcD`10TJ}PiP&JCLx$wROp0~x_s5-5bQZouwUqXMuD zM*>EG#e2EIu&fX|{X|fgKcs}!feSsJ2vBu20D!!PMMTwVmhSIA<-q1lINeqD!3s=|5ma-Ibk zh#U6O9OPjHhp`p_SVcqzs^Q6`c^ODhA>5XK2N6gKQ)4to7=d{t$9{$+3b;Q77UL9= zJcS;xo9t8k5e*~2P6uEFfqn9)EWqL{-5am|5P$?sDMH4zcWDW3mP);h)kyaiXTjh&iph+94uI%*P8JO09u3u(Pjy#UhtL%!Jxv|6`tmF=-pF)?^Xm36 zDS{}4^|Mc+7R6=3h4cDREHIaohn<>7^Mt9xF6m!1FXt$jR)_f~iA6cgf%F|YS*yDg1VlmZ+~q~1q-$%{%ZT_!9X2mi<~F4 zP)W(dQ1yfnst}kN{;3Oz`=2@-!To=r1q0OnKi5H3CH_JSB^Oo)rhtKr@o$L^Rzm$J zfcp!^5Ik5Y2ZeF|rw)n-lkqpagQ`Cv5~i9b!e6NVEum69sq62>RR6SniUna1g@2lb zX%1-fhp8R8H+$e!ZHMH6KnwtIU9>+2&ks@dXM`jvgv7bwn6u)lM+&^Ev66k(PcjGP zC?wEOcR0u}k5*I3w2nm{bpN9;J9Pq^`T z3HVSLd;#DaC=eS6q(ux554VoZ@7;!{m9h*e=-WY{`%8YxP*DDPR6+P#{?{Wi=fB9X zN8~3lH!3e%BsjUaczC&(z+f;F7uUrJ6NHb8i<_5=i=Ufkoq>;+o12l3hnG`u4J>+WAq# zyVA$QRa@)sHSW+jJhkVGPWBA2i|wB{?bc-w-OY!C_Ii@klwKFS7eqQCDi*@IP~bE%(#C$2vPsAteZwAC;H!9@z- zcU}^RP-_ky5I^mPC?!OIF36@xbGA$! zMfyyWUr#v*?NfNyf)Y_9q>?;FLJiqh9!$VEm-9wQOyHWsR24*gej?w{3_e=bz#Tun zUvtzHTI1gB#+Ue+uEU($hr`p&0<37H-A%}28R0`Fpk+yPO%r=CHFPLM)U!tPzb zyBUwp_N`YZHDmY({Q*oZ>*?!1h5e2<+t*6tAzN+zXkNk;IrO=u?P>WW!%5`AlTmHz z_c7|ZdHEh;p1#~ij6U+mipdXFF9ow`Qwzv!3XkCKRj-zRYSxyHBhV-|>HeV$=j3mT zqK|**f7a(hX5_n(b-4P0_s=lvhXuWxoYOR4{@~pr^vypf9;5-SesCQTrK0Z}e(3we z_|Vfz+-@Q*F%uWxY(@pidcPVP?;8GUv)%01_1LS_d)-5DrV3GduP;EEdMuHvSZnpD zzl@244OickM@Vq57;x!_x_|FTskR6m@yY$_%QG*s*)3v5L?nvIBUK(Rp#0>D_m~ zX7XiJ2ik?-?-lqlFx+R3!TPbHPh7M6_rtaPGl30)S|BwV^ds@6vH+z)n}`+j;BS zoVd1LlV!k2w2r~1wYnyzN~B;ve5QM@4^$h3fP*AoPZsE^jDT^-ZNv0I-R^Sr)o;J0 zo}a7%&79P+iRqm>Vnvwk>QpuC9s{h3F$l@AK^gy&cm^ye}llF{34W7dAq5U&S;XeBh8m=+hKQ@BAN1D+a zv05V^{)FLNFdQ@V4yMvc0KO84K!zMh?&nK4Kx@${*L*r{Ty4e8A$woLlVa^~V?gK+ zNQbG4BHf7Z>U!KG>9QV)oAZI1(RTc31=%!-rwzb6HWa;a9slt482VtJ$ayW`78x3| zjp3A1U^S=YY$GU%QnwvhVq$@+QuuJb@>S)HLr@ze)O;bQ%C4`%eBu*CBMQq z);}(H8s;tY;AHt<(WC3vmimf-C6Y9Ot~`7TcIx8n`jRDVB_#u^%H4Qi^YGGh?4_?v z+t>AHrzg0tz+-)0Z9YDCDE>tbKy4%s4g4EWj?ei^LJdLVs=7kd zgTg1yG(FZb`No`b1JuJ;i1lG7wIr#u*U?oC1da$7AHMWAvCcVLO*RvE zRthKDzT2w}3KYLLgM7=|m@`S;J=bT7&^Sc2QrMMo#9j`y#R{m>*!+E zOVN_n67mf+-)HT={2BC{53>^~P8p>3f>0;^>;`0~7=tkHP$8}7=EiZH?CGPi z>~SN;(m2zGw$7WV;Uuh~!Nq_2$@bBET#F43YHcUAhPK9xA|#erqVz5N$Spsw&|EV^ zVfn3VUIG)FyM{}S`wIV?2c#V-3ms!qmijnpe)tUY%#TZ1Aicl`RX8hY`UC}QrWNCC z)|Uk@i|Z3|9)8TxC4XzzzJW(PqVax z@%CPL`WZJ)gdZ2vK#+bqedeqZ`Du;chT>|iat05D@W3H#WA>#I#Nh?y$CP*DE>{;G zRMdYU{G^_<@#dR>kBrvxWG`y;^B}l^WnQxcqhh!~k^*|h(RFR!7fs99iBLM56pJmJ z1R1q*=XCRr@su-azpXbR6O17ca`l| zTh|VEXW2J)S;Xv!AJQ3kzoPclkn{?nSsaVo(;u}9?KvTzke<4fczGfVV@1wyznsJ| z!Hb(fDSZ?&C?_FidJ3)BogT7k5`6ll2X%0#LHf1a#d) z;!nWxa-tmEJuvwI3#ujbBTA>oZ3>@N2=9dxRu8TGk*OF>J&$@kN`M|d&>gROcRsV{ zOT1-SX}l7m=Q>yxI3@myj-&Q6e&ihImC z%ZsxV;h_os?_r;#I;*JV$rG21#w%|O;Q)_Tnd2%pTyO3X8GKH!p{qzuKUDfeqOw z>oFbc>!-WlZ_0S>=pP58{N7Ei@Ew9;XcTz=V;>84w}r4;IXq9CaQ%L&)a{&QX%^xQa$a7X6sVEX0Ge1IMbgF@fv zZkD$^obitw2O>&qM=R}J(}kvI%B$CNs-&+;mK&<#32w7FKH@h(J~p1YrM6s$%JAey zPJ;B9&XOi`Gh5{(-nUjtj3j3=Nh-Xtb1-E!lp}ur0gj^G9M|F#DlJ9J29oJ(_KYsJ z>?2nE8ud5h&Amzs+Y?@`m&w+UlK_`iC!k(FVjcUdXS}HXwpA{* z7u=-$tLgYt7Lg9*bJ($G8VLqnRqBf3f|!j129&cUYeWhz4&GlH1Vs**$@%!qoVoJx z@IhKr&Svp_;>O~9I(4l_hq|ZUpt;ELy$ME=Kq4hOg(HrDExHjdxKU{Jfcv~3z9t)(fvtndjUt@kk` ze@Kc`nP>R)YQ`jF&p4r^7hP*>kvm;DLmwAFQwqy*0-T$P@m1+O0YYh7FoT=nHG?TT=%fnAKMNvlJ+)&#a@ zR2L2lEl?n;R%WmXs#0a%Ug+yggT1DpYYgczXCms5)@H2WgZm$ zYi-4f?gDGe)eu$*qtj}o%EA2OMlbe_e6mNb@7*{>%)Wa!=z64+Wz@AkOIVi#R<&8+ zrvtlQPXwUlQ0Y2q?!5M!;?L~stTo|n$xBD_>r0kAAH+n5c)X|#Hx=+G5}^Z5{1e^e zZ8=98eqqIZT?1i!LGYY&oJdtA_Y_4=Z$A2Fsr!JTCT})H>h75>UrYynpalA??NBrD zbnhP#O3c$TA=gNqukOw@lxv2rO^99uMW0&8B!8X7Ut-05bxWPEkx(zg0UwBUZG$N$ znB<<9mugy-`aD)SWMy^pdM9U`v$uD-n1vPVl4Nk>mVYkNnIOX}0$!VS+}Is?2&Wid zb)HPGjQib{(MPN+ltw|spRCuxBF4Q<0m;2dBTZE|M1!Uj(efZP01?jx*|y7^4GycY zV%El6MYyg$LJu;h)lIO$V!S`RBC2o2d$zK9q~|E;J0@o=Oa|3Ph10}+pBrBfFD9VP z6}bBlzZTQdd;xi@E$jErL}sCX^ZGV-EaF#-y;Z)wl+mB<)?Fl^UY`&t5I9eOFWKs; zY7CNNNc2@&vv+4vwU^H7QDV%O6PqY3i+B(JLDSI3)b%rb1_YE`!IAzpTs$CMOyAM} zzE#KHMHEq{3gcsAzlV0Cp|Mc&n^V$h{dQrfX5A)F7vQTN1ZO1PvxtRLqMnU1^ihC3 z`NhST9mg8@vn(@zDSk(t%MTZC)6{FLP)MHgLhR2N^Wy2`Pdto>xo`?lpZ%SJEOh*43D zDGN#D0_z%h5PAEre4x~#mu58Nhn~bvW4+2Ecky)VS7HYG8ZfKsCry-!Zj zAFOX+d!W# zl!=9jiHVno6D-KP*KYqz$6F>q`zUA01vwCl&I|eVk3-6>f~JB3XR_aJNdY!4TKPH@ zj3@?D)rdsck(OA;b}Vrzl!8FHIVus@jC|h zKi+vsQ_0Up=xOgwLE}kSuPyTRL(Q;QqkAJ@_|tTFp1YLpA#xo1=p`e)!pe(1uL>f& zURDSwTAPPe$I1d4=7mm4{nk&c+|?b6bGoW6B*|UxCyGM10IN*VeHXN~0~_$=6(K?K zz5ubFxtVHcjN9%GAE5DcskFa&wr^_&WRMmjmA?GIygq|kG=N2%?m>u#g6KGtOGXye z$f~hbm|feNl@L7+KShpobE2qu)?=$`+ub(b3)SOh^;2zYg(_e5SC5`#w4*?Qn;IGl z4HA@sQUl5}`AFxdb{^f!nD-&gSMJmKuxO;}(Z+M(y56j`VAPnq)^mfKPl5;l>1Q4$ zu}?-4pjPkIi5K4WG(O5KQ7b4GRb}@-ne_8|mS=XnPrtJiH6H9etNF4yv4OsEZtVBK zw9=bCD(tBx(D3XtzQVk4a4v<2tb-~uH+1{??dUF2)5Ijr*((vb*T@p+P!*+>Fqt5= zb-xT2+Zs58gdIr=t8dXe#?FQFTs)|~M;(leZn7oF4EAB1C43G_&t+|h+9@FKiW1fv z+`8uZ_+xYKZ3rYHDm`+E$sI6xI&Z%DwNS21Ebbu|>V`6o5%0WvHW>;hd&vCOF|Tpo zW&)0c-K8+FXZiMYVm;N^^CZPhyPp4>hi6S+=-n2i#}GcLbuRS%MLs;@r9S}Ff;wuP zK4&ClHb(Q|s!hTRns(JY+->e!vbp5lbm68)#YBS$Ae#Oac8ea3CGareJNY` zorFSjANK~Keo=Gad8aO!B$RC+NxOoW}m%Y*X1By)Y-4{oR@ z7Mnn5ZQQ!-x6|VdIbZSX8r1^<=hO``m!4MRyV;>!uQGMSRdXsahchBmQGr0Wn5K?J zSF@TQ1p2fSS5p)TTU@G(?@QvY0|%56v-{2Y?t&sKiMT)o@`&R0wlXcZY{0aqNCU)$ zy8q8`K#lIF6}ncRrs>+&c#J=X@G||oQI5}DUHsV96v=>P{X)zfcue5W&9Chg_E~Xf z10V^o;Lk{-9ypL42|eSue_MB-eDt9-n=CCk;o)@iWNf}8Si!!CIC&hoHj!jb9f5rc zuM{WfOHmk>;kTUknzUM>&qf{MNADwr#~pjQ8ZA9DdpxZ4x$vbgEQsq}^QXv7;*l8( z_AY8!^fL6~`P`l>RqWBvi<_Ng(H9)fgg7~zFs@;qDx>^3EDT%8?3XN_m(XAO^%`Fq zZIEDOX&3E=nHkE#FDw;NoRrSgF3e+_S@%x(bY`B$|; zuatHbt(!r2)!&`|a#fZsBIEsp-$4F`6?{l<72^UQwfSnQd3ZtFi)14tPSNp_&2emg z_IJ3}6sf+6K96(vOk|?pyO%q4E(-RLTzCe5Zy=53{7_!p0S|MHw84joP1p)j9J8z> zsF_4eswxqk`5Vlkf5$9W<1Qq!Gk)+_(7l&zgjQPa=M@;<3pGP>WJHLol$R#94yo!* zou9J>m379v(+Qsr)6)4Q+*HJ5{hr#m71JQJS`RJ!V3fbw-=Fe`tVVsHR+D^g$p+u) z`wEs%R7I(vs7cD~^TCv@?@U%_vPT>v)YiS#tj8W62I@X(Ic&K@oPqNo(Tvk#gnLln z84-Ge!v^KREIHbsRvO(!psS8ee>A4k9h~9 zar#cXB8$kLRarp#3J(v3aQuoMB1KCMILDNZWi-J z=ab-1ugYyxYFPFB{-VVFy6$%Aj8S+ z#5^&fRY?F8NCZ7^7S|``k>^t5W`{iA&Em+D$J^``WeW()EB<&U_)=t^$!)xc8{1dg z4`5WSHUL;*@qj#snu}HLYU4-PC@1}!BCa67tC9RiCw8Q0&JMs*`8BTBXhu|K23if(f0&0J zg31NeD&gWx1F``R!M&+l4q+O;<3Cx<#ebUoFxq&obkup&NM7DaGJ`U-?O@wgBI@BS zN#1$EiOQ{4w2aPPnV@%jbzTPiF(}QBMbxKolKQb@bkWy)f^YdyndU%enc^HH!UAie9f}e+g2G{i zT>YjQDJS1YS*v}TSMQSIf`f~r)wG(lX;o4L`MzHT&ZB@+4UTp&a9*1SwD806N(v1O zhVMz;_{C6l#5UdW<6R>e?;h-}Fc+MZ3_5#>E!Hq^7yk!1nabBi=U7Si;PJhZUJ@g$ zVq+=;7TVR>J7pwyI4M$e0aXh49;}>RcU!=C&Z<-L_uMk6W!vw%Z&!2*E9ao5sJBWI zv4eQC$}FyQ$0zj(^`*wZ8*-QZ2D1!FjY{W?PVYu5m*K`TtY^8bnMQ9RK%ZL+2tb`d z`u3)oKG6GlYo>1po2`sz5^|!04C0Zg;s~ERvCVSMvv&0w5Bwds92sYSIrxFD>r!KG zp+a&JB8H^uvRR)gt5X9Bn<}>nq*XVI*ZE>*HD@9~iKXL5T`+#OWy0r8vQp|w4f9XM z^DkqhfBM%4cm3w^znpC=gD;Sw!lgTGo2UBa?*dN|6%qTm7tFiObzvp4V(_Ku*KGxp zwlu`dZhsyTX{{9b5RoD4fW?|G1;{W50fA`i&&B9@DY`g}#z#Z8ijqcXej{vme@4HV zuqpmsU-53ceh90hv)Cbe_=xHH`76+lF~=^plwye8BN(5_aDc;fLTeAy2ovpLXKTT-3NI7&0}S1B%nOFXiX3+ZY|K(sj( za_$vmSgQeE^Cvf;Q>Itu=8QG++ePoR#eNidqs2mL`sUSJ0P=Ovzan{f+&KC5}IsQC|;!hp+YHu)Cf?9F-Phi~}gdp8*~) z42iYo9<6|K)S)1WKTQN2HXh?n3PO9V(};}}(b2e)s%uN~Hd zP9sM0W9*GriM-3le5a5hOWcwYWa7U*k;#-V33J>yU7mQlWzW<{yuR&N?Xub=Qb`^a z{GuVtU{xBm!gfr#r&;-mhSsq8t?YCA?9`JOsv*v;Y?~=HCe{F+3_nQ+g5a+UC+5AA z3h@H9Xmc_GmwWc%c2^rsqB0nR6-j#MbSyS9b=WVzeC&&z{+#bfWyqaaC1#aijeBYB zYV;D7wr!QUIj%VJ#SR6Ly43U$Gtrxwgy?G2ZC$*2ee@Q|l4bbmu%C5^aq;I-C+*Z% z<>O;=sq#osHY10L`Y2hBbHjp4=oHbMBRR^isZa^x()lvGFt6{~CYL5ZArnDpH?YA$Zzpzj0IMrYzs$)KiAFAWPn___)p)jdmeGTCF{LLJ~ zG^tR_ytZ@d;YJ$9N1NL}J&pQjKbBuP)10-b_46O_^C^w$WXQTtYa0UPZXIZhv(yqw zB~_vT2P5-O?=fZRqfHeqPe0WHW1%|}mg_*74Vl-}XxYE}j!2p?(l%Le+uab;PT{Qw zaQ%sL)P2XS(|p^~mTv?YcRl)kP3est;`i8-6K*PwCX(e zmQY)F*O9p$GOu$NS;Ut2?Ht~?7}YQ7~)OrsY8?FOjJ)}nV7uZVy&H-hq%)7y{e(AZW)VRM@s>!g1n-k zvPCW$@cRI;B60;|Oxn-;EUxPdRH7fKM=2qqvjxXs(^GU!4R~h>Tn+y0Y=>X|Sa389 z2FGWm51t^9JN&=4OXU4$?c!-01uJ?tH{a6k_wRcUZf<@)7J4pj0d8&uOvXX5Qn&Qq~&zDzL0@xOUu(1aE$hECFoG+g{O6|}z^loZac{CSJdC%8!CY;f1vYvoi`_vbFX;rjPu2h!bO z>~$wM!YpHS6Z~cU-3Hm7jGLYUZ|&K6l|$QI`q}HpZxw*&*2YVBc*s?xad94Xx~#D(R=?*BM$yeOHR zyGYNk^_n)s`(=wVI?!zBVaBiDAqt^SDGCIt2B9+%S&}r$9lhVPKnPPW^pySBQg7La zs#rANl5L_og>R>@@;0j$UVXtIh@i?MCI2{Rvg5GHVfSWjUX>|FE|;C78b7RvM1$_G zGiIedh5N?sg^g9WSVbNGZL%~@pkirphE{#0JPkHOuTomsGD^ey_uHC!G-AZk^iZR( z_+<-wSk`dsZKpyZeVBk>=S4C6fk-^EVv)r{l)jHKH9^|lwL_y`hA6@KIws2ER|l8R zc1vE)j+=4@U$;5cmxL~Lhbwb~A`CJ!X5n2D#A~|v${Hz7m&V+k1zt6d6^mH;klz~i zQw^6}=c35sze)02+6~1k7wkNj%roLOoMw^HjxzB^ou{6K^B*GnFv{%Z=7Y%Po@ir@^*(esRBgg%F6j2{tx@3OC1gSd?Q@9#y%SeT>Qqp=O02gz^!Uq^as z7uG8a<=gXTv6OL^cy`LXg zWU3BaGryZ%I(pDr@4iromQ9Hv?T-VeMd4)4DHBl$SF_50*zA8k6;qz}wf?n5P|kUX zXVJHITNxZWm2*)7(ad9uj#|@@iid7a>rd&JI7sL&;Do*NSnek(Ny}jjI zlBCvmHlYFwO$7nJ_4F8KNETeFZ0=UrJPxK^&xM(V5316zPu2R?xsVJZ7;mStWIuMw zv_rlN;HLby}$v7>>dX?;3iU(qWL?6rJD|7IPpFjTYt9Oikvq_r4 zUejB#szKcERj*Hiu%@(2P0m(<)UyAZiUcytH-SRDfNJd%^r6qr z0xM%+Y=~q`%}LRgR>4=Li8Xr9RqhGrvOG+&g8qb8Io7kA)o}H!b}_H*u#&{!0#pFI ztB25*y%1i_AQ40HheAS)6>$j)d55$aLrfN&8+4-miqAG4NVX-YZ&w>#%Y7HpA zco(=POhyc)S@Fsk{ot!B>Rx8bKAvaFcr3uVHx*1t0EFM}?M8Q_1l{}2Am|+V z_Gz!CD6_3b)W&mr_yiJ+KtYl*C+*fmEBGX z@oFOZTsnvQ(XZ_jw@O&{Sb-2xyP|}`M#+%(r9xuT)oUPH@N`9aRz=zGKRX z=ec!LAN>Rx1}Z3GP$Q+Q0zT`gun_~ktkR^q^Y|tYQlP$^Ssk)v8f(Y3?EupG+|2AL z0y~H0%cZnvn@GEU@YEI;&E`Bm8*8$!OfG;%fj4#r3ve7w0?Xa*OVr5qT1YwfXgdwl z*r*jXbk2ESlJVRGYn{B1v2y>R5Dh5OKXA*^3mKjO&o+fXKK+L!^G!c{f4pb$oZWTV z+y-{wWr7$YE2I^W+6e%tvKrQV21y>WK!vm9K-fZ2FIy#a9g`qyDr=d^!b$rehAzz4 zzI_m}-5fr@H1P8ECPS*2p6EgkHrb2a10Q47Q?r#9H>l6I4uWdELYNBozr6nAJmZxj z1;94OfHc2S(K+1#C9~HmUHl{H^Q2WOYL_MQiDmrhyt|MY4PF{S7h)cqvXy~l$5$EZ zZ+-eN(EzCP6%GPU+@UC?h8ohOlkVg+gDO!~wj|ruH|O-{{a4^KhLja@iKZZ7wVn@sWodk7NBhe)hcbcRZXaLvpq`bn#aQL=n7%A+ z%pItIjfsL8A^|4Vr4(NTrAcAb&%kkN*X_KIZV`F=s&<&X^`u4%Q;*!pg~5ufn3Q$r zO)Pt=)8q|#9X>4?Q2vf^k7VH1YRw$GOJ6z@@R~?I);zIm5SXfa-_C+<=cf5_O(Y-X z?f8cio#(IT7suc1EKtLzttfeiecb{DUjKS47$dOP^4v|QBc8AtuD~hLUG2JF+assR z)U7qo0o^8ofAHMI_h&%b??)TzDRYy4N8#-D{*)mscbWL`I%j+RKCvyaA+^OwR~y{p zv3LzO(iRml8fYo`x`}{5gUv>9Xh5AQPiC=!!je+WM%P@myVk>fQL?3Vv%reDSzfkU zD`^~ORl+{0xUgB6HwnUNYuV9q1vi7HT*A8{jv=Jdi2N@xiaB)j>UJ!#tBdBxH0s{% zv7WF_zP?-hpqrjK_9~&!w7uB5NS&~|%gcZiWTCfMHnfD9m0hElf&%b<_7p3lNf_Bwyegisd|jm z?cs@7U+Nw)@cUgBV%y{wevm4Lv>sOev)PWqGyaIUvHECj;@?d)X1}=hei@9_7|wZ~ zh43@Fl1$ZJb7FV(++89}2qD(b3MnhI)KxETlMT^a~vDD!-p==uCou>S;*F}DJ( zLR+(V)fn~r{K@nt<-Ive5JUd3PPYKvbZeulGrBNcr`7Rcvl33C zAyB{)1nu}I{3t4y-B>cbFiE0p&8Z$y^N|`Y^E6XcQJS^iV2HYAzCK*CwK3Q33LtHy zI|wJtI7J66^*sf*tz&?m$7ia~Wxp@uTMz%9OH;8}*gU?Qx(sha`@AHul&GXGsLg|$qu$3u?xF_#|W-mJ?nOG z|3zf+_6IpB_oBf{0MDSX4yX@8IeKjU(rFQ!Ni*7p#hzqXbG192M$*F{@aM7-&$}6a z`$e%+tFnpSKGRzh7n{K>r6YT+gx)&5^lzSq9DU;6Da^S^=dLmD8b2(yBd`6!{$qV* zQNzyjY1j4b>hK1-bjk8?pWG_O%qNJAO+l1`hrr5lLMO#bmPa@8hU}&(H@d+dHjFrj zNneg%Kk+A+qmBrQu9x+0at&isz4_>l4ps9UQ`17|S}kkcTvQks+A`ny4*CorW9sCD zwV(OCtd7M+x$=(jOkkUxr}~kdxK{g18=K{e@tYsV{nEU7(Nq`HdWgPwo={OuC6*3< z|0GIk@UIO047E$PQ05k_1bK@KZ&yW`S=&1!yh~01D%xVo8)%b~bAOU3hA=VQ$J2>d zUH+S0M^SbElNNot2(P`o)^B1gv16dX`k7i(LD5TIZ)A2ndiZvQ81&9})%@l}C(E|< zUlM+`+FTkKBYfnR0r`p|VwF*%rZeXK!3H9>#XB2&f9H)9QEU8E;w3G3qrv#*6;Q_- z7srS?Yadj{PHwsiir!HTtn)mnTvr|6*~KC7iIMrURMiKcFY+Q4D{Y(n-izfUFBP_0 zZrBAndh?F5cz(2lW=q?v^DiEBNnkA`TCv|VZN`D32*9X3ow-@4r2NnXZQR$Hke72G zWY5}hbYjvk)>P}yuL|&*0)+D6t7s}Ct7bguVv-S{`nlM&l-;nm){2D@sG~_I?vITo z<8udBeAsdHDSyUV=JC(HIxS7jLg!~r0tY8->B&G-K(q{)A})jw$LkAUkfT`p>~?C% zW$|)cq0`+A%bmIZku+NreCsfF!rb^)j3;+62Y&HjKvZY`T;pk<7rCHoGMezV6rqPaY-1Qkfvgaq-^!cWRo$;d z+_Q3&M`xp18_CqUzFif&+jo?B)9i0E`o*SHq~V)rS{_~`7E~0B5(f!aYTrl~LymgR z!tF~JvHPQ&+31B!@-b)m6akAtN!RB?nE&Q zZ>rf(QXirF!7WJ%XYj)I7RDps<~iK})M;_Z1`RSee}q0N1j-!qOt-zLpmnfj)y2|J zJP-^6pxPpEfu4wF=#;J*Sl>dGx3?U>PzMOJmRe88Umu9Q^inmH9XJ1lvjp_nXQKRI zuh@2nEhmCTYJpk})EbqmbcUFlw&&5k+Rf@y^zZgpm%I@>-Z@0O&5i3h47Yp#YnueH z`k$o+*pK~zqSF>xR*r+8jLa;|Ow8>3+|1lu*T+A=U`8%sZhnE?ol8a*CT1oc*a8DD zm%!O3m`7;Ujm5hO2yB9f?ydv&QO$dbUUj8ac|V>b*G-Hn{K8#)hzH#QpS?9zkE^z* zXQxmF(_^?0-T*m1O*W)60(;>p+hRq%x>|I}%9aY2^;jFyW0xHtwo|)5&jqQCFzv$| zWY_o}EU-Bpbg-0G@b4}NB??d)o`Bpxzql`nfQ-nsnv@@my2)T1NT z6yHlC&JkbZSL4@*qMLipr5YyO4INJklXpqv&z z@5wu@KF&A(Y>xcuW=G3jVQW6gI61#(Vwb2$3N)4xQUq?oehNPJ680w!CEs%tGuO@QTa27O?#!goX3r=jA2;V8b#{@@;wI)< zR1stR;lvKk>X`Tx#di`nY0XLU0iv8be~IMwrYmZn5urZ_vx+v{WyklSjF$%8p_@gS zFJG;gNxBSM*jp||lkd(?s>xkS(TCKC~vrX&W{9hi1t`gHP8{tKR&l)8I>dty?w= z77}$~aG8xNZFf!(0F^+@qtQhFaDAslsYNa^)f_FEKf~=^Fni#LS+dA`w{jWR{p*+$ zPKp;SlEsV@!P(~*sGtnoy9+&U{VdhYh+Uh!T4&F9MI0f8rOh?)vv=Je$dG7ZoR%rh zQ5AjA!|n2PbmAFP=c=do+Ek4wQvqzMb8h4`>LkcRWePh;5FBBiW2kM7@(G8J-kz!&J_n#W8dl+UzoAa>DVuB5#o(I?cV zK4nPwvLK4I_5&>j!&<4iPhMIFyFi(vCQwmbpXLj^)N5h>u3TRJ8S@jji$+(rsZ7(# z+QN%SV$Z4Kz5D1kvcU(WsuA$ePSzNU+=m6)%WPy8qEk6N4T53=0WXI=9>wTb7=Q(5AViH?hS9e!^Adw3SNFC^iRvTe{wzz zJ=rGckUE`i@PIBL|FeP9mw(B8or@Sgc1x=hcMQA6*>5~{X$0b^kLeAhUl23A?@4z< zWjjB)343{7Tb>*be|0i8$0S9`B5UvsKs)VbIQ4l8b>F_^tHJ@Xg#F6e-sq9lQS*8o zm(Kr=W(d2Ue(GS7I8)Tz3_+^QSAO4lPA6;BQvFF2CEj!+k8?@lmaV94TWEB6p>@qK$KlNNV2CTh%&3*<2)xEJs-bRL=_EzkI(z8+-&?-7!*V? zIp0=C``3Kn9u}K?cHB7D#j(#z{PXR4osT2FXWpBmNj(%|gyfm~1^A-SN=oMzPHEu4B_T|g=~QzO!U=9&HO-x*@tFkn(10cQZ@0>J zT=*>!(I;Kev=k9H?_B5W(<0#GIHai<=PrQ86?6(>Ko7T6YcbFe(}q5HbB!8|4jK7; z%pMNTFYb?-v6C6E^P06Rac^GGT&UE+4=E3PeK~IhUqD+kFi59H(E5J=rudlC$7&oz z>7Pb5K&=ePH&u~y)86j8SowU?p3NS(*R3f1**$kyvHFXDS={j9*(T4$6zU55xzxpJ z{mzUkdDzXJ0ReNW-`^aE*3mr;CWHedry5bV}fc;3Ff=fcO+7E9I#U0v<7#Oa2Kkx#qP^^Sgk_ zNpvH?7)f7p{5drO`@{47;Iz25iWllTTsh$u*eN7x7I~VhJSVt1q$>qGL`X^4_X96S zA(Fw%7l~m~rkGBQF6>j5Tcv?wUoJoK)5~#`ca#_keiiZbp^#6VvKRA7h&Wp@jBk!cd}Biii9A{!5`c(*b9Ge7RB{Der+ zI&m~)P6H;RCS%7{TI@p*(@w?jw_0Z6$5DJo3pn3g=2+k$m0PdL6+fGC#hxAgo7Z1TkDv-P9WJf`Xp&xY`s z`_!+E)f7Sn6(0s`bHMLk5W{h(u)5{II=(BE8H+IuQr;?il5X0h^Egz)&h5~T`_$!U+giNHsp>~mp zJ)BI__M_ZTpR{nY30CrNYavjQZuq6Taj>g@?(9O}8i2EI4iDJ|D&0IWUdE9&zWq)j zQDfF<8y`1tt)h>UKH>@}BR{>T|9YE;ZwQ~6q1P0jGgxh?XbealyP#~5GXF`2gRNkN zQnRHMdLB#awvTHgtVpG=tDEjyhsz#L&z!AJN=f+I&XDGG`Wr4$vQDGE;b}L|pEeC8 z(#_^n>oL?yrdGE$?Wb-vy6K($E9ATic26t+9^kzgCgPrzf}3&X>NZ&7y*7$_L_X*kyPm6VMtB^4*i+;vA+Uv%JRxO zU(GU8aLI7F9Gu9f9^*H#5^T^lQ!A&=uX)-GROb~j)+0By*wXPrD-@{0kboi{#t6AS zel{H~>Z^5H_^`N3r+Sl5lOQ!oxl8yiX*wZoPP*51KoX?}wkZfbIVSQsACJk^;K`|* zc3_#OSUHi1UJceQl2b9hVTUNufSmwbVURrG5@n&!DHB&**yp+sVLwZ=>)pZflIs#f zlzh>TbQeCB{B_=M8?ROGA;fl(AOv{SF^7k$0OUV)1$4!xFB44QKq)-Pmtq{GdyH$} zPw~yf7(8YDi(r0i}y3uUf@G7i-bjXzt^913%ckMcr@}mrM;ms}~{k``w zNuXG~qm?XPNf>B%1Z%!6+yvI<4bIGJLLA>WunLU?bl z@WF(PaYkZ4Q9#st#8Ow$-_H>y`9!Jx(et+K?pZ5ddo4c|%3mr}68xCWON$)3D`jL@ z{~kJ#D-QrNprN#`<|W{oyc`2bMdXUOWwEiQ@~>sl*fQJ z(pyL<>>Kc9+O!1@%7oO zzG};%gxlj>$P(>biJG3E$zTdD3_z8RvJnn!lk^_azpzg52siIJ8EOnvftZfKm!uBS z`U8J~mw{KIBPU86kU%3&a%7a1U@Y>b2u8!qo@-3qYMMMDj{6IRV=;}u^b@;#ox}?9 z)pdG7=kn_a<*mCX1-8p3R*HENCB7Sl&12>-w4vgo;`xd>~ilPi+HBU{(4*^b?vk(VWtHCmTWWnHd& zOHukavB<|;u5_|)6JjcRSj|4bj?6`T03N`~pLc8>6oG6MIA((>otNgOoG5M*IkY8z zwf|9vCvdijQ|<0MzC_vEBhb}rY$4}7?-ia1jaOtjbV9j#5fgKnkz5=r`+mfu1Jygv z{dU#Gx@?uJMn0OXlVFcDX}8X1tQh^oU)L-4kBqDhFVkS?jAZRsX{i$JD3W4Y(9;*q zBK$4(->F(1x4`%gUo&YjhS5?)DQ+pm>GWB+TTK#iUNNT^*uK|H9ubu4ILm)$vgH_q z9oqPsyF!kbBUZ?J&HH!4CVkXq&P2shFn#4T+Ek~%@k?`t5oEtaJDp*3#0+0n`~jFg zvG7n@fWPk!cgv=nsyxL5w`~T0DK%3VE|L>etj>FCIWa9H+GEYPM()|)c1AX$^Ipe3 z7w3Z?oljCNKn_>ye9xB1(#YMS!G;5YSn2&!&R>oo;dbl4d@LkMjpxqrIk|DxP`oL9 zqhNnDG`lB}zt96#pGxyXg745Uz0xE#_vL;L@+a$LRUvLeb8vUcT6ZwGZ30=u|4lFiBKAl&$Bou$KAOEIG;e|-6#ouq<0fEmpTivA=n+9Qqtx>&6Lkri8` zC^>B<1y28n$YLdKU-}gABWA~oS{!$|C-T$b)fn-SBX$N6S)&V433JOHG zZQ2=2;iD`M9c0`j1^R1TQe&buB9P(aKwpz?AXX;+J0g(@7h)SmsRmxM$cblr*{-tb z-R`M;V^czGclg>EWC+iP9Bwuz0X1ibjB)y#iI+kjT|%489xAN^H3X;m|KmM$f|$VxO|lL0>(7JT^q2QR3i?WQpMOtoBU)(v-vm!+;d zY&n(s^|WAVJ0+JmcYvyI$i-+jFaeG2%g|kBOhx9PCcyo(iNuM1);z~%dvg}?2Jd5Q z$kyA3#pk@*x$>*0)+GtmPP(X7;=muUAn-6a3uq2wDP;-lD|m5AU35DhT4AO2e-z}# zc;}Jp7$@zj@NBOK#_))XkvNT0k7XzZMu_G8{#;kH^5G1V!C*m$=DGhHaF!y`F|ln3 zJwpVN5BRBMAio5LL$vrqu|w54Z-H2DeB#3{o# z06y%>L$7JTO^m+vAul&wg647CBd}mOm+8TIiJJHJ&kjxYkm+Xk$RbL`A;r)00*{9y z4dCH=dS*#R+fzRhrW+_L8(`YJRPqN6>}Ughg+W0-YTXCiFI9sWx#T&a&Z4AwT@3vs z@mm$Y6=5djQZnAY^2<-rQ_qqzj6nfYOmz2>c9)~Bn!3bu)7`QQ{duOpX`NV5fwki5 zD303mwP@7p8(jTQ6->yVxSSMP_arKQgIji`8k;&sHuZ|kSOhxS%~=7#(1Uz4520(x zToT5|jFi{!g~{#a7SNA2i=@E6LeNcDQ(1fLPse)e!5ib{Iw0pU$pDS^H7;3np?H`Z z((Dh8e3smVsLSNp(=Ur@g8S`(FFEt=+FJj0au;6wH2*gj%`0;&qo3mKIS&#pf~bWE zqty4-P6M^^WmN=}ja;reQ!ytfsHd%z0Fp-iU#Y+i=Nkz7pPms*N^5Gw+>R31jX4fP zne!IALTAky5(Nr6PaD<+6WD%Z;iI_D{~*;Pc~2ix$6O#K>^FD4Zn}zbu2@d&e)>`0 z!^pX_EGI{o*`>TODvpHiP_1K$&$pCJ!hO%m7ZGfmIwn=iOic#wriT~Bu<>L^| z)gFS;CYJf=lgI#6NdV0qrop|&nzuQBQW0QoXk=JOIm^CpjVH`bcV%s!OqxzXkEuc8 zBm#?QuxY;MqftV9Mgu%-3cuSpCA?D3j^RY#%+5CMc4Wq!7eJ66Co9N+_!!KP$*Vp{PywD@u>0eT=URZPf;Ak-!D7S}TKIv(^w2t) zO<}DTk^{Z6ki^$`OpvB#R+&Sm-MCBhErf?!?O!4cOe5$5K737UlY6K|tG;wkTiRSp z*&aIzzB|TmLaz%6@Wq4#Ab7x{X6u4U+>(zjql;2C-;%=K7j~aw<$*WS*lbT5wFpoF zWTac|ZQxsg zAqJ==972wxpGZpOT=;*OrYJTqanMIh+pPn92yCnBvLC#|S;Q@;#Y=oY9pVh}&(HuY z(Xr6ro&f9)&JQR5O*4Ckm7YIBh^Ff6JPKyj?0ddCcj!R!J zjJ_|ae%_gG|C*x451uc`bc?8PODH5Vq&t^hewt*a1X{gmpfxOR!42PZt(LGlhr=KY zzA1twB-WKt&r2E9Ha$ta=jz(G2^;M>8QjJ!+6mN{JvN-BRb*zYj5({%9fsT_$%kRY z>d~28x@!av+;Be^%Vn;t>|XVR^$E&M#@cD*b`3!tt0S;t>6sSP7Zo48)P|e+R$~gK z3D(Pgv{$J)ps%IL15a+7i8Jv%$A%B+-EaVEXx9AP7KqW67l4CPAAosnrwrYC$wXUt%-mGPIr1JQzEq0Dvz6Dp0B)Ui-NyCtsy7oI>8ZYYVkc z1fzvA`hB&P&ij2W^oCz6Ctb9)W&_DT2jZfy?+nb00#X=ENywWW5`|eyu_bdJzd;69 zT)p@}dX;%LH2TcX}!eVvarcuiu&z_+8Z22{!PDSuLcn;Cm})YnGNEYzr+^Dg|t?R+nM z(RzqC;+p;Iu&K|tUF>Q>EezBH>sAW1fvVwK{05U$cKA76Qa~b^=6-A@9e~q8VuQ=` zd-XL-fAv~!F$FA!2GxWlKN9Vt!T=%=sfNuyB6V1LIQF|gZ^u{MRV<&=x-`U%fqq+? zUu6&DW}ZS{V>dM*#=v@#dIM~B9h}NC2M|ZSV7NM*p#Pdb!Ov$m+iYM!bU$8_cN2AE ztXFZvGw`cmi5-AeNlyyC4?p_X=OFEUAz4%cg@QQG+hLJ7ST4rdDX+{eV*TP)J2)Xhc&-z6GUc zeZ}|uxYg1kL(wJKFAn+~SP$amn#|NK)4i0?+GcjqMDjyZd0#@3Z;dV(OEnhmtDV=_ zU8K6rg^isw(cfm#jWcFp#-Za2TR!1-Mod;BrHHBE1Z%l99L+FCAWNpJA{VK+$BW70 zfE{O~`}f9bRjl#f-@g-7oQY2IDy+HkZLVbKa;E>B_|uXD801N*ABBoRkiIJi=sCB= zJA>)IE{sb?%2rTxO_bDq`uS}a>^QDL+&jlcv2}(U7-xD|{K5aR-W)@r@Q65;ei_+5 z$c+N;YJK&)Zb5xWEQaSN71Y4wIJLAu_0NWtv9~cPOPerwd>18te);z<*kg!+aPF>yyR8B<Qr0QJJZ9TJc)`Q+LE+qorn1DL)55&G5k5DJotvxNDVQ>@PIBFS`McJP&I1%%2Of zR#Oyn~FP9v%v<hP4%m zd3NRG7yOTby_lVNSQ>59&<~e|f(Aj^?Ka9B(ZcLkw&%%X#AFp>j@bNA69v?DQ1Kc7 z+f{j>$L^oOG-q~c#tn^FAGd{HUrqC^=Jy|XK#`8}u2vNZ*CdkBH6O-b?X0{D%Tf^^ ziW};oj5{PsF=_9Yf_9j0BxvL&1@P)jpwhr4KphV*{qN9iLx$qZ_Vv@xA*`xnWZ$Rg zOp2^kHl2v}lFk!{dN%}JSP(9$IzIt{KT=7~9y*Zb0;A4jLp65F9*rJLJ4!J1Pc(be1(EO!wiZX-j3C*_@KWCEXC z(t4jWSRV?X9TQ2pd45`U020(q$2RAn1Z*G@kt;%4DXwge@57WQ$7RiBM;S?IN7Tf9 zORUqg*WE<~K`6wAj$uac4QT+To({-1ZYM!2C%9GYiwz93U;OkzOqc;LZ}kbFBTU>f z7D)!iy~h{e@T??hkWDHsFmlEJPigc3oHeK|CX$rU>=O^)jKz)W_>V}#IpE|JTFS^! zI4vy4kkJE?km4k{BTKZ!OC{m$@LIJowUSSB8n4o!* z>bjLO(knH+WDCBp90nFDYW-~$H&n5d<9RSXLP=gmbEQC)ON|R(mFs_n4$QB5jpc}u zIX$SS4o)4vgr#?6!8*40S=m{3y6(_R-rAvP7<99R1On_hqEYG)W>2L5A}Kl0z-G%d zG*q2dEmM`MKxILXU^vlmdTH9v#_ON-fm%UhsyW{7zo#1eK?E*YW~JX1cFp*I^m&EA zpgW~3Lo>^lR^{DPh6&ENKNUTYIxSO*5j-p2XMRy~;G%y=>%{@s8Nj0wN%4rUL7UN# z8}X-go!)$?Z0^nAIAYYyoaIyZ>&d*~BC>W@vAk!gFEqG7`yysbPy?zWft@`7CAE6I z$wb83$gG#D_l@WBMiuyI6@4@5ID5x z4DrKAd??-FmgEeg1B{pE_irE;ERu3d@#V+EWKSUbPg>2d-0HYv`;2WHo@E?lk56oU4&e z55QFb^49{w1lR{9nUV(8W=jQZmNwN|Q{LIpDW;lj3ze?j5y3zC#Ote?>1kKzrzHk* zfGdGG9G0JunrXu}xD`=zv)B9yHY=%s#dDuP(Les>kE@`@El)m>Lv2|9P2B0#ek&Ka<;I=}(#ZTKHYAf3@f^wQXOECAfY&_BH0n zwSK}*3wYVQ_E`T_I9tP_SY`1r@xkJ$D2r#4*$(HYYf{iQW~%fZ3VE!g8bdw#J%n+P z6>ku^=V}tkq;QrMx5Ei#kNLeMqB;Cs!NuY4OZ0_#Quh^m?dlD_m-rBQg#!i4pl$Qv zcLia6)oahxDmeZT&u@Nz^xh>?lN|9JGj%7`GtivL9F`lE=Qj@LOzM-v>J8%`i0E}a z^V*UPk7Mi7na%uwzYByUf?P!#mN#aEO1s?Rp zY;-K0SM-nqaUm!8GM8+Qo;<*L=4$YCkUuQ;~L9k;ihbwU#jq z$!1sZUt#nW%PS7YO5#QS;N7tsZP2Ew_XbZfF!)fbPSF4<#YVb+4Q0)GKeqU&r|B`Z zZT_&?ZO52Z(EwK25JRQHQ91Ae+T!M6T^9@TAN3=)xXft|qOC5rxJc=`A~$u7xF6YZ z09_{3)<_sFC~LuA6M%!v*lX5In@j^YCi!K%pPqTLc)m|}kZyL-HfP!57JT8fg8M!4 zHjsc234RcvwhmlvR1Pr7)1uuhvxvI%M7z~&dW~rt6{jwL4N9p=?kdu#TaFXdYvFBu zm`POR9llkI|Hqp_2KW(t%u=VpnO=2-3>cz;z<%1}TVRrw^9 zZ`b^OBu)(PtF~C_vKWIl_taL_?jJl3&6w|sr;%RYsgiUitamSuf)l#dd(C<;VO*;X zprzwy(t~IH!vh&*))1nKBa`n%Rfg%|y%MA^kd4RmIQ>r2C=_~7E!gOSs#<90(UA76 zzcdut6_DmN(RRk8@)c8DmpMa~jMKc$)vqy-DTa!nivP+(x^gK0tb{R=9mVztbXCRt z6D;-SuVdMDd-f^BSTgimP)qMY-NT>Xv-Y38KNgZ`xnLXjra_+pCQ#4cFS!X9Jq6__ zetwmTHW;kH_x9EC^WA>}1oGEsxF6;qwk&e})!2A`3HFSk*<^P@bHEzC2f+IjA{K%P zaNVugT1pqkA9fiB4rxWHo02~TR4&Xd6li{>@B#>`s%gUp zO+>>kC5ApC6Ttd09102Nh_$UlZz>DDhPmGDKTfv^zn*WVJdO^{ee>wT8P9KXyLekS zT7=7m&K-@~h4%R4IPlkSnM0GJzG6IQF0*Cw)GY~g%A{m(#b;7B(v!O$6oH zp^fb0Dyh~YXVP0Wx|~kn@}i5=g}ipmq#uhb13tX|(Y(R!q_dgB!(d0y6Jaiuvp5VU zO6>>z=!n=2{Tdd39FKTr4n4#wWCJeo6n_Kv4MJ#QEYZ#VQAC=>&o+!RLNQz`pz#e0oE< zNTdb#*VM;cR;^#S5E{2kyDhC3W+jkM#6v__z8{-G)thx`V;!zYLkhPY2*jhyPvqfy zCx%{z%yM5G;B2EYh!iwT>=7`c-_f~tIAV%G&FMW3$Tq^m*YQwnNs**-6CJYKW1M?S z+sQhJs5)=m{74YyX$VLaej}LS7cGq}n5~Po+pd z#Va?iv@IU?GQU_3`j3GMB4q~2Agv-P)s(@eTj-=jrX-gCHcuXyCz06LUCK+Ltw%tb zq8#GStyNdX19VwX+ajim2W+vOPA z2}imS0qH1Ym6 zkW%qn5O?0VfwNkaKb^c5n#>S-f>?KtsVHa#ZY^|lU7vH;(px|xJ~Nn}4A^;ZzA)wL zMTTFYlO-{zu%0F*T2DWA`|yp{wTq#r9?6%)8qfg*H-0n(aOFP7-Pw@E;i3<7JJAhb zb9=iaL)KElJ0fad0ewZ7qe^fvP#vL^0-=T<2F zk+#Fk)|SpXlMWle&1B%2n809HF99uL_6Va?MDrABNsiDFuyB=0Lf7pth+vdRxVGBG7Bfeal-`Qg zPM$sPj;bi8MC;11#tCUnVEF~m_v7i z4{_`;O2FQA{%EOM0J1f>i%rt&P(DEcUs^5>NTz^3%95{iwl9u#sl$%QmKYj4w~yC< z>n%=FdFF@8?x`lv`|4OlL8PRy`y8cWKfOs#t_1P`X}l>74U44$t}Xn|_#LF`T1`KZ>C z4gHuG)@iR>rEhCD7=<8Mn2H+}00zYapnEzHc(BaRLq9`kzED_oGJldMLH&VvPqdEw3L&+}XH z(zpe(W-e=Ib`-_X9N1){{2N>f)EY?MfY;g$($-Mlhn~o5%SnsX_d+Ui4yHLVd>E_G zbk_h&<`72}k`W!d?!pI{9rbBC>JJPX?-|}WCi%~)3Wl#rsP@U~NJocK;VwvEpOOi& zN%i6iwS}CK3F4s^2eHLv9>z#(8e&RztN%6V_M55#8`L0nCxrkj@~Q>I#EJ4P3T2zn zUU;32wS&x4r0dj{pYL&}rLKsFP*no3L)IcT3B??2g5WXxhdw+%&33`Bi|&@I+H9{S1C@1em)`G=@5L9&?>liwpXbza)SBG%~n%mEOCzwR<*> z{*7m6O_1o~?XT`M6*#WK0y^2M_R=z?iD=W9qV0%vB z=ehl?)!9SWSSmd3M6P^hG43~fJz8Tt%HmZ|OMffhOy5lXHoW^}QeCE8Rnj4sG!9(O zTF!YMLvi5*3I+r4&`ureL)y9-TC0wn_*>G&0C#%W@AtKO))^3zd_=jQ3MQ8HG+1&z zTHUSxWLsz>RF^%*U!{s2>88wiI|e6-`)$T-oESVBdGgQ8Z)3`M$vzP~5>(o3YhEWA z)Qlp8M?3S`mHSQF6qWmiPO_`43_YqDPfO-Jqt`#@xU%1msMNhicklrOa`f;3*%7$w zJhb|OVd#>SFkNj}!@4S_x95`D-fZ47Lf>chv#<8Pw?>av0pn#~8}IGc^ri)LhcNcr z$;6@>8+qU+``{pkYT{mP_7hUGV!uob?~Y1;*!%r2g(5ZhnC}Gai6z^snaKtpsS-U* zc@9oae{pYATrtNBQC?fm4eS!#;WJqINt|PF+MoNONRj1X?&yShM0qos4<*NXuyyLUK8jQ4eLIV6hakEo6Jwo3M=68>- z+I#&E8^Rgd^cV6N(>(wB@14N!lC@^zY&G9wR$8iy6>bMIG`nmbwk0Nh@{bQ|UpGd~ zT?xzg|@^{cVQ<;_daimiAMfO5M^C@iF+Z!8Q1Geu;}X3WhzR;GWTtbBP+BW8ssnF z%y8xqCFFMH+D0aS2)F}clDMQWGr{OqDUokdo;w2k?Q&YMBEVTdr(5H7$+Zz=nNzYU z+JvS*%y$D^SKG7nrIpX?9t*Q7|00L`HQ)8buIs(~LIDf64p3JNQ#EX?Srb{=HDv4M z=M^Lk%5G^pR-Mi%ki5zGOl;)1%T_Z!Vk(p>u;tk^!`0aR>jZLrrxvRUGJ zuv$!6*fac1R_8#3EUlR{h+f~(r7dj|$r@Z6rL=J=Y?fMe-{GbIG=2IvHh-ZmTz@b( zHWKlxHzWVEGTe2H)&Ju$1O6+P{AaJD=wbJf^XU8%B!tk@u<^1nv$3!--yBg<(=xHL z(o)e;Q8RHeaj`N|Q-dBcv$L^qu!15PtXr(?Hzx!L)w*DR!NIP#>G3+Akz%ZinNN?c ztLYsM1A2HK1U+i_Dwnqjh)BIGAHSB<%9DEq!=3ztD)=a`#qrzmD z<*mk&dOBrhb431Beb)G=l+z$PG5W(fp9Mb;88{-2H{!42emyvo6kO(zhkH}nITD`# zb0rd!5bTJda_mX!|LK=d0MV;^(J`uU21c!}NtLrlIQg2@MnAOW<$+=xFJ~iHZfmDA zbh0V=R?ft;^*KpfA4h=2DO)ZQxn~FLbo&9fdy|C#vm{pR-EZh4%Vf@qs0d5B6lGW~ z1Q3|KfQKBA4~F|n(&J9B;u6v?Y>Vq>T|F2sh>na6Qm{YLJU;h@4|6Fdsv{RE z9z-UlS&$5g>b%qy1WG@YCv&cKX5Rjk-OLeC45_w}j@5R{24ow>*baXjKo)u?o*r7D zqIp?bPt3O@9z<%4e^=QF9!V{+_-EbTWKShDBa{2qOz8`)#nz{neGn=4UHDLktIV@( zZr;`2l_zjHnmRUj|B$UD72T90ZJLcyp9wp~ip-R93D!P@ECf~C<0o!iC-bvGks<#B z7#lh}p|vt8y@mK1^Y50}z~}%tpS9#J6k;#gRvNiv-wW;gszXfocL85_bNZ-CGe53_GW@5?~7GAB4{uX z1$XS2Y5V znh?CF;INA$;!nY$`%mXeCzcLpYuO zX@`=%p)P@f%uwv8==?Y+{sxdgBKZ+|(sBCHdeuDRewD0m{Gik!$VK*Ht#p`Or8d!1 z;YSf-hPinHN)#eq`?rz66*r05#V#>MKTH%Kp9M@vh^b+#+dMu3s#J)-!>r{DOs4^= zLY&k&0oJw0g$Hj%5&ft?_$981mIzQ%;|6t=>p1~2!*zc8%>bJz80@_sP$G_IOZMW=o?Mg2jc4#E<50~4ouH3#j909I7Teg;1FFBy-S$S zp}dU(eirf1!*00BXhufgc=kxo=iJFPElBX(vq;Bv+zJ^X>Dr zQDEec=??4@@VK&V{NR%&1;W7-bei3YT!C~|Ug6tG#BPrjhkU(+Sq-s?iK&EL&aTpf zlD+If@`S#uL7=g=^9&vxa02J zs-zEAD(9)(ua{ad&~*%;v_p1qMK6r`s7^mhkXTW<h81KRT=OAA~Cz<1jyM8_6O?#F~DwsuLGUSy!C9~Q3NZ}1i z21X0cmqgO+3qrHBTMq_+Qqf$AbD*_^ZMgS*5zj$PnLP7(i@%>`1in;}LMrixIbOVo zeHDZ{fe*K-TvPfjOIyI?*$g$TXLWr!2mUf3yS~01{zN}x{<-RttL~C!bzRx2&vUpc zi_}i5)aH9%4b5?qINCm@N3P^(Avhh+L9R|azVCGJA3YqTA}#@-F;QO5@ z_w6B-Wh$E>KVsWrh#p;v4)wB7pcH0g;FnxdyCYwdDk7s!{A%zQ^~SB`)`}$hn_F)zkbDV$;JXSud__#^M435cq`n8azN6uFgw0F_=0o0Tl$Zq)W5G^s6^2jC3`C7 zEOLaIn7sa_TQg3(9-YM|hb{rUCxF1**DNbZxDWz2FhcTH60O>IIk2VBlZvwxZQb%? zx|({%G;qBuA<_-a-_H0gA~KDTr{CO9t&c1bTrDDnVnWSKxE}?Gq7Pu%)=tG$+hruh z>^Zw{8}#d`eH|{32fog7Spt0ml|&0#fBy09vJiI&Vz1m--3HvFg?&qJ^i=4E(@w2? z!7UrPI6ke(qWj=K5!b)t5eW$4co3^zq6;-S(g0)Np6)D(QB>!uy#`m;!+S~)F6av6 zSH6Yt=7)4usE4WI(V+X;i5wxL0DPYdSme-mM3?J39>VGzcKC4+p;td&rvHVCX${aL zVK1ZXlUyg7Dh23WH%-LSlqd+yW&RG}Ygv8A%auT8;MA;-hJn+Q;D?Yyj2znpV@gZ` z2sqh}q^NjHUtesZ`e=Ty?jrc{h16GK?%Ivkq=F3r1l&o3oR}zb@RNlQiw^gIH#(@s zaK<9FMaUxe_6fou^mO#RuRGRJ*bxyx;{97NL z4!V1Ht*RESZc#T|auVN;{a)$Tp{*3{?GTz2V#A~P?E`P6!Kp_2T`MHz22bty%m#jO zyffFogZRQf>PNznnZB5eOI*~8GJsVA%EQXmB}S1@F;$$f`EKZy3R}mV58QsL#PtRx z+t0>N^3z(!?>kZ0j|$}toDV}y*tG?e~>%uGq)nN<8b8Myn3;y_UWX6=KJH4(#1{jZ1;(y1 z&rA(Gx>vAUBIlAT5{|Ums(WBVSg1j>mv*4M0Y7Q}NAEv+-k7H)(v%x|NvI-X!A`^e z!S+dK30ifKokTAlg+F9BGx-5VlGsJ+FL&Ix7Vj!6bVe}3u)6GYJ9yUM!wYl+_{!8v zg`-l{Y=U3!vI%94=u&7D<8`h)H@=t<-}HU4QeI3dI=LV;!M$EBcti_jO?Ns01|{%A z`DB_=OTR#SZdbirXJ!(%sO^iiQg7u?-iHTIc)Ux`b_BG5fQz@=kB;P3V737)+&{qg z3jn?fGxJZbzlo}Tcb_MuH2VDAHsui-Sx+9r(md3jX$;-p7LE)=bKXM}!IF6jpm0ER zQ}}$D4+RT^x5aS=lGnZ8GaFAG$cvlg<2|@q#?@7k1;?^H-Psw~Cz!4R)IY76wCBVd z!P(-qrT}8K4_M1d3jB>D5zGyeV!C3++XKA?hm=E#a|Z@pi^UE6l10E68}d+N(gdzO z0wJ9$w7}LRZgul*LhSHQ>YGE)j#HnNUJdwRK5uH<4VGqkMwOqZNu+=-gKi`k;eU6Z z3IOx^*Kc1!bcMl6JGwujL(iU%1?>d}lQ3NyDBUMB3_7ul$u79^0cJ=Obkk-7qu;FM zV+%y%9Z-D#uRsT}KRgT6LQAPu@OD28G(MwvAZQyzU7FdkH!<<|gMr6w8 z73a@}wISWF(FIJ#GH>^hn=qvc1JHb14`f}{n1AY{6oa+V<*Iu;8N;sO!6HJiQT ze2xpCxjg{suGTukCsGS?H`X1S&Nc!$zLK%JuOmeiN%@$+0bZ+(eH&^NqmLimGlGfq+|SiW*9vycJaiQN|x3 zLSgYPe~dprVeFTCkGHVOy(q0wcLE1L-)5lw2~)dBT(&2+525vue>@JCKJ3vN*#%=_ z*tZ?7TfNF){9%MqU6L3y83{eAVp`knG;iPqQ}Z4reztuXt%o#yemf23FKToZPF;w& z1?UMpkXX?Xkz9h$l_>)ExwK6wXeEc7{6f}(rh>bmUWGS)#JRJ6GZM8itW4&<%PyD& z{)ZgXmW)Onl_v&vBBRZF7T%F)?U%RiV((j`?y#{v{GgWxhx8G>e;6*g-h%CIVX%1( zz{yI{2grd3J}&N!6`W~TnOS)m;hCzBy+p}1X+1KG1z3EZB^1W_M03{~hH?w0!k-+4 zLw{sQ>nr*gZeVqUrtAKV_dEmSMs~Mv-^EV;lNXh3uIevX-<~?0_MpW4;%Tci3!TJ5+G;w)?YPyV> z_)>sUWBnR(smOkrTTY5uPdPSXO*6)7XX4b9djdQfl}1D4@PEx6$s_5DFN&l~YvqJG z4tkKyTIy+QZmdqu#yHF+?nS*?lHYFZ%c;St?4+uc1!8tSR6^ZDLLPU2N*W5tvbs@K zWB<`wOufp&LS)^Y&$G?$pw}gxz{Mps zl*K|tj&XBW9_kI)ocw0?(AoE{{AQ6VsDJOw;C@H@^%m2b-Xr5ZqOqW5TWcY1Q8227 zriS7$L?SA&PnQI8&^<%7eO@?7>UM8YR|qTzR5i){HOu%5(@JyixQ3c&N2QZIZ>?Y> zwG_;H{bR1BxhoLS^yoh>IY;R=M0Z%m%5=Yb%L<1X!eo4;zyw$2?3SP=H{T3R&RXlx zy8Bh^i$eb&-?Ht$;sa0lqVQ1$8t$?zz(Xex~ zb6!%gbFeV7v(eHrP|?t_b8|j}zRpoZ!wi-PNA%7Qiv=4bQ9sJ_eFd0h3dyog8EpH4 zd-KfT+f;bL186e9K$$`jWwXK!3^y_Xi+<~AOe}?o^0;`zOuNXsJXTHzfk5E$6~-As z{R!?Crc)v=Yh0m0?(9IPO8UdUvbH7Lsqhig<^1I@*yc6zsJ{Du=p&%AdAK0~Xvq&} z05n9cQ04#`WLd_#N{fr6hE^8Mij`aGfrU%i}|GxtUuy^NK=}xflLC%((dZ(EiQ!2nrNo0+ir`?SsZH z&Y}1;w|HvFve0N+#a+HYf$H0yrS(aHq?c{g?BUj!i-nd<>2(S$@(>bKbTjk3kd&xV zL$tC5h8N_-+QqOm{UK3@9n@xnOKdT1O!v+g$8oHMIP{dl+2eXqoikuI4fX=+0t}J( zvky3pxIvHh0D)WAqZk5rR#)Lo?;pY0DG;oc_?Hj~E0Ucno zbDq(0=^L(O5kjEB_nL(Jac&J_gwkbh%9bJ78y&|H$M$UxuP(n-!-4s7-AJsr?{Q%V zItN1aZL9h!8k8nzRt*-!`{eM^b`DK3+~9Kw3*a93T72fbijQoW(j=>?m_WfAD}(MQ zBdy%yi@bgc-5~p(J@C}YIE~t0S~D(8a1!VkJ}dgH`&=GM71q6QyT-~x#0!@5^_s}g zC;ij?={`ohcV5@$U~>luV2=Zv|HUj_;KOJej#a{Zy1|3lPSMa30u+qMdK0t5{N zcbCE~1a~L6ySqEVA;I0<-QC^Y-GaNrt#j{t?d+fW-aot68gtCvLm9l%d9f^lKV4 z%h9o>oyNOv!lq;_=!wx1EnANmxqj3dPV&3fpVZAJiy2Z&f-aWf_}tADX9cVNl)AuQ zE^6ynr20POuN$JZ9CM!4*!}{KCbrPOua7ILPFrMGB+D(etujDBdT;`?{&shvH^2xo z91s3(>l@eks&|3t^vD#LIXdW&Zz@C}#@K=AV;YTHlNwba90e%1F^8x%fl#!99qyHd zofes|vd9*y@@40G33Tz1OuKjqyYu81IT@HPp5x*ln$J=solQe&7eb?eG>_7XQ5d!tO$GJU0OlBs~err|enU#jTLxXc6FTZ{=HxPjT;?}P%D zog(PCss+;GYgfNCq7$fcPLu_<_U|3^n>;E+6^7_7t2#ZO_eXAaBi`vpz|@@#P5H#K7HjTd=D%FYOFF(1Z)_aVi1cBupG5wMPWBS2$9P$T5#~$O;w=^Qk#p!J<>w^a zKSsO)v`RW8Zbq<8t-6GeYyW|U;1BmaCkKCW@LYyx|47nr<@opF(OOH-E($b1UQlZ$ zukh?=LU$z{PsMFL+yU ziHnjFQZpyOhXYH_`0u=o8ygDlCuC-OMib5z!QY&=T;UslVZmIuPJEQfZ?-A|!nY@e zuFsXNv^QR%XfWOC>i+4ROow7-C+f2&tqa-Yabw`8HmuS0nVA1@x@aUC*M4ad zqi<13l7uEz<)SVB8_i)|IMa52=uMH~dJ3v5AXeLjVoMV0eX>C6Y3HRz!~CgJij?yV zry+26{9B+VbLnnAzm0%}xW~FN`rF1lI-pl6lz$OySPfQ97jZ`zf^{cPOb^t zvn0&utwOk(1>nIajAO=g1k8ji5c48lf_s&aMGAlO-)l50oD~g1mR`nY$5nsQi05janN5S$ zZ#}E5!@WUNB9lw%AhltqU~aY(evU+qHXaiz+}DKi5g5MbtpjZk;U7g}CQVjOl?S|e30s~>{@4{bMVYBE zyqwXFu4)Y)z6?6e(3Z&jFlLB++WPr3r+!R}NJ4( zqVMfn%(%&cM1(E7+Dg`Waf8YM1>b(J=kw`gd0k~MPhvc$Do~gLT4n{r&i8}p9KfFN z0LytlpH5KlZR~Pj^>^k?cI7z?7ar>6CB48L8$W6!Z(rcS{9pGeOh7yfHGy9v^78vV zAh*PI2^rXQ`r<0U(l}GcyY`R?$8=eR*kOg-Uj=%TFH`dFa$K}R%OD4&bDP5jRP+4( zU=)PKZpdlKW?S}3JC@M=RA0-y3EWJZyKKH}p59_^g3?_p@iKl8Y^DW_Ti`+<&Hr6T z&emE(rm`+sk)kQ|Jd&fy*&U6Pm1?JpbSxHu#82?4`7Ma>bYPGR;x zC!o~vR;cCQJ#6heBDA}xI-Qr#mKx zU|sx#qm6*3EcVE{F)MH_+-6KcbJVmrts3YX`QMgU%v{aUPn2mQ5b9GbwCrNtw^ zuFQX9nO=0I^5ahTgl4S~K~d|a)Y>=ocTI;th^=h)6)sUZ(QJ(uyE$rgdA%1H(QhVL zMUP^+D2AaN%QYQa#$LBcxR#K$>CO0^o`I+Nq z#?SrL)3DZX7&tcX!HKsmu=++O8@OaE#u7)XIJ-Aao&KKo)Tre9{pi6MRqb%1%HGK; z@L2z6lh6u#V|EWDBlR!lqCN+cQsi`c3+a#?f)Ob)eA$d@+6~8K_e1* zcw;^y{PN+7NJPp<2aLd(uMz%I)Wgv7uzmLnw|U0a7a$I8A;E_8eW%G+)P(Y!-htZ% z`H^Xc0H=**$2Kn11U(fCbG0r7K))<=3=pc>@d1itc$%g42Lr@&oxUhnf#U6j#ssqu zraD1hMi>}HOH1=5JiSgnFpJY)HYxl=+;`oSjcY~gnA;4)$6Lv-$@@Ylx#{gp z8B72HjiG?|4iYFNMYZ96P`)={REES)O=kUD4(B zSi~rI03ys!vr^yk2!`x-0wWH`OjMFk8kHYeSX7-m;#rPcdDB*otBk%_Y{_)}BDH3| zXb?bF<_4iP)))ZXA?<_}Ag?Y7_8!9YXnj?`!gy#8g}T#_=Q@5X3U3USCk4=ah%O%kt~XPt9g+=*L?Hh$||_hU2Y6usbtL0rjd1{n{)9Xm2D1NwW|i z{usJ%UOL6&+AxeoOILh)#`X}A=zJc3!@iIWtpf(L2RnSJ^>IC3#>M}s*-JcYMMnIb zNWuSd6IlM3g6u@0K=7p-!UdofRtvCsw?<9hMDsf85%5|I2z*e06ItBMbnX|9ZunOq zjGRxwCG&{$we;x-fKWvsfu~!-JTP_YG&2--?$O2Yynp`a714AcmNwP3J*b)#O_hID zSpy6b>fkmP@BWT{eKeCj*L-s2JNA>s0PBN*P@11Z`?}#}iLdi!@eQbcm1abuf^diA z+?Qe?m5mLI*U*RG@55)CT?gNxc(l6{D!*ZrR+G11WY$eS|D>b-;N6mwBNSlwogL3L z7MPCoa<)03vOrWsfR2JSf&^l0d3M$EXKri^lXAemUoXPe@7Srd6gQ~eu|35ZyqF2p zM}~Qhz7D6`1Tu7)uF-gQtpXzoHk#RQcX0?v#VZ2{OmePAo$|EXyOI-s3?Io?5M$Yn z65fw~fT>@^SJ{rxj;n(s@p_1;f85uIje~lpc5?&E(d*4`r6$V{#ziJ5R1FppnS|zl z6|_O`%tRw4vN5J6=hbzejqrrVuSfsz4ybxwcC4f~QV!~nh1>aeJDQ7xF9a`^|%S-20}D9%WDZu73NRgp7}&)m47(1IOEN`po@77$6}i~|+nANh6! zMKg2I?N{ig@rO}Zu;{ZBU%fZeTLp4-E{%T7iCFGZjsv@-*5UgJMm)DSO!E&RvcfII zP=8AwL(RukowWP)qvf=c}<@e^whLetRN10N){FtN?Iyf zDn>T$f7Got{7!Td@YrY^W8iaP>6khg~2y7`5DZE`Z6kG*F_I3JQ zKxsJieZ z?K~F=*J)|yM0rOt<`fC+k}|%4FlsDz_r%^1Emjke>>A#WgpF1HoJazV!k6(d$wJ?ddFE!~n1$ zxdKkpk>nY0)J9cR2%6&C+g-;`eXB0Gz|qoUUd^2{FBL%YTX_CAb#Io|{7gB304wpyHrpR)C}7 z@4)j+#)|~QdCaZ0F;(Ufe#vjdHj|9;hiWw-=Czp)y@o={dx<{a%_t}i@a9MI^A;5# zI72{#ET>3mnfF^U)RY!R6%KOZGf)@w@%>YF^@B~3@qwwc0@Uhm6Ps}T&GApWV1vec zwT48KJ5>+nXk`mtV3}&q&@bK6zrE{gdApXuk}M(isa00*#%Fs);`@H}UruqNxEtYD zk}I$9SJ=C-FtI&5;DzG3?PlZA`^qNux@#kDyhwL)8omxipJJEa_9qismqfAl8+?VO zI6iF{5d5|_e|Q8fl`v&>J=I!gu!ghQG>4eTk4#e^XdgSwj;)sz!KAXFQb&8%5~$Po z*9yCU>DT&-B`HNw2gxg|aDEPW%0hm|K1M z2(iAy9^Bm&Ler2PiIKdV{DY)tR}WpoFj2sMz6>IurEa3I|E_?4?~mwa2p)%VUkxV89L}auW_>Sg^sN}DH9H+1M5ZMuM!x@g(+AsM*x-hHd9Z= z2hR9-Wqb8?)sFCo;Wu*mB7C~^rWWn8Kns0%jxV#%=z_byIJ8yhNJj)8G`L8Ab&wkC zEv4EOA=SMsc{iW|%2}vKfq%Ov+W;9m$F74zuRm5`vKlAjH8Z5(2|0FTDNhlCRBBBsh{4PHH$x3 z(Ik>yh!xW5x;XWutV4`KFTnpRY*0pp8Xs-ai*h zg+QzC&@t;kI>Elk|!6w10S-f!Y6hoD(4xhGzho zZ$b`{??6ol-scO)fT&Jz%!>^)YFc&wN?f_}bp0A(M4;XY7|;A>wjT0&IDfvoYX zQve={o$iZOVPgQ-%tj{7v&?k}ypk>>)D3H4{iLcHz>D7;fN-8jW&;R2Isv$hMO)@o zpCPG^J9q6hac};pci~gkVb7AM^Va~D%PK(B2K8Sb`cQnCdD@uGK*%?HMh&e!3^y6~ z-(QY{UOhX}RmA~6Zo*- z)0-zU82)wQzygdIoFU|y$%(UCt<@YuC!9AzHj;(Pk0J zv9f-s?<63dpZJgkQaylO0Emvd0*(T?d&d=iF(=hQd1r?<@37q+>WkM6aR=ckKmIkyd{yP8;t?ivkacB;`yVnuQ*F! z=I!OL6>@#)#D#CWcd@e-vV+U7ZT#|lN4}5=W>z0 zIr8ORi$%UkB;trb0h7iy(%av_b3n*TnoV`*bC6?RhZzAOhP=6o0<52L;N9_uZaJWK#gsWkgnFR14KzSIs=x}mm>TX z>g0OFK@K?yOAe2BTYoE04~u?Bw6+SWLzjj{;|uULe2<<=WUiA_OUDpSKF_Z2LRp6I zw!t|H$aXnvKlv$J%sWdsuO3mJ7@2JsCqRUhMaW{Bg>rr`r;Ov`+#oWy0NNMk#l;ME z?q@%8bH=v&nROf*S@!2t4P#z!WWaPobOqMUDC`-| z*xrU+ah-z`Pyo)FpjXK(RjAF`Y{~3GJ`;=G{)%g#PnU$~+Khoz$SJDx`!Mgt`qezs zDZGC*q?E4)GCcy;^;G5(xn}6ylL=YtbTr2l_}v-x__wUTX>LS22?8P+?okA-coKV0 z7F_}I1A19sqq$0bEWYubO7P4f${^ImX-xT}2>R(rFAW$#S@;Kom9F1Kx{RRp}8%E2RF4%xQ|-veRrM4>C=4?>SCf&6UC|?T)~HXdB`A!oMIaQ{N7ZmKT2iL zMNs)G2M?*-zr}Tmp7X76>@JUF5-65`7jk*zzUObNsYAgi@v^{0pkN9+Ky6UMFVOup zqMk$;@ea$w0%yk~$%fFyVine%*(tUVGT(t&H5hF_9@!UmxZeWCPDJY-!dS^QK}VV6 zd-44*ay<*({k65II1iNtSf`OM(G)WUaI~gb#1eFB0#Oy?oxy5~GJ{ zMGRj|qhBfA8W2_#5kSR9KW;^xIT$Z96P=+xz=V9LC=W%9x4l*P53 zWA7SL(dUY6==*E$yO(eX@a0%z9A6&P) z!ONTN>htw3BX@U8XzsfqO9M6XM%;!D@kl8PXC+H@2(LeGXifIfTF-wi$=GI}6uzK10r1eP?rhrmtV%t#~+C|xk>P4NJ8%?s4I}EAu3wH?}w7L!{gehRNyTJbw?DfY!v$+;kmbqu? z0H5{@IrwA5;_0?531`nQ@+#(_{Km}LpuM?-6Veb)Zi=|i^ewOZj3m!Y69>HX%?}jh zvFYKD_DZ!Zb6$)C@9n+azds!S67aPMlA*?U$6-O=DHuZEVK=xh5)lJmT^uB_--uG| zM-AD<^oNoA_G2?-*J*KIHMA!+H*0@>l_s>wjY`uvo>(00>!g>AVd-FfYnV-Ac$nrX zM1Hj^;z?o|^_x@6>i_gsEKaKKy`VD3R9hQA+|}Y47d&Sm#O=t$`5O^jd)GR#KDmac zmxDB{Xz(RqJ0MmCqf;u1b-*AM=<#G*Afxf9Nrf{9M)L@-!0qY#(liv=dfK>Nzim8E zRV3*?Hm&Jyw$z>UPL1DA2HcVV-Zc*@rjTLQwB64gEepP9h3DB{d<|ozN@`n9a);>PH^)##~>Q+ZtAu;P_Z?l*Dqh~7f zN&M}-1BeWyGNUl%LX+8ix!vIFg(TA((Z4cKA2>`dRq{zq)jASj!_Uxt7xXBf*QK0L`f?ViKQBq3a_7Ph~Z6BWw9GW*w+zUFgsdSJPd{ zzH#Tt@OiD?oajl>E(rX8B@H47a9RR>zz9!7@DIz-A0pA?8*oknhIZ01v9h!Af>@cr zX$d_o4F@}ji;aqgo)+u|VPyx=gE)BTIXRhW|CjIyVrP4J28Sz@G<1xtY|JdI>^fG~ zApoa<++JUfU=IYn*+OeP+I>n5T6~R;)_03c=2Ka-q(iH>qzMz5J_A0_f`>osgs9Os zL--5{vE1x|4-g%8~*!=;0Q$opTESReBGFFXT!f&;-Qw7Glr`Y<8+)4U5!mQYk{Uyi|4+qJ@?-_ps zOd1oG&46o+9_x8zVU0_;K;n0OT?~cq&hN;h1?NHAo$GWAFCK29Zdd}~Co)L)|2vvh3 z0_RJ}kMV=aR2nJY%LDNe_~JA(s-kiHct=RYe&PO_7qn5K3zrJ5JGHr5q-uiI(&VaM zOm3>J2K2hc&60Sk3Vm-r3h9C+=*KSvMG5GE=_JL8SwvKq& z(#U{%S={Zy;?QXIG+mhHa9r#9>){BN@C{G!!1=LX^OfBuu{`ts{kxe9px&e=CZ<-o zxQ9yre{1Fe?CqdKlpIEM|ahVsz<*J&c;;LZ#7F!0Wa^B$l3mEqxb&V2fAl{~RfCcxF zrS%>J|NPiG#i*3%lGdxNV;Pd&bIh}Dp$if1g-W+cfX-I^1zt>kBGHo%Q5IR)SKWOY zF({A3%iEj1#IGGmoR6b;+m^Ck@qa~A2IlKP!y*Ct39{+f$^ClbJPa|sc}_=M%_Cgp zx_Iic?|ymtLaArE884G^zxkUX9d|TJ|3^O}YRuf&H8e8a1qdc%LZC*Ab69B2$fVS^~X&(a*VVbTBFk*I;`1bc< z-z)D_*InNJu^aC@9l~0LXITI}J{p5Z1xrh8j8_}Zb)X|n(BOiC`fGRu)vr&0h-wqdy-GQUU4u0! zmgP_~-_u;?-OJtwYWUBb4y;`{99VCnVdE9e^@#P5zma(YJp32oyHB*cvhDJNrX)@K z8%Qf&A{DiHodv{p4s(MV6anQfz@{&<_SA73K(N*Z$h(YhnL`t+5d$~h?-ISs{q%Dp zK%QFu_NP4sv=f-W280G+#Upo~T?s+1%~mf6v$$);Z5cX8PJi@;F!aGpIgF5wVN8DnCY?>O z8kj$J186Mf3eG;;vJA|-VC5bPyAN(My!NDR^lMFhcUnkYuVoWe}dV2w{Em9PE* z>)Kj^EYDk@Iu#3hl<)T!axJfw99MEMX^b!Q8@05MpfEdtl#4)6{WP>rNia#LqDfniL|=<8{JI`uFGL--wf$8@dwcP}va8FO=m{rPNB9e4;=Hp+ zZu5Q;IMR}uHb`NobU^c^w(B2VS=`)d>DM~{<5h{+o5^l)UOv&v^=P4y$@y}IQsj3@$#YfZHw9W1~-jldiSin~bM3GnRW%pb0 zO-QOG3m`m2vyBp3OO1jdF7?W;DNQGhNdt=g9DQMBcY)=m!BIy!kB%9X5y?AMv7nwz z!zY(tc=)7VJ13T9%U;#CPs`vxgz^{MwnR;@ou8bD9Z~aBa1^->do|W7V0SDcfT>bJ zu%8`ZSZx7uYW5X(0)gd?`AS};DCiIN+r#ILy}Xq%*W*qn0HB3;PxWQcia7Xf4#Hez z=5b6#R)=NNhQ9IQ60Fpw4|p@W@M?nnd|myv0I?#dU0_A)0j7BCfRKY^5HvIv*I=@F zXSX<$FHV{hkpn$%`+2na33pvN5sFm&8V{YRjHP=w6h~@e*_6ns!R)SkZgW$3eLttz zE#&Oq@F&fuBmKA)_|Yut--lPO7d@iQ&s9-Sq6&xD!QgGVJT;{^M9}7A`=AI?I{!W1 z*56Vv~?| zqX>$-*@cfxHX+8`n-grS9?yDktbjmFm7RpS&*DIB>8;qNM#O4&+8PQW7*{1PxGbNj z@XGQLu!kVfGOq1?C`EGYKWl#6F!>|oKg@T@eB8Mv(x{kbp?uH!NS@BSO8#LAW}#3= z(fc8#d~5%3w3y0`J&AAvpVEW%};T8M5rsMHFw3e;hjkCJyHRX zM#pgsebWX;cA_e6dorna9pzGSPzE>uiDWBaHWWp^=%gqQenuaE7AP;@y@MPFdFq* zB!aNih!GV&-9!OSi#ZIm23Tsgg$O}6w^DHt+vNb|LoRajIg8LGR`is(Q`MR_!tU$T zO)`68hG)N_;xW;D=LidD%y^6@E9xR444$NRKIW(xB(6McgzA@6;PV4m{fe6eZ;EWR!-v*({s#=WFq)Ztm!cm8+{uZlEW=w`Yu4V3Cj1WAZlvnQ9}?@d2c(yQ2_wwNLKp$p;OrYc z4Q}}MR0-*P#j@t3r)iK1Ga|bU=iiy{H~8RqE5*@+17T>-#knw~7Yk=n_~pP5J^#=5 zVu2|SDnnLdHo;~ZYYZ+l*%R>%qkq2mnF1yuhz$H=*GHFaUA6+gj7yV6)-Ub{v99Mq zaUNEDm5F|bw^os%xQ_P}h&a*$F-tz4B3pk4R+#iV9KsNkP{)@CMEu}j2dWf~S%>ZM z7&^qiT$Cpyj&^W@x;8clVs0Cbm&lANVm1G`eDv(lvUj1X#y{lrIijAECcd39Z8wkL z68%0#?G;(3Wo=xbnJH89eOAB2HlN+>`U@g zxt;ZlQpIBKqRAmb2{%+SIk9K`jh18I#em1MbcPMXaRYAq&gpiPj7_9lf^a9G3^k2Q zHO{#R%-O1{Gy3z~`GN}#@|a^EQSo2WxR{;^ly1rc+kUanFpxQ$PpDc|uO+~5o~k_Y zGKwAPHKgd+ebC(#%XS^OzJ>8**uR0rK&u=%#vO~UeQjIEm6Z{B4YILHOOj_G3Aq9o~0;X7fIoz@s*uV$fbb2FJd&sx0N~FOf&lw%hXV%1;4L~_%v0> zH}z_XFc-Q-xfnrf18@&cRzVMJ(EIg0T{j%skjR7lQLZg1SCcP>+<0VZe)mr8weaSO6B4$l1h>oK?X)7Tg zMgw1IFd+cwg`X@$^ld*QgQbOJMsCHg8j|~z_$98ln_uR7RJOn?bGsJoY2eKFQ?5eRIl438{==G=VgDuSjyG-bcDCV#LI#p zjGEz78zJK(M*Jw}tnPjx42V2Zy%Sjd8BK-~p>1HH)u__ew0Evwc+-{RT&b}D4_eGm zlb7JOeRd&3{R^H;r31)9Wa~^{8z05ZYn4K_dtgEeHTYN1 zHbW|3EBG<4CDF(f)Q0Oo+uGJO|AalrS4BBA*%A(!M#1teH*%Apen1Xl&w&byfH?8( zK=eZ)9vCYW{L?IZtyjew!R)#~cB`7#nPpLt{3oM@hEMUmQoF|GUHH%7|0hyt{Wotw z0_P2lt~DssY~0|&1vqY?qG4rap{1s!rKaHoJ?-wWfDU(e4mLLzPAF->dmx8tYYVrTL&Ql2SRS0i5iU@owhE7MwM(jLzqp_MI}ftY5`trG^ImIc6eJ!$mBAZ;4U5KtqEZnBPZftBj&i;t-!-_`B9*8sjNA{_gtuD|<33(WWJ}iQ z%~GC3vha)QxbtQHFhg6c^F1xMCNEDgAk}1+U-eAj0!f2u0@QmpxH#F6FYgrFlWP2o z#W+=TI?OdNZB19{)bif(q0!sE4zj9#%z%1H>WiN#R+81XB7n->dJ6?Z(qJO z1_n?13_{jhz%Qne#pUl`z~~{(!)-c3>TIB^rj|PJATS5`lY%u;kITmfGRB8)QY@9Y49Z8;o;pWnOOOFhDf#APi%QvBa0IN=Oxin*CQL_vzkxAdnLP@wsozW zi7T0Z_Qh_6r+pHa-p@Pm?mM*~Bn&ei`e9!Wd{`=Jz<`7T#Gr9(fEQ!eM~0~guh?Q8 z62&hdnHuN)Se3B3%%kXIQIY=X?n{b9&sdw@W)EHB5iSMZ zWcRFF2R8?E@)fVXo}7mK)GQ&9Vt+qc(LXNAz}P*KZ_XJAN`Dkd*@vj?UbyN>kgwSO zupT<`zr=q>5aQOF&txYV6wUI*F%B*EmjVR=_*rhTmgs0hiEP@ zO{_HhLXFA()#%w$zJT+fI*RAA^p%Hd@%b}ZhJEF9(pOwD&3F)&R}25TKb263@77=3 zDVz)w*{rhqwp{8c1n?N~V;Rch0n77!I-EM#a@FjrE3WcK7!rVe3{(d8U=ZAGo@a@R zdIn9Bu5jqZRxw9uh@HcSzwSR<=?%C}1x6Jo`b*4soV^bena5oYO{G4a%`knuI1-az zclVUX1bLv3$~Drp;T@1`PS`S9UHtNJe9?~BnfnaIR7!KTqAkR!%VSjagDp=ubZm7w zw>~oCzW1okR*q|p2npPy75KL&(S3+r)is^X6b&_7bF5%W-qOV?Oj(30u&yf=MAt49 zYpGy5UJD$Bas)w>w%>?R0du z5jq(j{3#Y@_tOe~xCM+_5R4u1_{gyKDpYy0^2IDRbX^t>CKlRu?_y=vOV*|oYTpQc z0YnKHQ^*>_P1vJf=5cn}(R#;`?RIx{wi|%cF4qjHsx^=z3 zJEDG{|L!(BfxVhYN&DrBVNuBThrNoHQVxRhMlA4`Qu0}vrqH&T)AJ> zSHBs^!i>I)Tjiz)Jh|0&P&r(yv)U_K{#KJjaB7H1-XWKB%o%=Uf;|u5Q5y=PH%;lf@j6G6$zeU0ACN&&snqecpPVEF_DWKTZ~eA^vz?^_{A zs9W8v8L^wQz)s4n&4Q8Mc7h-Ns#ya>2k@_hLV*3S#nYZT*n(`Rabft;D&$6a^}RXl zvl;n=b5-WjyzeVnI$e)%H1NLJ$d^cT`^G|LMOJPaQs@49&X@TZjY54BCm^}Dr_waF zD4av`6Ps0XGH`qs^AZoGG#S5?Y#z7pkCJi#niJcY8V}El! zUR7kk!LemxN&8w%9#=bL69y5r^D5dXWonwE4C7a61XDaOdRM7`>iUo$YxH%%@v@vb z;(re(N!Dz{8qww|B66M@-v*lnIU#%!mPS_N3U zNOzP+@WinY2nat3I#l)O9R~<0SR&hadvmb^Rkx<-CU>H8x6x9VZo|_&n1bxP05d_w zmv<`vI34To!Yv>WnueJ%@Wihk76#V~R#c8cKvo0j)=u>U&*v0l5<3nYf?Mkmr*z@yhPFVIWjHELQJWO#aem8nWIZMs2! z#$ZqUi!G4PtG$)B0JD)42(UAx;E7VX+r$A>Dq>U4Wq$!pzC>*Zv?wXnR~rF#Z(@`*UM1rNdionXYB5S#+7i$B@fC zktty0Z3$C334jeg|Iak}n9lHrPKUjnUL51`pINubIf&3ey0#S)nvbRuo=ku(ek)7ad5+`S_ged8Bqn=Ay50rv~WiW9B zpH3|_ReY)gSrMig(Oidy_kQN=IG@Tk*(e;I>whp^6ie7DmKjcF)bKqd?*_%LMh8ar z`o&b77|Q^Rm2W-^w?^j;4U2V(C)eS24rxGsI_g`3T5^8fQ!cN_1mBS|v2o*p(r;B_ z{(`GA$V`Ph<}nhxh!bC9SR+Him`vJVnwnh}vI+Uj9O@qR46-j{DvDV1cc-kv#V9+@ z{-#*5ILNb=6J1i!{^BMsjt3Q2KPJJzlz(}>?9z=Jv4JQQ!(oP6jAk(ZaYbJmcGF_6 zF=V=8)-c*3nKrD!@R9IUQfS}^-;4QHfkU2;H6@+xmmp|wZ+rTJZNKhM23LlrX7RyS zQUc2cK^{UZnV4Bryqwqt2C+Z96ZptY{UO_!i^q zgBWUn&bN+qylq&g>CMHC7Dn2;z#1AY4fa)YDSLC5!}ULPN)@MB*VcR02L&0<5|wkl zpEjoG`^?N^co|smE@sf0|77iZo=gI@=ftgsL|W`&n{0wKbE7(IE@WG={$iCEVeOSM zqqk+h)ck8N$1t+CwT6ZId)bQL-&vXMAuG9&?K%%xADI26xcpz1!5+QV`E<`yPkBA{ zby@pV$xK)#{MiPxL2|#oOseiZ<_}u_V1wTdxO|d^<==!c;$Tum4TUJ-F6Z4ijbV++ zfr2%gFeVrVHh{&}g$SrOpx=Kcj~J090_J&f7!@nK`{t(e1k7>ex@5-FHHYTX6eX^8 zx2C4N6e|rSr))!V9@YDQSuNM+@kxBmItKR7>XB!={>nWp|IObx$LW$IKBZ;F^`?%! z->=#1EB0=m(D|Eb&nA#yHPnL<2KGn%Dy%vB?HVKESA|Z@BO>!J<%O=*DHfjhBKQ(- z0B$bjV`7X3WY?nmn^Lqmh*RcJ_kjiQ(tLE3(0;i}$#3+eU-$#xah(pQ=c9$sBF)NC zB?$G2MXEF0&@1R2N}7?%^POHfq(1Sk^3)|^JxnTNLXNCoM{jJVV5Obqo(DXpHwE6ozSa|@rtFGJ@*b|bMawW zYZOhCN3>G%GrJLB-GabwEW^-2Zv4!b7@&4t(>3h6j(&a@#nx|l^H6zauc+H^m{MFb zu8L>H?Hn`_d@dw3yR`)v z4=L<}2qh=?4P!iD1?UlCdEh6R*5;0=dW%y;n&!Ee+5#Z&YGJXgIpqnS_`1qnC1k^NH&W%G`!9JrAtwDS5!zD4nQF-G@hczHJ*bc zC{(KBn|Q%eMox1Yr(#{v3H0z4p`q1oexy^f5rv(CMR)!JnxTQ=lTc2sv%IPz^-fRO z5bgNqc@Kdy)o2!0-7%)tFbSlwvsb3aQEzE!V64$Mrrqia2svB??Y9eCH~j{!swwV= zONP=yHFSW-DPob(XjZMADzT@buY67%i~+-mt?s{3sCELBjTOxQD=u^={WnNJ1_ueF z1EL8`r>BRfBDRJ05nOy~S( zkz#<}0BAqjs5ND*>V)q6*~Zv@x8UDjc9!ki0<)YAZ;%M588 z{T2Yi@R4C}f?8YXPR$}i4HhuAdR^Ng8v6L@e)$_!$T7CYNt>qS1d|JUQ}x_yHvTA} zMacQ-yaP9<`Dx;ansnsB?T3L4k7@%&NM#yrhHrLimT)Ny5VKe2H({#v5iiDQe<~Y? z!uQU<{SCgRAZ%esp{`P{E)cD`Dj~!g9e|%#rtJ3*CwMaqBSWLIs2%J< z!pX&#ZT2;}#E~Bn?>&sD@6Wrt{mV^RBc3c58B<9N@MD2&F&r#*9i$0qSf$8*%5O|L zWE?bKt2%kJbp9v$Bn8_J&KL>a*u8BF34~g8%kX!=yK%bPzHoqKLCIyj?j;;vDB_Tf zKe7+tj>X|fr20{8k+T_!Vd97@f7Y@593hrLi$`I)`iiHwpxP;eif$xYG1jW9S74t; zX%l%0yNKvZE7G>LeBdk|>^*?5{TM4_P8gU(AbwqIbTrGT9j6C4W^=P;MzMG!mX5bh zQIp5rba((>j4cNNus{LYTUkz*4FOeSCC)S28Et9ia&u|!!Md4Bd+n6n|8(inmffAO zv)4(_+Z)dKnVs&lvUjxn+pr&s>>qbwPw913_#J%KrQcZWvo~hmiT<(?M0w-eUI>#r zN~9Ri7Q}qn7^8eJ!$>1abSAW>lalHjTd}=wbZ=vP3FOhkDCr3AnGBl zmjO)$$*jJohZ7`d-X?sfA4L2_1EjEa(6?3$$5xkht85xi6nvB?KWJb!Gh8h3$Ep?8 z8H&hc4W0}5%mm>yRdo#w%(a;)8W-HB^(-$~TzKJCp+%)#9_B3xsLO=mA6^Z}CFQaJ z6lnzSDghBtA7)mr5}y`H=|yJwO?#JuUaMM9>u54rtsfc`LRt_DjODsy&dF>=O)Zjc z0K7uAAU2m65J-XFIg@~q*!fRALp<$#k8!T$Ld?ABuD3iHebCB;R!J2Mv}OS(9S~{8 za0jU3;{heb?0$B7mI*qqXv#3?SI2s{J+GB7ZIaMw3+yhqnvyQa1pvG*MXY1F8D%}z zv;d&e^QOtP+84t;8^#~@iTVQlDf1#CLBO_mdRi1C=l<7kz^u6WD*7&p2Bc;Y0wjbb zdV2tA#dH9(l@m$|uV=Kp|H)}Hl^b2!!(8tddscb1`{UkSH;LyOwdIb70<>yr4qQ_S zmGnO{pd9NdswsYtrhb~#JoVFE%*6fTr0J34eKHD8UMrEYgqtl!imw559w~u&G(K3s z-zHElhP#tm%_ZwD*SyEwS)4RKbXhxL#T{%?{_H_t+g}P>iTA7kd|tUCHZ>TaQE?wo z$(n%krpmEdD0Q=B{3VqqI)d0!#evgBF^{NgORYr0S4JaNMCK3(#RWzy-hHm3xd6mQ0rR3H5*d?i?h}A9++Aco#-gM& z#~k0^d&~VSJ{;EE=49JZ!htTD0K8T)wveJoY}BSRX#go%pL2T2I`?&8t_oC&+%S;~ z2)D~`ODN@g#so|{Jp_c}R+gjn0%o z1iV@~V76&z(#E(0R4Rr7PT!ojx5|-Hvv=<##k;R24>qTFj}Zi|A#IW8Bd}z*$R}AW zO%%*ljbI@;IfOL)9~TnJVj7{<9#{>3Ik)ZY!PyYS+mD0h5R@NvrQVjRQzZ3e#mPp| z6#%S4B>(^*$=3Z$0J1Qc`$B8ZkPC^G)lN3vD{s>l?xYJ5Rr{e2;n<^Ot5#(t(JyQ# z%whr42?Y&+{lo*%4^|WG*`tJ8Wj1|xn=z3c!!0@=HQb+J5>A?PVQUr6%Y4(G>;X|^ z0E|{4N)Cc2$Yuv9i%tdoLuO64JuIqRnC!yjV)F!c+vY?K!9HDZ{u9~*x zPymE3QB4~6LN;Dl{yrc}{Y2P!O5?Tqm-Ds=?7bbQoNSd*j-E0 z4#Z{>bZRvk4`Y;;WVQgxiYnlQ{aPvtg_g#1x}u^EIUaugjdPtX=VqlOkk$z@@2x2z zme8(O0otk+1p?dv(7lR3uDCMg&KnRUj4`cBWKWmS3d03Gz0=G})WFI~^ZQJD@o#ox z%VRcWu=#3Fv8<*CkH5|0)-9@=shQ3J>hR^VzKg*Sl*HF5+C{K1nV-5vd{;4i82%@E zX*t)(c5phgo@BCY-B7MC__Q?&+zM98~*9eh`?;CEJmA#3s~nxZb&x~#Z=Su zykVSQhmE;YVdEb3$=8Gc)6e?~QIjXrOR~`-^Fm;btalfZ|A(t(TU=F z1(=$jb4fVs-FglpUo5ORIAy(F*2!k#4-oKI&Fnc#qX8DH^_>CSfF8Q{inWibIb*r0p*_#L@Yx1zzM$(F;_(aZ_D#$J)s64)256 z7+$|)+0OnR?y}6oL>(sxQ-$8J4(a_xWXqngfS`t*WQ!;Z z^P@;)5)+ErYyh-sIgmpVCPC0{04aHQfbH?k9;KbpJ9gRT6Q(uX25<2nF}7t)Y}0Th z0E9L*0Vp|+2%)wzcQyfDqPh7kVLc?oaz6Us+uvu*jtDlip7d)co!Fa$0CYkNI0!Zj zB*_*)8lC}=XH0i|xiJ%JY{gbe$s!ISCW9l{Y%^BR$YqXAyk0Spsh;-)?hc@r+zt5K z`OPvVd{bKwI-rqYZxe{1Ki%Xk;#98lssm&)ODG^D6HJ8v8bGDFIW}F1Cw)Ds?}BaP z?$jvit)0#pG$u`SB%sw(@Vam11pi0h0Dn4+T8jVx5C+zS8h~;w^CpL@L{I16oysz? zU5$$ljyUa3N7LQ9OfO3M-YIUb-FYq0j-LS9I;E9E$veovee)mM?;|^jXh;7LdxtSx zv9wOKjdF_AZOJAL&Qb8?}^p}J#XuCwB zMNNlSNR=fcbMa}O5^0UteV#FckTqO%@Zk1h+Mr1eE_kiyihiQ?G)jdBnvgxt&SnuN zwuPY^H5hws1^O^iu#rXCQ{_g4=u%@rdO5XS6C%gzy6h}%!QUB%_pso94lVyr`-Imj zg!O%w%RWo-x8h=u=2>podZn7x6f$0kFy0t>B1=L*&c;+N_Z2^UjYy+Fr;lOL{Hlw? z!Qk>WrBMk0{`*V|04#tG{##F6Nr17^wqhlkwRZgb!i8&jgTGFDczI%ZC4XkV*S74L zbGB~s@zd?H$y=RNf#=jR@K-x(D(Wk}Zu7`+3zN5BtX<#U;Ddt$>dS3w*T+ei)xgEU z(NnP19Lrmjj6!bZ9t|2LvJ6T8Jjna^9S=(yy5eTF!`f2OI*yUqaO4r3HSzneVBGh5 z`5B+vZeW(r^qA}f%KO!&Cokm3tlYjndoH%x-}MWu)e`WeoQYaF59*@jM6ZUOo`=!4 z-#s6Bi53IMcts0dz`WRgnoRq1H#yVSENmcH^Tv*DRTH+00QNdXBL%zz!1s>I;_flR zcGMYBJQ(G%$}^Q{WkS?Mm)Q$rm1}%$hUdG9}*izt&D z-1d3LOyF&!C{0xT0-k2W-T)=sZR)fLg6D&E9H9L{C|xEHx!kEaYJl1r1xI0AdOe|3 z7k99Fj}-~#76#sENm+InBIxX7xxd6CiO}5De6~Qv3x|Y859^1;;m+KjYst-aBbE0q z{7Oth=c)aR#(jShXjL`T2}0g~(g4besEUm>D?|DW z{{Cd$w(Y*^`*E~PK8ImDo38&5I(vCa%0Nk@_{ImkYEcA8L4q`C2T-UK69PDs=e1b( zQ@(Z5wOu*Z=(vVo%`??fR)n1Gc^YtRw;k?>QSv4k9s|^BElQA>)#$?i?;k+ZQCb=; zJ`q-!sO`F4=$0kYb)khr*xN64ZqA-lH>}II4-j@IfncoxlroDj%;G4h^PNCSnlM^k zQHnNYOln}{uCS18ryyzy0#-CAL|sW{#O6$2tvJN^4%UX=K%{{ z?Vqt7!*WWR$IsCX)K)D4u1G@*x&LAUg{SYU>f#zxEgmm=Np}ZN|H8t(xNA1)x4ZbX zw(Y6%9Bl{yn!9Z?1H=o0Y(VdMTi@=My*Dyin!p&Yv684=LJEcNpN*KAlkJy%Zfb{@ z7d^|_v29=4Zd@2&xwIFiMk!pfhF)kS$yMD3p`cDz$-4W#t=YUDvcj>|N3#%gF}PRJ z?3~9=QnhmoD7QZkGd{S%PQEwySvV*I+q8vLB_Sn?I-ioP7L#&P$4xfa^8 z963)MCz5z-Q486Ixt&A+eUuI8#VxMOMHvVV4PsIP4Zr8Iz%w_SHLB z5mK=1Z%Kb=t6DNvE}~6PR~apiBk6##baZmv|*%o2mC1>-kQ`IwJIq*-ONF#*CE%Af<2DA;Cfu}TeI+1 z-s9@6J*JMF=lgJ$&S)~C--GH)H>1{^tB{_7tCcsSg_jatW83#`1Ku_PdRnR`ko&VE zM^5Ww)YFwJO|fBDXNZ0sff-9VEAYNx{wEoUp!D{KNPdlsyNYdG-;>hXDBHfi4@zYf zsY~XPvCaF2J)(?^rl@8IRg9V#a*A>1^M|piF?v+{UCJwqa0){Eqmj<#=WmokSrI`%k&67!pc;Uj7-RvcdL1^3D)EE=?n8N$TpI!@|@UR>zVS$>9W;AJH@;&&=0gWZA5zIcq( zLRx_qD$&id2sf@Yk;+V!a#ueCG5{Woon{8`06=$FvQ2N$A{fi}s^lu|X@>dLuS)|L z4=?%BWIhgziK>V1J$?9?IX!8}n-8JtCAcGwm4NDc!?K8%f%2G{|hy^&UI3APE0 zRn__xOB=y7-TLR@w~NoCnW4Ddk?>Twt4?x>Z;`{CX?n=qY*_4bBxiTMqfOT z>1c(P_1^e&!j4LTN?+DO{obMN(z2m2fI3mYn2lC-$vRTdYB93rXm1TskX;P?{5U;M zV+QNVvLhsZ|^8k!hz4FPBuZ?9q@Z;Uw^SigF?)_%}Pud@8CYMwH zzBZK_FWhANUKX$+#L^X>E{ZjmO;-}+XRJ_&p82Z$X5>1n5QeG}DSJvC6@CH@^3H|G zzqL8z^(r8Pwb~z)f}-}gC=+zrPF+vw0Y*0eLu zmx~o6fAeM~`Jrro0pN;&ii0N&2Pb0r>MbK5+Qs#}ublNuT37XN*n-VkMWL}# zSuq3%M!MPo)M6EuF?=Tr(Ed&U);S+LRMHKOJ#W(b$E4mp#6ZVa+wp&%^p>G--^~=8 zyH(|K1avkjF90Z{zz$HUJr>}#>Z)!zD{bH3*h6tvU&)ucI&HyDmh@W>$=OVvtMGhy@=$>Y;au@MQaGJoLbLzO~Y~ z#*q)6jGJlNSZKO+?Fo&)LpLpan_{$+Y?%{NtC46gmZZgbKkcP=_YE<-3x*PNwFp6o zW`yTgwxx0md#6;tb#blaDqPgS5gEU?mcqK>s6C9zwOeO9X^YmfB9WoKy9Zau7 zhcWks@;815Q}u^u>}gYEH)KS2>;EkKGOs(}pB2di54OssRlq1;26WK9|D345zZr&S z-dwr|V_UKOBx*ra3O|dSh9$ozKE7Y>`s?HGmuUybv#-wP+xv8_#Za*f)0|2s@@!_4 z?6EpURC%*8^`Iu{=OK><0(iN;>ua&!Od^`SyYKSvF_C3L14@@)UphVYo%D;J z!y`AT$RDp({iF@05#v)Y^J7`^KtrVupr@P}O`U#($vJD-Zvs^J}`jXEXO* z`BNc~p#zLsQ6-w7V(dVX-wnVD)=6OS+76YB(kfxXpV=#NxRCj+lZi=|)?-%NOBDc= zS~&`ejKHYu0LE}~0=jPJ4b#pol`_`3=m z@H1}zY`%Y+%y?sbb7s8)#8#ySk`!{x8{RegZ>30>o-7BzAv)6lB zT{<-Ldz4G39cUrK7y!I#5zQntCZHVvI)sTy0rb&Gtdbe#yB=40L-BJS{pDh$)x4l^ z((z~b!_yOjrh|nVbX?BVVFTQ5IprE8D{h&zkh$ zz$&hi>Zrd+k=kf&>3+U&TQ@?XoBA^})yd8z&~E|v>%^dbCBQsi^d03409N}ovk4%e zLi^&EKEhY`d59>eo{9WqEy6qbDYhdicP77$ySm2l3_wY-Q`xzfAq$QMh*#8Eakjy+iwJ)QtYN|CT~` zEvz23Mw$}Zu;r0FX;n2kNg+QQD>Nb%nX%wZbw8B$`zS~5SEm-Y%t}a~ZbR<|0Hi`SrrJr0 zRzM^>fU9^Nz>r=iC%vDFYAZ`dG{N-?A_3PFS%pE4O*B170IXsO3IKq=0~m*i3A|d+ zF7_=uec=pE2y@s;+QhiOb$8OysjQM91C&ZdVpS{zcpE?j$Cm({4xN!o;olux=^t06 zSgsSgS|OV=ha6M4_%#5mYB2{=;NWfmQ5^RL)ZM0;w#iC`M1OM>-Epy^ka19>DM-6U ztNDNcv_=696iAq_R{*3%bM6Ob^=cwc@6ImXpF3~uO_VMg(moM8cPj{wjTsYpD#hoH66ES^6x<~1}=m&f@ zHBC#_wg5tR0Gno?1z4}A&!k0fv0{1e2dP+L?&px7CjN8VC}gAEgi>kxUCiII$Sg^c z8EpWxJ_QO0aw<{~QkH*70EuHkVN^~|9IWgzJ4{zbrQe(yW1H5+cVW$-wk-j4R*MkO z)U1dk@g9I1u>o3p)K&An!MBjhlvbir*EVMHUZ*!y<|u%S7gT8!6U<6AEH`7)ux06A zvq41ifPJ$yQW9TUZYrwgPhBCbXlBstN6(+c(biK3+*Yk9!Z4w=E)C|sDIubQhDWM} zc8qTxoWuSIl3V4jwAU3ia_+pRWt2Wq0J2R=n)WXhK&3D;>ZXxvCSE}h_A;Z{dz13~ zbO-|9>0@Pr+4ir}NRiTh?e9nw0IYfq14!9QbETQa9)NZ33E&Gul3sg zeD!}{8Y0W?S9rO&`o*uaH0x3YQslxs%v3uqJK*+_jbFXPu?C){0uZ+U=XXp3KS4?+iSY5CczVXHx(K`Q-ut0000009PX&4*&oF*S`iT z7&0p@D=jNHHuWkjC@Cm1HZ?ReHZ~|WGqgU50J>rX*{rjK1*CI7FXY_NL6UfvnySnE zD(dq*M~Dy0A7fB8r`QW*h!UTF*r%797P2Q*+94FokhS@|CMx1EJ$6iT{z zwi{51E*s3wz5GI;gX)WyEzFfcWEFk-lmAbxrrtAqsTD@4_0|caG zF93k!p%$>2v&BliENRm9iG9$k>OkeYXk@v&mdZgmi2#gdeGVu)Rwe>l05K?~T7bNs zK1y{-uRO}Ca_Ig4zjc*vSWTZNY&z)J@ouxWv;}?gq%pj6KLEU9jUbOrvQ8A*0ia6k z283sGPu|9yOg5lfb&N<=fGMo{mbM3-v*JnAHl4c?o2Rd9xdjOT(#jQ`0s4Xfv_Aj< zm;p?>0n3E3t?W={L2ftH;J z+QCPo1k5q=Jz!;XU-`8WK0~j&Kjn=2!z%uCZ z)Fs=v9O!L*abL8=_U;WdmB4nt!yWb=0Hi*#1ckIswv-<>UjeS-YGLlG){Ab<8b3u! zz68qjcov(wYK8Ki^QZ!pYAK`QG^#Z8w*iS~4Zzq9l?jwGQ#xFetre(T8dbUR5Vo5% z`2VO7F)6KvJCziSW@+UG z5b$sdz%^C_sA{b~t5F$J!}0aAdGaD7_8Tw7i4uJ5ZM~TQtY#4fCer|a2QZS?0E%a| zDw)tEh8<>Vu7OtO{p2ik+qTye{tiw6lu8u@1_Xk#wgaSdp9H4S=wC{ZpPm*hOwm7e zo5~wbZtD+jdn}{wqwPN^|GS&-)eE#rl?aN30cqWvARt|H@pzUcJ*J6$!@5|vo&U)5 z==t60sC(|5N zOVhJ*-OwjL7#|l0C+?@(m6v2n_nt^z0mNnvWg+Z@5dzbCuK=K2eLZ8>0^bnV2abu3 zDPb(C-84>^rue)w+vReinmg%@K$U181GGjN4H~eJkiP?Hz{UFU{7jDQcBdtNPA7AJ zX>qNl2=6QTKk+Q^!e6Pj_TSe_CZRw?=Xpg8n`rbNcFMje_xM1A1Mcy=hJv1fBt{hDB?ei*x+;>YbPsqRToPdJ8KiI zzwBw`X}CBzIXK~ohWVALm9e{pxr4iCu zCIA>QfN>Hn+L5}dWr0_vf(O zBz+d+k|$`bB2Y?$8lnD45WVk;$<(2wsl?V{3e1Rxt&0r6H6t!Z8%zX!%uK>)LrCFS zD5c8?ZE2PZ21{Aqdkn4-nm{G4qoPC=p`)_G7@=e4rWr|0wx&4+CC)`H)0z(`25()b z1P`+Qm7)Kg2Mv5Ik|<$3?8Cq%X)bV9|4fSp@P|(mkc}sjuO}L>r<|N+Q2oxT zPRKjUE&WPESrdM_8)$o&FMGHzd-&?61?#o>>b3>ztppp~1RIlv{44$R-M)EDf2U3Z z0`lkuQ$B+W=*SCp1q%>^LaGn|vqzQCpeN9Q6AI-^ENp75Gh3`GTkOXhSjQW%{x$(X z@FtH}o^?ja|B)BLLi{;!xH>7amzx zo?+J)@FeRdHJYR}`9lf!zl`u`b^s9Pq#Sgn9EEEG$~N!9tL-YX?5eyBSH+`7{`V{3 zFJ9miq0P2PvGGUajx+wN7JoQf(tNa+SpP_ZHwerBLX$C*aXBf7ld+dqPLw&{8?KT0 zti3!f^RET%rpP|SZ3!MrAIwXi$#9*L$I2-Fr{qPDiCSGg2d^VL$if*SGlsXbp36Wj zU)6#4)t$-MFKZ`)m%@`WpEb8@{KM~GuqZdon(7tYf%gbs%d~ArH-MLJ&9crX(I4yn zCw#==b~9cf9m;-B;~RrwLPT3an@H^zi<6kgIRY-Cj*gL0C=XPFl07SSd;fRlGyo8U z_ZP+gmHmbCKPWCrh+r9GZk*s6XMN17`lp0W>iY3sVsXMz%*qQ#adh*3j%$seoNaOQ z5)4wD1XTbR|Km|`qtckgNuZGZb&`-YmoacD+$;Xma9#e~CEAHFNzT3;uub+hcPhkDG=Kyf03Hs}kNhVR8!&!kUlIZ^! z_`f{InP@nkax|Vnv4KH(j&<@okLo4QETObIkMb*GgIQwtc@pzid-!#{)gvSMU+%zn znOI6GFq)A+h6cN@L|=YS01dwEApzU>aTx?*yR2KbZM5al{~TA^; zMOm}iewxR8RYP-=M02sle4WHkJH>sQTUi%=y9B4YFQ@pvUa~hx`xh%^qQ9*8G?!a= z)!j7JHO+N3G<7}9b#FAamwXlB)K|)@#G0BdnyXj#nkl|JZkh(#=BqcFx+H#j%fUO> zzB{CkoR=5f;Z)-#bK_R`ZD#8XYny_yiVWt8it>sU`-+-sy@JDvf{L*Q%Zi$+v4+~p z8oLuXwWh41fwiK7wX&h=cLnQ7OIbxn^;kn)W=-Wu%LQgX>q&=GMNLg*!|5ZnqxxjX z`J{v6Z3%e1r1H3e;A<}c;T%v^cC?e342M-awvS%C0pdX@vvl@LA{#V9cS`wU9dSHTrLUnQibRsM9 zkyT)ff;_k-K|u*VDg}l5U?|Lvb14gI#|s}7oK=E?9orC0PpR1*4~F@7RMpK|wl>v6 zaN&%_q>2jl%_O!CocrVo*42-~%LhsHV&KAG+47bw**p^T>_wI`TotO97NF5^f~oz7 z#SEW||C+gp4cpL?N%f;}mipubxbXcoSd?JWoC%y&0yGNVL(i_gB*g|!$bd#R@2|Pq z@m?>$svc!1!k-YXvF%q{@Kwhj5fJxBH_v-qLLS{#A`ChuZ;j_NA;^L*IU)G0+(k(e z4Az{GKx1s45(I+>mjuxmi%Aq&*ao$1!C?3-;2~q)U$;e34j%+zVC$j-QgAOGqJghF zC}hQ?fit8csyq} zlcYllAJ9MRh!K_v7H0^Jn+6vPevp#Fv+@AAMyuW7P$(XpfZ0?xt%##l2QP6cGQy!? zQ9Y0bg8;xOd_bpv*AYe_4iyk5EriPzw8S%+5Im&hfv=2|K{zZ!S%El`XvFYgz@JqU zg76Ga5>9}}d-;LztT<`zkpNXVqJh_ei`^axNl**`U~z&+M0M(BuJ7aX;A zDhQ(HC&_?^Xp$13aB=V{mAhcUbvLN>NJxU6(!il%$LoOyht&}5r9$mgDKw11*< z8G^sJrgr}d($oIA{g0Ua-_iU3R?@SrhC}W@GeEo>0~Pp#N}(ky04B#|eVij64m{B7 zPlJybg(@fnd{`6&H&6ac1wm#;I7+}^IDFt9odi=zcZEV(7>iRLmyQLP0vnt+Dr4~y z)CMj^2(7qj;Zf9zgdDhd2^Pr)cR2<4tw|Jb2o&CAaK)sGvuF+q_fJyOD!2o|Y~e$< zWdk=anM5_i^$%YmmP{gfmtdH{CkH3MU#`wMB)O=uZ}!t)ThqdWZOOmdeta>2!flcF zh!$EY1vsi6F+v*zH^V=5L2>_GhbMIK547NbI{2qulA7dSXrbl9>%dfSkTL%)F~Upe z{{(PI8{Q>B9}x*x%_HG2RR5OHX&=?~w=wNMeIH{%I7AU2 zS7G`?hQcvAJD#0BL^Z1s1;8H*0GwBBPQXheG=o_|DT+aHE_f#F_|OPJ*?Mz1vO&_t zB+g=@S5Vu-ER!g8)ofD*&i<+-Ed}QI_j4{)%^nl*cS;&GfCG<~J3t&nL^=W&6odo@ z^6GkKIQ5Z`z7TL>U||dgxz1T50(e0qSn**xSOkO>0R<*PfR4V=2&z9;baYcB<{?)P zvcZNsO%M$dZP*})D9%5S(BaK4wrX21x{!1+&OfifAb=VG60m9L=rROjaAI-e@Z#|k z2oedC;P3^2PauC>z@Gs*EG*0-rm+7rB7>A!P|?5_B*wqw#|#bapH~&6zvX{kk$d?6 zAwRw%KZ=1dP&D&$a_nt?Ib>mB0Y7J9;pOE!K4M{EV}8cM!^g|b|BQ_l%*B1o#LIsG z0fWKJT-rWOs$~Yrcph#P{33a!hmFi{rrP zvTwrO4l^*>_0)0jXkPxl#@+0jp_p}-aSWw-k@C9Od|O+|nTXrTk8}B*U)Lz5G?~R( zi2ZSv=MA)hcF^yQCI6d4L&l%{DVL);HH|n$)YzfpN%|D?QioyOA@9Z5zFiAXEGuLz z1|;Qr@SC2Xeqfyt5F7H~lk(POh zv7;7DJSTY{I;dzC-!FkwVO!wvgN;0GdzaPt)_>=1;_QSMQom|E4W zb~sKo)joGOFtEQgZL?aI>-{ZTIb?mlV7kFqvUsRW9GsfZX_04;Od{cGsz2ru#6O-Z z4c@fbh!y-)aT4W_QR6!$XWWicwTORt;4+#Q|T|b)y?~k`3f4=Zj3vd&*$F{P?3f^Fk?roZ+3vkwF z3C2W1-%}=+Up>P~u4D|pBJ!3sugh8VJ5J#YqhFbHTj|gu#h=PHZ76mK^D}B9*qO5q zrRHF870dM7t|%J6*5}nIy!-&`LCD1~5N;n;g|(lE#ry94Ox2t8jb!eaSg3b!7s0B_ zL-5qdQl6INS)Lueyr&AG-{J3!b+OtAe)jC1`PiYds``qpo8u!shP!v*mPdf`-qm>y zjOA2ef!)_z^Op*swZ6z57@rz1k$ygSe+`bI%K7EQFpp%K9O=TyDAz0C*xqGjz%PiI)=TbQjL{=_Id zt@jtd8tx*N$=8pLjktz#tYhw$Loa5#45#_XZqX{j-uv>(JNBZqU3__JKwmIS(qL3C zgN|$(ZI&=De7f0%y}IvdhiV*9tKI(fto$rcMi)aH*|I>T65ouHgFt?Cy(Kv;Bc6*a zA<#q9bzag;z{<-Q_YIMWY%{g>>Xtf{m59GyWU^ zEz5vwhYb-!H%AiYXce)+6vmV>-cgb10s&2Yocx^L_1MPu>ttxDtag)a3*`k~j1XR1 zKViG;<0kKWYl^6nyNYupJ1utt=1FXXPHd;%1iDZ4)m)vsVD1yG+-arsW@r+b_T@GE zLFVXF6rjnFUU^*Q3Bm-55kn}Uj(|MEvwX>RHw}?Yo)qhpGxi@79>yG^xD)6>O!qn^ zb38OrOe@pL;)n#kTX%6(>O~^BKDr@OpS4tcvpl*zD-A7gmh2ZVej>Tii7+3A1%$Mh zqR_o@yW^eJkUDx(6&mrqf2d0E*{jfY8Z5>x)9b83L^~M~K+acus?r`{Z+{0k8rWAR z6%#{0qT84HLZpt*uil&u7d`!eiSD+bl}$|~k7iAgtc{xoEjQ=op%dBvxy?v-d|LHK z)?wCF56wb37nU|NcxULK-!}R6BO?~j<$&Ky$3Ss-SWHDjRjCf(urg8V`sTk0=DT7K ztbS$p;QvM1*^^&3)HP0~xbZ~`@6{Y{#%_}RD7lQ zDbqk*)-cQ|ScH|EcxZD9bHuil{$-@imjaA9jJ>QQVSZ3_=!L4`&#_q?X0I=KiTB3a zC%QOQ&p4-k85xvO+9onR318vRW$XQJ_o6i_jYPMkEPc$9f00X@rS|d{30}>)50O&> zGrg43&e4_VAc;rolZs`Vk5)z%(kB<<}u+#X|uRm-Q2RZTc+bYRc zOD{(z`Ayu26F~#o#0A7pdPt{g)RSH-aMDwIMn>x_VY!}Ozn*T5I1&}@!t7ko4`^GY zz7{%NR;_7TR=!j6UVj}?UOno8?9mX#OIbz9xKNIh&`ejjiFuJaMc+03<6{ZOsHejF zTcbA0C#tUO_fnk^);VI8_{bUyz%i1MpQmWZnXY?yJ8>Zom&AK^fq8lBUs8M8)aQA; zO-ib=zqE;avT~ZvnOmNj*UK!gF8!L$uK7*F$*Q(%Luzs}kIdF*yo0B(KCzp4D;a6N zdww=uCSTlSz^rW}b1lxPC|xaUI_uJ)@`p^D8;F8_(D%$&d``QT-h@IYV5lFlJ<{Ck z!8v65l0auQ%fOyK)}eda7j+hhV&O$e$^?B;B?9IMGDSOUo}pFKlp9Rc7Ea6cE<*Vz zwmwAufJmfyAZLlX&q-Te0<H5(`xl^|W=g8k`E{z8UZBZ__JE9-lj9eK_^$DDqqo@xLl73@ z*WVpIY!3PYgEY%$`JIH1G5ACQHyK`K`bNY2&F_C!vAGs8MRDI07QMn!TE)S95TWf% z?7}2)H7m3656P`YK>M>DIYoK|WN~SN;yea1ZfU&sK$Xz@qTIyc+Sd|$H>D9QUfb>8 zSIk};qZ-=2pHCl=X-^$yQ}^AT?IkM`O_#Oz$B_T}n`x$(MPZWW?8n%7_>P8;!u9ZXVIh35yS}ykts0j?-1i*j{xQxC&54mrHLR_jZhI9UfL6C6c!w50m zZW4wZDtAMTO6&#=K>o} zN@ZsjHoyiHxsQ_sJdl$ACkbKBsZF=JWpyB>rKNl&T9b!_gdt#(_NpSa0n_{<6>$TG zJxFClGq0NEPhp6io{45ZUaT3>n1Q)}B^p*t>`qn?p`dYcbqy2=feK0-`u*>JgOY4t zpVncCu8tLSLR=eZ*{f{w!Awo{hq38x?=&?N^e$QT(9x5CBoAT?0tiF3>|5NtEQCWr z)+8$5Xk|!aRV;J+_Vd*5R{|bpvk%E-m{*>Wc7OcedGY`*nOEGPIv~$?&q~Pml0Y#e zowSgHiMM1e%?S*pePCfF{V2MeDOvb)$NeI4@mK65)A|O(=j98D>FbROYz+u1@4b>` zLy9|17$!}~=f=LG?$-sBuTN@{OI}(8W0r`Cht5=ycFN5sMQf3q@A^SpRe(L|+f;+; z2s7V+Ju@j^?;D(p`#9o7cGiMrM~<`J-9B?<-+{~4I%8$FuN;#>1{t1n5vK!$0-DQ7 zT+bPct!tKAr*m}5dByosGw(W_N{Sr&zVMp`6pcWm)#$0y{N;B-PfI`m7(1) zKAHI3zMV=_>Q38sZZj9K9tH1E#qn}A+a{67aN{}~QO;K^kTIRVUwffyY6ae6oDjly zn9vO8ccURoEKX$jotcC9?O7#NG>MPP1=2U@w{E)~<4yq$vv&tw<{nr68{)-Ru0PI+ zIs1`|kh1g6ZkyZsN`2-~p5s?oEzd`b6HJMnw`|R|-V5!jfx}1{!rh*$y?7mHHWH&< znljcT<=!erVRhA z`zP#7J^rD<(ADWwRiBF-=(4~bl<(2b$VpMJ_>dJ}2(2TPVVet+D195%p%3^X0?;pzH!x*be zntu+zk`-ljUr=1?yH|8>(G&TIE=F{NiiD8y<+KQ&{vi@?pH91;&wEKhCn$>gE%3gs zrLt-<6v!T$hw^wewHK91gfbyh%v2W@VDvzk7f{B2-RjL-u^UiQQlt4( zblpM1$DS>^Sw5=u47Pd{?=3rL&E%i^oFDO5#uXK47bL-_bg?Ou{BpI0(tBn$kN>ld z!O@|aE~Mmx;wpzxjN^TF)cB7Cw_PrJTTMsi~VO-?6b zyxitSY;x1{s{7$jf@C~DW>tM1k1l6AP_U5eum0M^!6UEk8QtkuPz*rsuEnCJdg{@CJ6uTE+jlRivo*{@6y6w%n6>kB`Mewws! z*9m%g23&6KrO7fA+R-J#sJGPfE_}BaW-`@3O%WCGZ=fFu+;N!AYhdOhpfePGw5CZM z7752=y?kYNu&bhIdn}T;jGw?>!^igA{f7CAWDHl*_aw`S4-WM3javVZh>kwx;$iyE za1qz_*-WGfm>{a$s(6&o6;M%EvhloRS!?2c`%sOguBIo3;$F*BilO!y!7T^2JcM%{ z5|ToC@obY-&g27i?ClN0ePb`nowIk>ufvpm*s@)5J?%z27 zsJW*gEYgDSQkI)!2F*;}BRYk9oYYPxyeWp|HVSx3Ep;V>m1jiYad0oD;tV{N3>c|1 zUh)5qap|Gk_T?yWHA^k(d`4lXu8J$~r;MCP<9=Dlc-l1;4qjS$$4N(SOHe zd`x|m(~kQcDM(ACj0bIy8z&re0dfnoaz`-AvT1L#n|?QKU7o5dvboigXdkaMkIU0q zWi7NK>eE~cWxKpFJ4fv@$zMiN3$R8l3u~dM^F5^eb-o)x)r}Cle79&{`Ppk?D)=or zyY%1-Udlg}R@iKE(l+P~EWC-xf$21+VShe|Y;9!kJ5z>4FCna8$H{FWsMW^K~pp0hp@PDt)4lkqFwib2}SL> z>TP22;_TNMA8%XRLcdDQSCHQwB`DKwU21s_MESXd&R{8GgNf4UFBY+p9OS!xuPD^htD~l&Jx>rQW`6zu~DW^l)k^Ul}$pD z8f5RN&9y)JjP&)B1C-B-%M~Rum@=tDHzx&bWCjcnMBhiDyYbe{*N*iWm;hdbc}dmJ}uzm@Z44~+hRtgGz668f{uW+Td?Vb zoA)CE5rD3*rLb@Y-!wyP7(2ff=vzLi`MlAOM#J8Jgmo(GG%fn8nhR)B@THX70nKeI z_f!+St~*ysFxmHQyl<;6F#P7lS3}VuW4^c1Q~$M6YJop5HYV`aFp`sl$mx_s zT)_fy+Shh@h0WJ|N7^viaZ-0OosoZ%OlrX-!K8lybgET7#ruMWRXIZp*I&`?emJ!q zC*aa@SoXNus-`f+yFWnrz`5A?IXzOA2^g7DE@-cfisl;!C+LjI(oR+momGi!Ho9h_ zy1`DgiG^!=RCvzv4gB2*P1KY?XQSn&22@yh^o)>zZz|v^#`5Nor}~uOt7vxeA|X~2 zX;Gs-A{)9cNwIBFz{*6RqYYhUzt+nikL zwK_b1HfJ{U@;hIVxI3}rS+Vzg1M9PB%6Ff|BwW267^*_*5$27=T9Wpt#e>^af#5P| zhKZy4AW`jdeeh+q2&U=7k-Dy#sEsmVs4Wa1oP#)EgIzDDA#A+?s`!cV)A9xsevsY1#7zMK?l8dVc3yZh^lIr<(sYnQ+D-;_Pbl-Y4Zq=rBPPM!4 zFgRL#wWOrU)mU%hsT?ean8Xsm>`zI|Rd9F&XeBsEhJ;Ob;+L=y)Nx6X3B$}yMq2?^5XzgH?eTe7xTIGAdAiX2!^ z@k|v{+JaZ~B)sJI2K4&BHVT(?rv=Ldm(KT}T4os@P$P)AN(P|IhRT%{R={q7YV&qP) zn0MBs6KSlc&>FQL<7M;*n!NGH$M@1Tw!ohL4KIXg!exYHg|d?i7gIf&`bmV^UZrWx ztk1dJoj&=f6~)SQpXKg^nkCwfdL2$47z|St!xk@Ly4!*@rm38re4ZPsTlYY(he=6o zkJ4sT2BW{6cUF$a>UP?5{B#9OSg<`QlQ8F)b**Yt$SaH+I)24r@iQvE^lbIjuGuds zzN1TI=Va-!Tc2_2-ZSdVho-Lx8RN>Gz)$gJ@f(?^pTE(}$5Hhvkjc~`Xauj55~`y0 zk{(Qq1a1q+zIjtLyyaf9{jkY*dHinpzSmD|o87@~WzpMZjFII@<<-!hWJQhcbls?(Y7OKtnQRh}U{@8x& zIrI7>#Wx&?4EM%T{_@Z=oBLF?=>nG_21%k}qtpSe{ z$9YSU?prUGCwOs^3`XCh^Zmq_hos5p&suD z^Gd^KbC%HeI;>pCz1D5Yh(MMLEq6Q%=8&&H#S$w5?74k1mn4~aJdI|Y=H=UvmE?OV z@xf6htB(X#Fiu2G{A`>3T#yj4PmA@E%_&2D>Du!1$#^DXAlYH^uHqB@&L^Y+?{-e< zJ&P-Lqcux=)eKXg$fSLmUJhM~LsvDV?lgcK z>;omUoY6JFQZEEL<*TuEUfyl!+Qezb3c2l|dx79*dRsPr7$BG6+NlA2Gjn9ajxq!l zAtlJBG!Nsp%(7C)Df!g*+V7;O$sPyX_~`i}4^((`f) zxX-6IDb3AhOr8TVrrAg;(U(;!fgc7xb)$8P&NVDdm+E?+sqIyi(Ls=tycvs3=k15u zR!~U~3=pY{=6Dr3!%YYTzFVxvdg?@vF<_|=%t!CbI)Re-u2z(h2{^C8kLBSOgeJyQQSh5g(a8En3E;O?k4TtxtQ1-YudVXuITo> zZbfL)0*^rNhKV`@p%;Iis8Qb~jT$be*p;Z54zn-}o7g_dM%@zmFhlVw41)03l~oIqh6DtCf6hwq(d}(X*1M+MSk3hxlZ)(O8%5uWvfyGknaZ zeQJkk&w#ZI=|tcMigjIy&%D*>;7 znQvjch>6<6sAh{Vf7f=t7+FMZpQ0t_YNiM)l79E1D=aYD@McKGfN)oM*5?z2ZsGz1 zDP8tc)7S6Pn8n{`)(Efe=xXq9h*US8gb8@jN_FOc63qeqj1!)~*Kq1GC{A1co?}${ zLD#1;=!KG_moK>;4sl436`SHP;k7h+gpU43apMf`;FpgoykGIJ(BK9J#s8$8!Xp&zIxB@QtVz+c zBHD$Z7G?6G7Vl#7O2T|HM6Y+5Cn2#vWoCc4vr|_*_p(U5I6YYWZE1ZjWy|O3cPG^L ztL4UU#?Hw?wH<+d<(Lfjhb=@gS3r4$i1JPfminMEbf@~u`DS)ZeChKNL-T4*@DRFP zuTRCnfNN?V!6`4LvC^!}bqqpAvwU;=weZjajQ)rqxf>DM_& z6RYbUKYFqocV-3W8qZFX`%XGd)HNd_JVy6_$VrGprJXTarIs8Q| zEWHJWCmiBcqn>eKwdc}JsbT}8fL6GYf?*j^8KsUAvz%uE-i@q3fKs0V)oJx6t_kyMR?!_%w+E0+c%2Sh50^hn2~sz^Hp2rzJ`PS&l%3I zq?=ro%K0mwI&1e*+(S_}aYnM`vLHOva{5njB(`dibe#`2|8tqS@Qm zz90Ow2Zt;=+X%9OjGSh)GPxOfG5PA3e(uxE(s2o?o&61(+G#?-dgv>*P6S(TJ~%kiqia2Yb< zh~LGMD3e+t!kexk&`4y-TlOS}&vMj~uEhTeddU3q0M!(IM{DQ!+LL3yu z^`T%ZhLacJsP~QyR47^WekrD=%;HO4_|&)G6Z2k^!JfwR-y+s}v16z~Q8K=00BIbb zf07Qd)7H$Z-yTY6p%A|}0P1Q_w0z5k|P#OM_ z^FF%LWhjHPsHvL<(gDiyh_`BB4zS*$29gGkk>Wft3XLs?R5xRLE1?=6LdFyY zNw+c41Ia#cbIFpeH#^ANXAu)&1@!5i-YxI3wcW^4A0BQLZ%jB;sx->v?K##{>OZ(R z*h?8GJO|Zx#^?9_rLUB_XJTq3$x3f@;^`Y8GEYmFGyhp=+7=q?I* z>`{3P`JAviv_bF6TH4=y`|QI}DgEz))+*P0Wxw1#*hxVWj9gEYHP9l1Ubk#Co;2l| zzHr|ULW2=8s!q+$VmY6D!s*@E4cn@Ga*?g^u)=Wr6fvhNyOk7verdM7y4MZ z8QP5$%O@J8npm+OZmTg8ys1R*n@h@bctlh2cYk1scBVZM#d)ux{VwJ3snaUqo2~2g z5UToF>^Y=v5!hMPYs9J2<}_`gVN4!j9}{_IyT#264CNKZLr%T05*Xzctiwys%+NYc zQ>>wP{VnPV<)kXguV3RW=m~N}&Hn0#7&)J>l~-hxo>OjGu5k*3vvG2?6scOK7d@c9^R8A=_*H?z<=ymGB-DWCn!LRn26RVy}VvXG_Dfo--OiB za=VX0W^PiKpO|`vu^KFbcN-c*_MumPS0zeRT)em@)AWejH^L1GDwRWA0IE^}PoZ;R z%EkR5!{g*J%$oavL9)`HO?Y@{jg%jd7w1}n?39RnzXI}aUNdl z?&mZV9DApK2oR;~5$|7Gd~bC3a`@4_OWH>rr<<1S5z{d^+iCrt=@$-4mWn$$H%0=* zH+(BptFjOp8(@o(=`xY=i~q)A_3w`tk_Shu($p@>XFAB^YV7@8V=_6>yTtK3R}?r= z9>^#F@!d5*LkPj9`S#T$Z8bdPb7zJNLdTNY63KjQD04jvOWHbyR+jCzhpt~Izz=W4 z8#*1FlZPh&Ro3@}BPAyL0i3rRDmeEfF34) zQ0Ewd|In+u^Lh$9zNywfP8EF9LQPB5nAwC8F0EwS8m- zS<#>nVYsvl1_&%CT<0hbX|eqd=x=`gwl$e22zrUQ^2Y6TOC{=nD99-SF|dqpk=|c% zg;}|i5zUdq07=W@#< zQxH~=eH!kZ+|g6T`Ggxdb!d0@KMRqad^mUjwFTYXKjfLc%yR$wx~KiHd!$p&+ui7A z?$BX8e2dyzLcmN)cYZ$_DPH{0%`RrdBFUir`h9eR(v!|s16x`G3 zL1_t|6rbLd=^~-D846Kxt-yaPslBoYrm$A<6XTkkGXi26kr%YuagglatG(`C7iVZL zD;LGqBYtLhfjRD6%2av&bM9XI0|VZV&FNpie^+3mh;TY*VgM61>7U41fjOgWHlS=_ ztGjSKOTgSxWxY|;Kp@D?%&xf z|6SOhvr5@$BimHtF3C^D*@KT^a`yR7f5A& zE#64)O3K3jbw#&8mex1*+U_)WxU-9=_lyOupCSwCJ(U^+ISO%w9NK{D(Sl z-rMd8_nmKaYx5$_MIlU#A2dNxk{>Y8miT+_euGE@@9!_h$qUWGf9m1nc{=4agtdfH zM&q9Ss(r6#QY4fQAT<{x5V)Z__4E6mH15B_c%DOPva6)&T+*l5fMR)-cfCtz^Mkkm zF-w7VM`xA12j$Zn97LW?rROG_P$HpE9hI;Ce275B*=D$HlzIEB7-)w9O)7;n)HRF& zI`cRj>QqFfz={iGWP-)t;X!TFz&Z-^SCg|BGM}GLmT9l@X4|^o=y$@e-G0NN+u&$6%=qiI&~*3~iQ!=xdm zk9D~7A4kBP7 z6vq~Akwe57!U*%#LntM(AilK>g4u{kLdZk{8v)RKLE#?k#K9}hmxFYzT%NHhVQ&?* z?#&nID7c?|TM!Zk;KoGJprIM{yGDY#T)D9jdNLrMwZ%B4Jg~4gc74*~zFhdkXjMU# zWnzt>p+m#B?w^#E&?Eh1jYW&KXgmC4icPT*rd}jV-O2LuC9d^zO+cS(oS{v}nnr5< zVbPz$XkS|fEj%aoU6*yRuM`W{f|XP2^h(;R`&f`ZiFLdkfC#?arWfzvQ(#Zs;ByRq zTlxg7mwBMM{YocPqe`fS`nKFgJ~Sl2l86}+orzP#4pyd0V3JSQr|VWVk$*Bve!U?2 zDYx^FP!0mDOBVbjvVqgX>(d`m(S$TRo#8W&QPXmeot7_J+l$e-8mJEtSB#C$oL#wu z>D&6DQG|1TMgRPz$J#Yp7fveA!9){rz*C@E+|{?t;)f9^$mELBEF7@Lq+w`(4O}Gt zBds(DwaO&i&@@oHPFQ?l&_P_)PDP7Ccf+lE%CG>; zUw*B6@1A(;9`0>IvgFQs_JcxC*a?&+T91R(B(S25OH&Q?@tLXn5O#gH{H=c-;_&?b zfDg=$KQx?ul`Oh!05J5c9Xl7EVsdRUf$f8W~X(89Sx* zlsaQ=uCeMeN(Hbp^rZxlqI}>RJ=TCCBXzA!rBS;&lKr_|YX8YhqQP0y$lfUzxt@kjFz>f*v zpBh)$i=R%L=&06r|J_5}*V0QYV9@*)m*RXsfwcQt3#nZ9EU zJ0UzuG*u9bb5kwb_0+X@A_S65kii_{y_<+(a@4?AyZ7;$Q&mQ;?0vo~+*gS&<@JcR zRf~|WyFRG^U6Py_6%tHp4-9G~!q#Q7p=N~|tWusr*|D8pUg386=H#mAY#c=eH(r~t zQnQi-HOT=@&}?n4!V)@0J!90efe=Cgv3JgFwdx(=`gENwhvwnB?A~Sgm#hBC&%XCx zD@GOiyqMr%2C_^zQ32#m#DP4W%$}kyk8ARGZz3Z<#OzZZ?;Ct9ncH4akKR^XY^o2@ z^RW(Ajb>+RG9*SyY4vaWoeCmn_Vc{b)obA$nlITd?Q)vneA>X?LE8BA?O_p9ZuJp3 zL?qcq5SWn3M>Dby7SLTp_Fu4lhnz{ijlOd2SS4>_+L|lpSg9xa%_GLlAtZRpfl*K_ z7->wvMGVM-x-&O|JH@GI*B$Y_rq+i8v=Y2tGb@5GySa*Rwt7(Xr<# z4JHzMxXLEc9rOl*ETpBl2o`WXaC>$aD?x5YT+G>L{6dSU`yK8lFE2F3+fpr^Z%KTk zRxUdZUt68mM7%)EIH`sNWjz7BFS@e2I5VbXL$TH=IMQQw#%xt>iOIOl^=u6(@7Oci z)3YE`_rVgl`lN3yO}B4^jy^WF(El1xQLnDYCtqLH`O2;BursOh13wo$z|jki7UZ$+ z@Cu(S`MRZ4wLEKL&dhkJwP?)hVVzv_kp@0AH1jV7bR4bzdCf!6XNPK2kQJq(5Uz;W z&^>=IQW zlkd_93*OVQKyfkB2j5+M{>6b`-;wpZNhrW@`CDLXCcIw|GoPF|A#+d zCuHfMc+3o8hOmGkJY2lIy!@PO%*@7uRR_<^?w|&)4e?b9!VqRM6qp^LMM2+A%z4mWZVD&TB%2 ziiabg=7(9fMj$A)FD-7UG8{N>P@i@*#NQhUj|F4Xhu_{ifp>gT@CHj_q*$uFY-1Xr z8xnk1t&_O(Q$YdT1eT1_dUb(rdOVxz(5Sx5arYGoXEcsCxu3)0n3{PDO|qlQ2F8(Q zjRx66b2TiV)Or&1PwnJ$a*J}Kc4tao$ChHg3Ii(ki z$K?5hAwW6xYy{t9WmdAPww9lkL8o{{dXv7eU*vP~>XeN55`HVQ~M6cIXz`E>2pL%E;Nb(azw8>25vq$`a z6O4otsaP4=kmPvKvBW+RuM1IcmS(U2>J-m^3~@o5us|eYz%%-DA#cR+yYPF;RYz-R zx7kee+OKbyAbncP&ci*+(XZvef;X{te1%Xx(g}sX;yJdFm3Ckxm8MkZeYf-Ps{mB4 z7dxB12jyvo`O}m*>5|Dn}R%U5Hl^!yPpJLLVHTEVxh8wB79p zkeU&Q(4n;mb24QgnI$P|(m>$<+(h>-@qTFU_T(gZF99M08|+YvV;^djKU8@9SLUjG|t~l zuw228PA-c5P?l6+vOX^fpTgQ9HW!pS&ZiQ#-61+KGw?XB?ok9H!y zl7KRVHZmo%=4b%E0HK-t%K$U{rvky zn|+A43i6kiPhZ{a>Z(0Us%SgcZV4L2`f5q?WBTmR?l*stIP@$SIvc23^|04JsNO(i|M4 zrc%a^R-KwfO9&AoeX{fJr-Qnrl8Cr&_aAG(|3}n0g~!!^?RqA58XJvm+qP}nHk!t^ zZQE&Vn{8}1N#i}={{MaLbu#C(4%UnNxnD8dDWwqUTGWz!&fh;S1V7B|RR8IABcGh- z>GH>wMrUzhI}5~K{)FlgV6G)qV=?1hAr%^Lz~jV}&OyyC9q(b_+`T$pPxiMD`xFTN zm;x^`;RaVHEe>(8fexa%hVt9PHkr{Qdmf~~F^39sUi`~7djUu*0ZS5$#pmgEuqI9I z1h3(NgyPvMh;9cpAlmo+wzP3`hsS4i@>_0lioQ)>FHbC^e~KmpI)78zo<*s0BKd;n z_+$bLfzw;iLG)?lMiUGs!_TX#;8D#v=&px~#n}@><%Y)p{zKsNgW|heWmLou&=8Rs zuEvX|;0lmwLS^JP(^<=r3BmW-fY+qEEdI+-Q{d(+qJUkM_B(x^6Ru_nIXMk5#{jm} zVV-0-q#az%We*TXU!nU=#4QB(yw)m5v#+Ba1AaV{TPcw|+F7EQjEWF;$wiMqE%KGEl`gP` z-SZFFiC5^gZMCTdyh5ZfW{58Ow}0dR7%(_~a?D}aWDw(J`HLd7Zip^_otFstN_1L- z|BAqT)$sfGvf1|Y-Y~I!%*kO?El*?1yB)dqQF_eWG& z(;6-gwkrFnjLZYyr|7GMbal(%d*af2V&Sd=j%{%(vQn}o!3WYI9 z?0SY~wh}H*Q8l^s$JILjoMlD;F*4*p`Q6wap$#C-iekPHUOQ{ss#~jjc|yNu)0>xF zUDDX!Ek&T?RdRvxs{#g=)%>OxncAsD&1oN;yvIC0%fgOEpTmO#Q78|2BuJ@LnsH)=jJI{wp+{)2&?!%NnvU6~ zR(tfhSccC%;DdA&UTXWKiwbPf!Dz0TpTH0v+RGNgJW1BEST;!gYsHzbAk08;e()u~ z$wk)@t>|qe=L~yB!k7if(cn&z1d?SCfa-oC;tA9|=M7<fD#*wHP387=sN*1JTJij63;=G#&OoNNh8euQe}FNR`{l~PJQ*320S-J-pL7Z zEoFEaCplnRg!=lra2#mz@C@pFtd5-hJ6BhIf#?o$XfO?<;%Rees<9`if{Rh|wQFm)Fd0EAo?5St-Xw_*w}9H z>`PB95a$aE1_=5Rgi1MDDndpcavCpj3 zj8Dg)zIS37IrYq38Iu%wl0dFRmb=yebdb;Pri9EEX`}|I3BcnsDUsUAr11knBNhRA z1a+M&aSx>dv4C1O2_=bjzh&|JH7_Fw}aW4^!_3^ zEP41&m}{BD>f{VafFGed9Cq`SaF#Sg5ElOSZdADn>E}65(aPw~X-_s?rrB9F?{=&< z6wpjYHY7ZoKDZ6?cTy_gxVk&Om8I=!(W>3MPxANuwCXji30)V~!=6@=-Oh!ka(1(a#q4Ach=J!}A>wQYn$A8K4L_JHIGn*lZ*n z+LwA`tWh}rlH|ku!1oOeoCU05p=O{B+pt;hpAMpT_cfHz4oF2z z$M-R-fq*Zj#2Y0FXPKfm2!!bX-ty^o*CLkm@DPYM*4Rol_Lqa8xsOHx#{e~1+D$P3 zW{=ob8EaY@6y0xBn8J#Jcz?!J$W7&rQK`X73}Ar`4$|L2B!Ou+P;fh*N9{l)+kr<7 z?{6mYh$Kq&ao|kjLl$S78T43q%{mlNkLNLi>Kfyhc6K1d{Gau8_LJc1A#Uo4s$*(h zXbKtQ4jbQG$REtW6p2&-oF3{A-k^gH%HY(fQTVQ`Z&@u+rH409*49I=-;c^hj_;o~hJ%PK~RYu%=~{g(O5^(zp@TD0)RY#Axqsp5`Y{815HPeVYW;h0@HPUp=X~Nc7Z`29mIG*Kjs{LcMvxNH z$~m0QlIe6yRjgmis(DXpx9+|275F>dC0?Q)j%+GgqGv5N)olUOGQbk_%mIp8UNE6j z5=UXFm#hwBAA?P3{iN8Dx-)b7u3dL#6imLoxA*a48Mw+7@D`s!;7-sGy=M@1WrIKP zJC#RrUJqHKERWhgUSU-?U5c?eRBMKSA}EB*f_2hhN8jp>0?I!^UJ!@NPIiEIguw!0 zTT!|AM3wF&{I(Dx^vtI6BDtFLU`ba7t^h3#IB;aCXhj=w5E9m0gLT^`~+H2kE$f2I7F!Dn-MPkpA4YiKxpG$^vGiwgw6BB9n`@ zlW%ziAjYK?AxZiND6%R=AO}W;Wn)vzNlp8xVVZeGh*+_lHZCyd|44ahu~VnL2brgZxR zAcXKdpLg=Ekt;|)6W?2!2W*WP}8 z0-Ksc{b<>lg5h^~TMfo%X@W@Jk?rT%N4s9Sf>2xdFoDK4=_e*CN5j|}*r-pqU6g<7 zRje}l%8W_XK4F$zbG|e zTBS6uy%Zr86oB0YFoqwOl_NwaGN1>R%(@DUX;&&<239F;nqk5SoJF6h1`agv^%nwK zOge!-=wf9W`w0r@JfWSY+&8!8nme4s``d%pv~B;PY}i}Ak^c?5S9%QTfXA;Bgv0U& z>j?-|lP693?ZM<3BxAP+KtHXr8mDr|3*~FQoI&#!zR>C&kj}zPp@fcPozgchtw#gY zNR;L^Dh7dnVkjwF7t6=d^14hZ*sW#7> zYXrDcc3`Y|Mm~|jX)r7YajvCqe(=2dIq1?A^=IxUwEw%#Q;)OTo9|eCIActnDQzbK zpmxVLhYd#%s(kxk)->BZ~H+9YVP6^SCtMn;58d z3e;0<8>VN5H~X7NQePtk$?1QkOIP+>(eQQaVuxhnj39O`pqrrVi-Qy`35+7&jL$V)~pBKYGBJ-;BHcr6Ep)RjIyRzyvy zyBaGd;G?9Ke6WpSuV_Ks3>o#&*r~Zp{<>C{c2KTGY}4N;KrME^pn`hzrz*C`2OWw< zz+XxknFi&wi|>%i`OGf|HolchZ?v!q!VeY$!8w!Z5dRYt5kmV<;s^lz=c<4L{Vw4~ zkI+(ca&q2XfF>erRG^s$D>F4a$H~R-gYENu7A_WQYBrFZf{BUimX@3CzJy2FqUvEj z&-OC_Ok#|AX-vA}dZv(~OzA@&d*0k*dA;sem;o~O8i0?m7v>w3wHO4iPT7lQh7n8Vur^Hu~E#uq}*QOl<=9Z@yr0UEEK9FpoGI(j1Zm72-Iu?Qgwte zl7B>wKStC{csQ9_F`nkBd;nt4;D?Hn&`1q#pPurJJ}ba$O{4%}GO*&S%6nL#$`f1b zF*2x-x~ZSJU?HnEXByd@+rWGCA@-;({#Nu-j2vZkB1=MQ&gBzE7(ypH79N5th;Wlr zvz{lu-8HT&O(c>eqs6q9;n0kmOoXcsVUv&By@N3RgMJRlm$Cj!8mC2P9M9l`8Q+2h zdc_t?t;r29GPcB0yFL)KS@pElm1R+#xV!yi<1S>>Wm#KHg2C0U+%g_USx~fE6A3Nq z_zDg1c%z!=m9TFx?VQrCngQkD>Qz!D)(=4rgL=1^Yw*ZkP6RBKNFv&tJXxi z#nnYGd#k!h%};DoE?&EWFx^5z*$S{Kvw{Zs7r=A6E4%AWovd7@bAg6Uo0Ar)@TQ=_ zmB;g{3s;nKHZP?%p}-kw@`H6xH|B9z?0CdtbvtIw$@5T?z#cwlmj5P)f(k778G+Oy zoCo#1-45Ic8Oh^p@+o#$YUkq$_SF>5F)}&6Q2_bRynL&)9BJ z-bh}iMDPyW@h+onSA{JO(R2ntG`7Z;+`VKR_Nmdq30}f+*RAC-RjL`*vzFGl7~BuZ zJtW4}G&sQ<-f7}XD>l<9wUoy5GiYJ8jB-0dcy)P~EI@z24a!c#I?P@qG1RL4EvSVK z+DyLqm~Tg|^!@F+EA+&g?$klfCux1hHZbt3-;F~B z?OpJK$bePxMJLk==d+gz3Ayg}J)Y@TU@MX!8xl^4so-IU^Q zF%;}NEpXqdyqP?4nSKlndgw;spEXSD3H~w2;7OXSZD3e{H{LwvK#O63CriexAg-|n zD8-HZ4QSE#o3n^WTPZg$Ux;hs^|z3{=rJ75I3_TAo@OPB}P%S5nw4>gpdhr*^A{mWPp$pv5pd9ZV=Zu}2@&?;k@m z-qOWZ)v~3~R}O|X15w>7e(SmMJxyOasStVw{&Gc|DyC)rLY+Ps1zTDTG^^_>*M8jc zB{@>if~t+|c~oBlQ*3w4)nv|4jKZEfS)j?44PPOXj|$QUS^P|+e;#5#g&*dR66034t5blj zU{D!u51yBeGGP_hHw(jM?g(I(MN~G+g@5}8u(zTyr$0r=OjrrH%W3g;g#usC+s2Pi z(7tdNZ)3)4dP5XrG~GC+(IC^fSb{Wh#w!f4UDV=kcQ#=qu|b|Pr=ulw^}_rf1~G?U|@ z=Vm^AQ&nYmCPx9^TrA8l z3jZgC|4oOj@jh^6D84oCi=i-8wFAvc%o#Rq(0G4)mPZO^Vc}?jb|tX6GHmh0FAk;o z%uo1VG(DS=t!>W2A4KhmPO5(uT#1}phvGm$z%~Ig!arodPOWN>jj}&T8AM}iIca5{ zC~(p$KNj%>ZRgPTDwu5uikAF6IeG7HHdIWsxGXyIA)z)dRk&M3!hk~#6&q}3ZWPh|TA>mq<9%TAsvqt^x|XkxY>I+W{IpN$j{ zmSdC8;<>W&-Ig<^&p2+WHUy972=c!+_oebh5~z(mx~KlJ{9EZ;L8NhHx14PNYZhy> zbi%075=tqdEZRbn#1K1xmKBz#02HB!bq2My{DxJw$)g)3F%!c4W=R0ZyLi-x5=O|P z0bIFq97rIJ!!T*A*PrUW=%B>W7cOMGUv}ILJ=aAvLt3MLDO|?lsDAw6^5;Cp$c0g+ zr}|w|^V;?BQ>D)DzTN%C$~mw#Np#IRRVBaxFTqsx4 z+!kH|y0?x}E2VMM?OXw2i+;YIhOHdjrUrWa)s=Am?d@DvGG{%E&M}o4k)O#{;kmy8 zEX-TYY>b8vE5QJH)A~rjTjuYgHyY%xdBQ>+GS@|jupkbjocZOC`SeZl@{}Qez|Gzp zd$!+%=krqchitPq$;gay=)cBs<|;4(yINT#fDibuk!P&s^3&NE2ewYBEnueUeju0- z{MLPNWhTHme)w#F;W7@g7ui&KK0khx_9LdM%{XrrOck#7F0SAiI&C(D1;!?y!QJ9) zLmUMknk}_<0vy>`ED4$BhxI}Bjp}T6DMyijXUcd_5O3GpTxOfLA?K!*O?842VIZGT7-$0s*c)*BP|O}c$4-Ue380c zig`h;c&{6LR~6;i!%?wTQ?XHvR9jXvF8`H9Sbw-krRwGV-_SOTzkE2KxfrF-x)7&n zgN50srTU-+dw;FHE(VPb^rc^fT(R2#I?(qJUve-OW};V+YHoZ^R#S?MHd%+6v(fVM zr~)&`+-=$3T(81gPk9~IFhq6s-Dw|U&!f)6519yxAmmeswXY)OIW_lERd(st0Z$hM zifH&?EN*i<3rhKt{L9LsV54n=O| zWreH%=5@QDW|M`@8ah{E5_i;fI#G9t-2x~RUMsJ<-z9hwV-Cyoz1A0Ur+ zWTv;>U-!{2VWiqGA$Kq@caiNs;rT~Of7Vmy6TMqoNavI)o|g8j+rV3vO~Le(UrAhW zw%?cVw|`GuT{+auL!8yyYw)oV1~Ufwf4$(kKLR{D6341jD7O9s4U>HSiOkEnveeLUJY={l)ylR=ulz zvcu~~lq}xX;ty1fKq2~bY=E8tyU9QjiB`Kmz)Ts8e<;N>TdSmRuCrEifk;0<;!#J# z)bop*T7je6%}kkF%g7EA1l7Ps@oA|Heg>dP!6wZBv1A77z)GXx6?zK-LMd-Z4t&w#8Rvez6;?v3r;sI+1=P>G5*I(<0H%FXlhmE8 zVygdd+jy&Co{)^6km~VRWN+#A+4Fmh^GChUQYL-I;?T}`+W2o!tU?#8MgbC@E*%m@ z2IDgx^QW-$TVoa~E>0Bx(c>=+?Y>%3RnO#^a|7&n{21k?P9Cn=2&bgyd63Ntwpl2P z*k%h@02b6LUI1m*z)m+*GHXaG?mvbl?-L{wE!ZXRoYut~OPM-TU6)mAsCfn`F?hs) zkw;Prg6|b|X!c-n^;~?qfi-l=-S`MtMpXR6S+}zCMy5NJ+u(*SJyd@2^!8 zpcA%vqp+rG!CsuP`;a`SR7&V*oM{}kJO6zl5)s-mTy1@PS$7BZBO9J@HQ@Ivyol^~ zUZ3{SiL{blhPIBs5_BDs{Em)S;5D*?&U>;WxT^&a_rt0yt>VTgku8KXtV6A7q^p>N zzB%4fyG+Ho%q5&7Xxx7i(e{q~Bwv0W6!nMHZzzQ!XeD!tDJO)dhT64spDximX&eH9 zdf}&30@ftiNhq)>O+e**e18lq-V@P8L^VSAZ*nIdW}%lWSTHyY=wg}V3tTp-DrdUs z8VX83<~Ot2`Rpt+SXzt_!fe=U5G9hxgPC}R#9RH*IynDa6v-R2p$cB0o4zfUy_+G) z?YVQSFoeu8s@R4AAGXS``_uZGA!0&Mf;W;#=x9Iagi2pGgj6Lw5mjxF206zFB-I%V zy(zBFSF8G zC}v5H%zMRI!XDPb9cq_K{-oTik^lPGMN-uZ_T8#43ir7T6NZ<%kDBA+nEdeVIL5-j zmQdc+O^e_!E)otA<7mn+RIcrc1zQ^+%M*F;8o1cc406iWgvWf61tc9k1}qsm=yD!vpUomb$9|Ps5;__DI zf6aVL)4_sUHwsV41RGM^zJAU9**AxN=&Y=K_;UUn`)a*q;vTXxYHl1I`FFuI2!5)R z%3_z(8%gSda$ltd?tWzTvx3D*4d!jPH)eVOwu0K6Q|}(tb4&iADNz2mQjrIWOBEZFN8~ zZD_JNRMbHB z3ZN4>%U=g|E*)g1r&5*FZ>@`~rhI&VMyjpjTF06dJAMC5mg!nZ_4Xys9Hbu&Hl5W3 z5L=2Xw$Omf+-eZIh2Q2tZEYf`#Nn-mZD&PlQPi=8J5UA-HK^KYASla40;G@lFEHYL zV*Y*O-T6Z@I2DE|f`4#cQmfRGLSv6u=H=h;OTjDLw51+X>ifs4G%duNr#cf{ z#S7ArVRy$N4fb8+@)||6Q)#>%aTEo#SC02l3i*AkE5GAn`V2dEr-@E;AI#Ha(|_;G z-pcHdjHQVNc&cJA9yJCNx`74|Q!|wXsI#e0QjhAT@pgt72^ntb&P4@kSbrVbVV7qZ z`hG|le#G_5o?N}Wb-Z3}&bB^y6l!~*vf?>1M0d46I4an$=^_t$0#Rz}W$i(!J-)Rxi`)RMcHV(2#+P%T5U2LY%$<*0?(Ie^3@!8qZY07 z_`;53R9j=WmYr>*wEP_KS^Y>e*=3!Gjq4&1Fg|E_#!M7rqcqwh&vDAzuk}{PRYuIS z%kFlixH|CAKU?KGbCqd0W>*CXN(6i>ZfcUkUY_3pnken74Q$vp;g+Xft?*YN&8g6q zN;>&-+2(H%inCf}Yg#DIYo{87Q2a&)pxU~J1MvZ;y}b{W8f%XjvD`&K)9_q7)IHA{ zf~vU*?><`=`-%2Mt1H>+-ky4Q4*zSe+;&d1=Vp(G+sbrKH4G#CW+OdCBlcDqS6z^S zRx)>K8mL|>*r>J0aF)E%U|vAn}*bmuBdu!1D3>ByEBx5Fpo4N?g0Plh&Z0qkJYsk(rc>OCErkQ@TpvrFtf%Q0KLd-f3 zKqVxV!>==Ku$VjE>hyEBByDYUZ5)j-^J(20oIk$PC4iy|g>251ari@s1CY;vfG-}E zEAF6$vO?v3RIRzMj059|-W26nPqq=}ZGgcC?tXc? zsjKP2gL@n%d!^e5P-F2OkOV>Z3q)+#Bm>e9@0N8cX*T=~dM4N}kh^y?PKWw&Z-R0n zP9DhpD%X=dE98s)z?Ln@Tb#-;bpBeP0@;ErJ)&oFF(R{2H}1ey4M$xiOZ&A@W2Xk- zbc*@MfYT1jXOQslu(7;CG6vxPnt1{YN7q-)s><6heK0OUA96mao?Y>7@io!`!vZ)} zB=QJmyp~V{a5-I)s!km0P{Bmobg7!xq6!r*??fT+i|Y>hJ2U z_>An|5cxcEY+|^!AGAJf*IovnxeAzp+bXbF{Ia>CA@99Fl!@eEPl^k)D(~{HB7Pit zFXp9_7>~@+&UKw$z8;H0AOVcimn68#ef6;o2f1^%k)vok{jUe&*6jcz7BMo58Av-o zj}CVkMW)2E&iFOJx*KM}?QUo78;15O<%+*{>FYf^On9O0$k%xkUQTFcE3B1DbgW^N6T}th+d)AA z5VLanNY;y%a5PhFRUh0+M#7=HU~gXhCRh$1tf!M1HH$>AZJ>U5Ert)sh!7O8N8VqHVzjjqSw(y<5D{U z5ZgRBw~OScoZ$UvK?*p&3>gDIsYIi;7w$LH^Xew+?N>Htya{@KYeCic;6%W4ARurC zxpfd07_40K4aUQcJodR|jnZ!T8KmBkqoe050}&8fWPlJz=&B0O?XV@b$+;S(t1P*^ z5I+Mv9*^FuqN+IeXI82fXBhBvzp~VjYT0m_bHMXng{l1v+Jj1 zRgZ*zxE{P8G?}D}R`YY}MtWSo_o2_7;D061Xi(q1GS1q;bGdVpyLs@N{hak+VP$bq z)~Ih6hG>frGY&!6H=y!W-{8nebht&H!1xoTHl0VEl?a3U}*QOkrqo*Rf(#;cnVg%hWCEh=n|FowyDO%`fF<3L;hi zX%2MTTKPgQwb&iEZen4rJ)%eKdi5hf!Pd|5n<4y#2f=$ev}&U+>L{(wy`T506^Zci z3R?`UO}Iu8_mE+UFA7?w!=(GWaNFulgu>cGD?yD(eV`G2G>G8SXntO{T!d9*CACmo zVJLN3MSYjlYTK#9&~u47)?4S}1EKfc*2`NR&G6F~$7pZY@p+6D_R`N5v~b`ujC zf8JRA0-Sc50<#V_bcxC%oEqjyd?1=oCrOnvy8iRh_r1!a?&^<%gLkqJkX`X_1{7)L|22s z0d#Y$${`0R3-PB_D z+$t@qAGLx5EbBnRlWqM%JbN917)bN7L5=@)#f@*V#%ykSKlOfPSt)+Ah2ln^8NtAL z6xxFD4T{>h8?bD`jRnb(iFDmB7DO|m?6Jnc?YySDe9z-WaPqG(39i<1i^rB-T1K(< z`+(x=hs!lIAVmZyznK^Vao*1`f8b1a!_7_4tzhbCyPeS`ePP+p*d>kj28xKN&|^UZ z@K{@Ojpj$da(KkScvvY!q*jLkRAX7tcvy#AwQDzezGUg zO+TODb0n=8u6q$mF+I@uz6fG+M7(*I(EpJIpJGKN`pHVlPjGXbe(j0VHSs!$ zh8Am+Gz+ps0tW~XAO7+O9z_lL#&UmK-<74@e`v55p%-OdmY=}6d_%iSpZgbvO5a?b z0&-<7D|8y6z@Zure)WP=t;PIC;3Hb_L%j2@B#oKFdWU&ex3F|aTC#k4RKF|QqduNN zlVk!Oy3o%Dx4~V{VG5P{6l-khu6DX~_T+m<6bZepgM0;+UI**xC7*NS=$7iy(0&1FB^T$G2aomBa| z>Or4KgH|z)2qzifw}w5=V4BM&>zVM(D0S$MWqTK!W~9DV=$CQg240g`4ldul;7@t5 zY$xRw8%WaFLMiiZ1w5hBMS-AHLDxeb{2l%J1Dv^kvUbnen%yn*ebWeeB9iB~WmN%T z%@W1rAiX9EsS&JQY|hGYqCc|6`oJ9V-%uN7q`T4Wul;Vt zp;M5Z1`<4_^+)C=co0(EI{3O7ng8CN@?2BzL5|8 zuw;W#AcInH3JMfmjxDqm45kglZ|78NBIJg^EjW_vP1%<~qb#}W)9y=E-cz3<3^_tev@f^pzx7kD~Sp-eM zFb@tQohX>~F2!%u>J^1Su18qOA7JV2bEW!YWj8odkBbA zhlU|66zkY7=nX5ArSs#(=Zk?V6&2P`Mzo=hihn82um|oAQ zkyD>O4;W24VvFR7jH@tG$m8f6fBrodmW@@JkG{Q^__Z__`zL(c|8Lu``@6`shwl!< zF`^w6$Y~K5YS6qy-jj<2rlW+(MyB2`ItywaKYcyaN@$;bdH5Ij-sr)f=$$L&e=Us9 zd7|j!w{H=$>MeIgqjWRd%&jA3+HN*MW$)1@ewAMx7A17+yo~(9e}>m4??a5s=>a!GGc$UrniT#3TY?7X3`@LM&jm;bdck?Cp1sOT(sATaSM<9mLC z2whs^BE+5+5q{Eqnho~9H$Z;=|G~$97eeaD17a9Kr#~p@IM~@3K({a1De0)`X*f8T zSy<&m?@iVitOuE`YB1 zhKQLJOYO}_=op4as)WDcKfD=(@Rpr;7{TW{?oQroxO zMUqEOLb+>6e1fQ^wk+gmHX+M0>Dzt{J^P^#__T{Ma3EQ=>FF7%K#!M$UlB>vyT*@3 z)ikvvkcfL#e@d~`I&cc#n-7r_zF8?tpHr57h!K9-hg(L}zG)tW`K$Uf7I+lF^6$=< zxi@S~Vy@HwwU3ADPUq@+a_u){p*wi_7`Ea((NiJuQwSzPZ-bc!d2p}Rz|shAc`z49 zXAiQl4ylhHWWO3YHydfGeUGT@F-=wc75u#ga+G0*HG&N!#uGz@^v%FwIPnz(%=a7s<2mzdYTmH?CY$y3KaO}hpioeQDYR40Wx zgFp)R2gx=B#y_QKV*wVJk6dvJ zxZCkG+zpE7X>jcum8+P5VG|S+U?P3Y!x4ZGf^xgIPEJ_u{L1alg6wjY)d28;1m>^D zMGc;#!7f!_X9VK`PfUJ6*0BAu54Uwc(v5xW-R#r=#2?I)|u|pD* zh5fbzk-m?>&6ejUby%E1871m`x-PU-l1jSW_lcJ*FbY7442q6jNGb7^nMcr1v1cH@ zv!Vu1T3kiJ9~FZn*l$*SpmrKY|RC1DC)}RR7i}nDv7gH zO=1`{C*1tKUQOYqM1_>!1uEpfL(Q~~0gUq@2FkXr>={`3h3_6tIlS@9cPJyi-adV$$v#08VLmX&LflBF5R-9;EFs8W4Xa`kw(^(s!Q3nya?G2G_<*ZV!Ln=&#FGON>MQ zp?k*&lWMT|%P@KRi2)CFiiy~oXwf_SeZW#lp7&W)81%h!e1iMB(KfoC?8cnW0aOo( zTi(!FU`?_Kch**sm6eZ7ca6H6!_WIgQc_3hJ(Rb6hSWxm-dC%1)r5h}>jl=HQD~^1J)wP>s}_$0Cz7TqC?wcsh@zpZh2CuLQXWH8yrjUUacVK8X42lNM(gTVTO2(5`%b|ZyT#m zJBEq`9o$JrQ!jgk^qyjKBgU_YKE@2(rDTrbTtBz(?4w)6lJctMmsx+3@`m6&%{5wY zU=e;8;NA_W*Ke_V&D`DM%SZ}7r8ovK;b7@7E{XI-!{DT>OX=}SCK$F(H-rs?6+G9D zvB}2hZ;nJhxgUI{nnq)A;24nSdUOET3v*V3KDVb3b6{zwwid9N!D^{niAcD*jorv%!1Y)D;XPHo=PVXyG+Vjo-=RN#dX*8J?O^vU9Uf#D~*0>9xQG9On=Z3|b z1p^8iB4GC|mj@|nzB|Z+D7Eohuz5|J%oDDv9meO2bdPnKE8lj%&56ch#d%7Vy5x}h zm%jdv%EIQtoY8?a!DSklm>vAA+N8U6RdDYl1$EaL7Od$;ByHhEjYY7b-Fm{gHt15$_7{i!wjjia0S9`GNQ)cI2$o%8_jj?-4pkHG;- zSZvZJvIsI^8t%Bk>b67hoT-YbIRP?-N}1M$W@!0yQiiQ#@tdVwqZrS65B-@gWi-9t z9Bpyb9uYw5Y|A4dnuBIFXMCYa2teNU4l=?mxR7r*!e){KEK{W)=#K4A>CyO^(0T`l zyuZ`g2i=B@&@=g;Uxcozd^rK;bK_HG)3FY~yGEKX4z@%01$?Nr(iKP4#+z!+1a3Yv z6M+$*#82mgKH~S$+NU&T{yxFL0m)x&}Wq7Q2;QKC!&tBqEn_i9x-x}VG1 zyjy;Z!`fRO0v-`H#MEft74G=$Mc`4(^j~2-T1&tjPC_Fes=3nF?oxQfVcxM}S$My7 zs~1PYyjUxQP%8=$$?};i`nKKaLm@Bz-Iz3>zM1p}xBqa1;}a1+!aSKJ1@>+8Gmt=l z33*;{@0b!RU1=3hyKom$)lGA#_D=30HM>Q;_4m0>p_^1P><1cy^^OF8|w_gHR zKW#w&ZCjeyGvPvAOxUg3;HqzSBs_SW7si!ZS>H>&-rt+R0#m^+JeFeWZ=?QvWo_s& ziCEa83R~@~Cygu_;AwNE86L6`;3f#V0gpX|Q75LE5?+MuhqK%cWKDCY6gQvGxAK?O z*N&;Qa=VM44by%9;mn)7m*abyr@?G7=w9B;@SKB08^vExt~m~q80bVcxQ3|3w)kQ;7C3HS%Ay*L4tsTLt`RHur2BW6m$O%{lwICxl{iW8P-;=_MA8w)L9#4#AEAO$ zhDQAx_@dXA2StWd<0!6>E%kPwpj?Ky$tf5LCyAgiX2og;i?oXV)_#x zibGB^qE;3~VYoE18z=p*|5!E^OtngLnFyH7rPFV%GkKtzOfM$(4x0b1BY2FlG)g;C^m?j>?5WrftrjM%~0nJixX=CbKh-d=UP_tTuE3YmH%|Uy@9@9o^_r zx=L9~bNxn(G`qxUd#eUu+eW`hLI`#g_$3ZTt(_sFYi)HG?{8b?FZX3L!O9+jTQVrP zWMxO22{Fuq;~X>+<$(RJ08BCE$Zc|5l5y>9y=>K^8t&IUR{lkzG#{`DS4ooB!F}SY z@RtM>8A%2E6(wRT2GU7);5C#wO_F>0_VndE-0_HWNgjX0+|@8&=i93ftDw;pcwZ?- zv1kYLlVAp>kuryWP%q3mD(fW zuK-hcn8A{iM6r?(2ky4P|FupwOQ1_Vlemu3y1%rqNe205jBH0L(e~#Jd_8$4cW8 z(!DL2OK-(*&g9KM{2OD56N_Dk=vUfBvHIR&B#9CC9f{_EFdFNcP#U$S*w=&uD-4`h`RhJ~8ey22EHYeNG02z|bl|K1ZLcWKk#Puln!3#-! zwf7yOh|V#)&r0QYF$OtCKBZ`}(OZST1vwl6@?f|$!cAvQ0RhPTN_TpY3as5n6&lVn zX<6N~WNs^@I~dGi7z+&;N;s&`up54PWf|5de9n~ub|9EMf7(Err%*Uint@t3hdy`* zk}OI}ODP(;Ck?eykxs7r1L|euXS9v%>K36BS;78Twkj5eh>rbWj$THR*_2>NEWO+F zH*tVL4!;FZga|2Uw-zE<4L!=Y6NOhtfFumr>0ouKj+{B#3eIHBQ$AGnnLHDH% z+}F6QqFXhG`@Rvi(-JP`j~m!l{W^Qs$JQoOLyV_OTmc}u1cQq!IgTc&%=gb=q2<=u zHQ82PHT2s^7Hi3PXkc*Im-g%TA$rj2YI^O*Gt@yfSw%#mWECw2A)u$?L4|6+;Ql(& zhv8l&SSyU$B#fmjjg3xyhfM9qE#^tnE=M8- zq-0MMKZc%5{Hzae2RXiaEtz3^9y|Fz>rky&X$Z z6#h`+ZiHIrMDi|XTZ@xBYONNl{O<8y@KR*&;^j8$vfTbTy;lQ`W~|`R^dT!ZXWmMd zMy>R^>F~If+BB^eqtJX-ncSI_vs6*+!zrf?(S7EFwCsAFr6xOj+EpdISwUIePc*2J z)*z=5!B=3bi^Pz+LCeEy5|qNesU*=`nrK?u$-eB_K^?&gjRuE7F~w{+{c?yr?zyc_ zxO;dNEez2*p<>i9RX(kWa!p>;(=`|nkBS>3WE|~@>l96dE1cg`j2(~6ZZ$%e;*whi zY7{~Hwa!IhLWG$wMmi%hu^ozhwQ>_UWb9@cOU!Z}Mo_7!RAnXgR>JLGd!P67l14fJ0D9f#ZF02UJeu z&h=v>w|?zT6D3P!)s!rf{h+TEC(Rh!?gK7Vv23d`qp`Ne+F)y^!QAtinmVVo~ zo|BM|P23{_gpvq&z=n&s9di&w<1}VpzFxOiQX#8PtZ9zV=-uPaU5h`wVKgFhxA-Mk zJNg}F$Ab@!Lg8E@*ee|Q_sDM$fQ{6Ds{SGUDBX?1KnnGx*W#`+{r$%218Mswolfhf zwYF|!EC&9ub*=0}Q^5(WrPRr6k!w5Oq#bOeKUO%>X!N|@TJn?&)`TAWw-^4vKMI@C zMx%ewP^`IP(qee_MehG&ax4{aD$;zHSh((-nGY~{4D-_K)8X4KdQomuM31+^kfSHm8EK_Z;Pj2n4fROrDC=6%_m zOWa`Ta=ysI;TkFVeR-)7b4-6^>f@RpI;dZbg32za#?qTz4(0uQ;feg9y182|pd717;}>PuDZo(>4|S6VtU-2^L@b zmVYs&G5pK#Y9hP&Ez657RoZop0YEH70Rlc{-Fbn>Kor((M1oH)ShUsV51G$Wel6!}n;7qd zV@J0v7n_k`>VHCmOg49lv~!UZNK{hF8q-ud=bC!z_+V6^#ocHS*ETu>zTHf4&7W48 zq%*_|Uyh_wWFfMea%8FZn!=Uw63xTdYDTG!rFNP$Ki2~O=((+2h# z5?|l*JOQ7+?yL}Pz`Snb!4zYDd{q52P4!WAGh=7APSES(OO=puYRJ-mA|+@>_B4?P zkI?VjuW|xPc0Y-<%&0c<}2Kyb;$1`1qz^ohi^yvzdd4#4hQdj&_j+! z+UN>V$%Lza$=!I09;Jkl2K?mdYu9eOO<+m`s;JxXXZ$k7-ib5koyNvlx!8@&$ZCxa z^Poo7Qzhd8+e$;Zwt7lD;;B-bipI}SD8ep%3RJc?D_Y=tYX*;^VjtW2FY6@pRW6i) z();_KcDI!6uF1~Z50ks9OmKUjyVlK3Ys2BwTZ+k=nCCGa(h{_vlRA9gc+k0o1^xbH zicf`9@>r~XPto1n&h?N{=v|w{)Ezx-yB*ES(sDAw;=6k-{$XV=&%J+iPl_)i#WDgn zXd|Mn_U;K#r31>kg?d+xKr0;ikx3Aes_IjQAh6D8-;?wA28M2QQSCpe56w6S|FWgi z4~bxjvXtWo6P#Lo_zicN&#mF@kSiOhjW*3M0yid+WK%z0z`G+ip(RK=bX*;Ms@49iiNmt?Mmt&zva4sU8 zZroI>bF=1@>sxar_pT6j<{vphqsLe4@57OWG=3f9SW!LvzVUJwCIexde9grv>^wR> z;5CudIMrTu+!OW0V5OIG&2z1`EERFAQ&K8ND;HRf8!*2fE;XEbFXbjfN7+)7cduAj z1@F~qiLrmloV%s3!{BY7vUK^*+iHb|!W=9nY;x=<3@#e|mgD?4j-q$k^SU(5Z|K0D zEFY*Bdy({U{uWIZopcx$&SEm>3y=u3;<}B;~P4hmPxZ9uEB_>`vB+zZi{dy-o z@t?e--2R56&H63yWf zouNV|Rz-mVuVXEpKLQaS6;ftJ!=V$;d8K1`L-lr zQ6;E;ABcJ`2#L(R$X9kAL7^7ZlbDzstNA<6bCis=5N1f9stEy5WdbD5$P0#S1m}ul z2lG1iJuI;&d8)S6>3vs0FQ8P9NNUL7PIv*chsaW3-y{2*Y4y5d2Z$Tof_2InomP$t z(PQ^}*MnL;`ZvcY`?tD?^VUhioD?dF1xW6pv6zO+HM=Yc);16QM~Qx^**ziiJN0hZ zOKAe~OMYt&?^OyZm14b8$64=FvO-BuW*!*n8fmiH*zjTsR78yjKw14jsgQd8}w%Lv9Ei_#X522 zIU?Lv?2|2tXe=W3a>g#?mc5s*tnzn_u8*|Dy4MJ@a%j&Cr)@`yvCY2d{khgt5;~JM z2WN?G>fwNgkUv*dv3dEHe|n{DW25eDt7j*#iivDa@J6u+)flGO#dyq$({u>*pjvA7 zIG*F^W`4KO(NqBdHQF@6c2V5bVjHF#lH*Nu!6e-u!e&la6vgVO0iVN^PBKs|f7M2DF1*j*5J(skeH@)ChDY#}dpG0etTo6oTssmlkrE5AWG#X2F_6110^q49T`j~}bAlQYR-As?&>6{Q7T$-*g2Q!Fv4+R{|0@N;4 zKTyfmI3Tf0O%2I=NRyLA;}icjFHrwZluTEA`^$wQ#0qt9;5UH5*`c={ zy4NF^#1r*&^SleANkb(>1~2XhE;@5xMF)G`FFNds{nyI$2&l{5Ld<#H>%W#b*Z5?0tofwNkcIc zg@p?bdpA*k;v=PLoNC^0Qi-7!V4eRGU_86&ZfevJynr(F`53Ri-hLD~4H69&Wf)od z@&(I0&!Wl?9~sG|B&=aKvLcv~Xd`NE)x;7+AE;30O8A(4y^(N}m2z0A-SUlSmvJJ! zxPBIYM&^2LKsEONswP5RsF7Q_24Q*XI>nsIas5g2(fecvF4w>5eV$n8Ual{a6BpU@ zCA0iPlbo8bPTg_rAoDo$pkQg%&qmtJ@z+yd9tj!5Gy1dbc|%tPq#Pm?Ww53VRb?NJ~P{$ zom8907Z4b=oQkhozb9-hqcOT!`@-+dmA5vYwbWzwka2HKm@FHw+T`&r)9fI%n4zEG zFLv1T8{0Sjmu9q`!Hg`h!|?S<@|WOr)N=$~*_2q+!?^Q8e)VU$*6)I)B7j-srL~Mm zhZDr?TgT|k}0On6$d9b>E$!i_SHmi3fB7JA9IZ!@%eLwN0tRuXJ%S% z{bbPQxPp9xqC)P{i8EsHd&`+c|6@0&D9Tb098IJ1_$Y+b#m#NodD6^kxTyCDoW_zs z&D1PkfO8XW{0}PHnwI58@uM1dtEko3j&Y{XM&=GtRKg!tby&1Uh3oohFptrwy{D2GoOGA%`Q*@$vaPFZTBCI*zj%RoU$Meck9Y(yQakAj=Lu)dV z^QaOC$GHE04+R?Z=KWuO0SEe=r2ON=43eBuQqxj$vtLnBP*YLUP_nWzol>!|^V~Dg z)6mnhv7KI?U+jTgBOKgpAoVm_gRPtDdx^MhrTX$J#rLDq?f;eS&rVCuOh+R}JHCOnQ zV*zRkD}0I(kt2L)cZU!EE8avW7;uGgnrOk>g3Quj2L4QuE5Vq3Nq~rf_!pWpk2^N+ z7A#n@YeC0Owk}_r!&9}#Q$Zz%`+(b})hRMM3$??u43p>P#MF$Ew&#wRwW8Ce~p@>5>;Z}=`7v6q?WaZQ&iE@uR42@}8k6#%dmcNGa@Kv+6qXI!~v?3Kbd2;N~;At=^7`R~c$i+n6J6o;U73T7MGl zsDUcJO9bG1fbVXOinX@W{vO7enUOMs_Hq-aR-q+dBc6xn$CwmyMKT7-(TY1!9*edMwK zOBClr4#0tA$qgtO51vA3)n_etq7+!)G{cNzn=uEGy`SK*ZwG*@7!f=qcEwo19%6Wr z;4hnOmXg?}PV3BtYKoMB+OZ7B^`;Z>+cI_%-lfe2z%CVPbchqMq!)KEYhq3tiWrf< zJ+zLKIzx)wI2|6Q5@h|uNpZ>-l#2!=dwG5R(_~;U(l*|y#Z@HVC5hT+4JXf9ST@^E z!(3#}oG9DraDFhd#ife}%Eq2EjFi;^i+Mounrt%LF|rnnfBX_^egf4S@;O)9`L z0lCQ5-c7(z#->uFB^b3M1d=PHT=f||13k>FdNUf)-NUv3LmJF#C}70YtRz80Hn_m1ky2|pEZUBG~tgOD)zYO{x15HY)+#=XZ}1z-2R?%2Cs!GcGsyrNALzjw|f zF#zudmTJji(#`ei3s;LmnDPR)vGeDrPh_py;$`0M9X32ChW87Ur&D;pn<{yh(+tB_ zfcrL(#iT-kw_`vxxS$rHbKAv`Qdu|r4t8n7KUJzwxw4S(n{I){FnHqkt4ty88$<&@8=)#{8QAn4a%X}X$9M*&~KABiJ7q>JNj#LTN%D&cBv3|6GV4hNy6XAkZ)1`C+M z1uxVxqZW98FZWpQVaL3`!_;6qu{K^Vsm%fv&^|Wkoe}0snkHA_h~4QT5a?wkS{*uC z48%1J{NmZ&yLKq#i_M5oOf4T0&+m8Wb(bFwbvBC zgS}>rb&!dof-;~>ff_w;oo>(cU>j%_+3wB$&u4gt^%dFFzF8%h(Ci9T7ksm(nxiuI z62vsZIubJuVFngC6dT25`XI^i3V{!UlOdm{=g#PH=o1yxR5*$&dL=$gwM63}=J+5l2$kw0UwmigN3PrL6MQ{j^p$e zDU7gbkn=PIIgh7WOuRZ*m|sm4H>NV~Sy#SyJ+Ja9Y9A1VU9L9UKL|t5;w2Hk21zhE z^5N9Uo}0Z>Fq7uoBRa$X^u<|^ui>4ZE)S{ubUu{2EUNY)(PO)3>%_2DL=^eKF29jM zSZ5YdfC@H+g(L>)Z1ibG@AHT6o)G-DS~7fmY~RMqRTJ^--aRo7dA29|Q+h}4DA{ijyuxOV+l&2WK6TH`$oY^Sq@Y$6sMlp{$`9ll%)FSlm2NAtp{!9=E=n$(BCv&Hm1;VO_AaW;Q#2hy zn&ocn?0UQ^y^0kQwO;w^)hB5Gxpor)&%nH=X~ArFu~f;;aQporW4i{5zh!OUP?LqJsY3^Y>gtGknZrN#Yz*g5_^jdrZV95V%koWZ`#rC%<%c@r z+He^?JFF$Ue>cvql45`9e9R7N@Uj-aWu4Nu2lKW?(^e@d`hJp{z&U6Y3=uE+c#c&C z9wKs2IIs{ckF5g;xvo1Q>E#+YdlTfD>S5spB87daxpWn6f{JdHB2-@ecU^ zs%gwKzH;i9cOGa4z?CQNFq>4sIE&}o->b{Uch&EwKx{D!f(kHQ-po~kJh*juFQ%== z(&Sb(_w>|to&-USmE5_H`sM6tRyh>HNoUKy1QV!SD0DPCZ8GeIS}yL5rXy&M#whssgk$0 zJ@YQhbp#)RDXbDTdq}w+`SeUb%QdsBlm?memZpCrl(sg!|3iisk+PpD{Y9h9dut(` zk;&`%Lr|u;U8(8Dw|D}IK%OzIl0h_N7ymmD%pwsa2>IB^-ka`B>tIdQ`g5}S(OrW%|5j9qpeCiS7_w?wMV|;0QCk&Jymcwn()>+T{j51!7Q8F|>hkCa zyk~Ar0%zoKwZQ$Rsvn>aGBOf)!qr&;I&{mu-WY(UI9eP)&X2#rD!r*j_!2-4`gVHVuZ=B>G)4P#oj6pKLPcFyW@8 zBN$I)w(4YkY@%8rhnDVBU-Cw(IC9~ye=ka;Afcj^4yF{rNxWLA3h{hPjA8tNPNfjW z{8PL^PV*4c-1e9+U1G$~T~Z$Dys|ERug$Y6QRS`#1)cM(;zH}2I6A}hBxO~U^0nq* z-~mOHg8iL1dYo;V{ibZf>U513E$Q0mLHJOOi?uv7!T(l8#QravfCpt0Ef({m^hZn_ zoCo_`hd1<8)C?dWDk}&35e*9`8#N>78z<*~f>fqMDk>@tw%dRA9P8%cR-D9Cq@quc zvIag|&V-T_8L%U8n%sum)mp~Sj`ynu1lfoV3+;@RUzfV_6N;IcL&H-)b{mLTTFwZ< zRp05d=i_09P2N0qr|sKCSDz8XT&g(O&yeA=$y95kymo2 zXqKLDaIkQg1@#^89wJCKa1EV*uxJqrJGJkBJf$^l5$C^GD(*sl7t}mTr;wx_dh2qtsnk`o2kYeBwJ<_>@aW7GhiGM8|4|ax!aB7IH(yt#oy6Bs z6dX#6ZB+AeMV=L9+fjhJbGwh*XXNiJV2+5J^$8tom%mk=7vTIo zFu5BMs~PniZ@M=BIs3pSB{&?lFKLhMa_Bj}43LxM&py>{C+tOzN}}8#q#VF;@7a0{ zZ7s0o-3lb8(J~2&#ria8Xvuzi@SHyFOaGA?h@1{+CR7jPrQ0S@BfRG7y^kO1{HHj! zc6IZkNLq6%&_{X|Gh3fm$JNGi4F`@Rm}n59dHT$Y8%UT%API>~6d~m4zi}UL#Z-=K z8Z!h^q_Qb~&2YLGwfGwNWaPFQjvb_wGbX%JhV7)027kD~I7dwwJzfvd&XxWE2wY#6olm|CZsrFs>zyx|)G><<`U_dJ{-%}E$M55mi#tLb z=9~$t2S>iND}jEel3|ECxL&i)V1EA;lxTWIvRsu3G2D}rbl3jx%{py(gRd7%0lGW@ z;Ku|#8iEkum_LA2ksb&b;Skh7ZBC`KuzK26Fl67JIS<~{Vg0&)4A)GP;foBXJdt54 z?YW>s%AqSh^cH}0c+}(k+(LOdHQ45+h0L!u={9~|GJ@DbmP@F?w-L*sE^Y6|c}2H| zfVDv*OCKhB=jZXw(twxK2rFiqOQ$`};AuUjENo&9u`fFTChS*#LZ-PcRz+U8Lrxz`m*D)%mtwR2 z?9#80jtxSVv@U>~ssRIS3^4+Xpw*7EBlqNt5;Ww;ql;Q(<``=nJIw=*b}ZJ<1YLSn zh$j8{L^2W**Zr0o*_>s_Te|R8EGA){2i)8`CGiXbpG0JJn27w@Z$)Z#{H0`ueiLT3 z2vpJ%+M+7T621v}<_X{jXpU01n?+S|~g4YK<)4+E1RC za0KZ!?1Cf%CWT5y`S;NrG`JDpxoW8Nkr4yhP`r<8Pn6Fy^uNn(th9?lmBgk zT#jtmL530n9cnq3UN`zSl;*ixeFhy8r8GNXune7|I}Seq4?+2Y{5Do16-chDw|w#YXtfOZSxU z+n4;PgKPiSS8=KpNEyjYPu54olFrx=#LUOTCAEgnD_+TCsQEcqLA!zG%KD2Am$Rta5a81Ld@(lq>+Lv-Og(#6ZNa9%o2w#o5sE&;Td zAkmNoHQhfs>{*bcrDKIah~>cJFS@JIm+VxW_DR$V{Sr+q?#;>i3)yhHmYrZ&wWwqN zc@QeVPe!>r2x_&i=>Cf+Po``BK}rM4vjIM5uZ`ErS?Gl2} z_~TLWl-1Vb?E0lJRoA zV3Bfe##B{8I7;J}ER>|M>@&kM3_H3N^S?pFs$W z-gifi4Jet;4gdPDN+8xiB_<$=1(IK=0I4Db4*9o)Axrw% zKO~z=_>++Q1Rh{G)f+UTjKOE|nlgmG7}xFY<@XngY3|jJBl_S9I<2k*_|t9cSO3AU zX#t9K*bx@h@ol-j-k_8e7FJHABvqHH1+8X&EC;QaT{r%y4o5l5t^A_Cxix3OSV zJ=hSS$0MG!K}HWAvLZkXK+Och4hZKXO(C!88ylTL;*W0GK89g*Ji1M^6{YVyUrQF8 zwX)3aCIQF^@WUJC`2tPcavN zpJBqfm`Jt9v5Q2g%g~B2=}10?V6n*wr|_&h>};U<&1Gvr{R5?nwFf?*{e?Ad3|T-H zhd9uT2KD;mFR)E4VC^lE0WF#FJ5s8btoLqAgrDH4xAEyR1dGf9Xf|gJm6Qb27I+R) znq2~FDvtTrllhhD6b&lJz1QDPn1+Z1+$1s~n2<6aU z1nfj>i36va{P%4u!hVyt+%JCbAJ_Ze?I(VID@YemiWx`O?7!0~nc#sA ziRNaR<%=G^Ynx!DCM%=}wxB=c3pw6Jy4Nk7|3d|7-m4^k-5|XV{%u%t!oDLMt>6Ha zfSvYMp@&s+>w-eq{V>4w_xa^LXJSIX5Z%;be#1Y9F-fWvFoaR&J6?!yk;MtA(bz{U z4DriUUNjjODl~C+=2RK4i^5E|4m+2!ZGcLR)x3-&VTH2(oqngEcLor8M~CBNke
Km#WIsL%1&itVHO@E6jtcQoT`WK2nZZ7@w% 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 vX9l2L6t2t!U4zJ8c(cvwg^#OP-C5%0+YX}0hN literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_flint_and_steel.ogg b/mods/fire/sounds/fire_flint_and_steel.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6996e16fc3593925f73772dcc24ed65833a4a794 GIT binary patch literal 10443 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 literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_large.ogg b/mods/fire/sounds/fire_large.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fe78e6253134818b33cd8c3fd2a87d0edfb0757e GIT binary patch literal 62808 zcmagFWmq0P@IJao@gjxdTHIZW7k77eclQ=|cP+);wLptgtax#k;_h;mzQ4bm59d0$ z^6Zn1Op=Mroyn}cxw$d`3H*;!lAH2;4Z6PZ)_@>{aI<$ZvUGlpfDoy8{R038G>Cuy zEfDgrCI7d3E%};q@yO+e{PE@ga%fQhk)Z`sH7p%0804MIiES*6)cz4CmLz6jVrF4t zVPYkwlDD<9bZ|0tHnnr1ex(fY=D(sJgg>c40D=HO=8R1vR_Kfwgo-PyfU}7&JZ61} zBP@gV1)oJmdzjogj-((@I82-B^Y1uS;I%-gkOxLkgb*A_5ILVlLLem{7z*PC<1Am} zP=){3LzLSBOcjD72-;-gLJHjGy2TF?<<>w26jA{R1ONauSPk1JWnS?lk#QB(xhC7i|I2HqnBx2^4)PFn($cIHCX5LR z2j<^6fXxU%i(u*v_+Ly8z?MSJhp*&b&DzY)nn)R7zTK?eJWYiELX@?hzcXlF;~dBS8f2mMgCUAa&$x`}MlkfI(lRDPx)uyc zw0bIKO25WAzmod**zfy`pN0PVTGG*)lKHz249WNZUCBcI-&y|U`^RLkzk;YC(S}RZ zaFe?h#A0YhxGaB#ZuXeqaRal2_b2u&3X*u>$detFq$vMmI3yqlM-q&oB=Nrzf#y?EiIyx*ywl zgnN%H3H5(<6C6;$0Ym)Xe3Psrlb$3Soure$V3SAZQ^XLRVpE-XudB#utH@zG#jdN& zp{uH9tDa)3-Q>EMYPxviyZV25UD$tJd2eKqi?$Zkb^2nNpIT@i#q(rtDu90QEJ?tBWY|h$!`lDDjBd3rny_Pbn$Qp#4>J z*j9D$|K}0^O>i;*a3K?SA`@346IB8O|F|1~^vYfQ9%eF8C%WNDw*UG#fzAgqRNdvj zP2+zC005ANYA}W;@MYhT&nVHWD$~y>iOwji{{K1IDK=Sjkg@Qu3-$+o&=`G5oFqJb zS_D-u*`AUREcM5!}UD%46JA*-5{+DY6saQ5R+zgQ;0bW0KohiIb94;QaUj z0se%k*i1wLR7zmY0e>`+O%{V(7F|>xLw5#UbS9Z?l#N|cMO79T_BA+9Tvu6T=P^}hW@S|yUBTDoWZUJ` z|4mADPDNFlLv^N!UC~8XQPorvr0ixo*QBaG>ne+(JEtr=|6Wx!MRk70R5is_-$hkd zU3YFyRsGs`e%4oa*3}UEmGaz-tE!u;{;ch4s;jOB#lKeRs)DUz2PuQCvIR-0|4*A$ z=dWC6Ty1sHMdw~Ai>fB;f@N2eP5-s|HC5TwRkz93IL%fYOAc%^m};1;yPWE}h;65P z6FtgiyXc~;%c-kAXRFH@qB-ZQucE52ZaUAYrg;sn!&=u>Y%$dtS7oPZo7}^+D~curW#zQR9%-hI4%VKF-kkL{$I(r#`c=nRQCES~e1g|={Lo#u(BwGM6k~nxtM)<4^d{NV z!*)^KOqX(`%@)7Cn$^z`lm$Nmpa8)Dc++= zNp37BMNQtQAZ3MSj7l?5U@|5NU)X>lWl5bhsYOlRq#zYp*{G##T^pjLg;?02A!W(j zsAg}sQae<0bcxeHK zF%@}#f>IQDA+B}=eKWQ*GDu1(ycSG|q#nRD9z!!$07-$BQx`UqP%tv+jx|^Nk=)7y&2oPioRLT8JWLP z%{hX44%7IUxtZ8{tiv4@?0GM?RCsNlnsp@eu7cESKcppV!OCqbX9>ZC*UC%#v5m)S z`}LHq8=J7b<>+U1oR2&D@dK?YcR*6qO-uCkg_gJO45p~O-fL*X2t|%{Te8t z4FZdLH-O-f3TQwH0zir}*32=_D6<-lA@|IoDl01AZz9#qp^PXiD{Hd#%%KMV+p4Ox z|HZUbl^^6-{)?eI=mblZl~vIWciNYgfjcb-D^4@Z_S?Xix+BE$gI{%Yi%oWTJ^O7S z;%Krx_~i&@dg!dh7jLS1Xk&WpcL4WY-k%Ua$&Zj3G`Wa=NW|Bz&;)E^Kd}j_(jajV zC{L+_l9WJ^1cMI%kTO(I|C*f-?)e`o8fUePE5S$PYsk716q*0z=Ktpd0#HIn29!`Z zETrg=|KsEPS3Xh~;Rhn|^dvd|mZTyt1lgJun4lz;?5rduS=u=JI$K}4XNIa|N#Boa zJxUC6G>Z8eoImvaTF&Eq;GB|jUnTNu z>MIZ(0mnQLT#(t$$p0WI&%abS5|{s8g+UDZ53BzEAJqEwHS;Teg#ZHHAcLZYqawyZ zi49ZZbt=8$#4ig@bj++0+&gp}&?IkKRVAqV8qCCSwp&yYNDA0YHO{kg*}`w>K6@sK?ry*uJsVgmD3=+tUP6vePWOtDk$LF`g=XTF-rU+grV{=V*tHF0(ab7B0(tHtBZ@QY@FHoLClVzS&rT)^FAwZ&v`q+ ztJ%;_R2yA#7j<4Z-@ll`_V~47=TCcm+D1!GM5;96AHr!@3v%6?w<1z=QfsnF82XC8 z`Mj%2N)g}jAg>>q{tDQKq2lzETF~=2S>!d?Bk%nvCuEu`Wp(|`t>_~>%@m1?Nh{amUbuHoBzPO!>U~l*pzpwDc^AQ8GBX~@;@L8`cJzq^qdeI`LuPI9$F~O ztif{;=?--AcScJk;24bkfkGo-DH}msw)Vy%<``pVo9&!Nhq&C0_rxF2HHh70yJ=av zV}r=CAymi2MrQg+buMpC1XnsPVq)fLi4 zTs?V)RUHUA(gy}hk&N5=D#qn35O5|Mzr{J=#|D#kBS(Fo6BQQjor7IW+l!BRubR6m z$FhZf7%tsxhT@!^&Y)Z2<*&e7c5pk2-1K>K(`o~vbylzNyeygrh3NX-^uoFDXWHF4 z;CjDM75atfEnC>*O}xO%L4Jw&p>wLSPUd@+JMd5`Kqq~3IkL;LvT(#mt}gHD&%4p& zJ>KElIaWOWXROu{--RsDe$?)+eO-$XhRY6BGMA#jWV*3u-9E__R%a;Cf1J*TT%pXI zW06Pg@_+)+t+!FXOAe|_KnNZI zb`-np`Kb9r*su z?PHC5=-PADwOkMm;Ojof_zvyf{n>QMa>JJw$Q{eAQ*kYAM*~a@Kln*{w28|Vm=GDo z!T?eU##dbR1!i-jFA|-P`b)e=86B&vTGH2vaQCpcUlhA3fgcfjf0hBW(H2E00NC9( zbDq$LGmJXPNN$P0l`weU>e_phm#}E)N3&$cnVM?4 zBl#~V;eKm^-#>8VMbs}%%cSx@R$T{KXszS35mqsgWL7%_PL;xvT{)@;%h$g>!Suu6 zQOj(vkG*0OIFvxO_z1Z}IV55ek)C_fueeRR{Jo6eJwT|--^_9fwPdgz${E2t8L=cg z9~l<5}uInDc-)(3bpPl9Gr%T~?tQS%+pGSYq7DM__ zHq7=HB2jXaeZ39k2n)r6zpIbW18N|lVhqPsDNJtxAW>Q7n?OxhwNbl5mO6Q>S?yLh5Zlc z`?+4Vvt}{xO0)0Ry9@SZ`85E3zLh~W=n&XH1{h|cLrScCYm0nf;nwc5C1 z^9RODhtBdGZ?$(>bE=I}J<)Ere=9dJT@DbJ!)`{X}>Z~3h0{NOA7;;O0?w%N9urCHx; zW`Wc+k(mZS3i>mBJT7Ke!Rg0{lz8kjEo|PMIo1Bz|60 zGN$8eyn14lIOKa|5sv$Ha`}2m@gxD!=7MCqEj5kTkAF55tPVGopSn7- z;#MeDq)>K)nd^7ouxUeg3lGz4djG)AYbR{mKu4oy2*DN?P${d5NWABhb9LgTmaKv3 zl*v)gXXfGkNYA5S)%}U?-lQc54^8a2mJu$ptp-t{#t< z+iz~r(+irVe+rqK*b?Yx2@RY7t_bbKie|qTg6w?n-;p2BNAW#OV%cW2>5Y!SP4MYSEDeO-VKx@# zPk#V5>ci^M{#crNjOXmP*v%0a2*9AWxiWN4Ns?8aKNw|Pu1nv#s?3Y9`lfF{bM)ex zBj%dN>-ec~&daKD+v2dSzSl)g(3hn6Ou;h=CfgjvfF|*+#HEqEA=4-pUc-P@(~NLs zbN-oC>w|13jM>B9Ir9 zYELeV?_z|#k{tlzY(1{C&vwH7JiYEu_*kT8MjqxS6m{=ypH&9aueolEyffq@i1h=# zij*&hbpLitH?;@q8eo?iZT2b79+sEy3;$J)K0ide{!=_v{AqnQ+9_gfv#YUEIAtYP zoXqb~l3Hq9_9K8}j7v{p5rFSS02BK=bT9Gu#g>f>kb|Go{GnIihwV?PN9$@*;jNl% z7LE}K4OZ)Z1Q7Q7)we&%6D0I&J=D8$upUbfuX^t7T3$vImYpY}E}s{(&`RwE`XA7- z01i7{iWRL@i6 zVlK>{Kdb=&EnYF^A1v>Axn(ln7c#!n*H6^zl^QY1AatgC4#i^pHLuiD6E#E9&v-In zn);n6y!)vnar|)QxoO<`EWk-&AiK>%Zo+Y7@B7L__d!_919pr(rNNI)WEu5@;vuQU zg$)$6Nty60ljj+{$bv7;aI%(Vj=dpWFT!|$iaGQ$y!<5~JgWfYQ3Mz~ctsbc=gKlV zlW&hlH)!N|YOywP04CiQjK^O)TGEww3E%UmcC<0hwu zbxk}2;8YlB_gwCg;lV6p3qP5)fZ0I3`lw^=L>Ll^3_t|bQ#x>4b64%wW)DU^R`~~s zF83W`m{`ubVduC6Km)5#RXNht50R+bqgqC0%sIaLxnB5l{-8^ynVf(a zGGM`9pQDJ8Tg~&4nMgpY>2dE_L%$1==VOd4*(M6p&tH#3eEya9I${{k%mMat3>!bZTl~NmK0x{xuIr{g0-1t1mxMUJ!x5|MJN`{bhYmz9T zrXi|jCF5**tN<$f$z2}4yZ$a#B%F29Q4Rh!vp~$IpQZX|c@egRDAB@vzwT<5o+Boj zVyW1WY{_B3$~Fvedta*1;M75i@}_;n7OZn!!2 zYNd_LM$bW65M%hv;@KgsK{HcRW{2|^D-|c@eHKP%?7VnathkKs5#3^LSj5?N$aYnu z`6FB6XKbT`?!d$HH;##d3EeErQxYi@t}us3gzPL(*oz#BM=B)_0oWK@4^ zp_uQ4O` z+}?>;GPqGL@ddyEWx%h4rx=Q`I`b3z=7%&&0fxTV%HsQ&Ge6&OURd0NzHFG66Tv!? z^IQOEw80}`8!4;H2RBizGw$ET0um!y4-z>@}7DIR1L8$iswR4}qc)OrSB&@iNXy>tYw!Zq6draqt;01Gi#_{4k(OA@Uy5n+P zpFE_`Zq}F5zv42@r;7IM$no#(o7qd|&JDAUgV1F{?PrPvGxHVjeOvi3|3{h#F-Itm-hb~AD^F5y593}~v2eZd_ z%^`b>W`|y)MEd4!>DkNUgKh92l{A!c`xYaNcEZG^4Ae*3%ND337cA75zEYhi_d#Qm z+Zr*?U;@uFcEyPIux>5!HItqXQm}Qb#<3J5XyxE_b***8<;c8ls^{}Zzr~l?me$p| z;F|}>>*(Zr(eK|D(FpeE{*KQMxGB>xLt_mVdh!iZR zt*#sm%1|Cv)YY+p@Ve(WY@{S3<0a#L(9XZ%Xc~fdOg)pY55|O z7`-Qr#^|=ODCbzG#}9-M27P<=`f-iQBo1zZ!)lgN!%Va`l4UQpyIiw!e0_1(bK#D? zxTq$nR`15-pJUx#hJO>|x|u0Z{qV0Q7xF?lyUs=ep%0-vE;ceoX075u>u~aE;?6p#IJcs_v~bJ|k$Ur)SIHXS+A6pzr>nQyHHu~jf90VaghpzaO0KS%-0mf5|GUI;LLDfM@P02Ur;zm(W zh3|A-BWEmsp_EuAyX(1Q{DOPHB|3*kxqh+dlZ81&h{G#Hvm-dI+{U}4pPc^rfHv66 z%yrSBNxwa0g8AEah7f@rMQ7$m3#IPf`ktqdueX0jkIF(WzI9J}DzV9lADf6r7@Lc| zaicwFI~o2p!Ab&T`W#kG-NXTUI#u;_;vwHq&&8~^FMQP)CM??zL}1`hSu66oVE}-Q zKv_Ansv}r&GSQb*YqMzcq2=!?!;Niqze%~COml^{3I$hp>>;fDjSlin-$UGmOpVLS z8ZD_Ty2)Y(-~O9i-S9hM$z;1?PVt|5$5%f|SJcg)f0Zx>tBT2KR6*v+pb(Oa11hxi zrk(a`x0Fm---C)GJT$QfVYzME<`d5GeQzQn zxsP@$b2@Wd3075p40Vp|B}+H;^m*S*_xsS_@38wbQHKw_TtrSzgdKF9vc@wSANyjJ zFQ~|-vs?1q96uOXPNeqH>X7;&S&k*NoD|J(Q{zEO(`{}A+ehzwnfL4}MtE_K(zz(Gmr?x=_3{l@&u z)xyQwH>W`bHIk|KKhb&5e9Qe*%KM*tx3*?2vuRV`4M->mCQOIq?jGZ7zPom@PwxF$ z-D*a{N;1ms*{iXX?J{iWnl89W08crb%K57WNrIO=yg+3zl6SD73+r7skV97$3V()D zzyqrL26%tIv+ynuBmPPgqeTQ7AXJiHhdGu$<6W0c-*xkD=x${$IBb2YnG~!H!qh4b zwugp|>**IbZGsb9E=WjG_E!o6n7*d@E3H#RJ$dGOxd*b(39@&#Y!K6~YmSxUT|F>K zd>Uudo;a~GT*ARX%NcPdY7loc;TIt-XR?kNcz^~vbynO7ZXxVyCXWtaxp0;_#@#}L zp_r!rxPUmTX2PJ-H#d~~=4LcY{?|own#aRbMw^Q#=C`W650rfhjs;sC<>kmiN~~rp zbZ9QDTE5S>--#!15xV+~?A>0z=hP~Evl~ZR+Lg-?ud(3{vMm|(8f`B+uQuW^f}x*p z{wy$Ajs7WBS7@$prGy#+$kE9`LBmFN2u!wLbq&I?gtE+;sjw+2%aZ{G_QR_CoyXtq zqsXRG>yg<@-wfv?K2?T(UR8g=hn8j5zO1wXWi;y$%I8Jv-$G%eVzGbPiM*cCeHLnm zXO-X}-CgOoS_GD?9>=JgtQ$F~=^cKwon5Lp2QU)J768y&475`H!Qp?1)I%y4Sw)c8 zI+HZiCmO{)VZjk2#KOKsdE>=&J&xa)Q+hQ<5Ur31Z>E|e{g$T$JeLJr&ZcJ_FnIfY z97(^ZSH-)>~YM@lqi-j&03sHQfzTSkucSeVdQtI8^1qBgZlBuW3O z&=E(XMo}VtUaOY9LVC7YLBa2F2!Ifi>{7Qi`EYFK>?{mNpwLKz2`WpjHI?&T~rZpNZMQEcMaSpJmK?Od#h9yi;qK(GPFQ>^OJwUk!kp7SMr zfPis)x%^<$>CuP2GmMXKVtatf#@vNXwltJh_2J$j@VRO<`cGsvRem^jCpmwQP`(>{ zwj9K0Q!IgL0j%nUkm~d&+0H)kKyI|Xsb=8R$czO~hO1vbIV()qpnP1VJ|ua;bVK2Y zPmqX`2y7CPo;j}dGva0KXT_y)&ur&n9@ljjjtnt`dK$S!01(7u#3lP{2-+<%kN0h* zm|OS$KGbrahtu}+5ghs2wRSZvo(EZPlri%4EG;k!RrMuFO6TDQGaz8t$HFsn=(b@? zR^+r#J#HyIiKJ)rIA0qj&Xg1VhFI~((S)Fi`5N-WV#>#1CY}VchBW@1>%k8;0g~q) zRD3bee!L8%GE6=dLC_TE&7FVjzQW#Rl+b8XfOE{{?a_^ox59DCjePCp-|s~B+gDV* zlIloRd~2oe2r%<5&~H_>J8sX1~q}tj4iAPg1|( z1~XTQFE!PvPFyO#ljh<2x^oY~e4~-e>^7<{aVBtmCbeg)Az>)^dqhqiCxX#mFL!CC zrFuy<2wrf{1NhNWxDE@~LWFb6**vM~gn`a~#&8dr6fe9ST z9EuE+7sQzb^C2blJMSdE#P%x(o^qPXub>IxZpJT`RLlHf23C20?_DDD0mtS8Wc9YS zn-d*NbOH)^;!w*5#l~r#nd6;G?b1j?UO6bQ6|CYe_8{ushj(TZkD|e7S<8;-b6)i} zvHCK%8$>4%oKM*cGLCI2D-l-uQR~oKicS?${;X7!36DZ-RX?yD-8H7v?*?9P=FD+= z{RIa(HPZDvUBCFC8BPcVXsZ4-25)RR{^lU{JB^8*@6=yjP4idItM7c{nZ+iGP(`lY zW-=*yK-_oDmzrW5K0p^$aZe8Y?vE+DqVTeUb5uTwzmm$SDORf)TI6nqVQ4kJXNb^S zYf|7gdhigzc`)Y0$n6kmZ9Hlm{;N|Z?B~!3Y98b8jM*BbA044O?k(&s6z$TAdsZFA z$j3QXLTN-vmhw^rT>!8^zma0sGRB;{RBn0rSivZpvWL}&lXXv*r@$qjMAF`lcKW0B zY0aZ5_Riok&j2u)4vfo<>mt{!oPF>uak-0$%uQJhC!z9k_~H@_xnuq&eSLiEQ8<DW8DBdEM_Igh|IX-Ic&K&^6Fz4>z9XX4 zuL$z(qw@8|w}f=-hZvfI2aC*AQA@yE z-u|r4^b4GU*5jtOV`u!zXS>m<6<+I$*gr;J7v?+Cx+3K}8RqiVm*XdHjpGVMhIj{8 zYo6mPV^(Y4M`1LFqKViryM=w!uc&cgF^4hB9eK#hx1oJFWiU<#a!x+UZ6uZFVh~U6 z`J-`@4kfwx-H5ymLZ2ws`6sIJNkV%f!7Gg=eyy=nD~=x2R(J(fAz~2G6yq!(hrJ!H zB#Df%P_A!KQAxh{@p?#}sXH>?Ub2=gFdQ#_(|HjwCrd;0wN90VBHz(;|x>d+^cG|FG(i4 z0pE2{-<-%vzXx)73DvWAdU^u=w2d*w7g45(=Pv5lhui8vE07m|cNLb(49-$Ge@8~7>9)7F(Xk!LjkdzD_bXcO8m-xZK83v}7U95W zYRs%K95`#(zxRyg()AESl6F8S;>sMuCbQoG8Tw ze>cWkL^@ErogluyeTH!|r!gSjI7zd18<}b|ly)!q$EmONef3q{;wP*33s+&Ho_2m; zjQ+=t`UmfScGa)u4bY%6!p$`Do-`>TIxa3UK0PfhJvt>LB_rnp5h39RQYuQ)+?1@O zq|Efh#2g#F3<*|&g~($V+SN|^ekAWWV~y~@z#@1W2XGRsXdDVBn(E3I^Cu?Z2IBLq z)>26>Q@(YdDwOs~v0>+_)}BV%+xHU3BRTt)F6r1Juz8;W|FInd(kBb|Yu`bDMVm1} zeG3}yi|{w-xOCP`-HDn|8C3dDF+%I#-;P+&JJDe4!g9sJHdW9C>c}~y%yyfD2X3Dg z6f7*F->U{mODjE9nJKLwNE2j%dtApm@FY?)dwOZ&OUhD2CtaA3R~0_Sqo0-0Cq0(Q zoRGMrGd*;Aqv2=u{syBVqFJ`=hkYwTvDBZ+oI^1QFIDLk^N)V0hiHzvpas)JwiAc z#eONOF1VcAL|~{QGcxbTn6osnV<#Mk0FOo06t^f;FWeffCp^l~ET4`<#+(@#_iQ%m z;y@!%rWN+%uHk*_eeMd+pvS(!B-V`jb#2P67rn@4YJcgxlZKb;_bPlN8lg?z2%!mC z9k@~^EJyFV_aqy|c;(lM_aisvsg8%kxGLtZe$H$wuCu7R*Ilkb&!`molwP+*hquBMa9Cw4T6;T(1S+jZ7?F@<|>iI}%li8~#1wsE$a|I|z?QBM43W z=%f?Ao7Hvvj7}$<&bhJ2Fr|zSb;?;p!mstU!RalWkKm7#hnkj+Z?^5MD?KGDZyxF~ zfKEC+IfC9(p?Es%;HvUEzN&5LP6VJL8pZGaPKZD?7g*zaML=S{PUk)3CG- z>wyWb=pV7AU4E) zo^#h~d^Y+)a73lI&MeBhCxSjg2MwAKGVU0C*_npYZW``d6jjBsUf?IB^-(5PiJ7~o zZ7meU`!%Q1Pu~mUhVHzBSb`ldc0vVULAB9}JkAJ_0bfxP@`trfD@e)@@dTZg#mEqVKNA6eeGctG-lkpuW3=HSt zjlZKI>Ha$t7{tEY1!)B3?5Ml45>|6(7%wFPc8m>@ZgsgUQpQ0p8!H$=xp?EMC>mm6 zOI3=WGt)d3B##@KSNF=WGcQBiwITfQ^~}+3jk_VfU0#ccQ22^X7f6KjWh%(#PBnre za^kr+7VmluU#*aN0Lgu~k4aYLd2Mmj+O!<|%scgvULsR47t!a(!_d$J?I>rxuo|Us z`^kfkP9ge}^MxMG)62t++^hw(>T?=_q?<@gS6B0Q50gEby>f*fi%*0k$e}&Z0mUQ$ z(X^aNlm_xOWUNk`fm0QN3A7$BAr^WM(c2IRv7w_}FZH-ai|h{>B40FhN%3Zt`cvL{0o$)p*yaFlx`5#m66rEXl0K4|1@k-0uxl zM#b@2S-qVPFsulDV}gw*+xpPzP7g8sc8F8!;U_-T!dB?zK{XoXLZl+rFn>9c?)!5P znCeakd0bu(@%)U;k7S34_=sf?@P2%p{?P1bnt(;PNDeZLHZ1xpcO4d7)0ao3#8?ek{T$FsF>L(#iA+{zKrH0){y z$0ujX@}-eG2XqRC*G2qJmkN(M`@X{u1sMqB%!hC8r8z$>o9=iBSE)Htgv{m6_Jx!$ z5L_DXr}BkF?57xabq9VkLqoEBP^}bDf@vvwnyV_15V4`+4d} z@;UjTbwFmeQrq4|f_X7O&nrb$3$)M*)wRXFkCyBpXJBkj$O>Dusaw*$C#s446e7R< zQQ!Q`sgcjxny@n0)tiQzYimLbP3hh;aTDfl9;xA)^u2{S9l}Wu3XQ08gKz0%N4poK zvR(|Ps!UvE>riW~14}5}z=ZEvY)?YMhMJgc7LiB3w8&gO=G49f7HDRdQ%$kwke6u2`2_l43AyO`A%O<3eUHV3RYCu~}{ zTfJ8tjKP%~9=k17ioq5YzMnJBR2291%tyGELgzoCliw&%m|ly1jaku)-Ypd^kxnH@ zYR!CI$y>!dWd z(NnHux1vl1WEQIKYOaLFI{|m?uDOJd1JQ|Xc)_{qGrO)rT4Nz{G|esrJ5XdYYTb8YwY_27$o+waH6(&k29Z%7YV| zyO7PkYRie517t%Si*(KLA5RBWI67hGi$AQv9mn8!4v=5 zbZhQ8qYEvwo3hEo%OeO4++dE#>Cv_Ksc5QG_9=6AGT!mkYa|OSuKJCtLAsdV+JX1t zYQ<)xz!B?^_C4OhC6GdJ_&K)wTc;LeUBQ>I`g@9b#v#kaX-17!T(9G{72&?S5nxfVM4+1Ee=9Y ze(1%~8k`twTf|6o$FlQGK5wZieP3q?7`58Ib?4?g5OVhUy#Wm#+FYJB@a}uoT7&FRBArv zDCKCC_KnUMtcV~Gxpgrq=$9qNUTtOvV$>Ucy*3CVbnch<$xZ6{hh{~Z&PD>(FvV;L68Pc0N){UC#{+LI`1Iaa z1>~OIuhnOo)Htjw}<;qjJw(NXdU%C z@$ZeRiqpH~smR}jbiE|-}QQA>3&$Ao|AG|5&j6?X)0O`A;P>getHfLULH zP`VXx`K)O^hn7Q^LxDC#^k&7NZ_$;Xjq4ASwc1a5zygF5hSW-&`Ye4*^nffzK5)9p zc*5CFP<>$M<+fZLI}p`1K5(4A9O1i=v!~!AHmuqHMQvc@(%b!Da6})O@2#xE=%7vF zk+5y3*K(Nj?UsA53%6;tACvGjz3`92b6jL|yHa!77i~wC%$hHuG zCJN346S~vJEfnP*vx0I)VV`6P2M?H|gs;ggQ zR!IKikeevm5Hik%6D_D^h#}03lya z6W1UA04TMk0qn&JB-4ZqVKR#f8rpi$%B9*c)Mcw7FB`){1*q8M>%4$>`XmjrVEYT*H1i zcjs(_2ie7c6{%aIzVUKxzg@9(F|ueuO@_~JQ?XNSWm?Q+{Cun#ZT8U1WzPiwpmjL` z%moTGsF+=q$F3Pd!(_u5%uqcCJ1p{i_9gAHIj!GmZfO3p!r4T&>WumN*-VZZUAfGD z!?u$N%k?FV)w!9qoq$nQj+f1iB|QYL7pEuZcYit??qPM*my-3(kAr4^5jx9$(V&ma zab_=|km@PEQ%rrCE)%P($-En4^Q%n#jp38%EzRpyfFi9N3k5vW<)~w9oeGWhz@b0e zuY8P~FWnxB)=|qbi{kD;x-Ond=G#eK*H8bHg;n^J zL5n?=@CNUfrYZ`r-4p@tv*RK!-+w`#Vl$iyIW~H(B0A@2+5A|(+1&qY^3`A%-dFV8 z{|C`5WHq1OS%iT#4fqY$VQ>}WwD%UHeuMRyJKM8C_If@5+Q7Kun{vS*)tn#4G&rR; z)or}zd9~{qTIEV`rByGF#uE5-JhfU<@24U@r~DYVpX6*&m=S$ov#_WV6x2ceA&)=o zBo{lpJ?Z2PM<)Z!_=U+Kj&ks&ZpNhi>&Dy@Lf^B{C$ z_Q~$-3}JgL-&$wjJ)!kZN=m95WTy@xC4o5?G7^*2*g=_)*k#ioMR6l2Nacic>I+Ge zW)=A4W(n+a{0~-dp36@=)kD4b=y{kXmFsvuW{#)?CDk>ERJYw_DT=QDb;Mxc;zLDC zMhU=UK%6NgD;plvan$v~FU9|c&3CT#)z*!JW|F)s)7zr~K`NO%_DOze@XZMRv@S}S z6x-a|pCa3DskM<1e!MwYxVuE4gm)XIWI)21=N>LALm~!k-to=b?r;1b+|tcjHcRn7LqwqGZ0~b6(PfKf0`G`RkS9dwVtCr8-3aSll_Bl| zm3qmcTfQ=gFl9u~{&a{4(%vr+y?sBUrB2P^V!xsw|M*hB`u6Q68t{kI#YkXZU>E|t zMx{jGC4%ArO*L<*MJ$X1i5uflf2*5jfZNN)b93Xl=#FDkdjH{X!dNr=ys`V*;Bz!> zQ^mDT4nZ4OB2t2h4E{*LZQ*xg_?JldmqeB?(Bs{6)kFF#yc?ypFP8k(r zr8IJNmqkbAub1)LNUJTfMr@<0Cf}@0CH`VY{nKAI(87V%UEZscW=fqJ0-ppbv0}TrRA08nI<)tx$`O@`t($6&3tb%>ehn_4c^vrY~&4oRpnYBzKDuicyPP#uvR z@7T?LR9Gp2)BG}x@7lCQeQ&dRYB+2EuMFR9`t6ObuXAiCn!Iiro>w$&m$|$_kZpg@Rxyjy#BkX@}`9qtb&-H$+^KNu- z(81jG{HH%F2&O<&6`BVGx-7nU^v!hZ5b0=4joU%BGqf@s_uV)=k5$-dNSNun%zWNA zy0PL&Z+wNVT>l~=fiU_zFtBH|ddBhh<>g!G)yH?mz_fVn-+QyGKPlDb(;UYTt3H_~ zeL2g#5t7J@^725N_F%^D>0>+!q?c~xLEJLV^?W!V9dAqCzyJZQi4QI@k|>0K)~EAH zs`))J%3uYyo#laOT}F>i;Z7(OOC&!<4^9vg&~jX$|An}|Lgsg0QK;x`uz9oPc0J4H;hZIV{(X-(Nz?#3pN;;k-{Meg8QmcjI(gK>2%qsPY$kb|%0# z$d6!H=e9x08SbtIn-lebHt#^GdfFAAHAR+$OI^F!SCWqqU)-H%8B{FUk^AzYzJj>X zOP&{$H5bBG0>|{+Z4>LmMXa7Ji-zu>4mM~(UoB0%X$7AF+R_R_&*QYr>_Bekhu2PR zxkeuPI&Tn%hQb_-Okau)pH6jC*X&ngqfI(!!gQ?%!QPB4J0@KAB zXd&l7oEAXairb??lVU^96G1d8k(YI0R-`tCAnbOj4S}x{RbK_jD8EM*X_w$YmkmNT zJP`X0j?@4@;YIt&#}Im5dho}^0VaF3s*B1&kK|xta?=6vbJe9_RSk+ndfS3nSZ~n^NmhfJ&4ps@1bs1TTmx1 zU&%#3A|N(ma=XrRsK{cu{E^%*sFSti;mi*<${cN%YOMHIYuw^b=sa8tdHU%`~ zbxe)%0#9CviKSKJMItIDz2KqJB%w&=wmJPzxS%9~`*^t50FCCQIohRz&VJ zj3s<-bl7V|u@4mNC{V?;HLAt`^e0TaN%70>oGGaEko?kf3S^ z`o_*g=Jwvi+2ZWN;$Z2kA9<}0A{HS zD!v^X3xjJNn&3Em@2GNIRz}$O9@@)|kEfk6op~2KHbLL8LQ@{>h(Rp|Kxp0~o+9-8 zQ#5oSrPGu(_B>GIUW~0gyVG`S<|s(s#G;#6?kr4#*w&rFh2vvv*hX#4(Z=hXeX@=h z9!OqVp`<0_xSE27jY1BW#vdL|#5weP?VAvO;(k4~8lRR#lDld58PA_|o?+_7Nu`~;Y?`SsVkEy#BC{sNf?9MmzL!sebf2(tT$+XS-ip#OFZ9ZyXnF$-~ zh?ol3Ti`-pl*5Qy^q`{f=#Sxcv-CdZ>IJuFY@}wbAH>d&Dw^QLLIXQ6hRgP2kTRxN z8RZxj)K#7c9r(B*n*0X_nZ!Bx9}I!1F%+lCYDJnOP{8>WTznJRz^Cdo(`dQ3Snrs` zFxE4+)4uw%+$eS(!wY)M!15Mpe5V?tIB)t-GN>gvqTq<4wzOm#;xg_9niCeZ^1YL>z8VeY4&L=lU6FlnCG>(1 z6N*?~PaU5wXsC!TsP?+c80v(QUtf);W*n=s2XM4V%Y)Bvhq26mr;SaK`^qL6uc(%W zJ=ANbF7RfZ&jyG(KqtpdJ>*Ii;12Eex%$MuYM1b1wO`PHBq}TmH=QfyVZKLwd2Ht4 zYUl5=@=S${)IOTr? z3DCk7`iPVUBOifz@)XJ?Aot6#c1v*UT|HDxTwJr^)Nt zG})@WlF zIds#ZQp1`KKbP@Cw(oEd__Wn~ih5?9$x@KV&nYKP~hjaSiLt?@3&T^O9vfl6$vqga->4HJy!m0j3i zAcF4qbNQF7n*HLTarqi8i#PJEv&5kjp}AgrRh9evW2sE+@ze7PcqNmi6k(hM<~&d8{;`x~`y|0(0$Yu-))snqF|lJ;sDEl`A?15YK`^NAtLkE$wtw^4zn z^EWC-nHg3vpk-|nJ9X|c&ObQn?dT_U#GKUzWl=uWvA>Ak{emH0j|NX?QQ|`V+8c<` zB@7{BH>fxfw3moh5>q8Kpa+q=YOU1KI4x%X^)eonW(I}KW^*fK(p%YzVR9VgW>;x% z|L%X*HV+SD*mr9GWH=gbeY?l|C2cJI<|miY(<$|0_9wU;w)!@cEC40Kfr|qUz}yQ*vTbY(iR09w`}+ z??6gLN0Sp5lLj<{nWO+40VF<9)22nmCBvM{thZoaC@O%(ePV;BIqlZC9&s|e+1u(z^yVf5v6KQyzcHUNk& ziSTqoVWem_*iTU^^oCub)Ul_Y>EVOTR&9im8;>7Q4Db;I8 z49mVCpci*9KmF)8DQY z0!l~vz6VMnCHs291JoQ71M(}10V(?*zwkQab0ogchT@qSq|tbTdw}o8Ak~v_;Z@cu zQt3I-O>@CrhNj}HifU@i=%$x!jm%%_>+g_adV;TnWKdivM0l&)a6|w z1o!Rk3s+ZGd8Zns%%389sYrG{%oM(<4N%J#Q_*q?quC^SX^3D>^{+--F?&za8H-zbaOEH&wP)SAVGQ%e|$D%>STMoU8ocCL&Tz zDD#ob{uiLyhAj>CGuYROtug-@LlbguV072qeE9B!Az;CizF*e(P2g<1(oOJ)Yd#n3 z$WfA1{mZWZk4j7W&t);JF!!2{9iK|>s*Tnwco4QtR5>$hU)m;uHQ zgFB8_ZNBEpH(4tfs%ZdohrJPOc)O}JtiEc`BpPBJ6RIYA??Zt;G23IiEPuQgQ)QSy z=v2dwevIg(6l4th)IMHUe~MPBf4}R+MyHq20S>{|F^i=QP~P(iGAw<`_H#h&F!q6HrW337+2u(OAe z>d^2SlQv9vXihN#@Qt3YLwz z4yuvJv6-3ZP!OY`570-oK^TC(kNq6!r`}d$q~;ykS#X8)YC03g6SUOT{Y_&F6sRC` zFf}JPcP0@^+F~``@+}>nZLB_j&Sr>dx3ZN+KVn*1m{*4e6V&LeXb9L+IT}Df><$DrW&-huWLBQ$J#@^{e*~(#}AOw1nkN~xcpiidPZM2GH!>#$ApS6 z^ACbJD?A)x{zX<`4qzJ#PV6lrQ_wd))(`9miqw7Y4|+@>gBrgUXP@LVxnsP4wwiB$ zQ@&65IdSKL81wRL#dqu=4vK&ow(NUvd07bGmzG#5uJ(fc+kaF7DkPPZ4D>u6Y$Ee5 zNwx~xVkXtG53$$hk$-v%C^KOBCQ8B`L-+KA*j&q*o6-1^&vzOyV5-LiO#oMwj-pODjJ^G#~qHu8H&Ym}{>S^}wFlPYl!U zzsJN`jxO)^-OLOi)<0Qo9iwf-ni4r4n!uiM9vo_-(E|Z^b9AY`*ytLl;_*xZ$E?ab z?nB5;(cJ;lUDDIT#RAnrH)fa5#&Fdv9q5E7x4VOQ?#w8Qc;?52{2h9EnwG@hYy$yn zojCV@OanQAbQdt``z?lf_tA@e(WQ45n2ifh2gbFNQNou|Z@zsX{`+N@1i-Yd|oQBnS z{glE8n_TUD!OQc2@ItqPO;i|@s2@o^x)|0 zSg)_AMx=OOg>%tl=B1~KqYjZKG+5Y_>bY;GA`{oPHXH@xpHg0}`gFI>`^M;dB8CR5 zjs$d$lH!{k2SgVku_EF4e^{(PHM0$6aNnc$f=+!8;X&IUy;9dL@I5v@#WE#4ix6D z-#zI~kwiQB?1`g=gdF@-5Z3G0BqY;ADJEf4ahK{ZUX4o!d)PmB^R38{L`N~qj2S&~ z*KPhq1`qi>$quY$a+Qh~D}4T)^6nF98&ryzf5N6x3tPw*_xjBhd51oW(B_2n-QVE^ zL=HNHNJ(TuqZ6ARE9$4RDr@G&V>r`>G&vCkOL!atn#A$v&A@8u!Qwi!`F^FbPNz|) zlU8mOQ|ucPk2X4amtPQ~t2=nrH^sA={+%OZI}YA?V&10wd+dU1)q->Zpq}FGa*u@^ zDr!4-hwQ%tPJIwA_WWmGF%&@5m~wD7iFci_=M0&)Z> zdR8^6i`EICFWL`o`dO^rcK=G$xSTk&1xbAdGzjmWYD3!@ERzmAAbsMcUfVNTb58I$ zDgxwUPrz%$izJG02%HvBw=s*u2a@Y{J3sOEd5G3GhU#x-7nnuSk&pNJDV*7?*PgD?Nxx9WUKg~Td!<{INQ=uU(uBVsUt8*itE_zh-N%~AWGWOn!5R1;lq=f-8ZAnrgWz) zQA!e$)yv}272KFhMaXJv#LF4~y_DxA@1bc>Hy|*eR&oYK#c|uc_=)Hbj^+{DqL$N! zB07gixM~-6#3x@uJ1m+<6eN7yK;bg?Y2;$;zPNyML@PB-Yv3|NWMMVQfq~Mt`04M4 zJ-^LRQ_^exQu6(Q#C~nb#1@rZY+c*ZiM!9&fXslm3TSdRBolvEmJ@PV#IpXC3AE~a znd%B9XI@c3nu6T9q})IoJ#gQ`&Rl(k=%-`qif7r(Fu!JYhZ2~6>)(0hEQ6ul2n?ja zwf1>2;uXqoXk042J5~gf&wTXEJ7fUCM`Uhi)I=;aEfTdI{!-rt9@QIF6ya~}s?|-L zx+(8e^4(47v>b{|liB!6a>Bg%pL{A8`+iQ z8|D!v!;d*I_tt}zuGb5D%JLKpOX6zPjqHyK38&@y_}d*Od&1VQawb;dJHcH@Uy-Fw zf0|g9_VWQTNv_7r_FnQ3i`zhkjD8*r71a+mu?QEz6VvQZpe8Q`itUi#K92tUs|5YT@)jA3I&a-rkBRPw3a^lkx^mM4r4a&%ux$%woGDZ zcrLb}G!@+u(R?+1-Ve@cWwt(*Bq7azAfh$7hoF7V-uxL%)WVFD7L)wPXRRUt(aOUyT?t$8R;K#nK&f9WxmtW4e^vJ%Q~ z?<%W)Iqp={m)c^3S1~-l?!C0>2FGHW8G(<|YVqZB?WO9!>hEY`>v@(d>*s)A^+8`{W1Lrkxayj5zhF=l6rY&iU2ui_x*p z_^eVUg>%djx*DhEmkeO>=}?~T5q@jnNtqg|RO1+XbhoxvWSLk_(8S@;6%tmgYG&oG zqvyJ&{kfa^7mk}r3Ma|?PO4q!ux%d3f3wD3`H_923N|ewf%W2@AhN;uJWgL9_sHxB zQ#F=r@JfeSE_GZlMvd8BC|*n4FM#9xE^A42$aqxfg}z(pu>wL*t|}Pz6#@pA>P7i< z)j|5^CQaZ3x&W_beGSTA0jLkbI`J=+GpBe5-P9D-%}b9H1{hfJmh`+9oDNB?3FF5u z9MNUfib%7ooSfS5Ev8ja509C@l=2u};VH(<`|9i=4%6P{A6o-x1wbWDgZ-mAfiymw zGM_#W_sMw3Xrk@bIw?e?Ft@k`Bc0CaUl!nf8Rrq?A1}Xf^w4??eT_xUI|1TonXUg5 z7%RK)DT5~h26VTg4~jP&^LO(J?EUU|s`S8O8z8^Yvv~K=$!|~X)}q)B?DM|1CH6JZ z8zIwL&V?4-e#58P^SuoQo9b!sZLu%*Be$>kJ^V!y z3{{OuQYTz<`kk}o_Z(Z=9P=r|KL5&tek}88e~>Mk4p5e|-D__5}chWRjcm2HfJc>SAZXZj%0(S*DdEP+h}>lDi5PjoUnj!2Jt- z3oYdP?u(|0kTo1HX112l^n1(NL}>8_dluAk}OCZ2k6=FBCRDua0&BfwJbFW;xz z#d9;Gw)WA64CO@Nww5($us&wE5skUTCGkizQ{M!(q?|Z`J~Y8vfhknvRW2;L-xL79 zEKVnL3PsVZ2mH|w7ybKQ;_baV??(M2<=7g3{((+bE2!O5pP=m+N<$l7=Uodo<0^6N zEx(eh_MC+1c@;4BMRCZZ_Z^r4UW%8tbwnq{{gB8=Q4PGvwEFD=KwOWF5qX*Lq0Ztj zf8g@`I5?`AN@b~x4Dk(`8wmXMwV595A5iQ`SZao4_s?6G@HQsZZS-=FaQ{R@YPNNe z!dRcuBxsL3hY9Q1b65MHq~uCC|ICP7FSnMnM~_=c3H#`95qZ3!%Gzyb7E6>A@t)@0 zEMm1ANLa24BXTp^1@6i6H&C)>C2&@Hxo673rAj*|xqG1izA#?7-e;T#>$YR$)Isybd=|(P3r^s(`l}ueELRc9?Sq9kSO41kH{%Sq*tR}ih$(0 z9i1>oPZmJ=W4iwIf-JGpdN}$8-^s&B)dnZ~c&auNSqvk>oENLwweg9Ie-42Lloe6+ z+1l0z#;HTTFs$O$K}tf}G3k6F1#9RSVCHc7BtlF}2kDR%9UQG4RJzP(alV{6J zuMYa6qQR%aP$Ab}A94s?Zi{z7G7tjdYXoGIrcP9oBGZ$9T6liL6)oRHb&RK$Lu&iGwkfnB%E0f5jSocj?{&vzz;Hd zdbqrwoe}9IQN3&ox*3aEukGsoqJPByeRAMnf`VmiU`eabOkAf57${k{P=#W=m4ET5 zZdJp2QTdMRP3@vg_c$CAa%@pLd@xfl{e>wq1ofjY$1Et+ z+rEu>m{&I#x5DhRbUi)LvVuzN2$EPLi|;o&D7TSMnhTft%%X-WN{`yJ9Vs{j?xGg) z&bmn<^tB8P;(ePnGo|}TGb?LpwTK6gq>dNvB7eMxGyca-H-3PR>IVUtXRQ#qh_9n;Q^r~?vJ^xOzX{H6_lB~G@dAK0SK zmzIrY0sUg;Vh5~1#lzrUjY!tV$LvaXr|G@=kbU%VAY9h^KXgH!dqI5VX&UEke0I&? znT#%j)3+LXepRmO(6h+mG6;RXMBSdeh%&VduL#EQ0nboo0sX*F7T7dg}qdbC%H<(vKb_$ zezi8!)b0mhQIcn{SDf3(-4LgmwrrZDwW842g>GIOn?7bU{Lo>il0#*8945H*xnH#EvXNYWVVK)`s4XMr-AhOU^N`Isr)ge69X|MZ zjqUPmiK|VP{KntRUV}w%^FqYTY)#%sCbnC|$l>)n9&S zq$>w<3mXWOOL|xQd*Td5XE>(#hm=3S(3MpuuU?so z<(AeY-0kxbpqi)EF+&C^;CjHSb;yghQRsMd?z>YT zh|gj_vJ`Y1;mm$kcs$p-<3Z>cyR7~$e#vg12m_H?jy-H=N%X@|`<*?JKOFG#`8?s? zSVGts2VL@RS-vHb1h<@$OlvTY_^nz*H{Q#gC)t9%?X z#4B87ju*`Jf3Fcl*yDxpwk;#exK2|`a`RUb1GS7JJ@iKO;%%(ud8*Tjz8IT@cr95RkC!tvws?Y@a%4NCX z;u0J9D{XqM)sh7s$}4rM{zs7G1Sz77b%%Liz6=eG68q^Xbcc6G%_{v1%=|mk#fR&sk-vXI)da)y>aa4#lt(-#7tn1ndYO6ohN;2Ch;qNA^ZYRjrg z9h;aJCQ&I)jpAjl^2ObEqwzb27%hyhZT;lKSE6bJt}ba1c7#GP3wplgK;=&*umA*z z+^j-6=defxcx#W#VMjFBc;*>@_9dKST;7MJL}BLS-oS{uM4#&dl_Q91B9C6$GVr6B7tyB5)9|4Sj)Tw8phg}8 zWzWt|8rhTkaJST^mLoDnF^0XD^b9z9(hjVc2YeBJJ>6lg@j<8@(ef)(Z%spxgDfCd zXXFb6ibhx4WL0WuHi)JJe^SVV?ZDeud-;+OBauRgx`OVr@oLH4dY?+J#;!2u;_D=C z@|_`E05K)Q;UjuCV%fb20yODzm+LnGm;LRov4i5E{`S`GM@IJ&qp`$_AGe?-6gj8_ zx`m{BeyGw;%_U%Gt4(uCRWEF4lA$p00OA=)CqjG|$#LPqrFtjvvsKZ2TPZP4@Ud6Y zPo0BXn=+eGX+HZjsS`$vN8WM=ODYOcz3VaP{?Z>;d4cBq2*G!KHf zYxzYV**$)~EEqCTudwYxPPFDYzh4|*5N?4o+jCh}l^}4Q;x)$MyTSldyBpg1uI4LW zQ6}=i?iW^Vyk5rVsy|Lis!~&IlK;Y#+u%VaN2D#VC_?^4fv_N7?VO5dW$n4_Q7!zP zP2xhDyHy__dM3RMdk+SXiFJ@0BKIoN<}eJv>+}e8-L(5^->p)pk7?1|r?uX=>Z!kb zwtv>KCVxT?{7;F>Nd{rHNt(6GDKMMLj`CQ^ytJ0>m$f}5=qf8dc|k2Nn?etbejuA5 zmBL-9vFU$AU+g1nFrHT`Ml2<`Rsx7X=Qx$A&lDHa%iEx`BO%MVO1$r?;QAyvJoH}f z*nVv>cM%#xqCSfLG>&oS`XZFt)?xnTkwXMyZ(oTyi8(rxMeZS*66JTebdlSOgHv@0 zM}kH^zAhgxZ_6fjMmAlVfuX$*@@Cl6s_6u3QtAW-fsY_bSH7pc2oR9^4&;N>`1=_Q zblOuauOiTBGiuPWs}Q!=0jk!n^h~ndPjbGjJ+FJ;JB?=|sh6uuEEbw?|GLG%-SjeK z*`rl1s(%BS>Q!$tecBd#Q=a>3W<@@s2B$cBaQ?ccMF~NNr95ge2A^AJD1;PjQU}+!F{u zINwwEEsv^d5#Rz=ehi>%^)XWzQN?>`=NHkT52Zd2vy}ZMwtrD*hTvGbISCoM4U`>mR%-|vhXj97`1FpoXtQQU%bXsnE{z(h{+NyPm zjYqr6;%%yah-mP98;?t%<4TkBx!3s7Dtx%~PwznU;&1$q!Q;wc%K6PdWra#3vbP}_ zBRyhk=4w9PSkL?i_qEzoqq^Mn-@E+kw;M%_F+%g@WS6B^m7P`=w;icU2iX%K%w+F| zd;B}WN|(N3fhM|QwQ z!=OU+kTA#aCh}Jn%+JM4u)NtxT|K^SjAbgw3QH}Rq3N83@WWtKVfU0aYXY(V2CaT+ zzRqrRl(P+W^}=uWAGQTWsGh3r2QKy`kD=Td$T`qVAb$=f(RSyicH$3R+!EJs2T%1L z^Iq4kes{@f6)<1{Yzl-U66rKF>g$h3_F0kS*2O1nG(|phA`3{?;xu5ik0{u5&|ZAT z&z?%Et@##v_DQmgxctpV7srR^Ye{VEb8Ee1r1RvSi+(|}ORuRE*rwP4x-s>=<-C0kafnRJPF+r&ud8UMb1czN{l-zTf*i#x4(+|NG zZMShHbbI;1k`A}-EsTtNiV}hpLEg>&i&8Rko43Ho3sgT^)C}wg_VsPT?e_~w?-xn> z;aAxo>TC-!$tPW9!HY_FRH=NCCJiOymroo8&yO&%m}{Q1;^~{ToZ{j}Kk9;kY@w7-ed}*}Fs6SpJ<&7CoF}uBY%a-%RA6xdX@Avbjz@`Y>wj5q zGx!9gA)pZUlWZcXb*)9_A=lDsXEx4gXaYTQs9M@C6L@qco3FjP)A;Rbqa|!j?25i< zi6*)EmX-1DB9e~!j-94#J&L(I&C@6Ul2&q9_Pi6fkSM*4JwbErwLvB6V=U6Md3`U% zA9XqaXLPF?zmamlx|GU80-QpL9yF4W*%}x7@GP<4Xv2y3Sb&E9T-*KOA(jjST!Nh= zM56gMWOdO-BtE)lMKxyTDZ+dk*T^Ytk@+uBQ)p`M+`Q?b;M_4i)QwE{)G%Y|@)vSZ zL1D94>yw+>>dy7BSS`oR6P$>56fX+h{5un#S>^EL;Pm^iPomUfCHt+J##@mx@T1?J zw%+xYK+0^C^FoBZpZi$j;#@y_LFhpB;>oGcnDl(8%Z{9(^%eaVW{;ZR;A;E~>Jqf8 zr#0|^PchiLISA)BMfK{?U=6ldJb(n1QU3?jaD{4IC#Z-`P+IDBU!gjOcZWSnLpvIR z(T^bEKdHGwd_9O82w%=a^-vFVWq!RtJ9a36d(O)+M!b<$ojcHq*Sl%siOeLf=d_!T z!K0pI-`Fa$iTsxDr=v%GxOr8AK2w=}OMqIngBNw#eqtAZT*(0`On6_8ctsL(-Jn3GgTE;-ZFX+;HRk(I~rs%FzJZ!;7SX&xvSpQ(}h=r5Ydw4w%5=w|B!SqXe z6hEc>@spI^|Hso{-lxUxP40ifrULo6PPjdzUV+9}EFY@vb~|v{Tw>Yk#r>k%Brz`& zm6%jAVb=@3``xDVEPl(%?!YUMtNI){y_Fi4OKUvdJS4ruWb5cOglLt5Wc!~jul6SV zhdBcE#|s?s6D0$v=R;RL`RVko**tLj;G`VA(Bzn&xhlW?(Lr}mQCsC9GY8O@Ik#JRi2FH7Z;pQw}?RmInG#fR-1Mx9*?jEi`ytQ4ghPv1qIRmpRZ zu460Ov9v#TNYE9cZ5RV49=mcxqelZ5=!#v{$$ZHS@XDlfn`#W8W5=ECFjg8LpSquq ztwq1^DZal|c)A65TzJ~WD z9t!qI6mAmF98-l=TF5NzFGHp)H6eM<`Y!KKjeWyL(o@2&FyNen-r`aHNXYz)hUxD} zOTRkV9}?v)AVbDRSPj3g=FlZ8%&>69OEib)c8)RD#Rj|yn&dGBp1x_s3OI2tt^mw;~49l1Vs@A{t%wh#A4b{%L-%j^@FA}n!IFzsN zL3w;)nhDo7?bQTpY2I`rG3<|rTj#rG)JchyvvYQHWm!vS`{%)LrjLJ)=tnxCRn~T% zD_`lVw*hgMn}`xum^2` zZjHpsA^IFu|AsoHJC&ST{NbIh^`4b&cTnan|BoA|^I*l38Nrut@y)_rvY@$u8TH(lM?R&GS|Ag zO8Q``PGX4=n3%$?w&Q^M?=VH*oq1o~Oy>DxU$kp%;>43j@S6};0CTtDH9wf7$$jg=SuLtK*7R|Dyjo} zmUsJo$nZupwa?_$SjNH&o-kijQe#DV1+~{Un#&B!2IouUaZ#o0 z5Zv3Tp?GW&Y<^YPsH6AP_}AU#fr^ZK)gtS)`Pyo#>oj!ytO$e=eLQ{Yq=JG6yQ{UFD94OrlShW`Jc8_qlxVGPmYR%cTAG!wHDy3Mz)ZnZ881xAL%y}Up zPu<{|_DbFG18KkoFC;SXR)14Fx4gv3n08kUGpvgW{W0ZntsYgg-|EdZ!^(4ln!PMc zi}@ckQ_Og|C3-C}OuNPMaX6+kxWntSX8zop?*6t9cgO#|ymS$Gb2&-IPi`T5AF(!k zC(N$58*PN4A}ZUN2U9cN<8Vn-|1ySM7QDWG6UB0F3(H3M4Pb~HiVy^OAOzRY1cIqkc<(`>O$#;e>>wOup{{eVuxE|T6C(xj6m zT+x}$qx=Rha{*&w9^itJbqG-)N(160$w_qS%!u|Grvvii8X^XsRS@7@JOSK+JZg-S%%SwzN;sTDH@*n+|`UrXyAq|7dRLBjT#FMnP9qXq=x?W6N4r zAu#ylVS9bB6Hy`8V_%bJW7(r(^L8o!8wj8c%#ZutLwj0Xj!=%KEl{W4NorvBT>_XY zwVF@w9I2^h!*0*1%@A7Hoo9PDM3;Qnsd-Hq)~PA*o7yHh-}%SIG}+ZLt7RRU6N-R@ z=y&x)T~Iule$a5+Y9_?SRZZ8g-pB|8(%`4U3R}s9h};(xl$=<`%Fr!#KfB-0KiL~! zIn=1po2eDZP?JL;lpieFv!RGL)+WMgl~ODiGCnluCq$I_~C+OKQx5FZSwlKhad^Zu2pJ5o<|2IwtRAoxHCH-F+s*SAmvE4t~ z!QhvyI~zSDrJ4M)$~tEo9IEI78g`Ofo2~Qx^XHO1zo?~u$BBd5o;YnkTnmrO#NPKq zLRu}utyy`3^SZc35jwyR#>wUd0B2J5dsTSpIt=2x{RqRF*liMf{>m?L=uSj8z{n`+ zIMyBE3y4_$Tpi8ZgB0H^VtZY=lZlT!wI+1Z25D?w4hZP!Ne6crx@}aRGGsajRod$^ z`zbql>PC#sW&{SO8XF@DjB7^b;_K6B9PHM5^phTSR+uToOaJuH>ObR9Ma^yY+;(e= zh+ll#Iged2@uodt%!>FqMr;{de(y`dkYdd3D%0!GLElT%AReX zA^~HfFPSRBAiT9UJxXI^J(X;aiAUDyqk+Ka0&J^Sm$u5FEfR|e({w2Bi(c$rm@ESh zC0b%x53$&gRrHI9%N)+HSKrp6$Aa}0iCuwxix>s}zgQir_vU4IrpY7x1Hv|KxA2nn z7PR}2p9wry}3ykhhMFQQnuv<3#qT@J&3i&;E&Ib!m)sYs2IIQfrJ0L_m37CB8q zTpFHgnr+%TfwB+$f7^pQ?&+nd)#nIEKb)v2`RPeJn1HXwlU*~w{M!OP_)xy5)UlxxEAZeiB$f&=dEwA8=9g) zYrmJ zD{qSuG8*4(sImfaGjMaj8+m*WHSm71zrCAcIrv;vX1x97N|Z)n1vbD$!9Ef=emqvA z;9jU>{b-I}w%uJ$w3YSe^`u7jtkh&~iDSd&!ciw4aE6!#RB4Euvxt`1?7O|yYxr>b zylYFB8pkjdZfCS@$g@VuSfjBsNl&56t~p0tTeknXsFtj`4W5{mWW!WZz3IM8Il7-S>zq0GqS@&J(AF`8$Du-=+qeCJoO^I<`p^-_hM&nRADoLV{w`DB z9B|CG5Exhp8tFp28_Cu?j6bD{m?vkeH0xcU2Ku;x;dM;89Wb(9oiIXyK~hn&dSc0b z$4}ktwNri>cXV@iPv6eox^Ema+pMv}<*NEpX&wEQj7~rxEOqGr!U4;~8K|EJQ4uAY z!^Uom>v0r!v+Fm!0l(h*Q@NB+Ad#1oP_>@=)GarLbFgof3~6}%@R!{A zL0w;0z}W*T{*sT}N=}w?p32hO;=U3SGZic;33PelagF`RS9HiAmXEhl}?7 zL}WB*@;R}Xjp~k*SslU8x>fo0^^N5x^mfR5hMN(lpS=xflMY{Q&`qs7+0O3-LUrQ> zfAJK!kVMaBtYX8FmZ{rsI3P9apnR5~M~F4sKeT%oAcHLDMwk>I3|XM@dnsS4FwxRD zsI;1IX12J%AMK5qc;&VKe?*-HR~${$tp^DZoEH!7?(QL2aCi6M?lM3iI0W|rf;)uZ z7Tn$4-QD4Ku6;jX*6KA~T~+6ty`Oy~*5*>6=eOE`s9v$nn_N09_GhhdS*J|S@T`=U zP7Oxr#m4vL@t(cE3eo94;44xdCkM}hmq(xL9dlam=+k{vgeFs}7gN2R`!miabH(Sj zu;gdfSdW{|Ew@eFpkZCi>yP9yHNEvc-~x9Xkgb*eDj+Xr1vO%B*tARJWA&FTdfk`a zh#LxCPO%?^z`9!LHX_HqJB>iYfmo`hzqCzIjXU=fi()q)Z!Q8urvJPMh=F!<4(`Ul z!5X3}R@PFVxhjbqkJpZ3BAT3)zFsg55uj~e1Fgm;{^54Uob4-0h;gPcu`0YpgOW3! z(GM>Ar+p^=t6NpCOMo<5W7)A*?ys`?;?bi=%($-cZ0ETK%?jcbF#59>WUU%)n^1;! z{6NBD#5i{K=qJ8O=$UX)4&VxW1^)K0VGadZ>kCgVO;rv3$YOHbhF7x`TlpCKFCwi9 z_U-Pgq3RcQ=C^wH>@0U|#Uj7k-@Y!w*8}S~KwI7K#T!va09c}eLW>pM? z9h7)NK~-o6Z!sehWrlNnYZ)oe16GhB?LPe$B@rbjhria3(*NkZ>?~i<`{g}>QzI}Mp zO>aENU=8En{`{pcpQ7dZ)cM97dW{gm%m^@ti$6p`ztg&?y1EPK%TzO!7h0tK2S6W8 z#ffa*<{dJn5;~MyvYypYwi@Pjd-tSPR;ZW8V?HL8R+veuBxTR(&E6c2m-@nzf7NN5 zjHEw(X}?zGs@<;PP%wT8Wn499dqJ~&{j!dYIT70h#>x}Jh*d6MD^X5=-q`)j&9ZE+ zWt*lA;r!*>8efx_4pDd>4TmL0W(Ew9xH*AIcTz$%Vy^a?SV%2!zf{$elYmAfddzL3 zE(4<*?{t*FJ==RqL-F954=ifz9(YND}%!8aG$USO#2At=Tv-s=3CJU%&$IZ7(e2h}&uWQ~~f1IrIye3iN0Z1Se>qmu@ZmV|NsFa2(#D`7N_q3Y^G~n?0JS zNC|@VYe%Bxj%{=5(VuShiA&UC3D3>`v*?#l$D;JR*~E%j_C2xPy0}hn8r_2`dHztt z-^hW}e3FOHn|^DNIr{QuFBUGwK8i4l3X&*eawa#}CbSrgnZRX%J)r-qdrB+??N12N z{4{)FH38IPKExwwzbthHf(ney^{^8GIbT?3Ix#)pvz}Xt4ysMZx8&ayw3ze(wMCET2Oku;8d9Ly1Y1C(h$gyPM4Q$;7?4{nJK4}G3 z4gdY-W8zxOSNiXw8%{>-lDS>jk==wV;$89BsJojzew7z%;%&;>X1DlroVTfMVQ$y{ z|VCGoL3oh-P$b~+BaiVW)cRjmon3|lv% zD0@LY6HN~n>ofi0WCBW?oVo;+e9ABoRuhAS#7}4xlyr9)5;imGZerVTfUnbKyH#il z%y_L@4m%v-RBb$$-UOz5o7TNPo%5*OryS*bv#iaF8(Yl(-FG+77GkIrn!`oi_WYxa zfICT1e~SA|pFLH0p85-~BVpXiAPZ-Pq$WpdRXB?DG=N?EPc(}yV&G`kkx zXUo7NQro8K%g1$G(d<6el|EXKzo30W7~xpl`N}H!oXMl2i;$Ef?^E*z&^i%Xs5f}6u(z*Scp^4eeC|_ z@C|2F;*Ck$?KhlIYq18>ROUyD8$DY5D*`Sy2_vyi#}##iEw+(VN8x~SM2pl`8D*-( z_E%{Cm(v#HJraa}aaMQw9)FT-Su0eefm-wNh1gK*o=>i0|FV(Ar|7zw?dCf7{-$cL zk$y&Rv|k<1$yLw;Al>KSy=U}v(^>gv}Us7!%3-5m+$BxCTg z)ub~gZ_RN;VQF(d4Enfb86+Q$nr!`WG2(2b@!>gs4nbn`)UFQ?rty6j7RVw%#laKa z2vFV;c@^i(l5ZH`{A$G(S`iQI=j&s&oOT4)bB}!KdJghycud~B5bN_YDKh#ZGr|-l zn5{11N=X@^o&YyJ{%3@meUTI`n!Kw^1237YH(&T!#ju6ti`iC>=c^|1BERf}%~f^_ zY92fihV=GIn$m(b<6+rEMGD$v!nzj3nN;Hu_x~d6Ue0m;KjQI!+6{=nem()WphO-Q z56~5|6LTm@NQucv0Kj8f_OF!m^t7bpl*G)qUr~w4!pIOQ!Ur_17C6b+*F*A7R~chd zfzRKyMX_~3AT7<7bXx7$jc&zrGO$LR#(vW3^ZPNKb8{SB^Wq17T$Z}e_%wc9&C}7l z-f2za)4y5{`7#a<3%#3vd@&+1pQ1oukDpgq@R}f@&Jjf3_RTaZ`P~C=4oB}6Zxh^h zGeuPzLyCMJe9b7Bn}wNCVf_SQ19IoqH1V-T;0UX)PWSW>22!oe%l?^2Nz?8{z|Z{- zU=7>i^Y(`SpP$7zJ9n=WW+4=iqZaSUy#SeVT zftbF8P4U#-43%!04i!Mq8}#Ojp+0mSpuT#)r=@Z+x*KHdI`h7^-UjM$Lx! z))PgjDxu7oH-Bh8%XlCf-F#)@NQH)f?4tySFSuYepL}&`ESDpPYTe=<8T8-#JA4^S z!w}M-GQ!ALe_M$AN{$GOVCT^Oxna-V&>C-DNC5}tZ+eIZaAM}8?}yD%J=!HYzOBve zI~eOk%8z~iLRMgPSROJ51_JxiJih~>tFm4*IBfhsQGOPj@gfB|J09^-9pOVI(B-ib z(Z(njRrNczEoz4p*Wx)Ghub4sBZivz+%m@LsNziPrH5_NnoakV%8W7Eroj`n0z$`s zgDLk=0V_)d|!>bWbRo zLNkik#`m!~odT6gg$Eb6_FL#@N1=hKcb8Pja(cqw6eTei77g4brSrc>5|QnB08^SK zTx&+*^0zz5t&gW7UaL^g*8BPTaU`3Ge^Ys>_4Q@^EDdMJ5f**GOMAN-K&}Zf3;RJe z>AneGo~OT_9s>VJkxh&9^$sZy1iO zUuq+mrdHLMr?~DP#EMXo~!Q{^CgS3oTfRYGlqs~J*N*UaE7OV z^iK9qSnKL_!V##}01KpHNb;Q%Y{=TS!bC5Ff2xH;n zhp=52Z!AHfv z-LnWCwBn-e+;)ea)50;0Z6Oqw(*JAxEw0Nq)V#*zwQKhGuk=^#PnIw5)E}D8bto6B z&@u|2XoW5|;OIbp6XsNvF_$oHxZlHgQvDKot|Me2{E!AOC$um~V8hezD zPM)hc`Z?0TU+oGlWhX!)rs&tDNi0Zp@YGIV2J6I||Y}=&xrF<-)mgiMwY{{ZhO!+ivx!ZU1)m-{#DwjxX)6`oi;k4Psj z+10Uz+UaQU2Ov_s+EcXg4qnVmNqL%U0t$44FJQa$c4ir(7=Jbo>2>hgLuElVGY{a6 zvGsHfK=?}$a7kqMWORZh%goU~D~(MPf(bs}Iel@$r+GvGc_Z~jA_IE;!0?m)_2;Xn zNREvDoxI}{b$EQP2~8$!;3IYM5IX(s?@;i%e^t5uXN~8bY*~z#1?M)eY{&^=*~gH$ zWjm4%(V%DKWo6V^`x5Enh%MdPl681k^%)(t!afsSnVnRq!1tPgM+OjP-BUtjSBy{A zmw_|zH$s~VS!DAYNaS-MG>p-ye{JM%vp&JqqswDu*tcgcis&6Mtx~7>(<>HAT_XOS z>zD6JHqpHQO3Z1y9yr$@9$Jy%NeI|)D;gw^a;do)lRfssr>H&}gIbzMssLdL(K;zx_wUyk+q$z1v)jg|be|`$GscK&hy*f< zOY^2uMH1#P`{s0~c`8K`hTS(G)-cxR<=A1rTMKTEekao=-Eme+qA)a%A+0rcPvX~I zUGrB?4|^G|ebzlz4c5=PK`EQ*=I$z7w_ob5;8Fbk7q8cgi}<<>WPr^4@6DnkLFa8a zxX~KB&ZlPBad6(@fQlm+m;gjGxEYm$ohPQnnm;Z%%KR{#W3R#0=lsqbLv=zKnw9Q$ z@0X%_sNOHQQIB^10=Q(0^e2ctG>gU~P8rwn7oMo+ABcLL3w{+vuX_e)b|`anMf!qD zSrWl|9`oiJu!i;ud8*f;%aah@t3uyAZiRvbFQKLCYYr2y(18v0+)c|AsBi3Ya& zSv5sqNZP7)-1oo|?HK8JY#+XELu~%$TUzD$q{ww7Lbq;7bB*U>Ym9PEmt8X7|7rG@ zr{jMC`-W3{-tO|(Z-`+m4mPQI2{y_rrF-q(nQ;by76siz^x-1B^fFR1E-MRzi{@OB z4f(WJVr2FwzTsQvAQVT8|5}Zy_?Novvt{t?XzL1`KO=JsP^@y}86{q{mBH*Gw>bma z_BBApU!eZ--bSoF_j5-5Jt0>2KDLR)wBPD+&jWhcvoSh~ptjI4I<=)mf@h6PDnTy1TpC=(n(GFhIP%A`>ayW5-T^GJd)s=8AZ;y6Ly z?budO%9aM1`F|Wxm?{2kB|1!~?>bpDSKiDP2oSwW22^DDuSODY{_En_8OvSLb@es^ zBS&TI03D+0nP5pGo^`ygG9?3Y*UxYM*5UDJl{x0SR-~@%Ky&TtX6Z~EqgU+9>SjhN z6{<=Gg^n5Drktgj%haY`Z(Wp9_bib64K>(Wb|>N^MTD36sz5DCGs2I4dpF{0vF2#O zq^|;$&fk~bC=w_KyE5`l!#qo`cAidJ8GyOBy8ysv14w9(x8b_fe*B7O3vi@jy91oS z8?_zDc8k4^0uQ^t{+OSzx#p2Kv9)*lDRx7|5Dbfs-?(F5;~k8vOT6SyGSc2r{rz>F zAT}oL`ev^7NP9Ew@VNaupR4tEx)Ec3Bl}G#7%|R7x(^yP({t$z zv|-CrD)}~*earj(l)I(YBJ)oeClF=snU927-gCZbJ7P1-&oN)p%}>g;xD4FPLC+NRvsVEPp3%a&+ zrBPkM9j~kF6QVE>L1v_wuubF1mw?O1+odx~m59?gnxNia7D)}jFfWEB{M2~#ntHYL zD-q9kz}hN^T%r{&Jexy?Aj z-^K!|BXzeoB%3K)?zX_?g}s0EMHVK_w?lHwESOnj6RNNTT=oG;h6f9R_5{!r;8DA_h zJ=1WMFSMl21<>z_^4H6nsA=XFo)=*4Ew_zT+f~7%?K&W)Q4xAMzp633LKriMKNj6hnSHICQUbt>HRa;x~W*X*RIuq^JFu#TQ{^}5IVt=1(0JF!8 zgoKO+(1}_ydi&5RX3FYAL7xl%JsA4?jYaKVZXgAZA=`9bL{8w@R23Dt!|5r_e7I`J zVU`%4gnES9C24yVvp4fY#K1ZSKT&6`>64PAb66vdc#FVQP?yj+iEN2MJ7vqJ!(4Hq zg)A{2`S4S5Q-Jgxy>(J7PN3GoV}kd#0faY%YhoAg@oEzE7A35ZtcTn^!mk)y?%Q&S z$t6W7GyzQq3buhm1y1kF@&vAi?Qe^P;3igG?9}q&l_&eRdp8{2aTex=GMm^iv=7zB zzF191envw^Wyk5wtX)TNA$cS7)4o^`y*eoa59Lz(`59N`%^I4s*aV;0q5T)ax>%v^ z_7*upNFPp)frdlVB34v{4&q;A*QOa>1QbTZr{xSXeNQ#zrkUql1b;yT9Kap55s>t7 zeTgkj5lX4`Um)TT96fMQ8qWq;9d_DSoqP5z2yt;cW>K3iXswsG}i-I4z~N3PSf*h0+sgBggSQOG*Gz3 zzvjO4Vir=dO-J_MKi=wBX?h&QU-eIxZTN`gQdKol+0fWo4HNunwG%N^+Lw>8@96g{ zq3`Z>{x2vX`G(kH7U}%fJm5IMy6grSnapi*@jbiID|*;F;FUZd(txbRG9AxJ>kISu z@VXX}&4T5WU-K2+BTd2$SW@;xa74sm_GS#H!gQG2H`;mWeaXv!HctL`V|nVItbT<( ztD2pg!?RctkvBg91!f)xdcnrI5QT#N`C8$z-r$dDry==aUbx)?dUwqmDEt|JHlsgo z5t&hsc%4@33dAm_aJIj9W0)g32jDScov(TyAz}^?vv(#naPzaBkmMtO&URO~UpGL) zlp%Zl^J1$e8u|Yk32^@+EdP&g0obKL5(#+}4DoS*G66zLO-q#(8y}lXLql7ToRXG9 z1`r!_eh~xY1u}ASYUNEv@RS(c#fOqr-Nt3@iV1Yge$4rl_WwQ-!Zd>> ze1PHbpFQv}{_SG5rXB;z8@!3r5mXgrUpa?CZFLn{n5NK?w)cng1pIl9nv*eQb0&W+ ze7a+wXgpDX*n_nOa#qF-xI9lE^O1p3JFDsz=sNLUssupKJ#*a@j5~*zCq<;0BK?%Y zwvQi^;|{mVF0yu&2M@7E%muG=JhRDg?(n_MTh*m!#AQ|1h z1>qLH*)2$UrNYuH)N@g}3b7Dn1u*z?JtiMhpX*`mOm|#rN?9dw#l{OSvR8g+How$L z{SRSd8mYERsI4Llg83;qum9;`OGo zE^t2uA3FcrDQa@vG}P}JC-W}J4b>s(MFl!iPI0vH<`H%%5V5`iPMisl3jqu{Tk>!* z%*;e2K-vvv>Z-XwlRK5<>xt7?GZxb(Tnq=_K|J}ZNZJN$puGN?z!>Zo4htcA1|E<)b0LHH0*D`=YhW$j*{&a zke-^27N{WVym7upm5=4+ z{JpSdq}0d>Xm{~Uf(vYy#wqopC-+fj$lg&$C?)qRe1|ab^>$;H*4(1SP6xgtpd}te zdyq%Ry{;LLHNO4yaxY)it0+dr9usMG zmYof8eGIB#r!~|d_Iq``ux58S%lpFvc#`6Xm1`v!+!SoQbDLf!uvTWfqbe0 zHzYB35Zk9vvbfAGd1N;Get`_erwkJVByMRZf~>gok5NtKIPAiIulfDau2op*yw+N; z#oLfqZ}*F5_r(Ov!B4<&#}6``pj=$}#IhujBDH~c+UVAbbN*k5u7sL-C7{fk0nh77 zQK$eEm}_LqC#z-TjG|9mG>Rl=?zh(}r;zvP4`!x6TxkSX`?2B{#X%eWM7KeHbQzu( z#3Xt4CxdveiL@vk)FXe3&T@hMKHq=t)``SGpQP~C^yDnZ@oD`L{|H{p0Oo|W4mVYs- zKO=3}MypWUq7Hir^)d*^+4h$9GB`5KM$vkoe9epQ*Z`tSwumQjsE=;GlYYG`hk0T} z=Iq^Z?QPw$sNr!jv;;C5gjoO@JCMS>wk8~7KY+Ru^e0%!Dd}Gs{A~A3$-RBSJOih_Odu(}CrZ8wY$h;X=Id zhfKud7z8qfNJieMm8b3D7z^lymjTZb8y|@2M-Gt6k1$A){P{DDY0t}Q&w8dm%?_XfdwYJLyPr^Kw z(`b$^!NkYF&p+Q`$qzVxvHa~RuQlm6zKcFx%Rk``Y~i1Fu2IgUc%6G!G6CJSHoEKa z{Cq#GLWfpSQ@e$UcmMRL`{jeQ%?aL+LU>xqs)qoW#PKrjxB*hb3=%%ED?-L&-k#{ zhQqbbEuEr_j#y&sIA3o?ua5>G<|>_1RF` z=pqJn7xrfnl3)(9>vG27F7lQ3O1in=3Zjp5Hq27Umw_90(NusjR%u@wy4kK*zMusL z#0%WV3>%JV2)QZM7oStMr)yYj8I&qMqLOm^L@l=f0Tp-HwPU1Z&(Qm@`ScUh?E<-j=;f`^0khdqRwdfi2C0KAj9@*0=Nu53Q z<8!Qha4i4}bRtLM!@lNdo4tC_o_BbL+<+n@1oF&<#H*bWL8MR(jd{ z<;lB#d*NaK;oIp$Ow1L*Zk;XQWv>0-5X}|nN}Se&Ph2v|u2BMECXcnl^TqoE>0izV zZ)u^-Y?9sO@X!7!4NjpQxu0v-$WPuq=(9ByXIpo4AJrdy#wPCz6!)KOVi?9q{d1O# zu=t@sl+w`d796U;=xyZn&dxYIs%Q7x+8TR5XWi+GbH3U&a7tI&T2~tC@Wr>i2f1kpZZ< zA*eXMygBw9l7a8mOl7C;Qp=bspb`9(Dqz>#;!QRuruu$+%gJZr7FBdlLSvqA>G~-< zW=(n2lNPx*WJ4+Aq`&RJ7|SN#g=Q8CUis#z-$5(8Rup0Ce1u6&i@Nz$vTxj3i7QXV zlp$3^ZHLp=Nx4L+h{d%aN=7~lfik}*!Md(xqKzgx7RuT4tD|}VmopMjJQAbfzo21> z7-5aw-woJf*!egNuEa6nq}2{-;etTvgbthY*CMJ_yX8DK;qMP772&~gThF(BTuMeO z&+hzH+w{oxue3SALWedXpV3=TFR+5hJvFemSO-a3$pTttd?f&Q>EL_qt2%aqo(mKRCuokP9MIf&&&)Zk$$)PuEuBUg6jf&dcHDx=^O~Hay$S^CWi*-RKsq38qG{DZn4yTab#{Ok_vG8AbqfeLtU7V*K`hd0J~o@--`N|5S< z%EtNeajJ);2w%?}5s?pJ=~(}a8Ifoom*pXGKe3%}(lu*>KIwdpdI3!}ybu8bZY|mD zS-e-AW_YjH0QMvgY$-z@3vqX^%(X0`y43Z|Kt+}PT^TfxtNGvhWN;|zU(g2E=UJx| zesld?msqRqTZlY(H6fuLFs4)A88s4oh7NE6tz@N5%`(XONm}}=V6M-1kjy(Ie{_Ko zH&^>V`kucjAI7pr8f?v*Y{vEPTqCvLGoN5#zA0662g& zB)HGLxDHC`{(HL&nK<654UVefg>gzx-HvXp;Nt0e z_e%s4g`xeJ&#@7f6 zJr%r*S|wmtL+;v~fTG z!Al$A*C&7qQk7N5Gve6tYY3IoH0EtVSUdzCzKk&}XW8KJn*^L^^klLB`gR zDDP9UKBbC9LZFubwlQaM6R`#N#X=h-<*bakz`s_fXUG%|%6r2Lx%VZ$zm~c^Rs>Z& z20~F4u|0FovI`_v##P$9sfYkBx;X|UWD;A<@|9V%PZlvM#d-7yTd4q?E@SDu(%zNY zq^gePZ3SF;Z@=iIA-H!?vIfIwc1%6Qtl^BVE+waP~GikI# zk&iK+21Qc8n2{R+t2caKhU4Hx%H(n(W{-=bo4&H-=FI;5sLjCqG$&a*v}Xx{)A_-n z^?!D;^7KxLSWrNN8p#H|d)iSDg-+Y4L*j$D2WPHv4IRd~Hg+&DeIw=*dL1h|Y@;w! zZga1saX~3;#p*z7r5e{tAND*C4hLP8a2pcyyODh_EA4Z{Y8iF9tXYg5CX6GSy$N-= zDexovifm7Xc82~c6?f^6cEe9u>t!T|&brf~JimwGIWT+`ZH)pOu)tw;`Q8Bj`^74> zT;X;8<3Fsj1_0z`1){pvU7|@fC(w^zQ|B}ofwFuiA=SXj=0t4#a?kQrF#X5&l!1ST zl^NB3YKpMaU`Hf7c5IK?{_RP-K+i7Lf$}yVT&@pa=4S=hA~G2vU(Bom(vV`u#H=bQ zkv>yw%-u1swNl;F?@h5V^o|$MiluoTm|EwbC?hV1UrLIxyP)nEz#rk(Yyl$(9!_;< z1R9TjOdY{$OJ2jLsz#thoKSN>I9^#z&)FA_6{&ho8IEl3FeKqpEU4fuf0gfyqH%t= zHWaNSL+p$H@r8Mk6SkgBO?xViX=eoeWndEA(W-&F*24?W*SPt0VXCqt4YAFp}%>UPEVgElJ3*>(niKydcn#AbD zyp+7O)YzoV==k)Mx{8^%&UmC$I@5vR3C5Sw9(HI3P{g!6_ zvLrElrTsR9wr)GKF>;f{IiGc&c%YG0iG1=!vgX+Wur6}fQ>%Rp65clk`tAvtXQjJ3 zc_9yp-7N?MTiNHc5Y42}?Nn}a{+-%v3k~iBc{Lut6IaxLZ z7YKNOG9MqV(!EW_j)*Hh-2tQ8YVZ7i6$XXNs*O4d}0SFj2+rDTFdO_L>=v<)1hB5EjxxgbU_5p;RGG^dEAS zs_YfrMyl2#J&S<$nF1!t3p}s}Px@XYZN$#KFo9N8aK-cck3!Q0M5)Ka{m~~w zitKm)MAt*pm3w0NepHP=7FNH+?>{0>%N1VLh7_W4r6o};ssEb z!bopGgl}dK3444OUWlJT_RsP)VgZd|6r^Hxd2is`5Nj4nUsRrkWU9{G;M7|$=rl>s zmI}P%r;qZwBbq{)@6AwcD^`-IL!$5tu1$40EY>=RbcOuE>842i?px39hfWcM1^86g zP$@ewo);8Qk8|J$Ht{7D+-N$jfPU&#)WgC=7{oed>WIVlUf-|3PV0HxVf_4r$yay zn!CFnqD>7;ZiR*PkCAJ#GJ_9#8PaapHg>@GzPd>qpXSS&n(L8yenBew6Y*lo;*WWL zbpnmYN+bmnPpz6x+6%>4tiHRn^(=FD^tKXFRW4b;*qL7&9v92eH#pUGzXg7{bsSg3 zn0F&+X;qeSvVGhiT^wJFStx7mIhEJXS9vHC%*9=IU`_Lsat=t5v0Ilsc0 zd0j07BE>=%l|Zq7xP7otR_73Oo0if(HJoMWbgcPA%ck7Mdo$l%jO~*vW&YdzN)Yx9 ze=6ArE<8`2w@#nCbyDOPHQmsEDBC@IN5fxcV|qk|M=WwF@7P-gnboA?3yxdq*U!v7AF|*x;ykURmDWPc|9yG5-s27Y##1K&Ln z6c3}T<^BT-dlJ5UV(y=`CTRKwtkx{4HK*9EN;U0_A`mcz{r+fY)@p$WX7vQEgs>FLWOrw5{yuja3H)DRg ziwKBtaJoE#?!(PcWc75=9mvaGQ>ZK>7rIsD^70_VVs!fvc|*iOtp4GpE|gvc6uB^O zrVlmhoFj~xQ=prq_Nv%B&wgHg)r3k&{3ehs z4H&0Jd1;&~Zz{I?$GrLtdZrh<| zeQ@eDmK=Y6C&Y8KiHRdOg-woVfGi6YU3)c#`$g6+)lcq=4VIO6p|7)wSzf`&YbR1_ z57nz9P{>rt<*lkr(?kE;S}|`)P#y!6TVFH#7s(1%M@<7K$VPbG|M}6&Uv0eF){Fjl z`byfpG%rs&PhAU1YC2r~o-J};bTs0c7HW<+qIqJ|^vDOSRAw0)VLalIdAwx2-^=CM z2DQ(8RZw3mSm^rV1r{5U@-=a&34MEtCyshfF=AZ)@Cmko-$u*Z;=5ppDzwGLI&Q(u zG$7*WHMDd&|3+3ofvs=4-45tw@S(MnoN~PWM1=oUmIPZw5n3xS>i_y4%?<7 zXNy6CU{_bppv@f2au*V*Lv&32!*}A>Bsf9^j^VB2h?pOhDGhD!8oOnsd+#VtKwg6F z8HY{O<04AQhNVRNtw6NUQn;YyVksxk10HuDs^mBfZENmce|zoIJ@3allbrD|e4z4I zqnIn8aJJivl1nr@m(4TBvN%t|pCZFB# zb%maX$PJmpXQ=f_AKgV`SwHoKDe*%%eaV;5_*GRl>BPwxy!rcE6+=of5I|&MK;09` znfbwT^*-pYAWPh5z2i>KohomB04yrPr@2!pQc5?&#Pn|8=S&o|XAPHuMq&4!qSHLF znIKY%1y5z_fb)n%VF+4%D_%Xlqjsw3NjD|+Z+S#@_ zCRc+`(X6qb>IUL0qn8JI`Rk8QciNv;7)~v()*PO!LdRsRWua7<6_^5*u)K5}y!NbS zpJ!Zd?=aA$1c@$hwDr*L$JvpdJ@2@-Ft}2bMc?%COQDGDKJG4_^kutDVfNkIfnl2d zrgfRhcAg&c_rmAu6T8%<6l_j;6{5s{H(+%lNv-*n=Xro(mU%K?&VJ1e$Yo0!^JO|fO=U+l8f`qSAWhV#5WE8pXE=UO^ zDb^#l{CwN(zMFT|&{|upE#o8*J#CM?oI%^wPdU}SUHHH%eN*-M#sC8>HHZfLf#YW$ z;3K$}TKLmOF5oH@d4kVsxu^wv1?2+1!%w3H=k5MNg_ay1pJp|SFXuQz}jRgDsS6wmv zspZFpmLV*$oA+3|UTkhLL)Re#7>TE+D6s=Rhg)YHsOKEn+8D}?RxmHMUI))!uXnR97 zo>dB7+dNn+ktZr#s-7`+i;8+nj54~C`(`~2bRbv{LN(S_3$a?p~|i{!Ri<^pAz*c3c6r`_GlpHpNPlzDFoI%V5GEGEf zPjODi#H{Ad9J zkk_bkLfxsAe*yt#O>4^K!`kX1*C$73uhBmH&#(9(y=^sbPtWG}S`$&&4Ow<8{~@y$ zl4q}bnH}N+zCB7PGY21DnMPMYYsrZiklU^cQG+vU_OrWMd-8E#SYkYfbG0LO#{{SV zFtnhH)$eh|@-Be@%+}tx zAJW)Jx8=O` zg{}N{#w`hChhbfDjC;qsd8j7l8u*=-DnfS$pklpJ0)==#r=?xQx=-(hFE6&{5Np*! zk^2edY5yjTX|?#zV?@uR_~<3J@N3H39XRULmysgF{|>j%@S|ACGI)SYbL>Hd(RF7( zzBESub!4dTUy;>RvHvxy&gSb;rA_m+s$a!)Us}HLp1bjy28yI!Oqn%bazXz_limuA zU@`T{lWztrdFIVq4fO{F+o8{fXTl*ER*KYNGzKxM+l8Y|NrYT(J%Z%~DyqMHI>~h+ zePMdEr=*r6&!Dy~IX4sOhd7889}{URn;R<20R0j(gKVD&92P6$n}H=d`(!uUTs+hW zwN(=^?k zib(A#uMrCye*uPo4_lTtP^Ew5t&D^4BYk7F*6drqCFKW!YR4JS?+SC0%@x=W9v?723A_%2(=Z!KY9S}{VCMKjMrBT!5 zr6r{#q@>2BlLMX%Qc^%tkpa*o5gdsiqGNeVSR(`YltZ716Q;o9FD@iJrzI2nahpvzAZ*~S?BuE z6p^M-%tS%|x6;I;J~%DM2`!Ge)|)7t>U4G)kJpOBPgw=z_wtM0F4xo^dI~n4`Lnd4 zCHtM0W<$tzibo6?ylI9XiT&2lfX6x^CSZKL(8opZ=Z`z;A?7AX=f#@~|Mpo1Xafkp z<%12^_8j{0|72Ud^&9NRXUgaOXrSVar*@Led6t00$5OI$Jh97&Z)Yiw zcsBR%_ih!PC=SD|PK0dq7y{3S61hu;UA##g4glCxR%zTbNwAt5~XJX)NVj)_QkXL*AZzWJ_;No1gf8 zM;xcGHEF^FKn8QWL9C{)Hqux(`kY1;)dQntA{924g56mmDz~}xtD+1XgqVvvWs_I9 z!;jQe_Vk`tT@wW4w+i}m<+gnkct>4Wjp^GO4+hSBS8vwht0&Xt(0~T9p7{bE&!}K| z^*Hjw3|n@pI>*2IP_Wx0rNhe5Qec!R!~gwBJE=$aQYz(KEO*c5X!MJeCXbYtAHFb3 zR`{^B#V6n9p?xz2rw`_*KAcXo?6fwd2Fa`%p;m&QfY_E)DYp^&mW|T1kgyyPACnp) zFS&yu9Bc+3#rFiuzsaQ5w+Xu$@Xkfw-TCnCk%js&W=~lGtha(JWBGd;EjKxmkU#GA zp2f7EBx9I(egVD45(0<|Snmr(L~)wgcKyF>PNa$MIg+O9LbjnnT*Yuop68SqI#%{w zl)VL&P3B7UUlrI;s!Iz)Iv=fxvf^g%j{*+dE&0qrLhpRrSzu=a_M@wlKOPK0=EA}g zn2f~Qi(!Es^SA_@W-N{^tVIf)tOyxti^3rPD2N3SgD~n#K+>IZLHg`?bEOqS0h}DB zW(hEqsdHw=c`wYiv^LdErj#Cn471df;>r#;>B!_!_hQwX{&KKNird{CnisYbl{bpw z8SEGLxq5qK15$SgU9D(#&t$fzZ>D37!DAK8cJ#H?=hQNIXHv@!OESnBvhnm7VwQiV z(jMfBNmmYK0|w)j93V&U0Ou?Guw#>% z&F4cSd<)@4-kq>~4DX-C6O6__#)`b2E5_D7PJ|<&Q%96ik!32SrH%bo$(K~%uc)~D zxTBl^u()D$iF|o~`U2FsHye_-wQC%r!Zo&BsUIke?#t=+cZh(!?GMk~cA3}7lS{#% z)7b=^h*WThV;DS3REV>=^U* zY1o7J{(E#Q(3q`@MLwzA8rAx!5K@fdiNWFIf_u+;@!*vrI-4Y?o*IIBpxx9lq^X?8 zAZI8soUpkF=Ci#rs8ySwW<-?;aU`z!wv2IuU( z)|zX|p?OV%Y2Y%!+I`!)c?Q7`#_Vyr`0qn!BQ#(8G6h7TF|`$>_Xn|u99tq|BhZPXyk8g?W^7`U9&X3xt%H}7?P`{mKHl-YN|Q!6)S zc%xX5kv2v+&#U~2VDT%$R~`phTNtXw8`Ig!zO(^KQ#bX^8yv9Inn!_IoY7WBSEz0M z_cRjiTA04&_S-Mw8B#>K;yyfMPHv^<$=2wP^@m~&m5)#dEqc%j3mbImZ4ZBr636;8 zq&Y)|hL_L!PJPWys+-LwEX9dtahLOho5t+^#uejBs_ftl4sibIW)Uko;8JWCaJhi{ zfVw>FQGr!R#~<)bxp*~9+m11cbjvQf{rha9cQ-(sRd8TH!@w>Op}8>f6tJsc?Mu~2 zf&(hpcwB{J+OQbRv*R?zvkX#F5+LGU1$l4r*nR-6>@*0w&)d`PXeFer%rBDd_Hj z>UX_m_8Yws`@0$YH1a2)SFVT*HxVGkui|=5wu1d3w~jUplAMhK0~GP9B^J`yV`Rr~ z^0oa(jxn7U!mD8`voev22$C4h1jj@=#U;h?AJ@N_nGuM&lkM-WWjd3l3~UR0NY)R~ zlrH0_IZ+t0Ez`^Rn$IHBW>&%n^D*!38BBdR$u2&|;ehghwZEtQiYMq~ct2a;k?uP; zxENDEi?jK16NLa#aA?Iif1|3Upq=)bCG5*7-QT~I`M!Z@Bt7ZBw3xHrfBB}`r!ueV zPq2HYfsROV*wftfInRl-`<0mJ&wp_AGX2sMtLF0Rr!mmal_|VN3^x_s_m;i3saRQ6 zbUtX;j+`Kbh#v6}ufdVw(dSC{W7;SSC0*fy4>)Ge%i=*io$585elElhuefm5I%bEE zxzvy*3P9pZsYQPGpSI=IEsB~ey-pU_*kTNg$>R&)sE}(UKGSzQvBpnAyQeFU^4EX$ zj0{|BW_I;0O7gGtyDr81x5n}`Osi5eZv_eBosw7WH)VfrQ6N_LNUd108o&0PppAw@ z6heZBT3jkC)@z3?B}MaQ3m8=do!>EXXO+SL3Tm;ef9o#Q#oiLNp`Q8k_ zeMPc1rVD7DfCnW+fV573T1Dr z-O;mN&Slk=#MwFU-pW3O8cfG@`Lu-w$8D#xR?dAaJq+Fw;~G~w+5L(O(zn$U!iYr% zI0cPx^yu^vP`Wc|FjpajOA#*=nh7#QOkM4r8YFRh z8X9CW{XE5SB2fY)iaA>F^+Pt43cNV+Rt>fc>>FRkna_>j{2aySO`2{_e-UDUZcuEe zk(gCiWkz1_m@&lZtKcMz>{?LA$pYcJ20<&U6|*bF@n*lLd;_?ZDr>hKE8*-8IfNJ$ zym$ac!wq~>2KsDExtWgG%AxEXpQ^apH%4>Y0>4xzPhkFsAT<${@l`v&KgO(wF_YyJ zM?<6}P(=*dw%>^ygLF~tkwMp3#20F}8TtMpnoO0Ap0AEu+e41|?;I7>P4K*Ay;K7n z$NCef;j6r}I0x=me$hmCZ@)a9?4D;dc5tKPbTWWigbA~-rq1jqx+HGS{*H(>X9 z>|A-No}@Hax+A3uz;m34K5k=YclCbWFkSHZ+b#M){wZ4vHWpzZIwwlOEBiB9S=M}5 zcj2!}$9f2+{b*YELdO|vfDdo8K{)|oXPt}YfGaP|yop+Pr#slt&2Y5%tTBAkRl-5C z<`t)2P8^Rf{*Y(tx=vZN(u97mw6wh~<(6@L8o?h!2_5UA6OQu->W#36N8HNM@`)k0 z(4Vq&O`u=eqRlXGFfcheHM&V`{ppd_xWkTmi8Bk{l@+h4%g-z^ z+nF4R2ex;Fkx6XcynU!REK7Y_NzlmZjOddydKHMvj9Z5qi7cC7U|xrOvsr*jka?&^ zU~S{jJO2+^896Q*OKw)fO|rK7apkXIexr|K?$e zs73UMJOrP@kBD~1y?^^XEeTtYQE?Ui=3A>%--^5%nQkOe2I&NQIXxm_WAQJ)q<;<$ z*I+R_QK?J8^GB)B{otzdrZ*qXofZ_;_u9exxV5Qj+VT_t^0g`#J>p0lclFjirD*7R zc}09tI0;2J^)i+*F02qC3Xc=T)94t&1PYBzcX4L_LSmt&Y~_m0fgr_otd-}ft(c}L zb8LkGH;Tukc{Fs*@JSAYq(^t^uRtNfnos}pTYcKk?hmfAfJ+MfydaV@2`98s!!dZq z9%jO;O1{Qz>wVS1UR*0-EGBi=@bTq(3e`Cp{#>|F5^jbtIKc9$d-FZq|3+ed`HyJ+ zKPn9@;L~@OF!0~oW;!!|^An?Kl#!_`yC&UfEwWlE{?Pz|>M)-> z6hYo~MoxizpV8Vt;KJy;#~vN*Mu*l~bBYgu0CuRH#n;)W*!c!G!j*tm+qx1N4a{1T0o>fWa1vRxJJj>;!) zFy{@8h{Cb%rCK<-MkegQy0UNro#Y9B_5cYp(=)bsDF^%SDqqE0V5TYD>G)TXd((#D z(SL8k&;A`-bUHeg|0Kou;D7;0RUObVEWL7meoJ)k2MjuRwYdt8wZky0n8Kz3?ghtc zU&r{WDU;Dr#e(R_mG;pQVf4xc*gTt{vR_nxX7zIKpG}2G7q<1;_!ip2Uc11q#j6LF zn7I#BfLrR;b_?#5fGD>ob8}>&orr2Bigt7W1yl$Rq?JhSq~!4>EN4uSWZ-^s5&1r` zjZ^BCe5$iQyihxh(Y>i-`l?0x-xi=jXb&54`a2-4nX1!~kQRl`(rizlj@X!@F95S? znf>Iqi~B;WcMY|d-48hZscx?04-3SbV)+p&Y9AL|C}8GdpS*3y!zH(>EO0(49?u*h z1U^I%`HG+;XiIjX}R7u>9QQGu4)vlOHVIID6rJ4Et?b-V z@^9+IzO|~Zb=52(39)w1nu}{_vFLewSY;==p@^DLEkMqX`##suE#a0(g?zt!=aPyq z)&h(Cfijb{rj1p}a>p*R(C(q#27dUq(0$dRBI3hrYZJX676yI7|j$y-hR;R}%Z&CbPEonU>{s6!P_1Gn|d8iG|Ja zYAL>a_bs%x3s-;Qb=vkq8{12f=;gT~1AegX&jKthBB=X2{L?kkgi5#6=PK45?wpGI zSIWsI9@PznG`Tjh+eAa#uBL^+3@6%ss|#NhhqrL=IdEU=1`l{*0L*8E!GNj_|9o9D zKFExa?h&elP3eY944khFl^PP!B1-Pqa7I3S8P%P+*1;j5z7<5D0~Gc zaS>rlImeNU*x;nZx5>-i*~lSw`quwJ zw2+mPs)SBeRGilC={B3)q#)~`P+VG_(v$5-u}{tXMhh)mIlhIUUwIDA38U4gGH;YA zBhk|T?JS7e^^p7>xkT(e~ zv+BioVCwq>1fd4RdMjh!{HFP5;T=1v*aWM%43XT_(YUtsE*jPA=37*onez=peLupX zcICfR^ly`zgOq=Q*t#0Y{90G`nGd<#i&aV`YT`yx@XX4Iy}fFd$u>$A^DT!fJ*H|b zYJd5apl@(o7ougv#*Gzn4w5DsimKNoFsVVX@t&~%Vn%Ivx9(1}?u%TN9S{HtN2eJf zMW1vXE1zEH7nN0VU$E=zLH&vue(T9iu~2q%3~jb$Au&Go=`#1ZMVKr8e8@|a%Xj^M zlxfo0H9CTI)+~p2;kbshSoC=svpCyU43YkgChpGGttxBT-b;;*h_VY|w z4ov-PEeCuiY99;Qz_qZ@wlPtl$Djm5*m*cuh`qn7xV+4fgpY`F_mUGP7nIga0Rspb zf08*ly@-K*>2Rm!zvS~%tI#C%Y!93K!sin?=*J+ESeInlz1%Tf^Zbw1a>Ufisgk$s zjHc|$gr@OL+HN)!(McF_`YdPzipA~*)TGj=v*e?k>r9yCcywuvjD()JgQDo;q%K@6 zRLm}_odISineRT|5;2FzWYh~FQ-UcQ**I9Nw*yt0+KasBF|-zFrDR~B(i$J2v`*OJ zZY!KD+(uuk9)m}m&Ra#Q*U6vP%xz(svfmHmxTHlH)G0rtuS0geNZrmS^>dzm)nM5H zQycf7NZhv)n3=>120r?#NgUQd8$8FQ{7S$>OiGa{X(aM5Ek&9n8i`h;d2@yZF>Or# z4rw-lO)m6w^~;&0XfJ*%MAMA<%fKGM&ugBxfL3|2_qRPtuN;3lz_aw)b-YaJ`F8Q} zQs7ZD@r3q!`^soDD{@*R$~iN&Z}0dKd!(^PGxV1j8)AXy@}Z+ghjr zyjq6zTzr_Z@x5oskwDm?=Q|WABqfXc{R|wSVh2v-*Mt$f7^xR48LWlek%RtYQGa3T zhqub?rW&!P1NkY?TQ$a{pGnOU^z{yUe(+*bL(5!qR`;S;rlKn(T!t}B=1)m=-SjU_ zkh<^_CNXK_GDg?A^NJJP9qY6Z0hzJ_;&@#*&+3jJ&%&XhVNVfbROa@!kSREjp}iry zK-w$gR*NE*RM4tEdHYe!GJ(k-_@w1bYoLcc^0iZ(aulrcSiKCm*bwvag0Kkk4`?XP z5{(oOT&RjD(vO8?5VN>GJA?Et^{#);px>olQiriRt@uC zs6*_maeJG<9oB`^P0V<*j6Cj-KX50SBj@nrueDZh^#VIBm2-0&(YE<7X_P_uLzYg3 zNL-}RzGKVl;C0w`uDUQ|vm6jSa8q8n$9DkpkT2sRJ%OIQM zyf_#K5qj|=dgw7jJtFb1(fI((rl&VU44$=yc3Un`7GsjIvJP4hyRZwHqjW@@GM&BBEJW0EKll3qW3 zTAmzm_dA}t)Aw}spSY?Iga?#B%5U%9pcq>OtVD9hGxzT-9IcqKpnn;OfCA*hk0^(n z{a074^}?t6rY^gQf-V1gcc!E@rDC|!xI^H}zTWKgZRZh2vLgx~pI8$Pv-j)|*Q3rA zuy_(78u7Bjy4>i(DRT)tIIaz9t2iZOHF*+THh{1vwO9n;%9G zgdT;lN%-@3>0&p|r;)jLOexgQ87kH5XE+H09g9^>`%nGq{Q5T+nt46;-VbrXrub8; zn3A*edU!W<<^U(d3aEpL7kw|P6l#Ee*g~9cIt-{h`syxTi6Klv-zwi81V1}aXJVk5IQr{nmPLB#ueUb*uJM~l(# z;1e-pGDq3)K$-v=z`}Jtj!gFM^?8SOxRUT0YBc9NfB+MOmd*eH0m4m!D?B^$!Xss@ zPnH@)m8-W@da)3ON^$l+FYJLRh@^3PL#*`<8Dh+Ld5y*S;{dV)mG^9etC*e@v%Jg; z+$Sl&4;1MV|HL|NyJ&l+QLx82-7fa9wj_BaPCa85wLTc; zE_sl%?X^P&Zf-aYHR04P#LnZ+>fiu)g(Pt7WU&d_jh*|MK8M_9D(QJz46-Pp;1`165Qr&!0sS(5#R&q%3U zFi>i4GdR1FJ^bY>efnoNukSTD581CCmj|B3w^J$>nhl7nb2YZz`bI}k>t#k9y>EBI z(uL5g-{nr~vSWKYJc{(?6OfW4%Wh*@PQlw*$Rtr0Y!^(CYVZaXUU<%#K=B6GZ&@0= z$8@#-$OwA;qJw5`+p}+!m>L~vQeiD0whQziQ`(DF@Z41ezM_x?KmT*ZD6a_D`_Tud zq48fhL&ERWc=__htrv9v5J!WHJz)w`HTc-F8yNf(O5v^N%EMBFkF@GnU+UY4lY!Q{ zunSwtD+LtYzR>uBmu9>Suaxm)1xo1cJwmU{{;r_1=$E7Ro39i;*}5W3Sq5t3!w<4L z70`#}i`U@5Jh`R66Usd5_B>XeNWkST#!j#5w-=_z#wT@tqow0%$E9jQhWoL2=l~1| zBKEcH$DGo~kIME-UJ5>wUN9Z%PiGLiR&lgdRf%KCDW?}v*^^kgQN(b+E#FY4S)x^1 zsGgYdNw!vHNq$bKdmpDZm8sr%qUGoAke!f0 zOUsaxl@ganO-oJrj)tBwGogr*22g8IzGwWMk(8eL>%|Uea_``fi3@kzvkSNO_)K=o zY=CpzrS}v)Cr&25Dsy*#yO=0UG+c^yEq?K`|H9}2p&F==PGz7tNgl!GR>ml8cBLG+ zzCS5RZ0)~FC$Os8%RM!4uF^eK6dY?58l1oY{o_A)^5E`q`_TxydVu!{0^yyXL;d!? zsv69KJibfeV{O4(cG8cIbSHw{cSaA}#P2aOKn=D^wJ1*?Px(yfUS3~@#H>9C+>Hz* zCnd3jSt)QWd3k4nzf!R8TJqVn@V@ZI0HC*D-X-VP^JZ@unL>|=r41v9_7%?8P#sJv zhqR6jBJJ<#^7+8Ne|wO|~dDp6&G7?32h_~TR{Q-g9mK#P$ENqHad zAEYVzpCxIns{Hi({p{KAd6$6P`IovZi96)6kg^!5%ldTIx)1UazI@Ma9p91Qy6m2>CX*54OkvA z9Q~A)=HD>MflG!1WKHF?NE`DNjn5hErWj4uDO~RVf@J47xQ~tZA4a`q2d6Ht!G1Vj zVt=)y=HFR1{4&kHuy|$V02k&j$*B>M=xw{Ra8}*^@b$7ObsO?Z z_9zdhVC%TXp)VSU0wP67{lhVt(0%|8xcln5a;c+V!#+NIo1k@i`i!V<`%Vxe1?wYR zpey3UU6~;*nbZ)T`S5BFgNM7NV!Pe0wScMD6uP-_43>4cp5$&jKQ$GnH>6sSu-%iNFH=*iGtIg37&c)hSN z{1?edL~(_Uh)2VG)>@%fW`RB8UhqCphqwJd>4joIiD*mq^|!Xut5*!c@Y(sQM=ti1 z*x9hmqFZKqHwp@tRyFkK&o?$(@n?cH0yK;VDp?=niv?K2GOPdB@5T$uD4hipFf?r_%L4j7WIUh14r zrid-n=JAlt-w3H(3#{XDM&$^C!*Z-o$(7#A&w6O|_;z>t2fokY{``!Qr# zw6>`_U1`PN@viEkYa<2vM@m+Oi$x#KOk~AW*UCQ6-2N^yXDIj$@^k#-L7oPr{UQN5 zF2#ml+^!1EP{-W4pY}a{&1U@~MYBL|wx3&3VqbGp)24$3;Xn>rx~3S92DCLsl+TYH3sQs z?(PCP2hMXQ7he4aK8S+%>VFSPp13VX$d{d@1~eyAqBAvdLQj-*z)80M7QVFio`@YH z%DT%qzxKGGZj*V>rAx=H8`|`FW436j#ug;>#NNiR$PMBwlIX`jH#`LYE%7z{_@YnQ z$iqP%wi3b-v3u&bb6kJf^EG%UWH*hR`kar053~-=(w$u-U!K^S#K9 zF9bD(L{KKW(xWN*o>Y}h)9!6Zx?O@JQ%=#g0$H`=?kw17E1ZC}b6k7wxILmm0@Bt; zIeYDQpbSe14Pbqd&u!S7^a)OrDT#G^6jAt&oS#{@t@J?uL6$lz?L$8EY%U3KxhPP2 zl5RN#@@wDUaB}Tv<19FP#4NoJn$X}i`)}iTPVuNjW|8D)J*o^p_%>?CxFjNuInd}- z&*X!biYNNcYR~RD=u&jd=L+3rStNPqMlx7%d$=^z3bmam+d!qcvy zOPO>g(ds%bYqoQK-s}6G7Ltq&%+&^ca$5qhZm!D}cfs+rvlq@g3zqy#=?IAa+m|+>7yt5=Rb$H@u<%^f zQwIJ7zt{JXL<{FFEpG9*mn(||r*^9ySN*8iPrpRF$xw;II;8bN>@nFXH)9>wCeJMnN>dnvTt}k zqucqlss@=#{{O{6rX8`B7_47ZYN`D=;UpAqkxTiBdse{vn)WICXFYI$-0azJdz|=zHhmnv2D3dx zUzVA^m*K3W$_ARh(Ls%&Z=vT;4B-Rn#TY#KK?@Z1_a>Y8b=)V*ByjV&yV1kd8lt`} z85oCBC=dklLBMB19%a<{?t{1VgV0Ig|T6>1(DeP|d= z&Jo}$eB2<_|7LWTzaIWyL94~CGR}6ENsrMN>z%w1zj*cU>)@!sRj>sE6_^azBNI|T zcX^u?sl3%weE3^iL>`G;p+O38UKRtG#({0AS08818bPUR z8o-IR!;@!SMZCiN2g%WZfC*q=P&}^1Y*L?eL+beN*@13+cIUp6O79`kgBglIW&8#( zfCDNAGJ0u^DUhuUvQp@^%bx3gZ#(~`eQwh>+nXT;W-0KpI}+b}5|lWG;7J;C(()Ff zvcRZZZ>t$xdXMhf!&h==NpwHeP7iuFLhvU7uV4i72Il|XJ2x*#^{z>#R{yZe_@`mw zu>Q}BBOxfdJQISbe43$HUx>l!KRvZVF}pHU0jD4r^?A|$c>YzY|CT6(Z|?wgt#c<) zXmZ$!lJ~~@cYj#;hxq}#^zYR0@12L&N?C?9!FqY^GK<^+9(J(jh-!u&xsDi2=K7P! z1=Z=^MD;*n514^dWNADGW>Wd{WU{th8*Q5Uj2|O?PtZKHjzRyhH^9`~{*_BSOhfai zNRKR{+1B>SAl3WkkanHG;&38L}v1z33brxe1qStn%@yrD{i2VYVYKA?aeFb@RccD&3}Uy7)rX#fPA1 z7^!LNhlS^XYw|{`4v~-KrLRmLd=cG%!LPxgx$PSZ0SRd!c+fx~ZR9d{vqA)ZQ<&F1 z`Qh->U7&;8F||K&#eb>p6oE18rbkUbh>u!q7Up}IaB8Wxov}m=I1gC6BcG?Fe!zXC zxV*|_rCU*^yfWrPl<)ROP}egc4*^63C{FIIaG(S_Q6sLD`Z3|lWMuTaquEo(O7&Ao z{r&VOjwOnj2;)nM?PumdbIqFkZ&?(%3l-AGwi5$ z*&q-G=Sfzz`Kr1iu)`7950!3!Cj-9nVWm1sZXRcJd-O|dzYg|Ou(ZIgzZbtsafP&2 ztb9QIUtjt9ieW5A<09`RT|;%ziUU*fJYVVJmR!k3)p$iGy5?E-e2vmzH|Rd*sVAup zzZ$ppj4O52v==MHd`pUc zqQBIk2(0!TXpd}BCnKX`^@17i<4|}rym|o&ms9dDnZB>D%KWuDV~|b0Y2#F7It0AACajiSe5N zbYD1J+hyK(SJx-4Mb|Y=hTMf4SMB2Sk1KZi=kc=R*>lKVAksl8_``2l6Ds@G0*&eLf4!T=DC_B(6C1bicKvffgOq zdTr`xDSKCnGxUFjRxRU0&0vL#mO9{rcN^|6=FzT*4g6Pv`iNWBnxa{zMc-^B%&dLr zDjMd)Ztv%pvAjdf(!+B5Ci?6(F6JbjAts4eqGsFIIF}-9@xZ?e!Y*`Il~Vv?0TL0I z#`miBMx%dkFaht|-eo%3EQbft_5Gp7sD|inEoo==)vU@<-PDrLkU&<@CeN)kZPZ0R zv7XI|JMR0{4g&fPb1G$au*AMfLh(rSwMKD<40FFsw#erp`J-RH*hwj1orq+4itWHj zt1vDX*>UI3JbNtZn2R!t{-}RnpHo;Pg@gZD-)F%P;a>C|w8#&z!`_sQbZ*v7Hypd! z3**RE_UlVBR0FKHXQ@O-dEK485o%ctrL8Bci=(C8+NR3~oG-g&QtD0kamAGOa!Gb^ zj5^ZDB>g*dY^$7YJiKP2s;~*A36%1%PwkinDvu3c1x=2h)Q^=_@t z&*BJ9O3o4#8&26cE7B08Kc>lJ+ri^8dnmAWl2GBA8*6yG---2GLYkOgSy7KR|YFnduq07WAl@8qc3Pl@RLX?So6X4+~$m75{vaV2P_!H8o2J9 zsNLVZVP18}JZJlsp{unZ2R!A!lTTuwZE1dbkQ?m-Mxx@cW#G|n@6k)0D25CDjyV1v z&JVaaUSWFpv*tHc?W4B{=i&WF_lR4XwdWb7eS4?YlgHs17SVDzX9zUpsU!rOE)H+h zFqjY09T)lt%ZYH$(20{qDCp#OvC82ayR~{_78XlvjU+eb{ohQ^!6h@_)MA}u|7uet zE_{6Gyu9t0-!-}3ESlM&Eb)!T-xGv#0npdjsYs%?Pdb%-CRgYpVcj)N7o#RTh?c6%mSuh1il93*MC8=wRV9}o2Y3ZAE z)Z@Ckn_x74l5IKIu-2Mke%Um4dULE3!cjZ=!n~0EzDtx(hkhDcUt(EyIm_n6Kb6;js4q++L3|r40YfeAn3VDrwhu=r f00&~eUm5Y+7i(GEG!*j~IdpsVYkWE@$p`&ENNmM) literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_small.ogg b/mods/fire/sounds/fire_small.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5aac595b94264e8d7c7f74b1894ca4e90b4950db GIT binary patch literal 50004 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

;_waAvZwXMX45f8r^0Q=`HLo- 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 vjY?~YZU4+* z|L9-&+h70hUH{!$|H@YX;7JJV_q99!!8-AzI{(%=__R6rkU9T^IqOw2^?fnANTYnyz-iILYdLYtDAo6q{%#|MbY#r=s9NSVH z^k^I9gcejDgg7tuZpMiB|HBM7G@0RPEG@U=DaT_Ds# z58h1<{@+9Tk~`~FGXH`w>ANTTaVPm~9r0ru;Z78L84q?A2>-!E|JFJ7hAi=UAM|J& z?5Y^!UlrFz6>k~}e;Nr)2>}26ZU5Ip|ENCrwL132G4+}+{CX_^hARJZCG2V(qA3)| zH4wx%4A80xhYiRF-Tu}& zgPBCZvIISIpqK&3Z2(^!Sfmec0Bp9iKcVF{ux`fTTKOw5m(jZjD6d-Xsvi`W1XT)C z_W`iGYzSt`Xd!r)f*s9BxP;pEcL1Jboe#sepI*VoKm&m7W^cv1vlqI}E5q#t0P`;K zC60XYx%X{r%ZUomJQ)C=#KLJm_u~>N6`ccMwf=Hn=n8Tiq8EVG^61?-Uw;4g^Dz=< zru^#eJMPi+?5%)=H$hJYj~k|Gbk?%`td?^1l&*R-cgrP_5v^We!NqOf|! zq1T zN@;r=6p`oSJH`FmVL&0EN@f1WYPIeZ&{u|APA5?5bU;9s-UfLHPN?V%V4>8P1)(d; zI8#-eVAt#A&Z#+;kr3JaVEdPSKoq!098tp&Ni0T9_W%Fm_eRT)(eh)o{2;gd006Ba V(oINT7W@DJ002ovPDHLkV1l%J`riNm literal 0 HcmV?d00001 diff --git a/mods/fire/textures/fire_flint_steel.png b/mods/fire/textures/fire_flint_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..c262ebc096f471c95e66b33ca3cd44a14494419d GIT binary patch literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4z z?Kl6UUk+XqIWArFlVlQ8oTG54c*Dxvtw}E*=zh0&x6i(>`dIaOLqm%!DUM(6b#rS) z+b7o7*BUb9MaeHykZ`N3Df2Su`S&DugY}%aIm`z0&+~7-;4a~&Gf#}cLnK&)wIMvz zr6trXG&GkvXOq4Dbd|?~rLn(NJT*>FT9(PM;o7_H0&RlZwNn~&P6LH*=Co}sSB@8oOs_om;IU^8G)`gFHx_O&g!*|)ZtuHtf-_k2m_tI*Q-zAW~lt}NNQ ytGoh5qI>r16}qny6ns2qarl?y$NT>uvr1_c6a3?TO89ZJ6T-G@yGywqe^09pY literal 0 HcmV?d00001 diff --git a/mods/fireflies/README.txt b/mods/fireflies/README.txt new file mode 100644 index 0000000..7382578 --- /dev/null +++ b/mods/fireflies/README.txt @@ -0,0 +1,22 @@ +Minetest Game mod: fireflies +============================ +Adds fireflies to the world on mapgen, which can then be caught in a net and placed in +bottles to provide light. + +Authors of source code +---------------------- +Shara RedCat (MIT) + +Authors of media (textures) +--------------------------- +Shara RedCat (CC BY-SA 3.0): + fireflies_firefly.png + fireflies_firefly_animated.png + fireflies_bugnet.png + fireflies_bottle.png + fireflies_bottle_animated.png + +fireflies_bugnet.png is modified from a texture by tenplus1 (CC0) + +fireflies_bottle.png and fireflies_bottle_animated.png are +modified from a texture by Vanessa Ezekowitz (CC BY-SA 3.0) \ No newline at end of file diff --git a/mods/fireflies/depends.txt b/mods/fireflies/depends.txt new file mode 100644 index 0000000..e0585b4 --- /dev/null +++ b/mods/fireflies/depends.txt @@ -0,0 +1,2 @@ +default +vessels \ No newline at end of file diff --git a/mods/fireflies/init.lua b/mods/fireflies/init.lua new file mode 100644 index 0000000..3910787 --- /dev/null +++ b/mods/fireflies/init.lua @@ -0,0 +1,287 @@ +-- firefly +minetest.register_node("fireflies:firefly", { + description = "Firefly", + drawtype = "plantlike", + tiles = {{ + name = "fireflies_firefly_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + }}, + inventory_image = "fireflies_firefly.png", + wield_image = "fireflies_firefly.png", + waving = 1, + paramtype = "light", + sunlight_propagates = true, + buildable_to = true, + walkable = false, + groups = {catchable = 1}, + selection_box = { + type = "fixed", + fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + }, + light_source = 6, + floodable = true, + on_place = function(itemstack, placer, pointed_thing) + local player_name = placer:get_player_name() + local pos = pointed_thing.above + + if not minetest.is_protected(pos, player_name) and + not minetest.is_protected(pointed_thing.under, player_name) and + minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name = "fireflies:firefly"}) + minetest.get_node_timer(pos):start(1) + itemstack:take_item() + end + return itemstack + end, + on_timer = function(pos, elapsed) + if minetest.get_node_light(pos) > 11 then + minetest.set_node(pos, {name = "fireflies:hidden_firefly"}) + end + minetest.get_node_timer(pos):start(30) + end +}) + +minetest.register_node("fireflies:hidden_firefly", { + description = "Hidden Firefly", + drawtype = "airlike", + inventory_image = "fireflies_firefly.png", + wield_image = "fireflies_firefly.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + groups = {not_in_creative_inventory = 1}, + floodable = true, + on_place = function(itemstack, placer, pointed_thing) + local player_name = placer:get_player_name() + local pos = pointed_thing.above + + if not minetest.is_protected(pos, player_name) and + not minetest.is_protected(pointed_thing.under, player_name) and + minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name = "fireflies:hidden_firefly"}) + minetest.get_node_timer(pos):start(1) + itemstack:take_item() + end + return itemstack + end, + on_timer = function(pos, elapsed) + if minetest.get_node_light(pos) <= 11 then + minetest.set_node(pos, {name = "fireflies:firefly"}) + end + minetest.get_node_timer(pos):start(30) + end +}) + + +-- bug net +minetest.register_tool("fireflies:bug_net", { + description = "Net\nRight-click for mobs\nLeft-click for bugs", + inventory_image = "fireflies_bugnet.png", + groups = {tool = 1}, + on_use = function(itemstack, player, pointed_thing) + if not pointed_thing or pointed_thing.type ~= "node" or + minetest.is_protected(pointed_thing.under, player:get_player_name()) then + return + end + local node_name = minetest.get_node(pointed_thing.under).name + local inv = player:get_inventory() + if minetest.get_item_group(node_name, "catchable") == 1 then + minetest.set_node(pointed_thing.under, {name = "air"}) + local stack = ItemStack(node_name.." 1") + local leftover = inv:add_item("main", stack) + if leftover:get_count() > 0 then + minetest.add_item(pointed_thing.under, node_name.." 1") + end + end + if not (creative and creative.is_enabled_for(player:get_player_name())) then + itemstack:add_wear(256) + return itemstack + end + end +}) + +minetest.register_craft( { + output = "fireflies:bug_net", + recipe = { + {"farming:string", "farming:string", ""}, + {"farming:string", "farming:string", ""}, + {"default:stick", "", ""} + } +}) + + +-- firefly in a bottle +minetest.register_node("fireflies:firefly_bottle", { + description = "Firefly in a Bottle", + inventory_image = "fireflies_bottle.png", + wield_image = "fireflies_bottle.png", + tiles = {{ + name = "fireflies_bottle_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + }}, + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + light_source = 9, + walkable = false, + groups = {dig_immediate = 3, attached_node = 1}, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + sounds = default.node_sound_glass_defaults(), + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + local lower_pos = {x = pos.x, y = pos.y + 1, z = pos.z} + if minetest.is_protected(pos, player:get_player_name()) or + minetest.get_node(lower_pos).name ~= "air" then + return + end + + local upper_pos = {x = pos.x, y = pos.y + 2, z = pos.z} + local firefly_pos + + if not minetest.is_protected(upper_pos, player:get_player_name()) and + minetest.get_node(upper_pos).name == "air" then + firefly_pos = upper_pos + elseif not minetest.is_protected(lower_pos, player:get_player_name()) then + firefly_pos = lower_pos + end + + if firefly_pos then + minetest.set_node(pos, {name = "vessels:glass_bottle"}) + minetest.set_node(firefly_pos, {name = "fireflies:firefly"}) + minetest.get_node_timer(firefly_pos):start(1) + end + end +}) + +minetest.register_craft( { + output = "fireflies:firefly_bottle", + recipe = { + {"", "", ""}, + {"", "fireflies:firefly", ""}, + {"", "vessels:glass_bottle", ""} + } +}) + + +-- register fireflies as decorations + +if minetest.get_mapgen_setting("mg_name") == "v6" then + + minetest.register_decoration({ + name = "fireflies:firefly_low", + deco_type = "simple", + place_on = "default:dirt_with_grass", + place_offset_y = 2, + sidelen = 80, + fill_ratio = 0.0002, + y_max = 31000, + y_min = 1, + decoration = "fireflies:hidden_firefly", + }) + + minetest.register_decoration({ + name = "fireflies:firefly_high", + deco_type = "simple", + place_on = "default:dirt_with_grass", + place_offset_y = 3, + sidelen = 80, + fill_ratio = 0.0002, + y_max = 31000, + y_min = 1, + decoration = "fireflies:hidden_firefly", + }) + +else + + minetest.register_decoration({ + name = "fireflies:firefly_low", + deco_type = "simple", + place_on = { + "default:dirt_with_grass", + "default:dirt_with_coniferous_litter", + "default:dirt_with_rainforest_litter", + "default:dirt" + }, + place_offset_y = 2, + sidelen = 80, + fill_ratio = 0.0005, + biomes = { + "deciduous_forest", + "coniferous_forest", + "rainforest", + "rainforest_swamp" + }, + y_max = 31000, + y_min = -1, + decoration = "fireflies:hidden_firefly", + }) + + minetest.register_decoration({ + name = "fireflies:firefly_high", + deco_type = "simple", + place_on = { + "default:dirt_with_grass", + "default:dirt_with_coniferous_litter", + "default:dirt_with_rainforest_litter", + "default:dirt" + }, + place_offset_y = 3, + sidelen = 80, + fill_ratio = 0.0005, + biomes = { + "deciduous_forest", + "coniferous_forest", + "rainforest", + "rainforest_swamp" + }, + y_max = 31000, + y_min = -1, + decoration = "fireflies:hidden_firefly", + }) + +end + + +-- get decoration IDs +local firefly_low = minetest.get_decoration_id("fireflies:firefly_low") +local firefly_high = minetest.get_decoration_id("fireflies:firefly_high") + +minetest.set_gen_notify({decoration = true}, {firefly_low, firefly_high}) + +-- start nodetimers +minetest.register_on_generated(function(minp, maxp, blockseed) + local gennotify = minetest.get_mapgen_object("gennotify") + local poslist = {} + + for _, pos in ipairs(gennotify["decoration#"..firefly_low] or {}) do + local firefly_low_pos = {x = pos.x, y = pos.y + 3, z = pos.z} + table.insert(poslist, firefly_low_pos) + end + for _, pos in ipairs(gennotify["decoration#"..firefly_high] or {}) do + local firefly_high_pos = {x = pos.x, y = pos.y + 4, z = pos.z} + table.insert(poslist, firefly_high_pos) + end + + if #poslist ~= 0 then + for i = 1, #poslist do + local pos = poslist[i] + minetest.get_node_timer(pos):start(1) + end + end +end) diff --git a/mods/fireflies/license.txt b/mods/fireflies/license.txt new file mode 100644 index 0000000..eebdad6 --- /dev/null +++ b/mods/fireflies/license.txt @@ -0,0 +1,58 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (c) 2018 Shara RedCat + +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. + +For more details: +https://opensource.org/licenses/MIT + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2018 Shara RedCat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ \ No newline at end of file diff --git a/mods/fireflies/textures/fireflies_bottle.png b/mods/fireflies/textures/fireflies_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..ecca0363096bddd994397af8de7a04d786f096e9 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY1=1I;JlL}5?7kycZryr% z?97d=ThFZCdSYf{ZbxqH|Nm*Rr~8_KiWp0R{DK)Ap4~_Tax6Vv978y+Co2dQ_%vKN z)7Zo)5O&06MF^8}&q1DrGbJQ=6nMlm79Zf&;7Bvra6p33XGNE!kZU6gL#!?9`)lr> RHGqaNc)I$ztaD0e0sta1JbC~C literal 0 HcmV?d00001 diff --git a/mods/fireflies/textures/fireflies_bottle_animated.png b/mods/fireflies/textures/fireflies_bottle_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..96062b3c15c1cea67f971d7112eb158f84797d20 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!VDyz{eM3hNT~$)gt!9fEql(MzkGk+kt?@u zJw0~j#@4N8R&PCV>H5Q&jkz7UvH$<4U7z%5E>Im~NswPKgTu2MX+Tc6r;B5V#`$Cg zp#r^z3uhdC83n?gD6I%#67D(3vrtk}f=7X88n1v`BXfYjnS_K!Lm7!cQDc>@Oq^1? z*-vSFkV|>z*m8cF<1@L49|inE-+B5zC|dnxV3=m5J)!f@?Kq$n44$rjF6*2UngC*! BOsW6? literal 0 HcmV?d00001 diff --git a/mods/fireflies/textures/fireflies_bugnet.png b/mods/fireflies/textures/fireflies_bugnet.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec3d33bae24643cd67bb0fc5b388c055ef831c9 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=5F4-Q&m*5zIlez7I)Rojc)I$ztaD0e0sw<|LUjND literal 0 HcmV?d00001 diff --git a/mods/fireflies/textures/fireflies_firefly.png b/mods/fireflies/textures/fireflies_firefly.png new file mode 100644 index 0000000000000000000000000000000000000000..c0866894ca0be53a3715199b484589beaa1a70f4 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0Z<#D~A8y`tG0QJa~8A zb0D9wB*-tA!Qt7BG$2RV)5S4_<9f0Jn}H<*=P~9Z8mtWJJd7-wW%D-yr5QY3{an^L HB{Ts50`?tG literal 0 HcmV?d00001 diff --git a/mods/fireflies/textures/fireflies_firefly_animated.png b/mods/fireflies/textures/fireflies_firefly_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..e6932e37c69eb1f2ec57ccdeceb2a8f80fba8d0f GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr#0(_se=}|bQak}ZA+A9B|0{<7-}>&KccM2A0Q+Y?BVGSm=Ckg`;2sgRmKgq<`D` QLZC7RPgg&ebxsLQ0FcHbBLDyZ literal 0 HcmV?d00001 diff --git a/mods/flowers/README.txt b/mods/flowers/README.txt new file mode 100644 index 0000000..4b3149c --- /dev/null +++ b/mods/flowers/README.txt @@ -0,0 +1,30 @@ +Minetest Game mod: flowers +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Ironzorg (MIT) and VanessaE (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +RHRhino (CC BY-SA 3.0): + flowers_dandelion_white.png + flowers_geranium.png + flowers_rose.png + flowers_tulip.png + flowers_viola.png + +Gambit (CC BY-SA 3.0): + flowers_mushroom_brown.png + flowers_mushroom_red.png + flowers_waterlily.png + +yyt16384 (CC BY-SA 3.0): + flowers_waterlily_bottom.png -- Derived from Gambit's texture + +paramat (CC BY-SA 3.0): + flowers_dandelion_yellow.png -- Derived from RHRhino's texture + flowers_tulip_black.png -- Derived from RHRhino's texture + flowers_chrysanthemum_green.png diff --git a/mods/flowers/depends.txt b/mods/flowers/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/flowers/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua new file mode 100644 index 0000000..3ad4bf6 --- /dev/null +++ b/mods/flowers/init.lua @@ -0,0 +1,321 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + + +-- Namespace for functions + +flowers = {} + + +-- Map Generation + +dofile(minetest.get_modpath("flowers") .. "/mapgen.lua") + + +-- +-- Flowers +-- + +-- Aliases for original flowers mod + +minetest.register_alias("flowers:flower_rose", "flowers:rose") +minetest.register_alias("flowers:flower_tulip", "flowers:tulip") +minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") +minetest.register_alias("flowers:flower_geranium", "flowers:geranium") +minetest.register_alias("flowers:flower_viola", "flowers:viola") +minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") + + +-- Flower registration + +local function add_simple_flower(name, desc, box, f_groups) + -- Common flowers' groups + f_groups.snappy = 3 + f_groups.flower = 1 + f_groups.flora = 1 + f_groups.attached_node = 1 + + minetest.register_node("flowers:" .. name, { + description = desc, + drawtype = "plantlike", + waving = 1, + tiles = {"flowers_" .. name .. ".png"}, + inventory_image = "flowers_" .. name .. ".png", + wield_image = "flowers_" .. name .. ".png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + stack_max = 99, + groups = f_groups, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = box + } + }) +end + +flowers.datas = { + { + "rose", + "Red Rose", + {-2 / 16, -0.5, -2 / 16, 2 / 16, 5 / 16, 2 / 16}, + {color_red = 1, flammable = 1} + }, + { + "tulip", + "Orange Tulip", + {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, + {color_orange = 1, flammable = 1} + }, + { + "dandelion_yellow", + "Yellow Dandelion", + {-4 / 16, -0.5, -4 / 16, 4 / 16, -2 / 16, 4 / 16}, + {color_yellow = 1, flammable = 1} + }, + { + "chrysanthemum_green", + "Green Chrysanthemum", + {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, + {color_green = 1, flammable = 1} + }, + { + "geranium", + "Blue Geranium", + {-2 / 16, -0.5, -2 / 16, 2 / 16, 2 / 16, 2 / 16}, + {color_blue = 1, flammable = 1} + }, + { + "viola", + "Viola", + {-5 / 16, -0.5, -5 / 16, 5 / 16, -1 / 16, 5 / 16}, + {color_violet = 1, flammable = 1} + }, + { + "dandelion_white", + "White Dandelion", + {-5 / 16, -0.5, -5 / 16, 5 / 16, -2 / 16, 5 / 16}, + {color_white = 1, flammable = 1} + }, + { + "tulip_black", + "Black Tulip", + {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, + {color_black = 1, flammable = 1} + }, +} + +for _,item in pairs(flowers.datas) do + add_simple_flower(unpack(item)) +end + + +-- Flower spread +-- Public function to enable override by mods + +function flowers.flower_spread(pos, node) + pos.y = pos.y - 1 + local under = minetest.get_node(pos) + pos.y = pos.y + 1 + -- Replace flora with dry shrub in desert sand and silver sand, + -- as this is the only way to generate them. + -- However, preserve grasses in sand dune biomes. + if minetest.get_item_group(under.name, "sand") == 1 and + under.name ~= "default:sand" then + minetest.set_node(pos, {name = "default:dry_shrub"}) + return + end + + if minetest.get_item_group(under.name, "soil") == 0 then + return + end + + local light = minetest.get_node_light(pos) + if not light or light < 13 then + return + end + + local pos0 = vector.subtract(pos, 4) + local pos1 = vector.add(pos, 4) + -- Testing shows that a threshold of 3 results in an appropriate maximum + -- density of approximately 7 flora per 9x9 area. + if #minetest.find_nodes_in_area(pos0, pos1, "group:flora") > 3 then + return + end + + local soils = minetest.find_nodes_in_area_under_air( + pos0, pos1, "group:soil") + local num_soils = #soils + if num_soils >= 1 then + for si = 1, math.min(3, num_soils) do + local soil = soils[math.random(num_soils)] + local soil_name = minetest.get_node(soil).name + local soil_above = {x = soil.x, y = soil.y + 1, z = soil.z} + light = minetest.get_node_light(soil_above) + if light and light >= 13 and + -- Only spread to same surface node + soil_name == under.name and + -- Desert sand is in the soil group + soil_name ~= "default:desert_sand" then + minetest.set_node(soil_above, {name = node.name}) + end + end + end +end + +minetest.register_abm({ + label = "Flower spread", + nodenames = {"group:flora"}, + interval = 13, + chance = 300, + action = function(...) + flowers.flower_spread(...) + end, +}) + + +-- +-- Mushrooms +-- + +minetest.register_node("flowers:mushroom_red", { + description = "Red Mushroom", + tiles = {"flowers_mushroom_red.png"}, + inventory_image = "flowers_mushroom_red.png", + wield_image = "flowers_mushroom_red.png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, attached_node = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(-5), + selection_box = { + type = "fixed", + fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, + } +}) + +minetest.register_node("flowers:mushroom_brown", { + description = "Brown Mushroom", + tiles = {"flowers_mushroom_brown.png"}, + inventory_image = "flowers_mushroom_brown.png", + wield_image = "flowers_mushroom_brown.png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(1), + selection_box = { + type = "fixed", + fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, -2 / 16, 3 / 16}, + } +}) + + +-- Mushroom spread and death + +function flowers.mushroom_spread(pos, node) + if minetest.get_node_light(pos, nil) == 15 then + minetest.remove_node(pos) + return + end + local positions = minetest.find_nodes_in_area_under_air( + {x = pos.x - 1, y = pos.y - 2, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1}, + {"group:soil", "group:tree"}) + if #positions == 0 then + return + end + local pos2 = positions[math.random(#positions)] + pos2.y = pos2.y + 1 + if minetest.get_node_light(pos, 0.5) <= 3 and + minetest.get_node_light(pos2, 0.5) <= 3 then + minetest.set_node(pos2, {name = node.name}) + end +end + +minetest.register_abm({ + label = "Mushroom spread", + nodenames = {"flowers:mushroom_brown", "flowers:mushroom_red"}, + interval = 11, + chance = 150, + action = function(...) + flowers.mushroom_spread(...) + end, +}) + + +-- These old mushroom related nodes can be simplified now + +minetest.register_alias("flowers:mushroom_spores_brown", "flowers:mushroom_brown") +minetest.register_alias("flowers:mushroom_spores_red", "flowers:mushroom_red") +minetest.register_alias("flowers:mushroom_fertile_brown", "flowers:mushroom_brown") +minetest.register_alias("flowers:mushroom_fertile_red", "flowers:mushroom_red") +minetest.register_alias("mushroom:brown_natural", "flowers:mushroom_brown") +minetest.register_alias("mushroom:red_natural", "flowers:mushroom_red") + + +-- +-- Waterlily +-- + +minetest.register_node("flowers:waterlily", { + description = "Waterlily", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"flowers_waterlily.png", "flowers_waterlily_bottom.png"}, + inventory_image = "flowers_waterlily.png", + wield_image = "flowers_waterlily.png", + liquids_pointable = true, + walkable = false, + buildable_to = true, + floodable = true, + groups = {snappy = 3, flower = 1, flammable = 1}, + sounds = default.node_sound_leaves_defaults(), + node_placement_prediction = "", + node_box = { + type = "fixed", + fixed = {-0.5, -31 / 64, -0.5, 0.5, -15 / 32, 0.5} + }, + selection_box = { + type = "fixed", + fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, -15 / 32, 7 / 16} + }, + + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.above + local node = minetest.get_node(pointed_thing.under) + local def = minetest.registered_nodes[node.name] + local player_name = placer and placer:get_player_name() or "" + + if def and def.on_rightclick then + return def.on_rightclick(pointed_thing.under, node, placer, itemstack, + pointed_thing) + end + + if def and def.liquidtype == "source" and + minetest.get_item_group(node.name, "water") > 0 then + if not minetest.is_protected(pos, player_name) then + minetest.set_node(pos, {name = "flowers:waterlily", + param2 = math.random(0, 3)}) + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + else + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos, player_name) + end + end + + return itemstack + end +}) diff --git a/mods/flowers/license.txt b/mods/flowers/license.txt new file mode 100644 index 0000000..419ebe5 --- /dev/null +++ b/mods/flowers/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Ironzorg, VanessaE +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 RHRhino +Copyright (C) 2015-2016 Gambit +Copyright (C) 2016 yyt16384 +Copyright (C) 2017 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua new file mode 100644 index 0000000..ad759c2 --- /dev/null +++ b/mods/flowers/mapgen.lua @@ -0,0 +1,182 @@ +-- +-- Mgv6 +-- + +local function register_mgv6_flower(flower_name) + minetest.register_decoration({ + name = "flowers:"..flower_name, + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.006, + spread = {x = 100, y = 100, z = 100}, + seed = 436, + octaves = 3, + persist = 0.6 + }, + y_max = 30, + y_min = 1, + decoration = "flowers:"..flower_name, + }) +end + +local function register_mgv6_mushroom(mushroom_name) + minetest.register_decoration({ + name = "flowers:"..mushroom_name, + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.04, + spread = {x = 100, y = 100, z = 100}, + seed = 7133, + octaves = 3, + persist = 0.6 + }, + y_max = 30, + y_min = 1, + decoration = "flowers:"..mushroom_name, + spawn_by = "default:tree", + num_spawn_by = 1, + }) +end + +local function register_mgv6_waterlily() + minetest.register_decoration({ + name = "flowers:waterlily", + deco_type = "simple", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.12, + scale = 0.3, + spread = {x = 100, y = 100, z = 100}, + seed = 33, + octaves = 3, + persist = 0.7 + }, + y_max = 0, + y_min = 0, + decoration = "flowers:waterlily", + param2 = 0, + param2_max = 3, + place_offset_y = 1, + }) +end + +function flowers.register_mgv6_decorations() + register_mgv6_flower("rose") + register_mgv6_flower("tulip") + register_mgv6_flower("dandelion_yellow") + register_mgv6_flower("geranium") + register_mgv6_flower("viola") + register_mgv6_flower("dandelion_white") + + register_mgv6_mushroom("mushroom_brown") + register_mgv6_mushroom("mushroom_red") + + register_mgv6_waterlily() +end + + +-- +-- All other biome API mapgens +-- + +local function register_flower(seed, flower_name) + minetest.register_decoration({ + name = "flowers:"..flower_name, + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.02, + scale = 0.04, + spread = {x = 200, y = 200, z = 200}, + seed = seed, + octaves = 3, + persist = 0.6 + }, + biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + y_max = 31000, + y_min = 1, + decoration = "flowers:"..flower_name, + }) +end + +local function register_mushroom(mushroom_name) + minetest.register_decoration({ + name = "flowers:"..mushroom_name, + deco_type = "simple", + place_on = {"default:dirt_with_grass", "default:dirt_with_coniferous_litter"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.006, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest", "coniferous_forest", + "floatland_coniferous_forest"}, + y_max = 31000, + y_min = 1, + decoration = "flowers:"..mushroom_name, + }) +end + +local function register_waterlily() + minetest.register_decoration({ + name = "default:waterlily", + deco_type = "simple", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.12, + scale = 0.3, + spread = {x = 200, y = 200, z = 200}, + seed = 33, + octaves = 3, + persist = 0.7 + }, + biomes = {"rainforest_swamp", "savanna_shore", "deciduous_forest_shore"}, + y_max = 0, + y_min = 0, + decoration = "flowers:waterlily", + param2 = 0, + param2_max = 3, + place_offset_y = 1, + }) +end + +function flowers.register_decorations() + register_flower(436, "rose") + register_flower(19822, "tulip") + register_flower(1220999, "dandelion_yellow") + register_flower(800081, "chrysanthemum_green") + register_flower(36662, "geranium") + register_flower(1133, "viola") + register_flower(73133, "dandelion_white") + register_flower(42, "tulip_black") + + register_mushroom("mushroom_brown") + register_mushroom("mushroom_red") + + register_waterlily() +end + + +-- +-- Detect mapgen to select functions +-- + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" then + flowers.register_mgv6_decorations() +else + flowers.register_decorations() +end diff --git a/mods/flowers/textures/flowers_chrysanthemum_green.png b/mods/flowers/textures/flowers_chrysanthemum_green.png new file mode 100644 index 0000000000000000000000000000000000000000..11980463d28c1c7dbc49f6e83f600077ab983ce2 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2D}y3~oIRJUi>9ipu8NnS zqK}BIAFol6pk|=Caiok{gspjmuVtLJb+mItpFz|tw%FMsnX6eBJ!eEuBp~r}==kFqQ=Q1v5B2yO9RuIC#1^hDcma zPLMd`5W_T8|CqYM$pZ?y-2#F_i3t-PiBECt_`tAng~6QDXOA8@cHlr~4wo@Ev$Zh0 g{w4us?J0~5jeU$;bge#h0nK9YboFyt=akR{099E@-v9sr literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_dandelion_white.png b/mods/flowers/textures/flowers_dandelion_white.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc02fb51d7b7a590b7dc83d670bea5f97d815f3 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=9cj|MyI=3dy(nKa;`2 zSJSz|Y&lSru_VYZn8D%MjWi%f%hSa%gyVYh0@VbO1|t`lhe|yOQ3pC4SyWE0IgoPT k1cMNFLTZ9hLJ|XmDnH}?85{iCfVvnwUHx3vIVCg!07}d#{Qv*} literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_dandelion_yellow.png b/mods/flowers/textures/flowers_dandelion_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..544f60c151aa0183c560c4650fb9466e6651e42d GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWP0r7;@YVE8unNhy`ahH5 z{}~29k3Kt~EMrNKUoeBivm0qZj+&>7V+hCfwpf>H~E!c)I$ztaD0e0swInCRhLf literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_geranium.png b/mods/flowers/textures/flowers_geranium.png new file mode 100644 index 0000000000000000000000000000000000000000..88de1d7f21b0403a33413a7c76f27f3324ca8e82 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=6m87Y!WG_(yHjv7Qx@ zZ|0F?(A<8`!dH9O?gz@3CVd5}U@Qsp3ubV5b|VeQG4^zE4B@z*tRQY6Z6w_wspF&- zpm9^5rO_cV_T~j) z0XYF4hqi5AIdj^AzK-tlLawm0AjOO&L4Lsu4$p3+0XZ6;E{-7_*OM2hCYYL;G8mt6 wVVQi8$KBE0-N2cXL!rw;%pr8MKZ6iMZVdDH!i{b3fqED`UHx3vIVCg!05N7O^#A|> literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_mushroom_red.png b/mods/flowers/textures/flowers_mushroom_red.png new file mode 100644 index 0000000000000000000000000000000000000000..a68f5d50ad3f85a7dab7d3bc4ffd80452d536a9e GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=0r{93}|}d?+Y*wQt`l z4UJ#t&K=se`PSOCD`!qy(AUvjUg*z!vI(e;u_VYZn8D%MjWi&~(9^{+gyVYh0#*a# zwhPCani9mi7cA&lz&zogh?0iJDh8pTprEWKjYoGFt{&aT;K9I9+rm<`{NknGK+O!E Lu6{1-oD!ME6m-&O jOz0MzaxjS@xq*Yh!H}_2cb}jdP#c4%tDnm{r-UW|%lsz4 literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_tulip_black.png b/mods/flowers/textures/flowers_tulip_black.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd09f746caaf3baf52b57c6d262cb2bfe5fbaf6 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VWWl&_W7F5-fQq_&JG)s0e z&bIQX2@UDdjhShfu+SuVnOVwmv!Yei?FXj&JW_oJ)Wuj5{Oq QfqEG{UHx3vIVCg!00H$fAOHXW literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_viola.png b/mods/flowers/textures/flowers_viola.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2d750efff69f79a02a3a2e24bc220525d8ebd4 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=2H({~I%udnPz|q!@y{D4^00JIKL_t(I%cYY|PZLoThM#*|5vJ`- zX)8ioa8V3_CMBpF6HQFqyK&{to$;UeGYlL530s$%AXLiGVz5JJI-L$Jy~o91kq=kg z&CNZzdGnt4JV%KLcRA|g_KPcpb|(WC^2*{1vQL9d)aK>-w^`QRdfifH}Jdz}&267#oyQhzNyJ4%hX?_e1LSiUQC8 zN9{mX*Oz#*QepeU4sV~m0>HA;Xsu8RtT|1+R%G>YfpXQM-3bIhhtWi8Ym0a%A@8={ z1MsreK&KQ@bdE7e$PY?6j!t|479TpCdi|t@z#jmRwNiZf`kB{TJM90QFc_ROj15{V zmMb>>eguG-2&0jqTy>Huy!q6S=TBES?gorThA1}V?KJathP_sgjFsa4j7F!_6;XiR zX_#d2z3Gw5Swyix1iapurkmIu#)e^h=?K6WK?F{{KIuZmqI=lK7~!CKjF{v@X~D*J zG8iMAjgp$yYI-;KI@IeGm5%%o0Q%d4DP1vXvNohq8k2yH>rw--|IRJFgwv=SX zH)uO*2Pmazb$WEXfI&3m(Xulow7g_raXNRiXCqW}N^07*qoM6N<$g2ON`i~s-t literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_waterlily_bottom.png b/mods/flowers/textures/flowers_waterlily_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3dbeaf400e77f91f7181a0b149453f1488646bf9 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2>;M1%GZ)zaQN|*huqj6A z3$45M`lc@5OyvjX&{EyY0W(=!06stX-3~FgbjfdGr~JgX+wb}uP>u35D#YwD?z9}`y^ zD_vqfwCvqI<5IW%VjSPfeh7wNJzrcO!jTZ)bE0IGr~^a9?RPOe-3cp~@cx;!f1bo6 W?$`EJrLTalWbkzLb6Mw<&;$Sw9)Sn| literal 0 HcmV?d00001 diff --git a/mods/give_initial_stuff/README.txt b/mods/give_initial_stuff/README.txt new file mode 100644 index 0000000..cbd240f --- /dev/null +++ b/mods/give_initial_stuff/README.txt @@ -0,0 +1,8 @@ +Minetest Game mod: give_initial_stuff +===================================== +See license.txt for license information. + +Authors of source code +---------------------- +Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) diff --git a/mods/give_initial_stuff/depends.txt b/mods/give_initial_stuff/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/give_initial_stuff/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/give_initial_stuff/init.lua b/mods/give_initial_stuff/init.lua new file mode 100644 index 0000000..4f98f80 --- /dev/null +++ b/mods/give_initial_stuff/init.lua @@ -0,0 +1,44 @@ +local stuff_string = minetest.settings:get("initial_stuff") or + "default:pick_steel,default:axe_steel,default:shovel_steel," .. + "default:torch 99,default:cobble 99" + +give_initial_stuff = { + items = {} +} + +function give_initial_stuff.give(player) + --[[minetest.log("action", + "Giving initial stuff to player " .. player:get_player_name())]] + local inv = player:get_inventory() + for _, stack in ipairs(give_initial_stuff.items) do + inv:add_item("main", stack) + end +end + +function give_initial_stuff.add(stack) + give_initial_stuff.items[#give_initial_stuff.items + 1] = ItemStack(stack) +end + +function give_initial_stuff.clear() + give_initial_stuff.items = {} +end + +function give_initial_stuff.add_from_csv(str) + local items = str:split(",") + for _, itemname in ipairs(items) do + give_initial_stuff.add(itemname) + end +end + +function give_initial_stuff.set_list(list) + give_initial_stuff.items = list +end + +function give_initial_stuff.get_list() + return give_initial_stuff.items +end + +give_initial_stuff.add_from_csv(stuff_string) +if minetest.settings:get_bool("give_initial_stuff") then + minetest.register_on_newplayer(give_initial_stuff.give) +end diff --git a/mods/give_initial_stuff/license.txt b/mods/give_initial_stuff/license.txt new file mode 100644 index 0000000..8134c92 --- /dev/null +++ b/mods/give_initial_stuff/license.txt @@ -0,0 +1,25 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/jas0/chatcommands.lua b/mods/jas0/chatcommands.lua new file mode 100644 index 0000000..802ad12 --- /dev/null +++ b/mods/jas0/chatcommands.lua @@ -0,0 +1,33 @@ +minetest.register_chatcommand("register", { + description = "Show registers", + privs = "server", + params = "none", + func = function(name, param) + print(dump(param)) + end +}) + +minetest.register_chatcommand("debug", { + description = "Debug command", + params = "", + privs = "server", + func = function(name, param) + local param = param:split(" ") + local name = minetest.get_player_by_name(name) + if param[1] == "wielded" then + if param[2] then + local bookq = param[2]:sub(1, 4) + local bookn = tonumber(param[2]:sub(5, -1)) + if bookq == "book" and bookn then + if bookn >= 1 and bookn <= 9 then + is.books[bookn] = name:get_wielded_item():to_table() + store:set_string("books", minetest.serialize(is.books)) + minetest.log("action", "Reboot to set initial stuff again.") + return true, "Reboot to set initial stuff again." + end + end + end + end + end, +}) + diff --git a/mods/jas0/classes.lua b/mods/jas0/classes.lua new file mode 100644 index 0000000..e8b45b7 --- /dev/null +++ b/mods/jas0/classes.lua @@ -0,0 +1,506 @@ +-- jas0/classes.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +local function particles(pos, texture) + return { + pos = pos, + velocity = {x = 0, y = 0.1, z = 0}, + acceleration = {x = 0, y = 0.01, z = 0}, + expirationtime = math.random(), + size = 0.34 + math.random() + math.random(), + collisiondetection = false, + collision_removal = false, + object_collision = false, + verticle = false, + texture = texture, + --playername = "singleplayer", + --animation = {Tile Animation definition}, + glow = 14, + } +end + +local old_item_drop = minetest.item_drop +minetest.item_drop = function(itemstack, dropper, pos) + if dropper:get_meta():get("class") == "node" then + return + else + return old_item_drop(itemstack, dropper, pos) + end +end +local function boom(pos) + local def = { + radius = 3, + } + return tnt.boom(pos, def) +end +minetest.register_entity("jas0:mage_fireball", { + description = "Fireball", + visual = "sprite", + textures = {"mobs_fireball.png"}, + glow = 14, + on_activate = function(self, staticdata, dtime_s) + self.owner = staticdata or "singleplayer" + end, + on_step = function(self, dtime) + local step = self.step or 0 + self.step = step + 1 + local pos = self.object:get_pos() + if step > 36 then + self.object:remove() + return boom(pos) + end + local objects = minetest.get_objects_inside_radius(pos, 0.85) + for i = 1, #objects do + if objects[i]:is_player() then + if objects[i]:get_player_name() ~= self.owner then + self.object:remove() + return boom(pos) + end + elseif objects[i]:get_luaentity().horny ~= nil then + -- It's a mob! + self.object:remove() + return boom(pos) + end + end + local node = minetest.get_node_or_nil(pos) + if not node then + return + end + local node_name = node.name + if not node_name then + return + end + local node_def = minetest.registered_nodes[node_name] + if not node_def then + return + end + local walkable = node_def.walkable + if not walkable then + return + end + self.object:remove() + return boom(pos) + end, +}) + +local generated = {} +for k, v in pairs(minetest.registered_nodes) do + if v.drawtype == "normal" then + generated[k] = "" + end +end +old_item_place_node = minetest.item_place_node +minetest.item_place_node = function(itemstack, placer, pointed_thing, param2, prevent_after_place) + if placer and placer:is_player() and placer:get_meta():get("class") == "node" then + local p = pointed_thing.above + if p then + placer:set_pos(p) + end + return + else + return old_item_place_node(itemstack, placer, pointed_thing, param2, prevent_after_place) + end +end + +minetest.register_allow_player_inventory_action(function(player, action, inventory, inventory_info) + if player:get_meta():get("class") == "node" then + return 0 + end +end) + +minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing) + if node and node.name then + local meta = puncher:get_meta() + if meta:get("class") ~= "node" or + not generated[node.name] then + return + end + meta:set_string("node", node.name) + local inv = puncher:get_inventory() + inv:set_stack("main", 1, node.name) + puncher:set_properties({textures = {node.name}}) + end +end) + +minetest.register_tool("jas0:node", { + type = "none", + wield_image = "[combine:16x16", + range = 9, + stack_max = 1, + tool_capabilities = { + full_punch_interval = 2, + max_drop_level = 1, + groupcaps = { + crumbly = {}, + snappy = {}, + oddly_breakable_by_hand = {}, + }, + damage_groups = {fleshy = 0}, + }, +}) + +minetest.register_tool("jas0:mage", { + type = "none", + wield_image = "empty.png", + tool_capabilities = { + full_punch_interval = 2, + max_drop_level = 1, + groupcaps = { + crumbly = {}, + snappy = {}, + oddly_breakable_by_hand = {}, + }, + damage_groups = {fleshy = 0}, + }, +}) + +local function charge(player, amount) + if not player then + return + end + local pos = player:get_pos() + if not pos then + return + end + local meta = player:get_meta() + if not meta then + return minetest.after(0.1, charge, player, 0) + end + if meta:get_string("class") ~= "mage" then + return + end + local wielded_item = player:get_wielded_item() + if wielded_item:get_name() ~= "" then + if not minetest.registered_items[wielded_item:to_table().name].on_use then + local o = minetest.add_item(pos, wielded_item) + if o then + o:set_acceleration({ + x = 0, + y = -10, + z = 0, + }) + o:set_velocity({ + x = math.random(-3, 3), + y = math.random(0, 10), + z = math.random(-3, 3), + }) + end + player:set_wielded_item("") + end + return minetest.after(0.1, charge, player, 0) + end + pos.y = pos.y + 1.25 + local dir = player:get_look_dir() + if amount >= 9 then + pos = vector.add(pos, dir) + local arrow = minetest.add_entity(pos, "jas0:mage_fireball", player:get_player_name()) + arrow:set_acceleration(dir) + arrow:set_velocity(vector.multiply(dir, 12)) + player:set_hp(player:get_hp() * 0.8) + return minetest.after(0.1, charge, player, -9) + elseif amount < 0 then + return minetest.after(0.1, charge, player, amount + 0.25) + end + local ctrl = player:get_player_control() + if not ctrl.LMB then + return minetest.after(0.1, charge, player, 0) + else + if amount > 0 then + pos = vector.add(pos, dir) + minetest.add_particle(particles(pos, "default_item_smoke.png")) + minetest.add_particle(particles(pos, "tnt_smoke.png")) + minetest.add_particle(particles(pos, "default_mese_crystal.png")) + end + return minetest.after(0.1, charge, player, amount + 1) + end +end + +local formspec_prepend = {} +formspec_prepend.miner = "background[5,5;1,1;gui_formbg.png;true]" .. + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. +"" + +formspec_prepend.mage = "background[5,5;1,1;gui_formbg.png;true]" .. + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. +"" + +formspec_prepend.scout = "background[5,5;1,1;gui_formbg.png;true]" .. + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. +"" + +formspec_prepend.node = "background[5,5;1,1;gui_formbg.png;true]" .. + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. +"" + +local formspec = {} +formspec.miner = "size[8,8.5]" .. + jas0.exit_button() .. + "list[current_player;main;0,4.25;8,1]" .. + "list[current_player;main;0,5.5;8,3;8]" .. + "list[current_player;craft;2,0.5;3,3]" .. + "button_exit[0.25,1;1.5,1;spawn;Spawn]" .. + "button_exit[0.25,2;1.5,1;home;Home]" .. + "list[current_player;craftpreview;6,1.5;1,1]" .. + "image[5,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" .. + "listring[current_player;main]" .. + "listring[current_player;craft]" .. + default.get_hotbar_bg(0, 4.25) .. +"" + +formspec.scout = "size[8,7.5]" .. + jas0.exit_button() .. + "list[current_player;main;0,4.25;8,1]" .. + "list[current_player;main;0,5.5;8,2;8]" .. + "list[current_player;craft;2,0.5;2,2]" .. + "button_exit[0.25,1;1.5,1;spawn;Spawn]" .. + "button_exit[0.25,2;1.5,1;home;Home]" .. + "list[current_player;craftpreview;6,1.5;1,1]" .. + "image[5,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" .. + "listring[current_player;main]" .. + "listring[current_player;craft]" .. + default.get_hotbar_bg(0, 4.25) .. +"" + +formspec.mage = "size[8,5.5]" .. + jas0.exit_button() .. + "button_exit[0.25,1;1.5,1;spawn;Spawn]" .. + "button_exit[0.25,2;1.5,1;home;Home]" .. + "list[current_player;main;0,4.25;8,1;]" .. + "list[current_player;craft;3,1.5;1,1;]" .. + "image[4,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" .. + "list[current_player;craftpreview;5,1.5;1,1;]" .. + "listring[current_player;main]" .. + "listring[current_player;craft]" .. + default.get_hotbar_bg(0, 4.25) .. +"" + +formspec.node = "size[8,5.5]" .. + jas0.exit_button() .. + "button_exit[0.25,1;1.5,1;spawn;Spawn]" .. + "button_exit[0.25,2;1.5,1;home;Home]" .. + "list[current_player;main;0,4.25;1,1;]" .. + --"list[current_player;craft;3,1.5;1,1;]" .. + --"image[4,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" .. + --"list[current_player;craftpreview;5,1.5;1,1;]" .. + --"listring[current_player;main]" .. + --"listring[current_player;craft]" .. + default.get_hotbar_bg(0, 4.25, 1) .. +"" + +local function reset_skin(name) + local player = minetest.get_player_by_name(name) + if not player then + minetest.after(0.1, function() + reset_skin(name) + end) + end + local skin = player:get_meta():get_string("multiskin_skin") + multiskin.set_player_skin(player, skin) + multiskin.update_player_visuals(player) +end + +local function throw_contents(list, player, new_size) + if not list then + return + end + for i = new_size, #list, 1 do + local o = minetest.add_item(player:get_pos(), list[i]) + if o then + o:set_acceleration({ + x = 0, + y = -10, + z = 0, + }) + o:set_velocity({ + x = math.random(-3, 3), + y = math.random(0, 10), + z = math.random(-3, 3), + }) + end + end +end +local function class_update(player, class, reset) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + if class ~= "miner" and + class ~= "mage" and + class ~= "scout" and + class ~= "node" then + class = meta:get_string("class") + if class == "" then + class = "miner" + end + end + local level = jas0.level(player) + local inv = player:get_inventory() + local name = player:get_player_name() + if meta:get("class") == "node" then + inv:set_list("main", {}) + end + if class == "mage" then + meta:set_string("class", "mage") + player:set_formspec_prepend(formspec_prepend.mage) + if reset then + jas0.level(player, -level) + end + throw_contents(inv:get_list("main"), player, 8) + inv:set_size("main", 8) + inv:set_size("craft", 1) + inv:set_size("hand", 1) + inv:set_stack("hand", 1, "jas0:mage") + player:set_properties({ + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + eye_height = 1.47, + visual = "mesh", + visual_size = {x = 1, y = 1}, + }) + player:set_nametag_attributes({text = ""}) + charge(player, 0) + player:hud_set_hotbar_itemcount(8) + reset_skin(name) + player:hud_change(sneak_jump.meters[name].satiation, "number", + math.ceil(meta:get_float("satiation"))) + player:set_inventory_formspec(formspec.mage) + player:hud_set_flags({healthbar = true, wieldhand = true}) + player:hud_set_hotbar_itemcount(8) + elseif class == "miner" then + meta:set_string("class", "miner") + player:set_formspec_prepend(formspec_prepend.miner) + if reset then + jas0.level(player, -level) + end + inv:set_size("main", 8 * 4) + inv:set_size("craft", 3 * 3) + inv:set_list("hand", nil) + player:set_properties({ + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + eye_height = 1.47, + visual = "mesh", + visual_size = {x = 1, y = 1}, + }) + player:set_nametag_attributes({text = ""}) + player:hud_set_hotbar_itemcount(8) + reset_skin(name) + player:hud_change(sneak_jump.meters[name].satiation, "number", + math.ceil(meta:get_float("satiation"))) + player:set_inventory_formspec(formspec.miner) + player:hud_set_flags({healthbar = true, wieldhand = true}) + elseif class == "scout" then + meta:set_string("class", "scout") + player:set_formspec_prepend(formspec_prepend.scout) + if reset then + jas0.level(player, -level) + end + throw_contents(inv:get_list("main"), player, 24) + inv:set_size("main", 8 * 3) + inv:set_size("craft", 2 * 2) + inv:set_list("hand", nil) + player:set_properties({ + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + eye_height = 1.47, + visual = "mesh", + visual_size = {x = 1, y = 1}, + }) + player:set_nametag_attributes({text = ""}) + player:hud_set_hotbar_itemcount(8) + reset_skin(name) + player:hud_change(sneak_jump.meters[name].satiation, "number", + math.ceil(meta:get_float("satiation"))) + player:set_inventory_formspec(formspec.scout) + player:hud_set_flags({healthbar = true, wieldhand = true}) + elseif class == "node" then + meta:set_string("class", "node") + player:set_formspec_prepend(formspec_prepend.node) + if reset then + jas0.level(player, -level) + end + throw_contents(inv:get_list("main"), player, 0) + throw_contents(inv:get_list("craft"), player, 0) + inv:set_size("main", 1) + local n = meta:get("node") or "default:dirt" + inv:set_stack("main", 1, n) + inv:set_size("craft", 0) + inv:set_size("hand", 1) + inv:set_stack("hand", 1, "jas0:node") + player:set_properties({ + collisionbox = {-0.49, -0.49, -0.49, 0.49, 0.49, 0.49}, + eye_height = 0.07, + visual = "item", + visual_size = {x = 0.667, y = 0.667}, + textures = {n}, + }) + player:set_nametag_attributes({text = "\n"}) + player:hud_change(sneak_jump.meters[name].stamina, "number", 0) + player:hud_change(sneak_jump.meters[name].satiation, "number", 0) + + -- Prevent sunken position. + local p = player:get_pos() + p.y = p.y + 1 + player:set_pos(p) + + player:set_inventory_formspec(formspec.node) + minetest.after(0.1, function() + player:hud_set_hotbar_itemcount(1) + player:hud_set_flags({healthbar = false, wieldhand = false}) + end) + end + return class +end +jas0.change_class = function(player, class, reset) + class_update(player, class, reset) +end +minetest.register_on_joinplayer(function(player) + if not player then + return + end + local fb = class_update(player) + jas0.message(player:get_player_name(), "Your class is " .. fb) +end) + +-- /class command resets player's level! +minetest.register_chatcommand("class", { + description = "Change or display your class", + privs = "interact", + params = "[miner|mage|scout|node]", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + local class = meta:get_string("class") + -- Display class + if param ~= "mage" and + param ~= "miner" and + param ~= "scout" and + param ~= "node" then + return true, "Your current class is " .. class .. + ". Type /help class for more information." + end + -- Change class + if param == "mage" and class ~= "mage" then + class_update(player, "mage", true) + return true, "You are now a mage!" + elseif param == "miner" and class ~= "miner" then + class_update(player, "miner", true) + return true, "You are now a miner!" + elseif param == "scout" and class ~= "scout" then + class_update(player, "scout", true) + return true, "You are now a scout!" + elseif param == "node" and class ~= "node" then + class_update(player, "node", true) + return true, "You are now a node!" + else + return true, "You're already a " .. class .. "!" + end + end, +}) diff --git a/mods/jas0/depends.txt b/mods/jas0/depends.txt new file mode 100644 index 0000000..5202070 --- /dev/null +++ b/mods/jas0/depends.txt @@ -0,0 +1,3 @@ +bones +give_initial_stuff +sneak_jump diff --git a/mods/jas0/init.lua b/mods/jas0/init.lua new file mode 100644 index 0000000..a6a2e27 --- /dev/null +++ b/mods/jas0/init.lua @@ -0,0 +1,104 @@ +-- jas0 Glitchtest Support Mod +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +jas0 = {} + +local store = minetest.get_mod_storage() +local is = {} +is.books = minetest.deserialize(store:get_string("books")) or {} +for i = 1, #is.books do + give_initial_stuff.add(ItemStack(is.books[i])) +end + +minetest.register_on_joinplayer(function(player) + if not player then + return + end + minetest.after(0.1, function() + minetest.chat_send_player(player:get_player_name(), + "Hello. Welcome to Glitchtest server! " .. + "Type /help all for a list of commands.") + minetest.sound_play("sneak_jump_item", { + gain = 0.1, + pos = player:get_pos(), + }) + end) +end) + +minetest.register_on_chat_message(function(name, message) + local players = minetest.get_connected_players() + for i = 1, #players do + local f = minetest.sound_play("walkie_blip", { + object = players[i], + }) + minetest.sound_fade(f, -5, 0.25) + minetest.chat_send_player(players[i]:get_player_name(), + minetest.colorize("red", "<") .. + name .. minetest.colorize("red", "> ") .. + message) + end + return true +end) + +minetest.register_on_dieplayer(function(player) + if not player then + return + end + local p = minetest.pos_to_string(vector.round(player:get_pos())) + player:get_meta():set_string("death_location", p) +end) + +minetest.register_on_respawnplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + minetest.after(0.1, function() + minetest.chat_send_player(player:get_player_name(), + "Hello. Welcome to Glitchtest server! " .. + "Type /help all for a list of commands.") + minetest.sound_play("sneak_jump_item", { + gain = 0.1, + pos = player:get_pos(), + }) + end) + local inv = player:get_inventory() + if meta:get("class") == "node" then + inv:add_item("main", meta:get("node")) + return + end + local p = meta:get("death_location") + if p then + local ii = ItemStack("default:paper") + ii:get_meta():set_string("description", "Died at " .. p) + inv:add_item("main", ItemStack(ii)) + end + inv:add_item("main", "walkie:talkie") + for i = 1, #is.books do + inv:add_item("main", ItemStack(is.books[i])) + end +end) + +-- OVERRIDES +minetest.override_item("bones:bones", { + on_use = minetest.item_eat(1) +}) +minetest.override_item("farming:seed_wheat", { + on_use = minetest.item_eat(1) +}) +minetest.override_item("farming:seed_cotton", { + on_use = minetest.item_eat(1) +}) + +local mod_name = minetest.get_current_modname() +local mod_path = minetest.get_modpath(mod_name) +dofile(mod_path .. "/paper.lua") +dofile(mod_path .. "/ui.lua") +dofile(mod_path .. "/players.lua") +dofile(mod_path .. "/classes.lua") +dofile(mod_path .. "/recipes.lua") +dofile(mod_path .. "/chatcommands.lua") diff --git a/mods/jas0/paper.lua b/mods/jas0/paper.lua new file mode 100644 index 0000000..966206f --- /dev/null +++ b/mods/jas0/paper.lua @@ -0,0 +1,93 @@ +-- jas0/paper.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +local paper_on_place = function(itemstack, player, pointed_thing) + if pointed_thing.type == "node" then + local node = minetest.get_node(pointed_thing.under) + local pdef = minetest.registered_nodes[node.name] + if pdef and pdef.on_rightclick then + return pdef.on_rightclick(pointed_thing.under, + node, player, itemstack, pointed_thing) + end + end + local count = itemstack:get_count() + local desc = itemstack:get_meta():get_string("description") + local text = "" + if desc ~= "Paper" then + text = desc + end + minetest.show_formspec(player:get_player_name(), "default:paper", + "field[text;;" .. text .. "]") +end + +minetest.override_item("default:paper", { + on_use = minetest.item_eat(1), + on_place = function(itemstack, placer, pointed_thing) + paper_on_place(itemstack, placer, pointed_thing) + end, + on_secondary_use = function(itemstack, user, pointed_thing) + paper_on_place(itemstack, user, pointed_thing) + end, +}) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if not player then + return + end + if formname ~= "default:paper" then + return + end + if fields.text then + local count = player:get_wielded_item():get_count() + local is = ItemStack({name = "default:paper"}) + is:get_meta():set_string("description", fields.text) + player:set_wielded_item(is) + if count > 1 then + local iii = player:get_inventory():add_item("main", "default:paper " .. tostring(count - 1)) + if iii then + minetest.add_item(player:get_pos(), iii) + end + end + end +end) + +local paper_display = {} +local function paper_displayer(player) + if not player then + return + end + local name = player:get_player_name() + local wielded = player:get_wielded_item() + local text = wielded:get_meta():get_string("description") + if wielded:get_name() ~= "default:paper" or + text == "" or + text == "Paper" then + if paper_display[name] then + player:hud_remove(paper_display[name]) + paper_display[name] = nil + end + return minetest.after(0.1, paper_displayer, player) + end + local hd = { + hud_elem_type = "text", + position = {x = 0.0334, y = 0.667}, + alignment = {x = 1, y = 1}, + direction = 1, + text = text, + number = 0xFFFFFF, + } + if not paper_display[name] then + paper_display[name] = player:hud_add(hd) + return minetest.after(0.1, paper_displayer, player) + end + player:hud_change(paper_display[name], + "text", text) + minetest.after(0.1, paper_displayer, player) +end +minetest.register_on_joinplayer(function(player) + if not player then + return + end + minetest.after(0.1, paper_displayer, player) +end) diff --git a/mods/jas0/players.lua b/mods/jas0/players.lua new file mode 100644 index 0000000..c1fae59 --- /dev/null +++ b/mods/jas0/players.lua @@ -0,0 +1,164 @@ +-- jas0/players.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +local players = {} +local function level(player, repeater) + if not player then + return + end + local name = player:get_player_name() + if not players[name] then + return + end + local l = players[name] + local h = player:get_properties().hp_max + if l >= 0 and l < 30 and + h ~= 20 then + jas0.message(name, "Setting HP Max 20!") + player:set_properties({hp_max = 20,}) + elseif l >= 30 and l < 40 and + h ~= 30 then + jas0.message(name, "Setting HP Max 30!") + player:set_properties({hp_max = 30,}) + elseif l >= 40 and l < 50 and + h ~= 40 then + jas0.message(name, "Setting HP Max 40!") + player:set_properties({hp_max = 40,}) + elseif l >= 50 and l < 60 and + h ~= 50 then + jas0.message(name, "Setting HP Max 50!") + player:set_properties({hp_max = 50,}) + elseif l >= 60 and l < 70 and + h ~= 60 then + jas0.message(name, "Setting HP Max 60!") + player:set_properties({hp_max = 60,}) + elseif l >= 70 and l < 80 and + h ~= 70 then + jas0.message(name, "Setting HP Max 70!") + player:set_properties({hp_max = 70,}) + elseif l >= 80 and l < 90 and + h ~= 80 then + jas0.message(name, "Setting HP Max 80!") + player:set_properties({hp_max = 80,}) + elseif l >= 90 and l < 99 and + h ~= 90 then + jas0.message(name, "Setting HP Max 90!") + player:set_properties({hp_max = 90,}) + elseif l >= 99 and h ~= 99 then + jas0.message(name, "Setting HP Max 99! The MAX!!") + player:set_properties({hp_max = 99,}) + end + if players[name] >= 99 then + if players[name] > 99 then + players[name] = 99 + return + else + return + end + end + if sneak_jump.cdr(player) then + players[name] = players[name] + 0.1 + else + players[name] = players[name] + 0.01 + end + if repeater then + minetest.after(2, level, player) + end +end + +jas0.level = function(player, change) + if not player then + return + end + local name = player:get_player_name() + if not change then + return players[name] + end + if not players[name] or + (change > 0 and players[name] >= 99) then + return + end + players[name] = players[name] + change + level(player, false) +end +minetest.register_on_joinplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + local name = player:get_player_name() + if player:get_hp() ~= 0 then + local hp = meta:get_int("hp") + if hp == 0 then + hp = 20 + end + if hp then + jas0.message(name, + "Attempting to restore HP!") + minetest.after(0.12, function() + player:set_hp(hp) + end) + end + end + local l = meta:get_float("level") + players[name] = l + level(player) +end) + +minetest.register_on_respawnplayer(function(player) + if not player or not player:get_properties() then + return + end + players[player:get_player_name()] = 0 + player:set_properties({hp_max = 20,}) +end) + +local function save(player) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + local hp = player:get_hp() + local name = player:get_player_name() + meta:set_float("level", players[name]) + meta:set_int("hp", hp) +end +minetest.register_on_leaveplayer(function(player) + -- This doesn't run if the server shuts down. + save(player) +end) +minetest.register_chatcommand("save", { + description = "Save player class and level.", + params = "none", + privs = "interact", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return false, "Player not found." + end + save(player) + return true, "Player class and level saved." + end, +}) +minetest.register_on_shutdown(function() + local m = minetest.get_connected_players() + for i = 1, #m do + save(m[1]) + end +end) + +minetest.register_chatcommand("level", { + description = "Show level", + params = "none", + privs = "interact", + func = function(name, param) + local player = minetest.get_player_by_name(name) + return true, "Level: " .. tostring(jas0.level(player)) .. ", " .. + "HP " .. tostring(player:get_hp()) .. " / " .. + tostring(player:get_properties().hp_max) + end, +}) diff --git a/mods/jas0/recipes.lua b/mods/jas0/recipes.lua new file mode 100644 index 0000000..50894fe --- /dev/null +++ b/mods/jas0/recipes.lua @@ -0,0 +1,63 @@ +-- jas0/recipes.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +minetest.register_craft({ + output = "default:stick", + type = "shapeless", + recipe = {"group:tool",} +}) + +minetest.register_craft({ + output = "dye:white", + type = "shapeless", + recipe = {"bones:bones",} +}) + +minetest.register_craft({ + output = "default:book", + type = "shapeless", + recipe = {"dye:white", "default:book_written",} +}) + +minetest.register_craft({ + output = "mobs:leather 2", + type = "shapeless", + recipe = {"backpacks:backpack_leather",} +}) + +minetest.register_craft({ + output = "default:paper", + type = "shapeless", + recipe = {"default:book_written",} +}) + +minetest.register_craft({ + output = "default:paper", + type = "shapeless", + recipe = {"default:book",} +}) + +minetest.register_craft({ + output = "default:book", + type = "shapeless", + recipe = {"craftguide:book",} +}) + +minetest.register_craft({ + output = "craftguide:book", + type = "shapeless", + recipe = {"default:book", "walkie:talkie",} +}) + +minetest.register_craft({ + output = "craftguide:book", + type = "shapeless", + recipe = {"default:book_written", "walkie:talkie",} +}) + +minetest.register_craft({ + output = "default:steel_ingot", + type = "shapeless", + recipe = {"walkie:talkie",} +}) diff --git a/mods/jas0/sounds/default_chest_close.ogg b/mods/jas0/sounds/default_chest_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7993990c5138db38315ed5466cb8a39b5536b981 GIT binary patch literal 10444 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 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/default_dig_snappy.ogg b/mods/jas0/sounds/default_dig_snappy.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a25400dd4276e84b201cfb0caf7dc35601f95d22 GIT binary patch literal 5853 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 RYp?lXqkbv<_yxZX@jp*2$Z7xp literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/default_dirt_footstep.1.ogg b/mods/jas0/sounds/default_dirt_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f6220e91658a00acb238d6ffdab440b790ea865d GIT binary patch literal 7051 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 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/default_dirt_footstep.2.ogg b/mods/jas0/sounds/default_dirt_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..62a329600b442c2a5cdeb5a249219d426d117f16 GIT binary patch literal 6466 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 GE&e}E?DjYS literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/default_grass_footstep.2.ogg b/mods/jas0/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6bb249710dc80acbc8d9b174e0d3c85ed0dd1b27 GIT binary patch literal 7119 zcmb_=c|4Te`~R7-4IygM5E{F&J&h<7F(f965iu<^V;?GON;HL%CRrxg5;2w-Wf@DJ zBx#5&3DKTpiB=`8zULm#^L(Dq?~mW>`^Wcwow;4-T+2Dv`?}6`&TYG&p9?^Pzn-Xk zLjhfiPEkiGqaqK4(gMN|9!k}1QN-!?;@>jVc0}`^2hl{q-h&B=ol7?^{QG$!v}i{U zvfTp?`WtKy^}`1R(A)&p@%DJbHALez#5Klv?a`e0e;NU?jS^YZRVP`yp@1a-IFgKx z2$!C0*0Dl`C4V`e)JbSpBK4^hs#_I|s310zGd4Fkae8g(k^k?r9v4JhAwb6==W& zKp4tNZmGgLepK)Mw6S;g|80xY;sF3Bw7qdce}@30q9AX5k+N*Jgd9mx)>?_wV_n9H zdqGIhp!d5}SYcF-zBm8+Ec*Ro2xI`*hc!t&-mZ>OiKk(;Y(k3hkb14|-g$UZ9rH9! zhSZQ7-PH&+1W-U9Tk!ERBq#%4gd#S@j!>LQOCq!@hTS8!(IZ|tf;n&W_t;|kY7*Wib9!Jc!$&j)>;&-pwa^x2c)^OP67 zXK2r!hY|nX1g^cAUG)~AOo0%CP}aCU_6pFJkm4+GW-r_lpM}3 zJ*_Mdfq{Xj!H0QS5H@v>jN*X25+vAHt|S$gUAYpNT^#WLZ|DM*asb2uP-+iR+!CVL z9)fr!Ko~Cs@BmmlD{c#_$$_fB&N~sO$!+f^kWvb>$sH-g zq(B141w$y~u=|MoqT(T{4yRTb22U2)z}kXQ;mgnyiJ~fTGDJQ;Tt=0z7%xc@RbgYv zck%JdNcO38Ns<`kQp5|qWk>{-^Dv}nMflT;hiefAA!vXh^{DXiHY_WQMiG`|N1#cP z#&g;CObHzJ5Q$K>nPt_Ho1SK>rNQo}5I8(1GDEw%%QGzr$ z!z2QCkuglW$KwqLYM0$X=HTFVv3PaEfip$5a+K3>xwJD?Lqk+<0UNhfFgc4j^n_Mn z3K{kq{4~lL{kq+7@{*y@V13BAXUyLn&E-uDP`PD1DrB@PgjMjypIJfAm+gXcKvVjB zsx_fXF!>$9|fn46)-mn=SOl_1HEJ4dV zEelk1QA}+BT5%j)TpzxOO_x!KXVauf94x)ZzKl(SFl5nT@@UX|Ofeb>GGu!V4vek_ zX9ukB$Ay3;Q!0De86m7f^)i4F2Y4Au5^)00PNR@zNe-r>D)AIbpgs)sxMI8$nap){ zAVLaSDdUle{9IUm2n1dREXT+gfiq+{zBtAipo+l~M1~U$QKylLMBo$+P#Ja{@bO^x^)aBzCj(<~hE-dbf zCa@smthD4^<@ObduT*9VQq~zFMNA~N;X;$GI`VCLh~ioC9j042>1p=j1?Pth2?giV zsADkCoI6X|8Ki)$qJFA>0RY#8#Ncm9L0`&wV5tni@e~RR`Us)n=Y~lWI5-Gq366db zo<%M!;y65z5C%Mz5XRrfl{85}i4`CWe0(3mkRicXmA0S&zQs1RTio`9gp`LkD1tk! zV+}L|v1Y?Pg@I6M-@yqW4U-mhseD}cG6Z#Lk~RV)ODSH^#chDX5IJHb5);l4O-}$b zafpft55a8$k%Ku)Wsu8wIC=$d2n|}6D*~oOkh{{$B7ePW0v|;|iwuCv0z%U8pwwg^ z7gV1z1U|&^c!~l?5Z5vzvMG!!h0>Xu?gT>xLl5^GTsAijW(R>MM;9w#vth>YrAazS z_pFj2f%rIUC@e>3@lGQ71jDB<;PS?)NLPW;4U;-v6hVEJ+ZGdo!V*0rZw-(l1}yPy z@GLSt#ik(_0c)6anF!jrMYQ4K;H_cthJY~sxfdk=6Ndi;qzBe>orACvUUT*iJCT|% z@bTrMkL?g%N?_&*h_*&iAE_`C2^ECWaI&aq2h96Bh@(Xm3Z!6-Leh~1As3`5jm1Np z*T3UV=L)>#@^B0(Bn&~sp=`LfVHUHhhO)OpT`1Bxz8kt+=g#07!!iLwlg;S4Q8GkB zM8e+P03cmV43rA5@^iO0(^Zr*5a6&1F!62BKjid94tK#O6;Nynxd?9czZvlmjC{B& zF)%7*g8W|$vNk7vnVEngE?{uNVKrFXi%@P#aAR0xu=^2HFt&oO1~SKA3<~)_8j$;M z2H_u5h}yq22ppsa{9{1809n;v-DUq!a7^Q03<_NCzq)^~MKJbn0~84W%#e7lx!g~h zF?!XhcF;!Uw(t)B4l=;QgUeFbY!NP57)$|`n2A8M2;qNu_V=3pv%3Fd3JW5#UILu? zzE_gE_I?S4w-QcP2!npO@#!$V2^~c>@ct!5mm!H=jK>C+Y80O&VpPJBw5oFt6D=r$ z6;hw?9@lLSQw>&9C~Ug&6|Cx<0a`h4LXq`OP_mJHdw0XX&mQi5YS=q-G0%;#Jizob z7hBC*bD5n%tEd`MJSuC8b0%-q=VwQE-@wu1$pk(%x~FksH%r!nBS)`n{HlD^pmlx} zo*iFDM$w$^ZrqT?H?I+>~vShZ}XPh$TEw4js$ zc>u8ME{AB6k?)%rxIO4MWigUkC=chRG>&?Q6vJd zn4U}~mJ+pIQp7o;Fmq%89rQTVKt zUEtnnYBQV%LUGcK1vP%tW54|~EupzSi z$Y{a3T;=QaspkWimK<8KF=oWB$3>T-SbCOTzWLaZKQc{k3WJ|{rV?U4?XTL=4F6E6 z#LQTRkmX7%QQg_J(=om`To~`0WHw(Axmc==SF@Urp&sM)&OYy@H*0;r=y+9r^3j6F zbH!;7$B(Z)-?*&&6~W*D;ljq{=E6UYXkB;C(A-CRqUecgu@nC2$i4EpbYIt0e>BbS z)!5o)A|g0j*N^wY+wN-KsdehEpL@!`c&t}+*AB_vkwWFp?6JqR-LdA3SzxBEvmf}` z^u64^%XMd~aI1e|Vk@}Dc_jJyN|%@STg8jf6W!z2QV&SF{*rjM?bO_%)j8G{S@zT} zr<_;6BRF1xSNAEOp0{XPAG|l+^}DsszMEolsP|@OEmBYK-aX)#v*EB4$ZNQJDk`va zWls3~tIqO3z$B0`Ob;co=7BRWzG8efTOacXYU(KoGdoo|8~Uut%#EjgPutS=7CPRn z_H|jrD{`4FQ?ERMd_?f@4R^N@EWK+OY zU55iyzk89P{_P#7Uss%(IdA&#L{x9d?UZ-@cIVd-wY&2EEPIQ2Ex%Ai3+4uAHvW2! zuMl~=Coah%Rc__Lu4`4z-!LtjZpv153zL_mKkl*x7V@1QYI{s9)Az5&0;c%eHDH}` z!ga$vmnu(r*;w7;e};QLA`Rlt#+`Wdt_X5BCu9SGCz3EfBN$^|AJQB%ipJl8Ag`N6P5#@I~_W0xE4U1HFLo!^Fn z#o8YKIqk6pgV_Y0m8G5v9(x1wZ%@D7B_{+-im{@Wr_}~Ee162dy|$hzYwoOc>1x~e zYC8h!Vv0AXG*gLYe_ttR$&U01250a_^|{}(BbsMBubTzf2WR{l&2U})q|Ueco8@nM z&~>q!p%LD`7JWrSzA+ZP-__V?nQo9uV4G@`#$FxI%9<4`@ICinj32y$QOEf9Du(r73x**yLx4uU+zh zDSKH4tdX1eW@|00G7^+wFg24Hl4?S=cRj2-%GDY$(bVje)ze(RBLCdeV;gezUNqmN z?Dza}ad+tQn&_?TzgE^v$wa366^N+s_PmuD>;GrX)ou0g>t6X${`$2`ug9Xy9X_u_ zWl}_h@brKi_lM1*8*&vZu-PL&kH!`ZI#4nG4+q3wU$D|;i(cI;!8B=lIA@ffF>|J= zaeGYx-c93nV`JpLV@kWzeP1ZIy-`|tI+6E_k|=}v?SFTr|4MV4X_H@9SvqKd-FFsz zII=WCsk08ZlQr?IC+e5c&&lF;&W?f9&%Hr0L(@U*{rmklMI8I_YoX>)@AKIGMqM8- zHEX-B<5YGLFRPh({u1(R{wM|Jr4;lheN3!U@l!pI_+SrEK74mqxXX!mZvJn7c1BA} z045~}R*ofSTu5vl4`JMB&IV;9@bkmO?j^ImjO_RzVAH%xf$9e$&Dk07WvsnWCHhHwAKT0qLf&7f>-LovEj#zF zPJiD-15G>xczrk`AqN(29mm)WD4=5fWJPqDBNO3YYKFczY%jIkb)Ck?h%#@61UWxQ z(HW0;kX=2|MYSt1_UL~%F0}LB>lgS|38|m=K41?4+Z}TqU0%m)@SK57u~Yj~_Vqq{ zHf&NGqQ;=zIvs@CjL!2LiQWW~N=~027Ov3?PiS#KfpVNfa*W>K?|{+TVYXC$ebxM@ zOA||Yu3_ujeh5(?Hv#cfTSpC}p|*wtXZvN0hiaybA8u3j;b^Z+ydPKO^algi90v0I z8u<-CHI0|-2$=HDphd?fE|sq#o9nTVe0EEd(e3DfRnk5K2A{kRq_QY`wN@V3R1Z~&15A=O@LEArRZZ$p zG2BO#=XedO6^O|b{H?oSzw z*MH6M#CfY*18CHgu^?jU-GEq)BT@j(z0I@%L_S`*?%C z`T0{H?-01wKUBeT`>XWjz>9?d8<#rMfa%W0Sww7gnNnU^G5BfsmOm|`tVVvvCfw?K z{_}cks%wt#>%nLHf398nagsb3I@M6t^n8DPNG;=y;?R@1?V}&Jw?5Z9k3yDQ`+G_L z*w|NbFWWW1k|XEfz1dJ^loVE%HAoM36C><=-n`qid&4c(M<+f1O`Z4W$2=Q9DGfH1 zh3q<3wpKGM^2>wx>WI3z_zP@J`cb90+ow>_C|t44rys)Fd<<~PLJO(P2Y1Q^Ou-r}l*r zpKdWL*F{64H6lR2dOik?ZN);z4RJGgNAHnl?2!9Mul3SdqNi2drc!e>GnX3Caus@- z&Dq)YpEn(-*>E6C?d0yqZ-WM3&dd}aC4H(~qaoUQOXJDZrOLxW5YNNG=zN?07_>GL zBOi&D12oD0`cZ0;!r-jLC&R&mIlFEDkk6Ue`t?`Vv*7jbN1iWG7{@%DO23F3+}@gd zrd>6rX7s|VqpbQz=Eb$GbDIPf@v3(%Q1=qiK*z<-!Ey!jz-Hf-o`KJ*hu<8P$i?S` z_Z4!l=WI2;>L%>|`jwZc>9?T9$P|~yI>tq2oZ2^0=F$lf6tjsPYr9k;RW4$XD4l<{ zgqiE@DdNO}|8b#L&GH^<&qvO%E+)Crl`aK09dP;9JaA=m?~qdEyV!+Sd6!DgRq@9k zMTV+8ys_uhkFaC6F0W>|`9(+Re&ysu=Uv>ucsMuf8+o8+WMqH+c|4Te`~R^Ip&@Aq4Iz`r6onKfg(+fWn+P*xCtD?zDPy06hA1tTiLoSU2oYi| zp%Rl4Eeb`e(jxhudpytcc|N~Cey{Hz-}`mup6i_JT-Q0*`&!N!_W1fb073BA^NNYy zhLA><_XPx01P+CUQ~V>40Rc594rRgv)k5{{Nyc1*4h+?@&O3$Bb@D;FBR~X-l$`Ctt#u~y zA__6iJzA~QSms@P5{tmVRDuka=WUO?mbkOLP@!bKrjFb&a+A=vPxmOq#f|T zqwLl5vK#*0H`d*|F;%b27q^0LvX^T=C@033^9BIrsg+V_nD*KwljV9zjGj;~ z2xtHZ!+DaHRdP0;)$e~Xxj*y&w#8+!0Dx0k-WZ|3U4T+mRM>uzBnaSUQ>j=fD@Ph)J@-UCp7S;5w8ddhi|CILQr@SI*iRcNJyY z8h5J~rjY`1965*GRd3{}6&zk(M5Q^7%D{6m|9P$E!vGCNiz;}h!wu5q_)5c}KBYyo zAQMRfr5z-7%W!qeO!cnJb=GH1?o}hrX28N`x#OT?@Z;HFkJ;eogFeq^eTD~p+_QZ~ zIKl2bclXCp|K0ee(}V#n?KMOlHmkHED+#`H(ggq-&n z&zB^t@TWk>K-AzvE8x3L-8K8F|D|HY*`=i^SJ|bd0q3v!|Nom{zG@i&;s7Xjgeh5u zDRqP)R`C(W3IQwt+wGNhgsu3P_wa zv3{g)^S^8euz~;vpHh2H42j6@Gq=L8@!i5zx|wr9dO2Y?S!a`X5=OJ4qaQ~|FFa4| zOvk4L;8+eQ9Gk^_faexn<&oF2ZmK}%$p8yjTTrT8G&Kn?sv3vJbFq9Pdt45}nS401{0`QB&(PBjaxmXK^IZC5Qj$nnO zND{{Lm_0@~7L!N7v3D@cJM+$F8m-Y__LFcdjvX(}oQ15x=D=M+RmNf(Sxm}04NeYZKviO@tV~jn z25X3bt5{?VQF=I>p#Uv*JF*4~vyZ{4848##x+zaehTEm2R`Gb`ihL$!7k_aEp7)GW zZUh#rQj#9%uEtdhOpa6RFzI51?WImk1Nsbh{OuV z-FQerEo=@E&&`A72Z!Ti!*Yy_;aI#4slV-+#U zsrbdQOi~~|n}o?X!AEkt$@W{ z$q*J~jQJV`M|rP8@f9jGe#qKGr0_}jHcWV$dFK_2KD>A?z0=5&bvDylJU@%K0hgbZ zNq!CE%)YyXnN9G|E$S!x7GtPA z@GNp*;K$*CgfQT#gfRX-uA~WkN-Q5?VCfGK2ATkURnjZ~u+2L&dc}91l8|y02SqT` zI`yC$h&2=D6beG6)sEpq8X?W^lDU{jSp;=yf))ZKLz&L+Vz$7^5IOuI#3w8sWgQ=8 zJdcb_=D{?9$ibK;2NKyF47HrY69mo6lmJa4$VK^Ok>9%Od>chUGaA5c0U>F4P--$y z@~aOUfe$g9PEus?{mRxS8bQC3NZom7?Vzim>tVjZZCAv>=)iI0sbcv|CX5)aG+`~$ zJ*~_SATDM*oGedea1xMsg6`Adb2;N=q^lU%3xk?2ilDyI$rKTEVxrf`bW^LfjC9=beYS4WpP*#XG+X%EBpi<8IL88kfKd16U@YYt9GuH5T(I z$drf=jR2e#69Xl}D}7z8jkT4ebon@}1T<_Lv=2Fbk;9#zqRFU|fM& ziGp4s;uQX35VcrzSz|s!oX=oI!fLRXi*Vjs{*7Ug!R$v=LErMb8ps-dF-XM!NI>qt z8MuE`A!7fMz_E}T@Q(uVd}LRDb!Gpd;F!k07$msee|7)f3xDk23P=(F7$g4FE9fUo z>yLG>K4_tOS9q^qClO%b!DS|Fya<;JbS9rl%0Zx6gz&#C`+HCS+1>v!B?qE%Ujocl zuQ5q&Yv1_7miUBnVbBi~p9;ep*I85z?_W|>G(qelT`r(R<7xsPr5cHZRgFu8Xnql_ zkUCtKxZbTW)L2gtYPkxBR*^u^Du$s0fygJ zu~iJc0%kU)yo#rEOlBv>p14bgdp@SO5ksXDaa?jtU)_WoLuMOGo_ekByUH=$)*r9n z+422V+|q3*FGf0kd??~m;|eNcX=|rjgl;QlELE@d2R5jpPRxS=^-+&~H285P2H%QW z&490wh=)6Vz>M9A@t_NUIvHt@v}C6&$ydQiF>Fj6qm~YHPXORy&4zc8qI3v0tnL4G z?abp>QUIETk&{k)D9e@1v41vTz5lEEi)F@?jT>H*)*c8~o6JxQsFIz2AQAFOkYCDx z0syazm`t*cBB9&d-yo?I`$oN8U5%Q4s{d4RIzGv|TbU}MD#AYW03R<`s7R8?B}oL7 z8YQIROYm!6lEhh}FmliUi&Y2Bz`R8g=oy+}jL?%P>_I;vAZgLL+tUsuCA~r5g@77i zEwI{c$JC89N68eWVpGL*^KN}^lUft$7stQ;(Ex2JpwR`Bk`5fW*7{0t^>%7p;oUJI zbqjBG{sc4d0$wLo1=I?1bIY#ZYVLe6^kVYU4d zrxWu!AC0ZlFWXwq@Y%HMLS9D_L8;_4wQNW1(e*h-cZ9+3ygCW7_%Va_Q%@2!&D*~2 zTM6IbHRFtW&n$;>pWb>@U7IxXGq+25%#}Imq})KW8DrKkZxj z)gNEhe`BZqsppV@aA94t3hnsT_<`{r8k#DxU~xf8e8wMQJ7ziwF1 zJj!w|69gDlI{5L>7}YP^@=>NcC85bRsG;xuuG`}76K`%Gj+*3X^=O%K-IvgZvSzPV zXkYW)y~AWUc~wy(5t}u2d~)t{b@6_(FTU+zr*p$9A)xa1b6I4IcVbliy_Y9MKr>TH zwApo4`(c;WvK@`h+Z^^Ec+~lMqBzR!9=G4ec-K_W&eEI7C-JQj@zfE{*~q1|UibFk z9P#;+4@4#nN+y^2hnY8utn{6cZ%!GcyqI+)+9y3P1u8#rPU_>=#UrEYzNo?)yCX;s zNUv|e%PgVRhM6B8nQ|F5HF;L8NT-#AoRpZ5^xl0upb+zR`r4k&#Z_hYCh9*JLB%#7 z7;0rQ7y-LmE&BL1*Ig>*B~OVnm=abu8qTFDoj6L-wq5!HC@=K94}te9^eKVsUdye} zEg2g*;Rfd}*WU2fds5ejDZJ}<$3{-^Y0){S0P|Cu6GE1M8E%>{c5XPa@LX!{GI{^z z+9%k#%;2}mQ_mk>>x~TZ@ZC(Uztc4({>1GZRssPmF}@(O!KFCvv38{-psB%fl)ON= zqgBhJifoM8wtmHehi>#sa)sl&yh~moU-cb%N2&8Oz08|8);9zX&w6<5tWSILi#39e zY!y`|eQSC4#PAsQyW#j9#X&_)z{~YYJlXnNu)aR%@Ls1UF4>+XnQ9V3X5(Ykqw5(S zL32LybxV^EeWWyew0}g1$E*suaPd}7z;8dHsz-4lu8NKAnL}zUCu!c1l}4spADQwwsDj{APP<%WnELdfa9#a5ah=T z3=TGF*Si__)*_;osjXb9cd>Er`}0zH@4c7J%{)B!Nk_cGbn4Ep%0q^;W2O@m$_-nN zL=E5UY}GfdgoVQ*Kly%uX_~+~Sv3A~V5tarl$t-i?|n+f#;zGonND-s!*c)^709k8rJc7pdNLqFci~_v+S~1>+7TP)rF= z^v3T#>sbHm?bA+SAZaflg#Aty?ApMR{r1`QHoK}Kui|J6TX*4Wi_41o0K=-PXOwDF zkLPE$yOKAR^))3iq$2X_rN1p@?wJ}sBX(}tD#4`YMowa9TaC8E=F?)q7RR==JntPI zdfIg83r%n|>2qSTwtcKCtFHWT%x%@1R}%4B1t?LP(a-1g+~6Ci%`^DDJ(e6xbC#sR z*S_NSqxiPmwz}T2<+%+Nt*B7WM%maYt-X+a6XWI;@{O0Eo<#K?M`iLw&|~Y zw`|!P?zue^!>df5EYu7Hf9N?!{n5Bgnms!U?IOcNx**irks?&H_!8vc+Xq4aMNYgjHYG(Gj zKf;ao9j)|jbiUWHqpK;qW_8G#(f3`K=Nt2ekC`&&IhGluBPVA&4jx!@;rt4i+7CA8 z_>bH%b7s$o+0hk5oBN#ly)6&9uUV7))o8iTfuZRy$9^?M*=04g%?=$^emy+M4la(3 zo!K()+(?%8N!%Yj9y(GqwMkjKP-vU`0>+J77TdW$$L&{3^TVjVq*8%DsID?#9~&2< zJ9X!=gBFHnj@zjRf=s{L45uWwYp&?1s_W-od${QqvA3#%eLn2S?L6kwH=AsqO{zR4 z>v)*F56$~9;<)#%!>?h*7y2WC7N71^SD(xLZdGg=`q*_%tUpcQlGW$q-SIpR-rKKl zx)bvNNI{E$W4$Vm-g=am@`}cjf4W7X*xun%Htn}z^7NO(u zx56`7vKUV~8oVfWzW6wBkTs4;d8^y_o?N;icfUufjmOTPJ$|1%3wYH*l<~;2_Y+UI zJq`I~*I}GCrr0qmrP-T$Cidg}BrCdL`o=OPoQmN?ZO_~zBE5U2F5K5yD@?-^02mI6 zod~9W?{5ozoLhUjj`B@*wRY*b z52<5id%Pwes~v8RH0JQQ(`<*vyGuoyoK?%NOnw$L{+;`+!{l{>u)G!l1&<2t-|h*9 zn|`8SzkYN&^mvB5#_X*|x7LQ$?1#ktn@;>WZgXU$X~evDY?n4i^HR*s=&pF%LxuR5 z@(as`c!!SR?mt)_7Z8ttNpV>HnL#W591-RJG7m1d};1xw#9~-&Z zJ-G3tE~;db^XDrp7TQKX|fifH9?baos$f$ z(|^DkIKaQV?PHfa(GzkyxT6tdO`6_Zlvs}Iz6)O?)(sqG?$t>B7O^lfaiXvG{QVak zhmOg)@PJn-WqB#{&QUuOKW3Ft(e1iDl?v_Mv#wBa^iyH8E``Hu1QN7F!0WZbCuLeU zOA%&j{t%0`j{oVCbjX@^52}zwpQQBXCFVJv+46j2+>@>au+A-3gzFhKKAbN7Gnnn)ZzVn1aY{V7wM4>u z>+97m)hB(mPaKM^3#z2wt#!RH{PPfDXz=v*fxM%`pXY(`3Y$5`{cLlJ_dRANy zCQNgQ=P9-KW=Zc$65a)k)Z6vTTSj(GFX@sT)Q~R-8_yn1e&TzgwDnCT zZgUs9Uye=`@AFEVD_xoV=)#ix4EMQ^kdz5(Xh_e|#xY{yBe%phX<@HR$tsB9^5V36 z*3fRQ97r#tp?-7{Hf?y<>Y0B`KC1PUOU?I7mzVDx_kH=eyF4XkqLRoF_-+{QsbV7d zHN=L;e13f3#hW5|+o>A2*^H5UBGBk+f3Ta9cU%x-5B~+>sD~Ai^|$tFBEPzpQFWPo zo^Gc&)!p|z_F4C1@`|&P_;)q)UtY%KzTcWYF11iTEqx|3{_OP51Dm$^E_hIMrC$v0 zP3{)p`$rfgPumL0IUrhrg4#YZ$*`isr1nNeV;)Z%_da?v^^EDmq_B6>8*|4(4ccoi z+2pTkR8&5{I_|(pqeEuJw8#mc6^d0sLJC`i1g8WMoxy^%wt_8u(>?dn&?38J#qY%i zP37*|Y?ZS@y1#bGqpE^R2g=8;*0>1__wN4Y(Lk%mR;v!|znT-E@;T;c&1HiXEoYr{ zT4K+IpU}xL<_FR*Nm{DKFJV0&381%Dc5IiUu=PQU1Dh#9UiW?-LD?L1i*h6xkB9g8 zUy^ zP~9y97Cb}4e4_gmw&brWB|7ySR3DjYYJVg&Ytm~l)OhuS;`dwYV}gf+x+^k=_x9D- zg*`tV)Ju*rRXH=j{Jm_bE3@;>E}cuiT-07f^PdONM8RH2uSUdj%OC%K zCdHTR7(zBRI3mb+Z&V;QEZEOOWF6~(-DpBEH6fUoV)dV%XZ+Lfh;7ueC0!k&wFe69 z0suo)T)(V_o@vpuN{gvldXdt5aN} z9E@HTMVDbH{gJP*ka~d)?2nYjK`PVyWp-31VTr2{g-7ImRkllutiV8utq!S5gbF8I z&5jy0htxFoG&!o)6yah56{2JjD}2P>3}TsSdUbS3P9!XPF%k13>M-G@N^~t^1$Nb! z#;}|HSAi@5E|%!0J=IrGRJ$w#dH_(|6{&1@R@t#Z{mwldd9=LeG6)7hLpl3owtX6h znt3R=Soe6TeqrhQs>{KBmksY+o@p@_soTRaxhi)>C`*a-`~g58&`&Gdn)#fX&G9Uj zVkB3KfkXf#pq!jtgR;{{ox7hb?|%M&+tRdH0KiFoe~kFwAwX-Xsajtkuke;pA*w4` zYY+#mxtyd){3#rL*sa>Yi$1)U&PzJv6Y!=xbU!L!mhVNF7?k99(ljJtOx|ri^ z(aX+uw&>F-%Or>5dCG2k8eXW-Yk0z<=sGJrok`$h{_|QVf&n_LD5>h71sBLr78#9# z_SBc$f=px+sN0ft?4oq+vUPg14IOeU?=&LKY1GDPmAk+_d~6|n|3df^LBNxRfQNzr zpS*wxUbv6Y$7d||znjSQL`Rx@%DI;=g%p+t|NomY`qW) zNaR>LjBIxLUp53-F#wZKy(>SSOyUk&*%R~vxAE1l;|Pguzn+Hn6s!wfKtk6oRByk|KeRjZxI*t25+? zl3FZfQZJUVg6MFTE=QDtT(WeDzakN@l?y{ErVjrM8E`EUAW{sViGx~vtPRr&jbkel z?eTtc#OWedzd4@65)$!TTc%Y{QBJnG9*#9k#&dWsq)-t9CRT`3O_v%e*oZYugN#vH zMh#DG9UtpI=+Ik~LnZ~+K*qFst^$#y!C;X{MtLk+e^Jh`l^rK3i|l}F$|f^$x#J`f zA&=!3X2gHsS8WP4mKa7&YFW8ANw#~TmP=XN1;a4=p>UekEUTlN(daw=S|UwVU3NUJGfVH`!1GYP^+ ze%0oX;eg|3lhciwyy4^(!l-Z~$mload&k%CUXIdgxI7wUbgM;I^QIqLLC;rs!8xEQ zBR*W`Rmv~!IBGE8|Mq0kg2^zD+VtK%UxyanIrw>+5IC@ENi zR`%^G(K0|K>I2Y$;b4-6uxu7xQH{a!Qy_Ab>4OejmLG(nfDV%fM;|mt<4!4(9B>>M zT^wg0tna^ygI$U8g)7p%Ff}x&PXSk3^ zHST)|kb+jYJQ9Il1j`Q|&&z}57#YKJgd3-q#yF!iDOiF?a3UdX2B}DR4ttaqDjMUk zS+sP*(pWY*l#oY8bXnw3BR-jgM<~adu6#&BT{wnugA~+l=)%w;1VX6G$AmilP0?#$ zaaZ383o^z^Pt{%JV43u4%|ubkxkTNxg94b+d;Y{SGW;h zlABF?4)e^luacEV3@%^~(}GF>s27)lf3hV*S-D`BCIG)?k(tm(2o1j|S^>|&KrkyX z^nQ32xiJaT@IXQs@Kiz=e;-#0L=h!bf-ta*A%vkwgt4k@M*(d6?z02ZyHCoIy`C1W2X^L)67=gTfFw!cin99HF0~ z2xfwih6oGcHi5{&oTY`5xI7HKnkN(k?JLzmqD&Z7V~QPQSTFKX60|D6Vq8t|(Dj0gW-{7)ql3;e=c`9_N5*7<)3}1n` z9_eOih!Tj8v4+AbbS5tu$tM^-BN3N3O+&hBp#w0f8IlO;?-mgH~Zs2mK4~9 zy$#PI^V2LpFE$|LBuv zFN%DeTJo_Q!b=XxKMB#sv4@Cd`ADcBlp9~M+52GLcOj0l$z({u8ik}I6GARZQ9mXR zao(tlO0N-lTf@VI$|GS2BM1xO-iBGsY!DVYLR~1*Jnao#ZlZ?Pn8GpvLsJ+!*j6F* zLqwuy+W^Rsk^+?yYXYeb76$6_#v&ZnfJE$V=pSXf^iY< zN;HfL39tGWgQU-4tgsLmqElIwkf6^^gD-9$dR5ESBI>g25C~DftLAOA!8-XMeBhKdbvcrj$W!!4$x3 zKln_}z#;Hd*{xH_)e>MBZhSgSZ+s8C5#GP#>54?D3k>CuN?ds|0j(8-q*W6&TC#)< zE2I&hnl!K-rW&lIP}qF+Gg#F*qkdJqm+H(}QOQQ~ZMH3F$N}zsTJ-F8sr{C)JizqZ zF140vQp(Ent8Ngg|E#nd<4STg;uppbv|;EB5}r?sA8dZ<%~aaKQK8p1f6@HexZ~?n zcy@ewnzVce`XDolFg+gqp=~vtxxAytJKDGd^DNz@<103-rdet~6WXKy{ND8I#dtyo zdL0wKCZg}zeuX=BH)cNr1)7x+^+aa05AH+nZ z45$L|oXuj7tzJ=hmIT{_zItdqkhE3ybF4t*MQ8Leg9qeFyK%4KR~nF6v* z$R+dSOhP3=Z;C9~w6plyT9ukGJLZVuF%H*S|!NxEv%h#8OfY9jfhkDz?s=o>bQP zOkBstUq>Xc3rxc6q!voMw4k7>{#tv_(D>x54_|?_k}51#e?4Mi$mJUOfPt4WG0}&k z#Bqon@*p3M2zM3Pp${7yf96P3eE6j*rz0Wch=|-nfr0yjd=BpS^gHP7N?a%Z_M-U# zKSS4V(?+KiG_o_M?|0v&EGVqtogK^``?cjM zF7bQlkM}|HxRKuuUHk6wB*&?R>%&!HSo|jSX6)SDt!@b|?t|h;%0)OgoCpySkR~IM0yf=GeP;T6GdXd^ScISD)HjgLAoVZOR39g1e zT9*GjX8z;b-Of(!!<}Y~kA-i)7?jtMGLPJ#9UMH-gYC!f)LLtCwvGGHT?{faCTbP9+q?y9uhxN*~_ zn>QAPYVMEEzbO-+uFV`txbbI#>6`RL-9`MLypdL!V-_{fPnvlgWDXQCely&2j(Yx* zZ9r_wdHK45HqF&O`m$&V%yvI^yY}SRHTOUFCmmG!Iff#ZcmiwLWl$S%^XaocZ{Fxz z-1_xI#*yZvoz(P)Tlzj^4J2N@RcRyG3GXL5TzvoV<8UChq9rIJPj4oo*7NnK^D3`9 zTQ0O@e7SV}Fuv6*{*CRL{$3M)AbozsOtaI!dK)1l<3vWV7~hTa*>10LOvQWev3KPc zV|JZ>%_=nSo9nFD_v}i|p3nZ6mkkG>y?l7g^dJUfwnZEO?}k*{0D*+YI-2iPZb=z4 zRLy63;~yi<2?aYI&3Bha#YL5Ky*MYDCO*8I3%}iWz*6#1VPtS=9DSsF|MsHSuehtK z;M|ATbpP&WKtJLCIQiZ?{^f7Kn@z77x$?A-sw!Oh?)BbnP7RHoD-X+^mGAceHqB)!MeG`9tHw3->r4S1Uf&g=-oWx`ZEhsRet_@0sq+?;r6mW}O~+%(E~rYuz9Bob8)?u*%t@YGv2C zF=yjH-+!|-6L@Oq#@eJ{lz@L-!l*q<^OtKXVegN9S=exH`J<^^g;vu$#brk?*ang> z@ESEQ7@Hcl7@xk#jMZpL%GzxAU?!wxG_I~QB6;uLQHL7+&R!0Ad3FHBQ(>;o>6T@| z`OLFOJgVv8GIzl;KZ>=WQEz##@LM7bciKN;om6Kedc zq~*7x%XW+>O3T&Vjmobz*;>|IbEK%B&@P$({fFW5WQuCm!Hz41?Jbgk`t{TCZ(;!c zC&c`Fv3D&mkhriIchTORMelN4BxNoOc4vzdbi2E~Lre*cahc7Q*f1io%wY5&T zq?GtQv9;ymDaWJ%6J32uQcDBvDL|3bA?{EYM{32X2VXGv(xe0RxlvCD%A*V#stPim_?ey}# zzG!3(?664lda0~&I^gaNlK|l{M#{j04LbAOk@t@r_|?^|M*}jAQo}0S_||*AZjPu3 zQhm`LX7?~`pVQT4&hZ!aNY2kZ`C;jWO&QWCzLUM1?tK51yqol_gN@PRgxzb!AwZ>a zd)+nX%U-vx6!i5~)(=H@y!5O;+yJ!XucSe z)B&CP4)>_<&90>)`uGN^ zaZG<(zjSU+l1W41@Bx%c$iwJKV_>N_U!CK)tCW&@Elr@fN*}InP@E7`0WnsQ6fAW7%44tD9n8)weyChuk zxBM>n#y6_}Ws}*H!Y!XEZ(Ps&Xx+EH^O`Yky}Vrpfh#r+M`mnaY|REr)Vf zh7$4B!zY!_2OO^~(o+2&gw!d9%UZi+`;aOMsaFWTuQSUNq93G2HVa2QT>`dCCT0RE z(_mq2s>_`iQFHH=j@IfegBSKjUJDQ$Fdch*P18mzPZr#u`oWFmts35lO4PoM*18(B zF!bA8>pMa5Zkn|C=;~kYwLWwyPK!xieQLqo$+dwf-Eo+C&*@865oIKF-7g_8s#6Bg z%IUI+Q)-kJmr0iUY$Vq)i*nxJRh>YMJpNN-%&FBf(vq5M4+sZFbX6k-#ZPgacZ(Ua-`(3I-0Rtj9Vf(~D8ob8GIzNuf zQwY}ZT((Yw)`54pa@<7oXD%yaUB=g0!Iu`LEYvZHy{PWox-}y>BH|4YMbPJcfxY>h|9Ih z|A?g(aQ$CfwQcYS-KKUrmD6)qP^BGMQ{Pu}IB3_T%$MYM)#%HebNw9?w7cv}XX?3E z4-Kk+^yutS$_kNqd`>BKPvT{1O7T{diVG5p=(UY+dwiYZ);j4uN$+~=hHahh z{_gzgtlgW|a(~({Q1>qOVmy8pZqw}LR#LUO+(xWAJ1zuKRmkV`LvDX zeChhKJlXGY4kus0SkEd90b8_|L}=mg)qz-@&re8VA3t?(ip$Wk$bWEr(&OCO*Jzg!@f z-OAs~EIt3z8rjrD8|T)mG`*IG4c=2}Z3kQCglF~F>&t@gfvSa@P+wOGNIm2fkiv^_n3oI9h;(4+=nz(q zPHJ~3&=e`Ap!l4*{9~Y4(g@(PCB!uqd#u&rp5hhl=^hu zeeW7vmq|;Ba@jVCxSCr7;7x5 yxZ-!560p=qt})m55}Wy#uDcr)>y^6C-p|XezO*bt0wkRN-SDe;q7;+>;C}#Twf0K@ literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_door_open.ogg b/mods/jas0/sounds/doors_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..28b1bba5d68c386c9dc78c16ae8aa7c1ddf1f577 GIT binary patch literal 7201 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 N;C0J`?!1%~`X6ytjP3vc literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_fencegate_close.ogg b/mods/jas0/sounds/doors_fencegate_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ad9a5d1aa58dbab80aecb5c0793baa875ec87860 GIT binary patch literal 11779 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

=Pf7n)pdrx!+jiu6G3KopPbg>ie~ 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/Zombie_crawler.blend b/mods/mobs/models/Zombie_crawler.blend new file mode 100644 index 0000000000000000000000000000000000000000..fc6fc8249c4617f59b04292fe37c6ba27682c137 GIT binary patch literal 569088 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 P1$)XAF33gYn}7cYoT^AR literal 0 HcmV?d00001 diff --git a/mods/mobs/models/Zombie_one-arm.blend b/mods/mobs/models/Zombie_one-arm.blend new file mode 100644 index 0000000000000000000000000000000000000000..87f186ce2be3000d9c49b40b3c24553f55b0f54b GIT binary patch literal 666508 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/creatures_mob.x b/mods/mobs/models/creatures_mob.x new file mode 100644 index 0000000..186943f --- /dev/null +++ b/mods/mobs/models/creatures_mob.x @@ -0,0 +1,5524 @@ +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_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_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_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 + 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 + } // 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 { // Player mesh + 168; + 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; 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;13.500000;, + -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;13.500000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 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; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + 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;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; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 0.000000;, + -0.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;, + 0.000000; 1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + -2.000000; 1.000000; 0.000000;, + 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;, + 0.000000;-1.000000; 6.750000;, + 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;, + 0.000000; 1.000000; 0.000000;, + 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;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + -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;, + -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; 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;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 4.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.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;, + -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;13.500000;, + 2.000000;-1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.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;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;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;3,2,1,0;, + 4;7,6,5,4;, + 4;11,10,9,8;, + 4;15,14,13,12;, + 4;19,18,17,16;, + 4;23,22,21,20;, + 4;27,26,25,24;, + 4;31,30,29,28;, + 4;35,34,33,32;, + 4;39,38,37,36;, + 4;43,42,41,40;, + 4;47,46,45,44;, + 4;51,50,49,48;, + 4;55,54,53,52;, + 4;59,58,57,56;, + 4;63,62,61,60;, + 4;67,66,65,64;, + 4;71,70,69,68;, + 4;75,74,73,72;, + 4;79,78,77,76;, + 4;83,82,81,80;, + 4;87,86,85,84;, + 4;91,90,89,88;, + 4;95,94,93,92;, + 4;99,98,97,96;, + 4;103,102,101,100;, + 4;107,106,105,104;, + 4;111,110,109,108;, + 4;115,114,113,112;, + 4;119,118,117,116;, + 4;123,122,121,120;, + 4;127,126,125,124;, + 4;131,130,129,128;, + 4;135,134,133,132;, + 4;139,138,137,136;, + 4;143,142,141,140;, + 4;147,146,145,144;, + 4;151,150,149,148;, + 4;155,154,153,152;, + 4;159,158,157,156;, + 4;163,162,161,160;, + 4;167,166,165,164;; + MeshTextureCoords { // Player UV coordinates + 168; + 0.625000; 0.625000;, + 0.500000; 0.625000;, + 0.500000; 1.000000;, + 0.625000; 1.000000;, + 0.500000; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 1.000000;, + 0.500000; 1.000000;, + 0.437500; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 1.000000;, + 0.437500; 1.000000;, + 0.562500; 0.625000;, + 0.562500; 0.500000;, + 0.437500; 0.500000;, + 0.437500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.500000;, + 0.312500; 0.500000;, + 0.312500; 0.625000;, + 0.187500; 0.625000;, + 0.187500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.812500; 0.625000;, + 0.875000; 0.625000;, + 0.875000; 1.000000;, + 0.812500; 1.000000;, + 0.750000; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 1.000000;, + 0.750000; 1.000000;, + 0.187500; 0.625000;, + 0.187500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.000000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.000000; 1.000000;, + 0.500000; 0.250000;, + 0.375000; 0.250000;, + 0.375000; 0.500000;, + 0.500000; 0.500000;, + 0.375000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.500000;, + 0.375000; 0.500000;, + 0.250000; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.500000;, + 0.250000; 0.500000;, + 0.375000; 0.250000;, + 0.375000; 0.000000;, + 0.250000; 0.000000;, + 0.250000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.000000;, + 0.125000; 0.000000;, + 0.125000; 0.250000;, + 0.250000; 0.625000;, + 0.187500; 0.625000;, + 0.187500; 1.000000;, + 0.250000; 1.000000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.125000; 1.000000;, + 0.750000; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 0.500000;, + 0.750000; 0.500000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 0.500000;, + 0.687500; 0.500000;, + 0.250000; 0.625000;, + 0.250000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.187500; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.187500; 1.000000;, + 0.000000; 0.625000;, + 0.000000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.250000; 0.625000;, + 0.250000; 1.000000;, + 0.312500; 1.000000;, + 0.312500; 0.625000;, + 0.000000; 0.250000;, + 0.000000; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.250000;, + 0.125000; 0.625000;, + 0.125000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.625000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.625000; 0.625000;, + 0.625000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.687500; 1.000000;, + 0.625000; 1.000000;, + 0.625000; 0.625000;, + 0.687500; 0.625000;, + 0.687500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.687500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.187500; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 0.500000;, + 0.187500; 0.500000;, + 0.750000; 0.625000;, + 0.750000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 1.000000;, + 0.875000; 1.000000;, + 0.875000; 0.625000;, + 0.125000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 0.500000;, + 0.125000; 0.500000;, + 1.000000; 0.250000;, + 0.875000; 0.250000;, + 0.875000; 0.500000;, + 1.000000; 0.500000;, + 0.875000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.500000;, + 0.875000; 0.500000;, + 0.750000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.500000;, + 0.750000; 0.500000;, + 0.875000; 0.250000;, + 0.875000; 0.000000;, + 0.750000; 0.000000;, + 0.750000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.000000;, + 0.625000; 0.000000;, + 0.625000; 0.250000;, + 0.500000; 0.250000;, + 0.500000; 0.500000;, + 0.625000; 0.500000;, + 0.625000; 0.250000;; + } // End of Player 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_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_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 + 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_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_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 + } // End of Player mesh + } // End of Player + } // End of Armature +} // End of Root +AnimationSet ArmatureAction { + Animation { + {Armature} + AnimationKey { // Rotation + 0; + 189; + 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Body} + AnimationKey { // Rotation + 0; + 189; + 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Head} + AnimationKey { // Rotation + 0; + 189; + 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Arm_Left} + AnimationKey { // Rotation + 0; + 189; + 0;4; 0.648448, 0.757709,-0.045973,-0.057269;;, + 1;4; 0.648161, 0.757936,-0.045920,-0.057331;;, + 2;4; 0.647294, 0.758622,-0.045761,-0.057521;;, + 3;4; 0.645844, 0.759770,-0.045495,-0.057837;;, + 4;4; 0.643821, 0.761372,-0.045124,-0.058279;;, + 5;4; 0.641250, 0.763407,-0.044653,-0.058841;;, + 6;4; 0.638175, 0.765842,-0.044088,-0.059513;;, + 7;4; 0.634660, 0.768625,-0.043443,-0.060281;;, + 8;4; 0.630790, 0.771689,-0.042734,-0.061126;;, + 9;4; 0.626671, 0.774950,-0.041978,-0.062026;;, + 10;4; 0.622424, 0.778313,-0.041199,-0.062953;;, + 11;4; 0.618177, 0.781676,-0.040419,-0.063881;;, + 12;4; 0.614058, 0.784937,-0.039664,-0.064781;;, + 13;4; 0.610189, 0.788000,-0.038954,-0.065626;;, + 14;4; 0.606673, 0.790784,-0.038309,-0.066394;;, + 15;4; 0.603598, 0.793218,-0.037745,-0.067066;;, + 16;4; 0.601027, 0.795254,-0.037273,-0.067628;;, + 17;4; 0.599004, 0.796856,-0.036902,-0.068069;;, + 18;4; 0.597555, 0.798003,-0.036636,-0.068386;;, + 19;4; 0.596688, 0.798690,-0.036477,-0.068576;;, + 20;4; 0.596401, 0.798917,-0.036424,-0.068638;;, + 21;4; 0.596760, 0.798627,-0.036471,-0.068580;;, + 22;4; 0.597846, 0.797750,-0.036614,-0.068404;;, + 23;4; 0.599661, 0.796284,-0.036852,-0.068109;;, + 24;4; 0.602194, 0.794238,-0.037184,-0.067698;;, + 25;4; 0.605413, 0.791638,-0.037606,-0.067176;;, + 26;4; 0.609264, 0.788527,-0.038110,-0.066551;;, + 27;4; 0.613666, 0.784972,-0.038687,-0.065837;;, + 28;4; 0.618511, 0.781058,-0.039322,-0.065050;;, + 29;4; 0.623668, 0.776892,-0.039998,-0.064213;;, + 30;4; 0.628987, 0.772597,-0.040695,-0.063350;;, + 31;4; 0.634305, 0.768301,-0.041393,-0.062487;;, + 32;4; 0.639462, 0.764135,-0.042069,-0.061650;;, + 33;4; 0.644308, 0.760222,-0.042704,-0.060864;;, + 34;4; 0.648710, 0.756666,-0.043281,-0.060150;;, + 35;4; 0.652560, 0.753556,-0.043785,-0.059525;;, + 36;4; 0.655780, 0.750956,-0.044207,-0.059002;;, + 37;4; 0.658313, 0.748910,-0.044539,-0.058591;;, + 38;4; 0.660128, 0.747444,-0.044777,-0.058297;;, + 39;4; 0.661214, 0.746567,-0.044920,-0.058121;;, + 40;4; 0.661573, 0.746277,-0.044967,-0.058062;;, + 41;4; 0.661328, 0.746479,-0.044910,-0.058126;;, + 42;4; 0.660587, 0.747091,-0.044737,-0.058317;;, + 43;4; 0.659348, 0.748115,-0.044449,-0.058638;;, + 44;4; 0.657620, 0.749544,-0.044046,-0.059085;;, + 45;4; 0.655424, 0.751359,-0.043535,-0.059653;;, + 46;4; 0.652797, 0.753531,-0.042924,-0.060333;;, + 47;4; 0.649794, 0.756013,-0.042224,-0.061110;;, + 48;4; 0.646488, 0.758746,-0.041455,-0.061966;;, + 49;4; 0.642969, 0.761655,-0.040636,-0.062876;;, + 50;4; 0.639341, 0.764654,-0.039791,-0.063815;;, + 51;4; 0.635713, 0.767653,-0.038946,-0.064754;;, + 52;4; 0.632194, 0.770562,-0.038127,-0.065665;;, + 53;4; 0.628889, 0.773294,-0.037357,-0.066520;;, + 54;4; 0.625885, 0.775777,-0.036658,-0.067297;;, + 55;4; 0.623258, 0.777949,-0.036047,-0.067977;;, + 56;4; 0.621062, 0.779764,-0.035535,-0.068545;;, + 57;4; 0.619334, 0.781193,-0.035133,-0.068993;;, + 58;4; 0.618095, 0.782216,-0.034845,-0.069313;;, + 59;4; 0.617355, 0.782829,-0.034672,-0.069505;;, + 60;4; 0.617110, 0.783031,-0.034615,-0.069568;;, + 61;4; 0.617174, 0.782991,-0.034614,-0.069562;;, + 62;4; 0.617353, 0.782876,-0.034615,-0.069541;;, + 63;4; 0.617631, 0.782698,-0.034624,-0.069502;;, + 64;4; 0.617995, 0.782463,-0.034645,-0.069440;;, + 65;4; 0.618435, 0.782178,-0.034685,-0.069353;;, + 66;4; 0.618940, 0.781848,-0.034749,-0.069236;;, + 67;4; 0.619505, 0.781478,-0.034841,-0.069085;;, + 68;4; 0.620120, 0.781070,-0.034969,-0.068894;;, + 69;4; 0.620781, 0.780629,-0.035139,-0.068658;;, + 70;4; 0.621482, 0.780157,-0.035359,-0.068369;;, + 71;4; 0.622217, 0.779656,-0.035640,-0.068019;;, + 72;4; 0.622979, 0.779130,-0.035993,-0.067597;;, + 73;4; 0.623764, 0.778580,-0.036434,-0.067088;;, + 74;4; 0.624563, 0.778009,-0.036984,-0.066473;;, + 75;4; 0.625368, 0.777419,-0.037673,-0.065726;;, + 76;4; 0.626168, 0.776813,-0.038544,-0.064805;;, + 77;4; 0.626943, 0.776195,-0.039669,-0.063644;;, + 78;4; 0.627662, 0.775573,-0.041178,-0.062123;;, + 79;4; 0.628249, 0.774961,-0.043370,-0.059964;;, + 80;4; 0.628391, 0.774424,-0.047456,-0.056046;;, + 81;4; 0.000990, 0.997299,-0.072151,-0.013690;;, + 82;4;-0.011967, 0.997270,-0.071970,-0.015145;;, + 83;4;-0.018796, 0.997206,-0.071870,-0.016486;;, + 84;4;-0.023483, 0.997134,-0.071799,-0.017763;;, + 85;4;-0.026976, 0.997057,-0.071745,-0.018986;;, + 86;4;-0.029682, 0.996980,-0.071701,-0.020158;;, + 87;4;-0.031824, 0.996902,-0.071665,-0.021280;;, + 88;4;-0.033538, 0.996826,-0.071634,-0.022353;;, + 89;4;-0.034915, 0.996751,-0.071609,-0.023375;;, + 90;4;-0.036019, 0.996679,-0.071588,-0.024345;;, + 91;4;-0.036900, 0.996610,-0.071570,-0.025261;;, + 92;4;-0.037594, 0.996544,-0.071555,-0.026120;;, + 93;4;-0.038132, 0.996482,-0.071542,-0.026918;;, + 94;4;-0.038539, 0.996425,-0.071531,-0.027653;;, + 95;4;-0.038836, 0.996372,-0.071523,-0.028317;;, + 96;4;-0.039042, 0.996325,-0.071516,-0.028907;;, + 97;4;-0.039174, 0.996284,-0.071511,-0.029414;;, + 98;4;-0.039248, 0.996250,-0.071507,-0.029831;;, + 99;4;-0.039280, 0.996225,-0.071504,-0.030146;;, + 100;4;-0.039287, 0.996208,-0.071503,-0.030348;;, + 101;4;-0.039284, 0.996202,-0.071502,-0.030419;;, + 102;4;-0.039062, 0.996208,-0.071506,-0.030327;;, + 103;4;-0.038392, 0.996227,-0.071517,-0.030048;;, + 104;4;-0.037270, 0.996257,-0.071535,-0.029583;;, + 105;4;-0.035704, 0.996300,-0.071560,-0.028932;;, + 106;4;-0.033715, 0.996354,-0.071592,-0.028106;;, + 107;4;-0.031335, 0.996419,-0.071630,-0.027118;;, + 108;4;-0.028615, 0.996493,-0.071674,-0.025988;;, + 109;4;-0.025621, 0.996574,-0.071723,-0.024744;;, + 110;4;-0.022434, 0.996661,-0.071774,-0.023420;;, + 111;4;-0.019147, 0.996751,-0.071827,-0.022055;;, + 112;4;-0.015860, 0.996840,-0.071880,-0.020690;;, + 113;4;-0.012673, 0.996927,-0.071931,-0.019366;;, + 114;4;-0.009679, 0.997009,-0.071979,-0.018122;;, + 115;4;-0.006959, 0.997083,-0.072023,-0.016992;;, + 116;4;-0.004579, 0.997148,-0.072062,-0.016004;;, + 117;4;-0.002590, 0.997202,-0.072094,-0.015177;;, + 118;4;-0.001024, 0.997244,-0.072119,-0.014527;;, + 119;4; 0.000098, 0.997275,-0.072137,-0.014061;;, + 120;4; 0.000769, 0.997293,-0.072148,-0.013782;;, + 121;4; 0.000990, 0.997299,-0.072151,-0.013690;;, + 122;4; 0.000769, 0.997293,-0.072148,-0.013782;;, + 123;4; 0.000098, 0.997275,-0.072137,-0.014061;;, + 124;4;-0.001024, 0.997244,-0.072119,-0.014527;;, + 125;4;-0.002590, 0.997202,-0.072094,-0.015177;;, + 126;4;-0.004579, 0.997148,-0.072062,-0.016004;;, + 127;4;-0.006959, 0.997083,-0.072023,-0.016992;;, + 128;4;-0.009679, 0.997009,-0.071979,-0.018122;;, + 129;4;-0.012673, 0.996927,-0.071931,-0.019366;;, + 130;4;-0.015860, 0.996840,-0.071880,-0.020690;;, + 131;4;-0.019147, 0.996751,-0.071827,-0.022055;;, + 132;4;-0.022434, 0.996661,-0.071774,-0.023420;;, + 133;4;-0.025621, 0.996574,-0.071723,-0.024744;;, + 134;4;-0.028615, 0.996493,-0.071674,-0.025988;;, + 135;4;-0.031335, 0.996419,-0.071630,-0.027118;;, + 136;4;-0.033715, 0.996354,-0.071592,-0.028106;;, + 137;4;-0.035704, 0.996300,-0.071560,-0.028932;;, + 138;4;-0.037270, 0.996257,-0.071535,-0.029583;;, + 139;4;-0.038392, 0.996227,-0.071517,-0.030048;;, + 140;4;-0.039062, 0.996208,-0.071506,-0.030327;;, + 141;4;-0.039284, 0.996202,-0.071502,-0.030419;;, + 142;4;-0.039115, 0.996208,-0.071505,-0.030336;;, + 143;4;-0.038639, 0.996224,-0.071513,-0.030100;;, + 144;4;-0.037892, 0.996249,-0.071526,-0.029733;;, + 145;4;-0.036906, 0.996282,-0.071542,-0.029250;;, + 146;4;-0.035703, 0.996322,-0.071562,-0.028665;;, + 147;4;-0.034305, 0.996368,-0.071585,-0.027989;;, + 148;4;-0.032728, 0.996419,-0.071611,-0.027232;;, + 149;4;-0.030984, 0.996475,-0.071640,-0.026401;;, + 150;4;-0.029084, 0.996536,-0.071671,-0.025504;;, + 151;4;-0.027040, 0.996601,-0.071705,-0.024547;;, + 152;4;-0.024856, 0.996669,-0.071741,-0.023537;;, + 153;4;-0.022540, 0.996740,-0.071779,-0.022479;;, + 154;4;-0.020096, 0.996813,-0.071819,-0.021379;;, + 155;4;-0.017525, 0.996888,-0.071861,-0.020245;;, + 156;4;-0.014829, 0.996965,-0.071905,-0.019082;;, + 157;4;-0.012005, 0.997043,-0.071950,-0.017902;;, + 158;4;-0.009047, 0.997120,-0.071997,-0.016718;;, + 159;4;-0.005937, 0.997194,-0.072047,-0.015555;;, + 160;4;-0.002640, 0.997260,-0.072098,-0.014470;;, + 161;4; 0.000990, 0.997299,-0.072151,-0.013690;;, + 162;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 163;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 164;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 165;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 166;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 167;4; 0.003930, 0.958043,-0.286296,-0.013151;;, + 168;4; 0.648448, 0.757709,-0.045973,-0.057269;;, + 169;4; 0.654493, 0.752186,-0.040667,-0.064731;;, + 170;4; 0.658020, 0.748822,-0.037013,-0.069986;;, + 171;4; 0.659629, 0.747251,-0.035126,-0.072743;;, + 172;4; 0.660600, 0.746345,-0.034493,-0.073596;;, + 173;4; 0.662067, 0.745032,-0.034351,-0.073580;;, + 174;4; 0.664030, 0.743414,-0.034783,-0.072577;;, + 175;4; 0.665879, 0.742098,-0.036358,-0.069861;;, + 176;4; 0.667289, 0.741198,-0.038892,-0.065911;;, + 177;4; 0.668012, 0.740701,-0.041785,-0.061811;;, + 178;4; 0.668060, 0.740475,-0.044458,-0.058453;;, + 179;4; 0.667246, 0.740936,-0.047522,-0.055224;;, + 180;4; 0.665271, 0.742616,-0.051527,-0.051513;;, + 181;4; 0.662480, 0.745165,-0.055526,-0.048126;;, + 182;4; 0.659627, 0.747806,-0.058315,-0.045969;;, + 183;4; 0.657320, 0.749902,-0.059309,-0.045384;;, + 184;4; 0.655964, 0.751255,-0.058163,-0.046490;;, + 185;4; 0.655437, 0.752065,-0.054765,-0.049326;;, + 186;4; 0.654752, 0.752963,-0.050391,-0.052966;;, + 187;4; 0.652660, 0.754722,-0.047040,-0.055932;;, + 188;4; 0.648448, 0.757709,-0.045973,-0.057269;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Arm_Right} + AnimationKey { // Rotation + 0; + 189; + 0;4; 0.648448, 0.757709, 0.045973, 0.057269;;, + 1;4; 0.648161, 0.757936, 0.045920, 0.057331;;, + 2;4; 0.647294, 0.758622, 0.045761, 0.057521;;, + 3;4; 0.645844, 0.759770, 0.045495, 0.057837;;, + 4;4; 0.643821, 0.761372, 0.045124, 0.058279;;, + 5;4; 0.641250, 0.763407, 0.044653, 0.058841;;, + 6;4; 0.638175, 0.765842, 0.044088, 0.059513;;, + 7;4; 0.634660, 0.768625, 0.043443, 0.060281;;, + 8;4; 0.630790, 0.771689, 0.042734, 0.061126;;, + 9;4; 0.626671, 0.774950, 0.041978, 0.062026;;, + 10;4; 0.622424, 0.778313, 0.041199, 0.062953;;, + 11;4; 0.618177, 0.781676, 0.040419, 0.063881;;, + 12;4; 0.614058, 0.784937, 0.039664, 0.064781;;, + 13;4; 0.610189, 0.788000, 0.038954, 0.065626;;, + 14;4; 0.606673, 0.790784, 0.038309, 0.066394;;, + 15;4; 0.603598, 0.793218, 0.037745, 0.067066;;, + 16;4; 0.601027, 0.795254, 0.037273, 0.067628;;, + 17;4; 0.599004, 0.796856, 0.036902, 0.068069;;, + 18;4; 0.597555, 0.798003, 0.036636, 0.068386;;, + 19;4; 0.596688, 0.798690, 0.036477, 0.068576;;, + 20;4; 0.596401, 0.798917, 0.036424, 0.068638;;, + 21;4; 0.596760, 0.798627, 0.036471, 0.068580;;, + 22;4; 0.597846, 0.797750, 0.036614, 0.068404;;, + 23;4; 0.599661, 0.796284, 0.036852, 0.068109;;, + 24;4; 0.602194, 0.794238, 0.037184, 0.067698;;, + 25;4; 0.605413, 0.791638, 0.037606, 0.067176;;, + 26;4; 0.609264, 0.788527, 0.038110, 0.066551;;, + 27;4; 0.613666, 0.784972, 0.038687, 0.065837;;, + 28;4; 0.618511, 0.781058, 0.039322, 0.065050;;, + 29;4; 0.623668, 0.776892, 0.039998, 0.064213;;, + 30;4; 0.628987, 0.772597, 0.040695, 0.063350;;, + 31;4; 0.634305, 0.768301, 0.041393, 0.062487;;, + 32;4; 0.639462, 0.764135, 0.042069, 0.061650;;, + 33;4; 0.644308, 0.760222, 0.042704, 0.060864;;, + 34;4; 0.648710, 0.756666, 0.043281, 0.060150;;, + 35;4; 0.652560, 0.753556, 0.043785, 0.059525;;, + 36;4; 0.655780, 0.750956, 0.044207, 0.059002;;, + 37;4; 0.658313, 0.748910, 0.044539, 0.058591;;, + 38;4; 0.660128, 0.747444, 0.044777, 0.058297;;, + 39;4; 0.661214, 0.746567, 0.044920, 0.058121;;, + 40;4; 0.661573, 0.746277, 0.044967, 0.058062;;, + 41;4; 0.661328, 0.746479, 0.044910, 0.058126;;, + 42;4; 0.660587, 0.747091, 0.044737, 0.058317;;, + 43;4; 0.659348, 0.748115, 0.044449, 0.058638;;, + 44;4; 0.657620, 0.749544, 0.044046, 0.059085;;, + 45;4; 0.655424, 0.751359, 0.043535, 0.059653;;, + 46;4; 0.652797, 0.753531, 0.042924, 0.060333;;, + 47;4; 0.649794, 0.756013, 0.042224, 0.061110;;, + 48;4; 0.646488, 0.758746, 0.041455, 0.061966;;, + 49;4; 0.642969, 0.761655, 0.040636, 0.062876;;, + 50;4; 0.639341, 0.764654, 0.039791, 0.063815;;, + 51;4; 0.635713, 0.767653, 0.038946, 0.064754;;, + 52;4; 0.632194, 0.770562, 0.038127, 0.065665;;, + 53;4; 0.628889, 0.773294, 0.037357, 0.066520;;, + 54;4; 0.625885, 0.775777, 0.036658, 0.067297;;, + 55;4; 0.623258, 0.777949, 0.036047, 0.067977;;, + 56;4; 0.621062, 0.779764, 0.035535, 0.068545;;, + 57;4; 0.619334, 0.781193, 0.035133, 0.068993;;, + 58;4; 0.618095, 0.782216, 0.034845, 0.069313;;, + 59;4; 0.617355, 0.782829, 0.034672, 0.069505;;, + 60;4; 0.617110, 0.783031, 0.034615, 0.069568;;, + 61;4; 0.617174, 0.782991, 0.034614, 0.069562;;, + 62;4; 0.617353, 0.782876, 0.034615, 0.069541;;, + 63;4; 0.617631, 0.782698, 0.034624, 0.069502;;, + 64;4; 0.617995, 0.782463, 0.034645, 0.069440;;, + 65;4; 0.618435, 0.782178, 0.034685, 0.069353;;, + 66;4; 0.618940, 0.781848, 0.034749, 0.069236;;, + 67;4; 0.619505, 0.781478, 0.034841, 0.069085;;, + 68;4; 0.620120, 0.781070, 0.034969, 0.068894;;, + 69;4; 0.620781, 0.780629, 0.035139, 0.068658;;, + 70;4; 0.621482, 0.780157, 0.035359, 0.068369;;, + 71;4; 0.622217, 0.779656, 0.035640, 0.068019;;, + 72;4; 0.622979, 0.779130, 0.035993, 0.067597;;, + 73;4; 0.623764, 0.778580, 0.036434, 0.067088;;, + 74;4; 0.624563, 0.778009, 0.036984, 0.066473;;, + 75;4; 0.625368, 0.777419, 0.037673, 0.065726;;, + 76;4; 0.626168, 0.776813, 0.038544, 0.064805;;, + 77;4; 0.626943, 0.776195, 0.039669, 0.063644;;, + 78;4; 0.627662, 0.775573, 0.041178, 0.062123;;, + 79;4; 0.628249, 0.774961, 0.043370, 0.059964;;, + 80;4; 0.628391, 0.774424, 0.047456, 0.056046;;, + 81;4; 0.000990, 0.997299, 0.072151, 0.013690;;, + 82;4;-0.011967, 0.997270, 0.071970, 0.015145;;, + 83;4;-0.018796, 0.997206, 0.071870, 0.016486;;, + 84;4;-0.023483, 0.997134, 0.071799, 0.017763;;, + 85;4;-0.026976, 0.997057, 0.071745, 0.018986;;, + 86;4;-0.029682, 0.996980, 0.071701, 0.020158;;, + 87;4;-0.031824, 0.996902, 0.071665, 0.021280;;, + 88;4;-0.033538, 0.996826, 0.071634, 0.022353;;, + 89;4;-0.034915, 0.996751, 0.071609, 0.023375;;, + 90;4;-0.036019, 0.996679, 0.071588, 0.024345;;, + 91;4;-0.036900, 0.996610, 0.071570, 0.025261;;, + 92;4;-0.037594, 0.996544, 0.071555, 0.026120;;, + 93;4;-0.038132, 0.996482, 0.071542, 0.026918;;, + 94;4;-0.038539, 0.996425, 0.071531, 0.027653;;, + 95;4;-0.038836, 0.996372, 0.071523, 0.028317;;, + 96;4;-0.039042, 0.996325, 0.071516, 0.028907;;, + 97;4;-0.039174, 0.996284, 0.071511, 0.029414;;, + 98;4;-0.039248, 0.996250, 0.071507, 0.029831;;, + 99;4;-0.039280, 0.996225, 0.071504, 0.030146;;, + 100;4;-0.039287, 0.996208, 0.071503, 0.030348;;, + 101;4;-0.039284, 0.996202, 0.071502, 0.030419;;, + 102;4;-0.039062, 0.996208, 0.071506, 0.030327;;, + 103;4;-0.038392, 0.996227, 0.071517, 0.030048;;, + 104;4;-0.037270, 0.996257, 0.071535, 0.029583;;, + 105;4;-0.035704, 0.996300, 0.071560, 0.028932;;, + 106;4;-0.033715, 0.996354, 0.071592, 0.028106;;, + 107;4;-0.031335, 0.996419, 0.071630, 0.027118;;, + 108;4;-0.028615, 0.996493, 0.071674, 0.025988;;, + 109;4;-0.025621, 0.996574, 0.071723, 0.024744;;, + 110;4;-0.022434, 0.996661, 0.071774, 0.023420;;, + 111;4;-0.019147, 0.996751, 0.071827, 0.022055;;, + 112;4;-0.015860, 0.996840, 0.071880, 0.020690;;, + 113;4;-0.012673, 0.996927, 0.071931, 0.019366;;, + 114;4;-0.009679, 0.997009, 0.071979, 0.018122;;, + 115;4;-0.006959, 0.997083, 0.072023, 0.016992;;, + 116;4;-0.004579, 0.997148, 0.072062, 0.016004;;, + 117;4;-0.002590, 0.997202, 0.072094, 0.015177;;, + 118;4;-0.001024, 0.997244, 0.072119, 0.014527;;, + 119;4; 0.000098, 0.997275, 0.072137, 0.014061;;, + 120;4; 0.000769, 0.997293, 0.072148, 0.013782;;, + 121;4; 0.000990, 0.997299, 0.072151, 0.013690;;, + 122;4; 0.000769, 0.997293, 0.072148, 0.013782;;, + 123;4; 0.000098, 0.997275, 0.072137, 0.014061;;, + 124;4;-0.001024, 0.997244, 0.072119, 0.014527;;, + 125;4;-0.002590, 0.997202, 0.072094, 0.015177;;, + 126;4;-0.004579, 0.997148, 0.072062, 0.016004;;, + 127;4;-0.006959, 0.997083, 0.072023, 0.016992;;, + 128;4;-0.009679, 0.997009, 0.071979, 0.018122;;, + 129;4;-0.012673, 0.996927, 0.071931, 0.019366;;, + 130;4;-0.015860, 0.996840, 0.071880, 0.020690;;, + 131;4;-0.019147, 0.996751, 0.071827, 0.022055;;, + 132;4;-0.022434, 0.996661, 0.071774, 0.023420;;, + 133;4;-0.025621, 0.996574, 0.071723, 0.024744;;, + 134;4;-0.028615, 0.996493, 0.071674, 0.025988;;, + 135;4;-0.031335, 0.996419, 0.071630, 0.027118;;, + 136;4;-0.033715, 0.996354, 0.071592, 0.028106;;, + 137;4;-0.035704, 0.996300, 0.071560, 0.028932;;, + 138;4;-0.037270, 0.996257, 0.071535, 0.029583;;, + 139;4;-0.038392, 0.996227, 0.071517, 0.030048;;, + 140;4;-0.039062, 0.996208, 0.071506, 0.030327;;, + 141;4;-0.039284, 0.996202, 0.071502, 0.030419;;, + 142;4;-0.039115, 0.996208, 0.071505, 0.030336;;, + 143;4;-0.038639, 0.996224, 0.071513, 0.030100;;, + 144;4;-0.037892, 0.996249, 0.071526, 0.029733;;, + 145;4;-0.036906, 0.996282, 0.071542, 0.029250;;, + 146;4;-0.035703, 0.996322, 0.071562, 0.028665;;, + 147;4;-0.034305, 0.996368, 0.071585, 0.027989;;, + 148;4;-0.032728, 0.996419, 0.071611, 0.027232;;, + 149;4;-0.030984, 0.996475, 0.071640, 0.026401;;, + 150;4;-0.029084, 0.996536, 0.071671, 0.025504;;, + 151;4;-0.027040, 0.996601, 0.071705, 0.024547;;, + 152;4;-0.024856, 0.996669, 0.071741, 0.023537;;, + 153;4;-0.022540, 0.996740, 0.071779, 0.022479;;, + 154;4;-0.020096, 0.996813, 0.071819, 0.021379;;, + 155;4;-0.017525, 0.996888, 0.071861, 0.020245;;, + 156;4;-0.014829, 0.996965, 0.071905, 0.019082;;, + 157;4;-0.012005, 0.997043, 0.071950, 0.017902;;, + 158;4;-0.009047, 0.997120, 0.071997, 0.016718;;, + 159;4;-0.005937, 0.997194, 0.072047, 0.015555;;, + 160;4;-0.002640, 0.997260, 0.072098, 0.014470;;, + 161;4; 0.000990, 0.997299, 0.072151, 0.013690;;, + 162;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 163;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 164;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 165;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 166;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 167;4; 0.003930, 0.958043, 0.286296, 0.013151;;, + 168;4; 0.648448, 0.757709, 0.045973, 0.057269;;, + 169;4; 0.649549, 0.757271, 0.047200, 0.056091;;, + 170;4; 0.649725, 0.756946, 0.050660, 0.053001;;, + 171;4; 0.649483, 0.756671, 0.055081, 0.049073;;, + 172;4; 0.649550, 0.756346, 0.058515, 0.045995;;, + 173;4; 0.650401, 0.755911, 0.059724, 0.044837;;, + 174;4; 0.652287, 0.754678, 0.058785, 0.045494;;, + 175;4; 0.655167, 0.752148, 0.056006, 0.047730;;, + 176;4; 0.658293, 0.749160, 0.051993, 0.051173;;, + 177;4; 0.660622, 0.746956, 0.047989, 0.054888;;, + 178;4; 0.661573, 0.746277, 0.044967, 0.058062;;, + 179;4; 0.660467, 0.747385, 0.042436, 0.061362;;, + 180;4; 0.656915, 0.750262, 0.039819, 0.065439;;, + 181;4; 0.652243, 0.753921, 0.037593, 0.069365;;, + 182;4; 0.648570, 0.756808, 0.036216, 0.072016;;, + 183;4; 0.647260, 0.757932, 0.035794, 0.072889;;, + 184;4; 0.647163, 0.758022, 0.036704, 0.071517;;, + 185;4; 0.646979, 0.757987, 0.039247, 0.067643;;, + 186;4; 0.646980, 0.757869, 0.042510, 0.062649;;, + 187;4; 0.647442, 0.757754, 0.045057, 0.058724;;, + 188;4; 0.648448, 0.757709, 0.045973, 0.057269;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Leg_Right} + AnimationKey { // Rotation + 0; + 189; + 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.037587, 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.037587, 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.037587, 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.043249, 0.999151,-0.000000,-0.000000;;, + 66;4;-0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4;-0.042626, 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.040725, 0.999391,-0.000000,-0.000000;;, + 71;4;-0.039732, 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.032769, 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.699534, 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.692952, 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.735998, 0.000000,-0.000000;;, + 99;4; 0.676211, 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.734595, 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.683940, 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.691349, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696415, 0.717342, 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.717342, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691349, 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.683940, 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.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735998, 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.731357, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728162, 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.692952, 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.699534, 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.129904, 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.382684, 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } + Animation { + {Armature_Leg_Left} + AnimationKey { // Rotation + 0; + 189; + 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.037587, 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.037587, 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.037587, 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.043249, 0.999151,-0.000000,-0.000000;;, + 66;4;-0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4;-0.042626, 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.040725, 0.999391,-0.000000,-0.000000;;, + 71;4;-0.039732, 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.032769, 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.699534, 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.692952, 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.735998, 0.000000,-0.000000;;, + 99;4; 0.676211, 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.734595, 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.683940, 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.691349, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696415, 0.717342, 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.717342, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691349, 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.683940, 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.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735998, 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.731357, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728162, 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.692952, 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.699534, 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.382684, 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } +} // End of AnimationSet ArmatureAction +AnimationSet Default_Action { + Animation { + {Player} + AnimationKey { // Rotation + 0; + 189; + 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;;; + } + AnimationKey { // Scale + 1; + 189; + 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;;; + } + AnimationKey { // Position + 2; + 189; + 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;;; + } + } +} // End of AnimationSet Default_Action diff --git a/mods/mobs/models/mobs_bunny.b3d b/mods/mobs/models/mobs_bunny.b3d new file mode 100644 index 0000000000000000000000000000000000000000..ee053bd46eaed3828aa426a08a0ac8da2b03c43f GIT binary patch literal 106937 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 Jp>3$p{spek82$hN literal 0 HcmV?d00001 diff --git a/mods/mobs/models/mobs_dungeon_master.b3d b/mods/mobs/models/mobs_dungeon_master.b3d new file mode 100644 index 0000000000000000000000000000000000000000..f45e76099f1711846a9967d812e2346a4ba10310 GIT binary patch literal 26289 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/mobs_kitten.b3d b/mods/mobs/models/mobs_kitten.b3d new file mode 100644 index 0000000000000000000000000000000000000000..c2478fefd8e3c8da60b9d71ba38e1f238799ae9f GIT binary patch literal 98176 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/mobs_sheep.b3d b/mods/mobs/models/mobs_sheep.b3d new file mode 100644 index 0000000000000000000000000000000000000000..bcf2dfc5cc0899c4d0eac4715919a9b45e7f8234 GIT binary patch literal 71405 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 WM=$?2w|64zA%4Go9CG_QecQ5 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/mobs_sheep_shaved.b3d b/mods/mobs/models/mobs_sheep_shaved.b3d new file mode 100644 index 0000000000000000000000000000000000000000..857b406ae80db976d2e53b4251139cd79ed4d5bd GIT binary patch literal 55932 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 HRA~PfzJvH~ literal 0 HcmV?d00001 diff --git a/mods/mobs/models/zombie_crawler.b3d b/mods/mobs/models/zombie_crawler.b3d new file mode 100644 index 0000000000000000000000000000000000000000..ac36890b552a94e843d5aee3cfd98a5ec287cfed GIT binary patch literal 31122 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 Aod5s; literal 0 HcmV?d00001 diff --git a/mods/mobs/models/zombie_normal.b3d b/mods/mobs/models/zombie_normal.b3d new file mode 100644 index 0000000000000000000000000000000000000000..9a96df4930559bb92e92b851541109f5deefdd58 GIT binary patch literal 49866 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/nodes.lua b/mods/mobs/nodes.lua new file mode 100644 index 0000000..09ed6bf --- /dev/null +++ b/mods/mobs/nodes.lua @@ -0,0 +1,131 @@ +-- mobs/nodes.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +minetest.register_node("mobs:spawner", { + description = "I spawn things!", + drawtype = "airlike", + groups = {not_in_creative_inventory = 1}, + drop = "", + air_equivalent = true, + paramtype = "light", + inventory_image = "air.png", + floodable = true, + pointable = false, + sunlight_propagates = true, + walkable = false, + diggable = false, + buildable_to = true, + wield_image = "air.png", + on_blast = function() + end, + --[[ + on_destruct = function(pos) + print(dump(minetest.get_node_timer(pos))) + end, + --]] + on_timer = function(pos, elapsed) + if elapsed > 48 then + local immediate_surrounding = minetest.get_objects_inside_radius(pos, 1.12) + if #immediate_surrounding > 0 then + --print("Clear!") + return minetest.set_node(pos, {name = "air"}) + end + local surrounding = minetest.get_objects_inside_radius(pos, 16) + --print("There's " .. #surrounding .. "!") + if #surrounding > 6 then + local h = 0 + for i = 1, #surrounding do + local s = surrounding[i] + local sl = s:get_luaentity() + if sl and sl.health then + h = h + 1 + end + if s:is_player() then + h = h + 2 + --print("Player!") + end + end + --print(h .. "!") + if h > 3 then + --print("Clear!") + return minetest.set_node(pos, {name = "air"}) + end + end + local mob_pos = pos + if minetest.registered_nodes[minetest.get_node_or_nil(pos).name].walkable then + mob_pos.y = mob_pos.y + 1 + end + local mobs = { + "mobs:rat", + "mobs:npc", + } + local biome = minetest.get_biome_name(minetest.get_biome_data(pos).biome) + local tod = (minetest.get_timeofday() or 0) * 24000 + local night = tod > 19000 or tod < 06000 + local protection = minetest.find_node_near(mob_pos, 13, + {"protector:protect", "protector:protect2"}, true) + if not protection and (biome == "underground" or night) then + local mobs_to_insert = { + "mobs:dungeon_master", + "mobs:oerkki", + "mobs:zombie" .. math.random(4), + } + for i = 1, #mobs_to_insert do + mobs[#mobs + 1] = mobs_to_insert[i] + end + end + if biome ~= "underground" then + local mobs_to_insert = { + "mobs:sheep_white", + "mobs:kitten", + "mobs:bunny", + } + for i = 1, #mobs_to_insert do + mobs[#mobs + 1] = mobs_to_insert[i] + end + end + local mob = mobs[math.random(#mobs)] + minetest.add_entity(mob_pos, mob) + --print("Go " .. mob .. "!") + return minetest.set_node(pos, {name = "air"}) + else + --print("Go " .. math.floor(elapsed)) + minetest.get_node_timer(pos):set(elapsed + 1, elapsed) + end + end, +}) +minetest.register_abm({ + label = "Spawner Limiter", + nodenames = {"mobs:spawner"}, + --neighbors = {}, + interval = 1, + chance = 1, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + local i = active_object_count + local s = active_object_count_wider + local t = minetest.get_node_timer(pos) + if not t or not t:is_started() or + s > 2 or i > 1 then + local things = minetest.get_objects_inside_radius(pos, 16) + local ttl = 0 + for k, v in pairs(things) do + local h = v:get_luaentity() + if h and h.health and h.health > 0 then + ttl = ttl + 1 + end + local p = v:is_player() + if p then + ttl = ttl + 2 + end + end + if ttl > 4 then + --print("Clear " .. i .. " " .. s .. "!") + minetest.set_node(pos, {name = "air"}) + end + end + end, +}) +--minetest.register_lbm() +--minetest.register_on_mapgen() diff --git a/mods/mobs/npc.lua b/mods/mobs/npc.lua new file mode 100644 index 0000000..cdd234b --- /dev/null +++ b/mods/mobs/npc.lua @@ -0,0 +1,203 @@ +-- Mobs & NPC are part of Glitchtest game +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +-- NPC by TenPlus1 +-- Trader enhancements by jas + + +local S = mobs.intllib + +mobs.npc_drops = { + "default:pick_steel", "mobs:meat 2", "default:sword_steel", + "default:shovel_steel", "farming:bread", "bucket:bucket_water", + "walkie:talkie", "craftguide:book", "default:book", + "mobs:shears", "default:axe_steel", "default:diamond", + "default:papyrus", +} + +local function mob_detached_inv(self) + return { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + allow_put = function(inv, listname, index, stack, player) + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + local name = player:get_player_name() + local detached = minetest.create_detached_inventory("trade_" .. self.tid, { + allow_put = function(inv, listname, index, stack, player) + if index ~= 2 then + return 0 + else + return stack:get_count() + end + end, + allow_move = function() + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + return 0 + end, + on_put = function(p_inv, p_listname, p_index, p_stack, p_player) + local player_inv = p_player:get_inventory() + player_inv:add_item("main", p_inv:get_stack("exchange", 1)) + p_inv:set_list("exchange", {}) + minetest.close_formspec(name, "npc:npc_trade") + --[[ + if not self.owner or self.owner == "" then + self.object:get_luaentity().owner = p_player:get_player_name() + end + --]] + return -1, minetest.remove_detached_inventory("trade_" .. self.tid) + end, + }) + detached:set_size("exchange", 2 * 1) + detached:add_item("exchange", stack) + local trade_fs = "size[8,6.5]" .. + jas0.exit_button() .. + "label[0,0;I'll need something from you.]" .. + "list[detached:trade_" .. self.tid .. ";exchange;3,1;2,1]" .. + "list[current_player;main;0,2.5;8,1]" .. + "list[current_player;main;0,3.6;8,3;8]" .. + default.get_hotbar_bg(0, 2.5) .. + "" + inv:set_stack("trade", index, "") + local list = inv:get_list("trade") + for i = 1, #list do + list[i] = list[i]:to_string() + end + self.inv = minetest.serialize(list) + return 0, minetest.show_formspec(name, "npc:npc_trade", trade_fs) + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + on_put = function(inv, listname, index, stack, player) + return 0 + end, + on_take = function(inv, listname, index, stack, player) + return 0 + end, + } +end + +mobs:register_mob("mobs:npc", { + type = "npc", + passive = false, + damage = 3, + attack_type = "dogfight", + attacks_monsters = true, + attack_npcs = false, + owner_loyal = true, + pathfinding = true, + hp_min = 20, + hp_max = 20, + armor = 100, + collisionbox = {-0.25, 0.0, -0.25, 0.25, 1.65 , 0.25}, + visual = "mesh", + mesh = "character.b3d", + drawtype = "front", + textures = { + {"mobs_npc.png"}, + {"mobs_npc2.png"}, -- female by nuttmeg20 + }, + child_texture = { + {"mobs_npc_baby.png"}, -- derpy baby by AmirDerAssassine + }, + makes_footstep_sound = true, + --sounds = {}, + walk_velocity = 1, + run_velocity = 2, + jump = true, + drops = { + {name = "shop:coin", chance = 1, min = 1, max = 6}, + {name = "shop:gold_ingot", chance = 2, min = 0, max = 2}, + {name = "shop:goldblock", chance = 3, min = 0, max = 1}, + }, + water_damage = 0, + lava_damage = 2, + light_damage = 0, + follow = {"farming:flour", "mobs:meat_raw", "default:gold_lump"}, + --view_range = 8, + owner = "", + order = "follow", + fear_height = 3, + animation = { + speed_normal = 30, + speed_run = 30, + stand_start = 0, + stand_end = 79, + walk_start = 168, + walk_end = 187, + run_start = 168, + run_end = 187, + punch_start = 200, + punch_end = 219, + }, + on_rightclick = function(self, clicker) + if mobs:feed_tame(self, clicker, 7, true, true) then + return + end + if mobs:capture_mob(self, clicker, 0, 5, 80, false, nil) then + return + end + if mobs:protect(self, clicker) then + return + end + + local item = clicker:get_wielded_item() + local name = clicker:get_player_name() + if not self.tid then + local tid = minetest.get_us_time() + local inv_id = minetest.create_detached_inventory("npc_" .. + tid, mob_detached_inv(self)) + inv_id:set_size("trade", 8 * 4) + for i = math.random(1, 2), #dresser.skins, 2 do + inv_id:add_item("trade", "dresser:skin_" .. dresser.skins[i][1]) + end + for i = math.random(1, 2), #mobs.npc_drops, 2 do + inv_id:add_item("trade", mobs.npc_drops[i]) + end + for i = math.random(1, 2), #dungeon_loot.registered_loot, 2 do + if dungeon_loot.registered_loot[i].chance > 0.2 then + inv_id:add_item("trade", dungeon_loot.registered_loot[i].name) + end + end + local inventory = inv_id:get_list("trade") + for i = 1, #inventory do + inventory[i] = inventory[i]:to_string() + end + self.inv = minetest.serialize(inventory) + self.tid = tid + else + local mob_inv = minetest.get_inventory({type = "detached", + name = "npc_" .. self.tid}) + if not mob_inv then + mob_inv = minetest.create_detached_inventory("npc_" .. + self.tid, mob_detached_inv(self)) + mob_inv:set_list("trade", minetest.deserialize(self.inv)) + end + end + self.order = "stand" + self.state = "stand" + minetest.after(0.1, function() + minetest.show_formspec(name, "mobs:npc", + "size[8,8.85]" .. + jas0.exit_button(-0.1, -0.075) .. + "label[0,0;What would you like?]" .. + "list[detached:npc_" .. self.tid .. ";trade;0,0.6.9;8,4]" .. + "list[current_player;main;0,4.79;8,1]" .. + "list[current_player;main;0,5.84;8,3;8]" .. + default.get_hotbar_bg(0, 4.79) .. + "") + end) + end, + --[[ + on_die = function(self, pos) + end, + --]] +}) + +mobs:register_egg("mobs:npc", "NPC", "default_brick.png", 1) diff --git a/mods/mobs/oerkki.lua b/mods/mobs/oerkki.lua new file mode 100644 index 0000000..4abbc04 --- /dev/null +++ b/mods/mobs/oerkki.lua @@ -0,0 +1,50 @@ +-- Oerkki by PilzAdam + +local S = mobs.intllib +mobs:register_mob("mobs:oerkki", { + type = "monster", + passive = false, + attack_type = "dogfight", + pathfinding = true, + reach = 2, + damage = 5, + hp_min = 5, + hp_max = 7, + armor = 100, + collisionbox = {-0.4, -1, -0.4, 0.4, 0.9, 0.4}, + visual = "mesh", + mesh = "mobs_oerkki.b3d", + textures = { + {"mobs_oerkki.png"}, + --{"mobs_oerkki2.png"}, + }, + makes_footstep_sound = false, + sounds = { + random = "mobs_oerkki", + }, + walk_velocity = 1, + run_velocity = 1, + --view_range = 10, + --jump = true, + drops = { + {name = "default:mese_crystal", chance = 2, min = 1, max = 2}, + {name = "default:obsidian", chance = 2, min = 0, max = 1}, + }, + water_damage = 7, + lava_damage = 4, + fear_height = 4, + animation = { + stand_start = 0, + stand_end = 23, + walk_start = 24, + walk_end = 36, + run_start = 37, + run_end = 49, + punch_start = 37, + punch_end = 49, + speed_normal = 15, + speed_run = 15, + }, +}) + +mobs:register_egg("mobs:oerkki", S("Oerkki"), "default_obsidian.png", 1) diff --git a/mods/mobs/rat.lua b/mods/mobs/rat.lua new file mode 100644 index 0000000..dba5d76 --- /dev/null +++ b/mods/mobs/rat.lua @@ -0,0 +1,39 @@ +-- Rat by PilzAdam + +local S = mobs.intllib +mobs:register_mob("mobs:rat", { + --stepheight = 0.6, + type = "animal", + passive = true, + hp_min = 1, + hp_max = 1, + armor = 200, + collisionbox = {-0.2, -1, -0.2, 0.2, -0.8, 0.2}, + visual = "mesh", + mesh = "mobs_rat.b3d", + textures = { + {"mobs_rat.png"}, + {"mobs_rat2.png"}, + }, + makes_footstep_sound = false, + sounds = { + random = "mobs_rat", + }, + walk_velocity = 1, + --run_velocity = 2, + runaway = false, + --jump_height = 6, + --jump = false, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 1}, + }, + water_damage = 0, + lava_damage = 4, + light_damage = 0, + fear_height = 2, + on_rightclick = function(self, clicker) + mobs:capture_mob(self, clicker, 50, 90, 100, true, "mobs:rat") + end, +}) + +mobs:register_egg("mobs:rat", S("Rat"), "mobs_rat_inventory.png", 0) diff --git a/mods/mobs/readme.MD b/mods/mobs/readme.MD new file mode 100644 index 0000000..5066d82 --- /dev/null +++ b/mods/mobs/readme.MD @@ -0,0 +1,83 @@ + +MOBS REDO for MINETEST + +Built from PilzAdam's original Simple Mobs with additional mobs by KrupnoPavel, Zeg9, ExeterDad and AspireMint. + + +This mod contains the API only for adding your own mobs into the world, so please use the additional modpacks to add animals, monsters etc. + + +https://forum.minetest.net/viewtopic.php?f=11&t=9917 + + +Crafts: + + - Nametag (paper, black dye, string) can be used right-click on a tamed mob to give them a name. + - Nets can be used to right-click tamed mobs to pick them up and place inside inventory as a spawn egg. + - Magic Lasso is similar to nets but with a better chance of picking up larger mobs. + - Shears are used to right-click sheep and return 1-3 wool. + - Protection Rune lets you protect tamed mobs from harm by other players + - Mob Fence and Fence Top (to stop mobs escaping/glitching through fences) + +Lucky Blocks: 9 + + +Changelog: +- 1.47- Mob damage changes, min and max light level for damage added, ignition sources checked for lava damage +- 1.46- Mobs only drop rare items when killed by player (drops.min = 0 makes them rare), code tweak, pathfinding no longer sees through walkable nodes +- 1.45- Added Fence Top to add on top of any fence to stop mobs escaping, new line_of_sight tweaked by Astrobe +- 1.44- Added ToolRanks support for swords when attacking mobs +- 1.43- Better 0.4.16 compatibility, added general attack function and settings +- 1.42- Added "all" option to immune_to table, tidied floating mobs to be less intensive +- 1.41- Mob pathfinding has been updated thanks to Elkien3 +- 1.40- Updated to use newer functions, requires Minetest 0.4.16+ to work. +- 1.39- Added 'on_breed', 'on_grown' and 'do_punch' custom functions per mob +- 1.38- Better entity checking, nametag setting and on_spawn function added to mob registry, tweaked light damage +- 1.37- Added support for Raymoo's CMI (common mob interface) mod: https://forum.minetest.net/viewtopic.php?f=9&t=15448 +- 1.36- Death check added, if mob dies in fire/lava/with lava pick then drops are cooked +- 1.35- Added owner_loyal flag for owned mobs to attack player enemies, also fixed group_attack +- 1.34- Added function to fly mob using directional movement (thanks D00Med for flying code) +- 1.33- Added functions to mount ride mobs (mobs.attach, mobs.detach, mobs.drive) many thanks to Blert2112 +- 1.32- Added new spawn check to count specific mobs AND new minetest.conf setting to chance spawn chance and numbers, added ability to protect tamed mobs +- 1.31- Added 'attack_animals' and 'specific_attack' flags for custom monster attacks, also 'mob_difficulty' .conf setting to make mobs harder. +- 1.30- Added support for invisibility mod (mobs cant attack what they cant see), tweaked and tidied code +- 1.29- Split original Mobs Redo into a modpack to make it easier to disable mob sets (animal, monster, npc) or simply use the Api itself for your own mod +- 1.28- New damage system added with ability for mob to be immune to weapons or healed by them :) +- 1.27- Added new sheep, lava flan and spawn egg textures. New Lava Pick tool smelts what you dig. New atan checking function. +- 1.26- Pathfinding feature added thanks to rnd, when monsters attack they become scary smart in finding you :) also, beehive produces honey now :) +- 1.25- Mobs no longer spawn within 12 blocks of player or despawn within same range, spawners now have player detection, Code tidy and tweak. +- 1.24- Added feature where certain animals run away when punched (runaway = true in mob definition) +- 1.23- Added mob spawner block for admin to setup spawners in-game (place and right click to enter settings) +- 1.22- Added ability to name tamed animals and npc using nametags, also npc will attack anyone who punches them apart from owner +- 1.21- Added some more error checking to reduce serialize.h error and added height checks for falling off cliffs (thanks cmdskp) +- 1.20- Error checking added to remove bad mobs, out of map limit mobs and stop serialize.h error +- 1.19- Chickens now drop egg items instead of placing the egg, also throwing eggs result in 1/8 chance of spawning chick +- 1.18- Added docile_by_day flag so that monsters will not attack automatically during daylight hours unless hit first +- 1.17- Added 'dogshoot' attack type, shoots when out of reach, melee attack when in reach, also api tweaks and self.reach added +- 1.16- Mobs follow multiple items now, Npc's can breed +- 1.15- Added Feeding/Taming/Breeding function, right-click to pick up any sheep with X mark on them and replace with new one to fix compatibility. +- 1.14- All .self variables saved in staticdata, Fixed self.health bug +- 1.13- Added capture function (thanks blert2112) chance of picking up mob with hand; net; magic lasso, replaced some .x models with newer .b3d one's +- 1.12- Added animal ownership so that players cannot steal your tamed animals +- 1.11- Added flying mobs (and swimming), fly=true and fly_in="air" or "deafult:water_source" for fishy +- 1,10- Footstep removed (use replace), explosion routine added for exploding mobs. +- 1.09- reworked breeding routine, added mob rotation value, added footstep feature, added jumping mobs with sounds feature, added magic lasso for picking up animals +- 1.08- Mob throwing attack has been rehauled so that they can damage one another, also drops and on_die function added +- 1.07- Npc's can now be set to follow player or stand by using self.order and self.owner variables +- beta- Npc mob added, kills monsters, attacks player when punched, right click with food to heal or gold lump for drop +- 1.06- Changed recovery times after breeding, and time taken to grow up (can be sped up by feeding baby animal) +- 1.05- Added ExeterDad's bunny's which can be picked up and tamed with 4 carrots from farming redo or farming_plus, also shears added to get wool from sheep and lastly Jordach/BSD's kitten +- 1.04- Added mating for sheep, cows and hogs... feed animals to make horny and hope for a baby which is half size, will grow up quick though :) +- 1.03- Added mob drop/replace feature so that chickens can drop eggs, cow/sheep can eat grass/wheat etc. +- 1.02- Sheared sheep are remembered and spawn shaven, Warthogs will attack when threatened, Api additions +- 1.01- Mobs that suffer fall damage or die in water/lava/sunlight will now drop items +- 1.0 - more work on Api so that certain mobs can float in water while some sink like a brick :) +- 0.9 - Spawn eggs added for all mobs (admin only, cannot be placed in protected areas)... Api tweaked +- 0.8 - Added sounds to monster mobs (thanks Cyberpangolin for the sfx) and also chicken sound +- 0.7 - mobs.protected switch added to api.lua, when set to 1 mobs no longer spawn in protected areas, also bug fixes +- 0.6 - Api now supports multi-textured mobs, e.g oerkki, dungeon master, rats and chickens have random skins when spawning (sheep fix TODO), also new Honey block +- 0.5 - Mobs now float in water, die from falling, and some code improvements +- 0.4 - Dungeon Masters and Mese Monsters have much better aim due to shoot_offset, also they can both shoot through nodes that aren't walkable (flowers, grass etc) plus new sheep sound :) +- 0.3 - Added LOTT's Spider mob, made Cobwebs, added KPavel's Bee with Honey and Beehives (made texture), Warthogs now have sound and can be tamed, taming of shaved sheep or milked cow with 8 wheat so it will not despawn, many bug fixes :) +- 0.2 - Cooking bucket of milk into cheese now returns empty bucket +- 0.1 - Initial Release diff --git a/mods/mobs/settingtypes.txt b/mods/mobs/settingtypes.txt new file mode 100644 index 0000000..0821437 --- /dev/null +++ b/mods/mobs/settingtypes.txt @@ -0,0 +1,29 @@ +# If false then mobs no longer spawn in world without spawner or spawn egg +mobs_spawn (Spawn Mobs) bool true + +# If enabled then monsters no longer spawn in world +only_peaceful_mobs (Only spawn peaceful Mobs) bool false + +# If enabled then punching mobs no longer shows blood effects +mobs_disable_blood (Disable Mob blood) bool false + +# If disabled then Mobs no longer destroy world blocks +mobs_griefing (Griefing Mobs) bool true + +# If false then Mobs no longer spawn inside player protected areas +mobs_spawn_protected (Spawn Mobs in protected areas) bool true + +# If true Mobs will be removed once a map chunk is out of view +remove_far_mobs (Remove far Mobs) bool true + +# Sets Mob difficulty level by multiplying punch damage +mob_difficulty (Mob difficulty) float 1.0 + +# If disabled health status no longer appears above Mob when punched +mob_show_health (Show Mob health) bool true + +# Contains a value used to multiply Mob spawn values +mob_chance_multiplier (Mob chance multiplier) float 1.0 + +# When false Mob no longer drop items when killed +mobs_drop_items (Mob drops) bool true diff --git a/mods/mobs/sheep.lua b/mods/mobs/sheep.lua new file mode 100644 index 0000000..634b703 --- /dev/null +++ b/mods/mobs/sheep.lua @@ -0,0 +1,171 @@ +-- mobs/sheep.lua is part of Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + +-- Sheep by PilzAdam, texture converted to minetest by AMMOnym from Summerfield pack +local S = mobs.intllib +local all_colours = { + {"black", S("Black"), "#000000b0"}, + {"blue", S("Blue"), "#015dbb70"}, + {"brown", S("Brown"), "#663300a0"}, + {"cyan", S("Cyan"), "#01ffd870"}, + {"dark_green", S("Dark Green"), "#005b0770"}, + {"dark_grey", S("Dark Grey"), "#303030b0"}, + {"green", S("Green"), "#61ff0170"}, + {"grey", S("Grey"), "#5b5b5bb0"}, + {"magenta", S("Magenta"), "#ff05bb70"}, + {"orange", S("Orange"), "#ff840170"}, + {"pink", S("Pink"), "#ff65b570"}, + {"red", S("Red"), "#ff0000a0"}, + {"violet", S("Violet"), "#2000c970"}, + {"white", S("White"), "#abababc0"}, + {"yellow", S("Yellow"), "#e3ff0070"}, +} + +for _, col in ipairs(all_colours) do + mobs:register_mob("mobs:sheep_"..col[1], { + --stepheight = 0.6, + type = "animal", + passive = true, + hp_min = 5, + hp_max = 10, + armor = 100, + collisionbox = {-0.5, -1, -0.5, 0.5, 0.3, 0.5}, + visual = "mesh", + mesh = "mobs_sheep.b3d", + textures = { + {"mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:" .. + col[3] .. ")"}, + }, + gotten_texture = {"mobs_sheep_shaved.png"}, + gotten_mesh = "mobs_sheep_shaved.b3d", + makes_footstep_sound = true, + sounds = { + gain = (math.random(60, 93) / 100 + math.random() / 11) / 3, + distance = 24, + random = "mobs_sheep", + damage = "mobs_sheep", + death = "mobs_sheep", + war_cry = "mobs_sheep", + attack = "mobs_sheep", + shoot_attack = "mobs_sheep", + fuse = "mobs_sheep", + explode = "mobs_sheep", + }, + walk_velocity = 1, + run_velocity = 2, + runaway = true, + --jump = true, + --jump_height = 6, + pushable = true, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 2}, + }, + water_damage = 1, + lava_damage = 5, + light_damage = 0, + glow = 1, + animation = { + speed_normal = 15, + speed_run = 15, + stand_start = 0, + stand_end = 80, + walk_start = 81, + walk_end = 100, + }, + follow = {"farming:wheat", "default:grass_5"}, + --view_range = 8, + --replace_rate = 10, + --replace_what = {"default:grass_3", "default:grass_4", "default:grass_5", "farming:wheat_8"}, + --replace_with = "air", + --replace_offset = -1, + fear_height = 3, + on_rightclick = function(self, clicker) + -- Sound the alarm! + if not self.clicked then + local gain = math.random(60, 93) / 100 + math.random() / 11 + local pitch = 0.96 + math.random(1, 7) / 100 + math.random() / 11 + local sh = minetest.sound_play("mobs_sheep", { + gain = gain, + pitch = pitch, + object = self.object, + max_hear_distance = 128, + }) + minetest.after(0.35, minetest.sound_fade, sh, -1, 0.0) + self.clicked = true + else + self.clicked = false + end + --are we feeding? + if mobs:feed_tame(self, clicker, 8, true, true) then + --if full grow fuzz + if self.gotten == false then + self.object:set_properties({ + textures = {"mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:" .. col[3] .. ")"}, + mesh = "mobs_sheep.b3d", + }) + end + + return + end + local item = clicker:get_wielded_item() + local itemname = item:get_name() + local name = clicker:get_player_name() + --are we giving a haircut> + if itemname == "mobs:shears" then + if self.gotten ~= false or self.child ~= false then + return + end + self.gotten = true -- shaved + local obj = minetest.add_item( + self.object:get_pos(), + ItemStack( "wool:" .. col[1] .. " " .. math.random(1, 3) ) + ) + if obj then + obj:setvelocity({ + x = math.random(-1, 1), + y = 5, + z = math.random(-1, 1) + }) + end + item:add_wear(650) -- 100 uses + clicker:set_wielded_item(item) + self.object:set_properties({ + textures = {"mobs_sheep_shaved.png"}, + mesh = "mobs_sheep_shaved.b3d", + }) + return + end + if itemname:find("dye:") then + if self.gotten == false and + self.child == false and + self.tamed == true and + name == self.owner then + local colr = string.split(itemname, ":")[2] + for _, c in pairs(all_colours) do + if c[1] == colr then + local pos = self.object:get_pos() + self.object:remove() + local mob = minetest.add_entity(pos, "mobs:sheep_" .. colr) + local ent = mob:get_luaentity() + ent.owner = name + ent.tamed = true + -- take item + if not mobs.is_creative(clicker:get_player_name()) then + item:take_item() + clicker:set_wielded_item(item) + end + break + end + end + end + return + end + -- protect mod with mobs:protector item + if mobs:protect(self, clicker) then return end + --are we capturing? + if mobs:capture_mob(self, clicker, 0, 5, 60, false, nil) then return end + end + }) + mobs:register_egg("mobs:sheep_"..col[1], S("@1 Sheep", col[2]), "wool_"..col[1]..".png", 1) +end diff --git a/mods/mobs/sounds/mobs_dungeonmaster.ogg b/mods/mobs/sounds/mobs_dungeonmaster.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4ac5f4a08527134b837ad3d372b000e053d7d996 GIT binary patch literal 12624 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 BBXa-% literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_fireball.ogg b/mods/mobs/sounds/mobs_fireball.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bdc4ac21f73d35b865ae6295067d0730a88bb6e8 GIT binary patch literal 22342 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 BusQ$$ literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_kitten.ogg b/mods/mobs/sounds/mobs_kitten.ogg new file mode 100644 index 0000000000000000000000000000000000000000..688eff75fc2ad8b7aa69e42711030895ddcf5fca GIT binary patch literal 10020 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 QKR*pG&bYn+{P)BE16(rIkN^Mx literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_oerkki.ogg b/mods/mobs/sounds/mobs_oerkki.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aac6e43b9d528980f84c42ac5858c5b2383d3510 GIT binary patch literal 35208 zcmb5VbzEG%(>Ht;hXTc|Kyi1MBE?yxxVuYncPOsK9g4da7Pl7n;_eOwO0gCSJWH?Z zzTe;d{_#jY+3cK2GC4`+JDFs&?<_4<0T|%lusZtn;F;uCnkWX5g4`XPO{`s>86b(O z=Pv;G@ecI&y9M;_x#oX|=bFzs`BiDkFRh;bGbF(NBZnE9t!3?K#q!SClI*>;iN;^) zWU^!&Z0v08&`3t7YHDTdW?^pcW@%~eO8@*?SkRB8qWC)rNfjYz9T$5u3+wmhm{6{o zteU)}kdn2Ft2vpmo0+u(2>zdTXvD-dKmZZ|1X9Qo^aXy4R|fzL0LZK2P4yY-yj}MR zDwD?XiFl@Vs-(YpN3=qzv(8c?pHV2!g^bG#7XaXZKzgK1=S{KW&RbH#eN1H{hQVhl zG?FcuFjOdIS?7d2X;ti4=ztUnO&cD7j-ej>}mm;+o6(+h1fM7-CQ%|CRjh2O0ETpiHyB z%xB5}$or>TWI!NvBmmh2oY8vX@hRf*3*t#kYGo|yDGuft6>e2dA$2v$IW=`nb$xvg zyE%8exm3FajlYD3opzJm%KwaiyG{lI@+kQeDd`g_=o5GN65&F^s$c-K=OM|Xi`wCf z+m(ri#&%-&!_{>I7_d@ziDQvb!N%`Z4|W{VgN*; zV>#$V{7;m2rb7HX!b1RbPDNFy2A!FtUAP8a-blMj47$n>C#wxZ^j`eeBtWMf8bq;~ zBvs!GCcT-&=ANA48pl>p=2DpXzlf?hL4WlH+7a>`i&UFHB+hu_zrzv;6-$thB#!z| zOV9!l`MYG9-!d=9`O!1?^2%|tX1+wKWzn{lr)RlL@E>HqpCH`HcA20b$>`6^_?GE1 zA&Z(>{14@Ym4#ScJ`Lp&9%Q2r5E?_vSx;vomM>{R>uP_?+%Idzfl`slS+tN=wSVOO z73wlkZje3kg?|fLBXT**wiQ_)O8qv=J{w1V=0V&2H$ncZKBCZhGhQSZ$oW9#7l&Yi zLta9jMC$qxJt>cUh`xw4Hckp$9;~E7NL%ds;cw5$03Zb8Ked=VjKCyYWfcsq4iMM`drE1~YNbX_&@B_H$io_+@O1A@e$n#ZU#OFa8Hn z&`BjTi+_ti_!l2x>CRA8|kdjdSe=`S3UO=8#wvx61IkpG$Be~}~Ygfo~xJe)u! z_nAsznrZwe*SkxuDQroox~SsnPvN@F;F+uP=+AJQ�TvxtlLFnd>(DX*c<8-2O*g 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 aCh9y9z_#Y8e64y0z(26n)dLNTfx!R;i>cQD literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_punch.ogg b/mods/mobs/sounds/mobs_punch.ogg new file mode 100644 index 0000000000000000000000000000000000000000..28a500bf5759c8bb16ea780d100c8bbf1a7a2609 GIT binary patch literal 5946 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 B2L}KE literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_rat.2.ogg b/mods/mobs/sounds/mobs_rat.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f848df72666d9d1d91a82614eb0ec128420300b4 GIT binary patch literal 9564 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%0DrCMaw_oswxpgWu&WOw@X{LIaWznTBY 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_sheep.2.ogg b/mods/mobs/sounds/mobs_sheep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..471d9cb168bc62e8fffc4919ce09efa44e7f1e2f GIT binary patch literal 9499 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_spell.ogg b/mods/mobs/sounds/mobs_spell.ogg new file mode 100644 index 0000000000000000000000000000000000000000..455b54f58a8478d90484bb566918040c178f2e5b GIT binary patch literal 15205 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 buc!RtICQ3g_9*zCmiqHOy?-%KOtJqT$j^*D literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_zombie.2.ogg b/mods/mobs/sounds/mobs_zombie.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1f922045158bcb0734af4718b6a8453d5cc6ae9c GIT binary patch literal 5166 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 WpFA6xcu-DuQ7;JUA=0l+Mdd&3uvx|c literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_zombie.3.ogg b/mods/mobs/sounds/mobs_zombie.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1c60aeccbf1fa00ffabdbf80ab636affe7f7f5dd GIT binary patch literal 6693 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 QZ+90sxTK3Fod$yc2OP~)9smFU literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_zombie.4.ogg b/mods/mobs/sounds/mobs_zombie.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8eee5e0f196a6398de966781a9bacf99e34c182b GIT binary patch literal 16893 zcmajG1y~%<(lZtLj%h)w8p&t*kTvIN)E0`cV$!Q`1D&-w8wka(8kuwQ+sw z07;cReZdY7(BH2H(Cep>|8qQze4ISC0RRpFyrlzU z#aqgQp^$8*4@nTYr&bSVSP~?xhsZ2~tM}g(6|Xq~03ZNuO~Q7&16 zHYx%IRLJ3KKLk-bFB!}n^K0_$97nQ9wvD0MIqtO_A>>8CD8 zb3tSNmgSGe-A@&u#J!sruOhVjEjLPNkEv!{0-dd9QbCDpM%%2c1n>CLkM&FJFm2R7o~6LHGKMRSl1Cf=60I zQ&|gkxEa22x0rKxn{)TkO$yR)@X>7u(w`49ybdxU3jSBQ@mafmDt}d{0s&dHf{8!D zIW#0W8-h9Tfx#tkfccY2s8Hi*z;U_q`Ife2HmP;i#dQutRjfl*7=JGTK(I@mjx3v$ z{Qpm})J?SbzZWsb9ZC$|HD7#CU3JF)?oHPqRrT=?F&ip;qx&%sRbWRd^#@%b-aV2V(u zTPE82q430*{56Xoj4e?%iX_HAl3*8vW^YoZjHjHB2x6sdWfkJ5PIZK7rZP4bCZ+!M zp#3QEPna*kgULNv$>S-mqw*Lj(0^JVa8r>>3nyWH#5-wNy~HN4>ue@dkP8=dU}JU1 zQ?|b~;=@{DkW|LnM$Lct{R7|d@b z^F+Pr{!~6uNT&GI`PA_g@1wEev$*=fc@&XRG75zOs_Mjy(D(j-HKziAK%BoQ{&)2k z%KxA^FD{&Ukg0l@dx-U^D(M;(+OO!sk;LGFp_r8qhT_QD?F`p4K{-2U?W`UP6r!#G zhW-;#FsD+P$A}{l{|%DhB$q*O0W2#1+i@p!W6#JZ{;Q0glBwa+!^#9Vn+A`FmZsJl zcL&|CZcFt+hVyP~b3SWxk;c!1|2MGyCvpH-&;>y>o@5<4<9&V3JAo&y#;dGBU^qeGHbrQm!EZRlXECK^G2?ErP-mfE@1tAy zuYma{Y}V%7{ws2xLWD*z>Ze>B!ha$siz#YDAc|H#j!rj@;X|TTSW01X#%^H_+W(3i z>+pi4@Pg3rozN(zutb}%l%mEQ`@ypPrvGdCpU9DQp@S7zG_~-gwFtDP5|y=T9maSq z7Bsb12(@PFES3m;-z2)N@hI!UPG@0Mx4A?g<5>s8q<^te#{bKTUu&+8Pwl;ynwEvG zrk1X|h3>W1n^_-47*#`gfj~>EPHW-PK`YT`{k@jq8;gZ&EnPxi{kfp^E1z|uC(d&- zZZN9Jtc6Lv+ZvNiij8f~x1toLqN2j0I)|dNQvIA?ML9)-RaQl1C4*Jv#bx&UFlyPi zqAJ#+BG%%nlDi_-{km^OO{IfX6{%&#`*p|YU99^}&P8Qq#Z?DS)TYw?-go;=oZk81 zq5R^#royHs$Ni>v!*vd1xkY=e%tM_OgH^}-O&m3D)M{F8D-gqj7<**sUk6n= zylgAI8-y{Kyb&C8B5Q;Vt9B%X_4S^!yfP7pf?B1(W?EF5T2#DW<;c=ivM-^g{m@UMI3*^cmkpU!x2w#bHa(=uBUG?qgG}n#7WPi-MLaXZ z;oiwJAC*Ui);tkltah^Uup|_qdH9M7Y}&&xAm>hs%N6F~YRDJX!dOA`2o)8$>hSd) zxn{{=Bl2+d<-xu98V+o|DYU&*FjfOk!vD(HN`k;xB?rVQD3m6|sSl^cKd}mkQjiDN z#VIJkW~HD|8Kkaf&o!H-ZqEms6^vD!f<0TWp1xA88;&0O-&vK`YTMbC_QHhILx~g> zDr*Vt9J#hh6l_YLgctS@>PNwZYuNGS&)Pl_^c_TIQ(P5FXQ$O8VFWXWmYI}~$N$#c z)RwJx*0l6VICEt}98CE3qF#g`WYQGIDo#BDHbURNF+b53Mo3ZrQoFtAYR`8ytyl6S zLlJg|aE)%f)P}7(e(->pAF4&x(-QI&w&J1cqw+R5F2jP%s1n11jD;>r5@4{_us8~R z?WiCa+%qePLJuWWWM=EpwgZDSO zdH7~HG*BX#U!eGAFxwKjVo5L)n~jPyfdf?)n886f3i9+&ScZ#62FvH{$00gounGOM zj=aS%#o!92daudN{47vOfwAy2%%Y`kFepHKhV^VqYv#pJN`q#(73pD6uq^FP(qjRD z1K5NP{;nhRKnyYM(IIl?q)jV7BYgej-5h4ya(zu;+8ffx)U*Pg0?@N5`&=8aiuQ!Z!y4aqV`B zodS$tH_`|I%ZSK81w5%VKO+$;Gq3qyCH$yhW{ltp#y1V;+DVf{0rw=qa-4jkr_=*> zlYPoRB47mAX)lZ*xI^|-rMX7^Co%a?3-$j;i9%SO^-LRfx9%k(MfoQym%;seYG(hh zBt7Y$)BnoZ|C7D{pIZ8Mr7+0-cLj*Gp&}c4`{I7pxAuq-Wl=gez}S9TuNNW+kuy(zAn2-Hr`hJ8K$I z3$s6Lg_t${!Z)jj4*YO*2K?kI-UTP*Rd-JO`0HzGSh6kg*V<1T19g}$vYyaFEu{cM z)e}aj17U9Xr!O$(fBJBQcK(4D3{X4&TnAB=_zNwRY*-(d90oF`zb$%L3-zA_?k^Yv zabc+(1jhNFJ_s&M#^3Y~qW*+Pm}#B}f1&!fg-ZQouD=&k|1_1_OG&N!Fl4Bt}*fBV<&*E_7@gOkx z0>BTDA2#4ehZq_fY8jQ=^%I^>$~-WydlP~FFZroLLHTE^g7CNf&kk8kDd+<*RddiQ>`>wr` z;w!&Sd?@bO?xWMPeqE5kYn)YD)-g;Q1843AX#oDV`a23N}h`~6rZ=p=gJi9Xv?kMnbs}1xR!9@!AS_zva zdkZvqV76xrf*qC!!F_@9(8F(tJUobao3@OaAdg0&PecyLLB)1#vvyl=4^?$n-BwY%DNt{IREOn{6E^Y+b4 zSCBZNx+zfGy`!AB(`WlI}W(TwVZ=*58K~XF1tEhJcIuH+U4;5m4lc z^A~1yqr&07zdG3|*!n8yIa>0S2b(RVO{nFuN75L&Vyhe7h`AVtOi1w2k zAw*JA>+Vt?a-8svv==^WeRi77?$aLw58H-aL|qVgG=S-T@5-POM6#2zo;z^{^p`n?RZ0`_Lkl5 zeY-=%(j7Qc1dH$#g?CY{avg8)ntYq_K}gTiZij4n|IJwE5^4#j3oQz6Ui}}U#i>kH zhZg}vfm!owQ=Becj5R;7?simNmkLzAdA%${L=nEmRwqVO)k&Xa zpe5F1`8DxcHr+1VomcGI&{%h)2J~Vm(fxf(>)kM&Sv}rSpfqAX&#yC1TwB2cgMpKJ zy5B0=LaWb%P8h_vw`MzNm2N47!5w&hZ@?Pm?y>@JWX%9TbfDyIjTBGVtI1krq@25& zT#N6BraqWJQq4?M9qtvvy5DdeB}0O{tLRc1o2S+UsfT~82(X-AKWmy79 zI3fiknrmC!hzVMD7{w;&vC67(`|7BPrd_JS#+_s;yW^F@>Y@hEmm(2PwcTw|yob2o zd%-lOLHXxFnIZ!2fo{K>BB3bvjiVped@lF@#6tb0BYbV!xSwS#rb1#bP2dq)3&}dH z6&b>uax*QvVlgOF_~QIED}lF&Iv{4Yt6F&scmb!I{kq8{aWjX(vGvru(Vr8A{Ae}B zg%ZeW47GIMz0T{^yWUaU|q}|F%B~OP#jf`-) zMY4!DyLaFue3{*LxsI&61N;XQqw@I+CZT3u+_kD+=(#6gG>5)=UxP_(g0SMYL)kj32n(pCz@% znoO;}d52Lf0c9)2=dp_t&}=hvCv1>z69F~p)4hhTn04|kDTY4l6cLJFFo2NeVy>_Y zyfsckWpzf;-RnzXBA?^L;v!8x(ICgPL{(3rc!;Xy<9$mofEdkE45v(m-ZM9Ew!q@f zYJ8d$QNsmx$(qcF_Bg|mqeo`6)$wE*&1f!s-YM@tDltum|0C^OM*l7_lmVw6HPj}L z<5zDnl{Nzj(7J1XQe)D1(bpRb@zkk2rDMB;`&D#5YeOG_NJYteJN%uu^+&1{))L#D zxBkzylxlS=jCcdlY(WdpqmYmI8dp3~dU?qEZ!8n3H&*T$|A=&yhVN?=G`^{Gn?1xp zicignqd#AkSa&eQuqkj7`Di{+?}3U^rbdOpLcYopKeY70yXp1~S?`gH&UvGdDNb-A zDvw94-BSSG)H*??O$mx#>g0rO(t-V$k+3cgm;=r#r1AC6` zdj=qiJ+h7-b+gF_&z}G{fc<&CD*Kh6QLUkkNty+4rE!;2A9Z2X(YT#E{3$c~19rrY zRY0F5*3|HOdexB5y*sxdeoHSOq){6tl@31bwfQEdz32xDYWWP6eZJcKq$wh&$B*PR z6XIi`ylaZA3p4OEUvbu|Ug({~ESR^~|eb8{EyY`7+Et z2L0nQ;lW+qHl5Ln2K7I25N|_q6hGg*_`+rDu@9`y^LEe3+f9*98nCy_8m`H}V(6y6>G428L}QnmGz9Q`X+ zd`orxp&=;ZI*3+XUK|0-f^L24{AS5~7L8s!a?CZU%fQIx+lrjJSm|sbX8;soH2x30 zw9rpJ5`X*Cf03%J;ZiChNbY z7**{1?QOw_MVW=@&0N@Bn}~tdtU;(izHRWm(q%K%D%rR z%=F2v?1tb>Qfn)W`*pN1ybvTGVmd$wtY6_ErgLtOQ9$+C;UWi?s*%}JSM8`5>aET z)w|VhjnkzwC)XhVuFZKDGH%wPce#GLtef@nMFN`gqn1)__gj+_C^S4~epG}at*Yqr z-k({^m6C9{QM?MsP|c8Y;7}g6tF8%6Uz~b|UMCC>*U#nmX1v^}CrB z_TtWT>*%9BP+qHeLpW2A zs2-9jHtaaVF9{E{>MoxydaDU^$Uj@Yw&C3L1;!az#OPa3%oo)C0$wAHSlz3*F7Uhk z*6qJey7nEPc()V-ADh2F{Xv?6Sp9rY$|W5<%;05N^E3L}^Yf?>2ZBz-H@)Jo=`^OK zij%(v^rn27x3YAVMwT3ttNw@#zNja~6++~=H`=L|N?rHzcvz@vMaQ6f*kegZJl_a4 zbE(KSs+CGckBo4tO^OaUTgy{gk@iLvNHy?VaKH33N#@CRh+aeY`Tm=j$mOzYi?-%$ zZ*$exJ_m=%N9Gn=MchK3KSw8-OTpCHLOHIx zq1D8(!m`9Vd^c+EOujs$+1}}jcpu7B=^>z39Q-}8C|eqWb5*gLc0LC!}qlKDT>|ZM4)PIrlvre&N$>DQP=~jLo+d z&|~5EaK7j?qE*0SX~MRIaXe`2z(9~q7Txbt=JK*R$I_NvpWW>3FngoLgUKHk{2Ap1 zsDHN#Pw8&M=PcZms>8sQf&1=tf*gNz8sgeonszrMvr89NJ7vHttIPPG5G>E^R z>@cIlOIuT3JBV}E`9gSVZdcz<61PP=*NQD%$i3A-qJgQjKGsHr@6n=C7nP2PQY z9E5<_g6GF8d?^xR`Kb^U`K{El3`eAVv-{KdQnGbpro$1*>t`dzBcFWHEf?$83N@4q5ykV5(>hKVIOTI@5{b+GHFV{S^GosMe~-W~*6<|TxeFQa~2J$NZpo_Mn4 z=ic+k&yP0TKAuLxY_EJT!oZHFt%5d)_t;4BjN!Ix_7nX!=z2fSqI~(i}X(hZxC1|0GqfJwi ziEwG<5UCPNBl2RI&kA{fp58>*t&y_f2ma5A3O9@S5xj1)t$15L%K=WybC}9h+9%KU zvR{5#nbV<<_FU=HUn{7|>h$4qvZr4x41`O?(6Wf$C?V=+fy<&qyET|(1Ku+q+d3XQ z@W#be9LqHLqrFlZcnOFm8(c2l*S_^niY8~vfv-Ualx))wN@y0W(E87ZHyalOzD8UJ z`+d~~<#m&iWpD-RyXMN@XMLO`lNh)7@%ltE%h~)Z^`$RzctYrrZsLosqv6Bw zauFu2yc|C_*ItC@O(e|cFbuv8-gQ;3>8`pM3L=SW)2n17bh~PCM7zHHRyesy|HI-} z%K4jbSAlkK@^2}XxGvzNKiy0&e8iEoULQmD8w`in8|d!RX=B7H&pKDEiSs@1(L(hp zE-8fvC<>Pc8$bN+W)`;ABJ<2)(NhkFeq#At8CO%oXP*Se$#(tR#K*17?~{9ai|?zI z*AFft-&6%HSB|Utjp}?wg{hD>I4OE3 z#jB0wb+TE@S{*3*xvq$9#6K4bxEqYzwAysuT}Cj7{5t%jkh=MMn}WdZKzp(Gl|C;~ z?a`lFIpkxb-Gbw5U^dmcl);6$*{NltLrRH%nmBwpU`l%{)+CTVILY>luYNI==Bn%U zC!5~Xa9_7HX(RJcYR%nHosBioP|%9kAJ>`cA-GSwPMH*KHc4lA#mktiUBS6J7Cr$x zgHB011O3>+bVa0Fk}tvuO<#KoQiM47NmjoAdek_QVit{=n{#tBh zR*sX=1}aV;E;gfzJIjvwVjODP%16@EhPGx2`0{Ad_?6$UBPI2=vrUxur6fG(XezuN>g0xTe_Q3lI1%C$kMW=mLS7;- z$NVR{Qbb^!mB)^vf(i6P^n!L_nZSGdnp`61*AM-%{P=Ur4T3Bjk*iMsiWb8|$9D-A1u;;8-@-l=L1smZolPjemBV;x%%zyGu4yy_)G)=XUbq+7Cs z=2N7KJ9C#x+{#B2WI90aGnrm3&b17x4%=5&Lo?r`(W>(RQxWSa30FNdIx?$A1B?A~ zk40h33`*)2t_^kISUe@M@$M^otjn>*5uEj*Tf)`3y5*D;(EVQA<|=@ieZc)p2HcVZ zA_Z2H4fAGjH-N`jV6+TlRFR)R7}-S~q5*)O7DElD-!IzMdi1M@a@helMr zRpwtuXYRtuk+5y~ZSX0Zo~nK}7&-MbE5`7V=#%m7EwArjOy>1+ zA;%}mrRE2k7Gs;nENYUnVl;uSW2qvkFw;yfhGKk!S{zK@-+Q#&FPI&=`qXe#7Skk! zsL2R63S#H(4eWFu=nTFGKi+j4z1XH$wi`Nks=~uuKU5Mz^2bG{p>4%#*4ba;u16=@ z)pWrK%S>xeLbL|yB5SzEB zkj-uoRky!Y_T{?CmOdvs{!~x+4Wgj?!T+Nl`_Cp0YPb_S-G&9*h zUPe{52_nK&A=^JNAL}kSC*qE-xUiq)e@0$`@C}ruCyus&hadCC#e?VgSd^`KcR4@r zFv)aZ)-ts@_qAf2CGVTc`TJ(Ogu1d~vg0?W4nZjNOf?5Jm8TkGMT~2564XS;nJpi# zn}s5xtt7@)QK|+w|tllJzd@KhgwlUE;K*P zOfZ`gvFpFg(eK)rC!X`VS9qmRluz}LQL(!)rzPO-YomqV&s65P!loeI-Zj@0rV3%s zXX=Of2Bysn4>4>*wc8^Hc4@QD_8nAh&l^c{tH>6&S(me8YJa@@d3*jqz65)4wiH#m z<4euI_Mm%}^X-G4K?w0Nws$2R0u$_Ko)7g!KT7pbcuR$iiF1bEPYZGxl%z@R#Q^Ns z(Pzhed9_L=m2wi5W-arl2AbMP5^Mp4c~QH`gn>0KWX1_mjj^8v`LC;{Da{e7(ILU%~vfr64BzZ97yrApi&chqrP1$Cj73N`MJ@kjZ)ws=HeuJgUrV!o$q1Zk>Q zb5M$9gEEpMwrXZ}xL!RRr)WBaR&-QnxWuAAEld`WK9;NdVk9rWueH68s^KObK60*bLPcS6FYsPJNcQ7 zL+1nLMt&M%`#iI5!?jzeWOy*mw@pp0IZm_l*xS&>ih%>)w|F1hE8owXfc&gb$}$0< z-|w*Yyy4+MU0H-1H61!@4N$%a?vzFKBox-}t{-7?=aT2D)43@unSb}zj~*~ee!tDk z9~g4F+sHp4NOvpWQ=*TC3)ib%wT7yTY6t3Pi1KMPFrddX6`t!Ks%_SuHScV_q*J$B z8|pVt9v2v(QsL)HtjNy&$)j>C{k$f$uYMMd#UpG9KXksv9%+21+WU8Tg>Yz?3DtqP z#1_?as*Nhsc=4L~yWbPZ5TIrO3FleC%kf10^X7eV;_^f`grvQZt_$hdQ}0PSF4OP) zjvW;qx|5|mE(QtRdsGSh6{TvAp#-xgq0P1QV9*ZwJ`7q)@7|nGnR$C%1x4gMVkFYT zd)=a<42k;^+d*sK+UvGX)p>cZZLBgley-0j*iS8+uL@;0g|a_rA)f8XP#}*1e4j9) zc2Xoqg1$KPHhi+R(z+)|SHWj-bTv8*0}ki9J{iZZA%qGsm^-OJ#W4VuWy98n8qZtr z^*ttd))&oa5As1H`bTs@r$i)M3sR&f~=TVl=^AGmUTq7P4=W8AX4 z(V8Q%>SfSM5=qTAGh0M!DO&kWDeQ}aR+H0)C-1NOZ?;GSxR6(f?Usr}+I7TdxNRa$ z0dLWdhd(}#4cv@-ZaL0wr{99^mOeIC8K_pizy0hbk%!$nH%J^YTl;yd(cDKugTzLs zamxnHm3jjBjrvK21W~_dxpXO44bvrNwdVZmExDdKl68;&BgGt85%1ve3=V zAYQqBg@g=0;-EG9o+>wedsLta%h+elE;W0`nWAKEgu#JQf7p>spq{0gR9(r#1kxXrKE4Qf1)5oC?3j=QB>yu86WJA z>@%H+GxH^sRd=VB>|V07p^E9nJ^UiJ5Y7iikFXLWu0&XSY@P6lurfC7Yv`uz({-HA z#b!~EI99SFeAlMDgu@mg_sAE+D@w{-J0FdYK@S zR&1xh2aG{i`c{6R7ihgYVWu-Zd7zC8NtCjDSvHqkv6P1J_uS49R4{LprfKk}NLH`Ge9cm^lNeh9( z*UZ}26O}bcNj1bmC)Fak3i<$q=l!_J%ez!pAB#+~itDeuA1xniO-`qm9MY{N=#j=m zO?ULDDk<}nn@m}_ohR1kW&beB%BY$Qs|}LxGUaCO?0S+g-O6uJYpDn-!TsRX$MzZX zB5Vg9Z$YASHS9)=cU417T&Z-we-D<8>DdY~AeE_os||C+Gx#%*EYs*-P&j7$$B%}C zjkj9DYz|6+x&NN(MW^`UY$!37*5yYd;1S1y7M=KtH>-F%LOU6EHEek+$1)`3F5ZzD zLc8HxuJ!c-F7JdX65+F2z}h1>!0l1nn+!Q+L`Aoc z<+X!UL{Y+(c34Sr)ng=LSHs=zAYuLsa|YFQHbNPanW{X#yIFlgQLnxS!{t51MokO8 z4ID|*#^>K!N}%_czU9{fNXce32uPFhJ(EsLV@On1IG=V`4lX|EH{}o*X!EN&pwSq$ zm>TEfDYb(7D#6kayUG0Xh$N8RiX@uM>=P^b8I3xAyc+ zOpf>VbhY#jG`H4fgpplB)5i9EeZPLRosu3^DGb-migzbQ#(A*T(H93zS|0ddf69B+ zcz(S!%l;=evzHib_IuPNo1rbDkm&2>^;m?Ids?8uY^3=~S2R`}Z8u!Yy%dziiU^1B z!R)VQNi z=$+#jT9x0$ocoplgDaOL7Xfg-NGEI9!krQIxqOp~4#2axB1|l)Pm$;G%Vep&3J%?n z=@|Fd#Xj+YTeUuLahUbkw`q#ffBhC2=gu>tXRBDe=2xw_R8EObHAuBg%sJ_S>CNj` zSHD?oj0B}T@xI)N<~2EG&Xa0NzYFS8;N3aD(zvL62ghl4HUaMOc@Ozm$#ALQZDuRt z{U~$5#?Y>OuTxTXq-+z};m#Mirw$A_zgaF(H6Y5MK|0{i;Q8J4RiM}KJI_SIxMb`J zuB_ijxs48p_H zvqJaxmRxDlCnf!d%PwrVBs_i$@ISuNau*T-N0+-v8TmoQR7X6vzmLL@1bUW-FBL}6 z+^L z^OwBM7PWnNO0x^v;XKlA_eK73DMQmLLWD5oly#zA`C zua6~%uNLE5my4wLWt^BkW2(FBqa-R4t%1wsMc`QMc^b41lwrL*D7eUY?etqAnk3Tm zra!_(kpwkzm6wc(4KfP{Bnw-bJul~5ns6}D6tZS}mq1?dyHsQGR?@1fsQJ@QN5`+Q z+BnaMwI<@m&nb-lsl?`d0lR*gPLbU99X9)VDZ38Jghtz_^}{>@6vScZ*`_GHL~g^E zgWBx!;SSPYU3d0>MKpPex@LpGof!LG(qwqZRFetvv*}p@DI z!dL3X@dt9spMNK{*1OF@t=4)Cmpt#g&g@I=+Gd(oAn)WgYKnb?ESFjT_OAQKk4ggGU_+-@8&VZFz$k!COO`=RBCnuOsG< zIyhQRVj1+5REKg_AsF@t1y18?N`3O^sX=!KTnN2eLDDUyx3MNY-jso*{~v!G(0Y-kyEE@nGO|Z z=4I$?)kJkS#Xx?))QKMZMZoyLtULH98jGNuDt6;&+;*I@n$ex|kZGAf<%++3FX7fI zp?c}-p&}BpHN_l&+(i&W1B<>g}imCWc?wIAJzC=klHqLB{1$; znJvMCfynGbw;B73 zun4^%rBaJa92fa7+t;N`u0`zvUd+{J>)QU>oYp}XGx(ugv;AYTKHcA zwxmwf)q;QS-t)9pbC!y`bF~JPV;Ff^GROHFye9xMtPMJNr8AXCde@E2>4VaK^|A{m z@~AO}!!3)rFJ_!>?(_t_+RMibA9I8KaMwH}8k?1OnUT11>3nLl!I_@6m-$+Q3R1&(hOKl?+aJitj~hu)nzQp<&TZ#)t;8F@JJLx?UnrzA4YrSr9g-95PFbQLA1P% z)MP8-Zxt>Li7cJmulLqCc5Fei@8umzbmhpuaquJy!R{Rfm-w>?m@Fsu28p`*)`&`R zC)0B(vs~(aDjV!H+p9MIQI?SeaV@`N9&0!RE$Pc&ywn=s#(QNa_@1kPeVDZ~n_h@8 zq{Z!=erdYcMV*9Olpyzh21}^m%zboZl6^qlKD;zNz_W$z>jS^g79O~@)L?i>V z6j|Qg5b^TyiiGU`DfzjwZd{Cp9@Dq4DKiNZyb?dyBk$cs^|arSe}P=^EDL z8Qb^eLtgA2@dN6G>m6N-y39k^Ir@u3oyhImSDngh9ZhD3&XbY(|t8PYO*t+n!Dhx_SxCFhd-tOV24%%^R3>-bHsfNEz6=E+cF2b0nN%8ZTs}Wt zCpjWK{RT*B-}7m_L+CGLG>qlYs!T_jMDoN_^~rzznZA5w@+^h5R;A`jEJjw*`?oDE zXYaS+Qyb1yG($JK@0c46&g12!^N!zo^<+2~-GA09ToOW6B~rTP>3AgZj9UB7&K|6v zpSB*bfsAaH!}(m<8Gz_v>M;>Q(`!&s?}29ZR0;@?hp36m&Y!+m9PEC#FMcj=r?l&1 zL2K30g@PQ!Xi!utQz$<)0=5ebb5g^eq)%7H;CSa>-n2cPh}o|}>QHO;TDmT9Tv-a+ z#dNdZH$#tfMdDMEioI69t+CuD5${b|?(j?bsAgpI$>apopzrM+YgF5osqAPD?mX5B zqX&THnv~Wjp>`EHU+v-H?FpZq?P7w_*i5_PR%>YDp5cK77%ju*`yk&8VLhtzG!i@a z@dU~o8YfbOy95jH`#gR{ZgsYBxR2K)-VwF<{HuwVG>V6ZM-2;y6)PoHuW($uksC9=99SdgeBU9y;MCPp&QfLh14zxHBj2 z_gqPFxHJMc8vI0+AB!0kULGivE-022nvaI4P$wN~{>mnX zq*{a+R!rGsZlW`hi+sZ1=`VJiLeU-E;YWtn5Wt1NL^K# zd^4aoCFj-sB5ZT7gq+vnPS`!Uc+e4xQsI+&bA)nEXkYN|?x*xWT=wA5Z-_L=M(lO> zw2ZQ|G&S}%GurL<;Hlk)=&u)@(&HF*o?%#Iny2ZGilA0yFTFRR_PRgLTP!18O)=QX zjy4Q2a~xw((b0l(&CRop5ASQHyK&`%xuL;$sn~X(VH%XT@gl|i!yikxK~X`UOmG6=s{qs-~Z;Y-!GXk+MmiQ;z9UV--6YG$|wP-*6nXqyVDU%U5QLb9<%vxtARe zT6S;Y;`i*}6Q}LL!0Or7pX1#FHV=*ZWx@O0sIq#cqm@?`n-KJc0cKL9&1&yyVhZk9 z0;8eLyO>I(am{IsXB_IO{#P%TP4OwHSD*&2(HKY6hYndEw0|Xe1q)G@N<)q71E&uH zGvF4RD_*^9zEqD;ncI;C#1Nea8@f5v!X~UiN*+OEF^G4J9An>#;n;8y8`G?e8(-ZN zuB6)=@E|#PQaHo^eGdZR^`HMdV}Si1AE30;7=X|JOzCUoowlTjpe_8FM=u>oi^|Ps z3ol3mAJ|)HX&aCY!?xFWb-#5wb3X$8d8s6)e*T&8C|^a#+s?!|#!u{3Y=_1Gtrp$}v(4{m zSsOlAqZ1+dJ3|U6U|KlWxBc<(>*C2*ewPbbDvgPl5$7nQT)M{j(Nw-)o1-H`4C8Sop%5u<VgdtORWmCgA@8h@NFL literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_zombie.5.ogg b/mods/mobs/sounds/mobs_zombie.5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c4defd4238ec5c279e9ccc385710db743ce3a440 GIT binary patch literal 32207 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 z%0A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 literal 0 HcmV?d00001 diff --git a/mods/mobs/sounds/mobs_zombie_hit.ogg b/mods/mobs/sounds/mobs_zombie_hit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5c7c5e1f5fbce4b8aea22e2ace7bb3783c415b54 GIT binary patch literal 5516 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 JJ+86HzX3{-JO%&& literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_blood.png b/mods/mobs/textures/mobs_blood.png new file mode 100644 index 0000000000000000000000000000000000000000..77cfbdaa665922472018ffd016e7a47c974e6bf5 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4&HECyrsn$JLrv%n*= zn1O*?7=#%aX3dcR3bL1Y`ns~;V-*l#XF68-IUFb?S>hT|;+&tGo0?a`;9QiNSdyBe zP@Y+mq2TW68xY>eCk|9p?CIhdVsU!wWN*F(0}fVpzOeIp;)i?nt~kXd=NwvPBT@I^ z`)$SD_5YRF3_|ya?$bSJv37BxYPI+g?T<4qoM6#^erD3SrIE87pG`RweterrYcywC zi% literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_bunny_brown.png b/mods/mobs/textures/mobs_bunny_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..3a71d940c02425416fb4e9e3d1c08feab2c84189 GIT binary patch literal 999 zcmV9lw}Du^fLXqPRJnpvw1ir_gj~dhS-FW`#)nkDh+n~o zTFi!4$%m15VHY0{W! z&YN%3nsCaTc-)$2*_nISoNUOTm)xOo*`jyOqm=2NZsVbC$fl3XrikOBbke4P;ih)v zsCeh9bkDDu?y7d(uZGLHug|%u_OgA=y|~Z7z3|xEW@@ap0008wNkl^ZswuA>H91K>E&H{uxNYL2{*y$rMwnkg8A& zGRQck!q9IOfgR)9e3Ng|E!ClWJD)EHLGxUo`Qfc4Y#h1NGEY-D_+ehn3XvnhbsXl7 zm~k}5Ig@4F3}O6zyS|Kol)(tWhd^*I#v!_5@5&*@<#zq_GJ9%FXuFnl<2X#0sXba( z)}=XIuRewq5Jqc>9=hk}2~(TT?XoO&c^F?q^vf~_VT9z?k#_vmO>H;z{U=Z^ORNRH zPIZ|lTjq$BwryQ#KLKBt?I}jP0_7puWWb2EDl^0JwLdk(d|8&?_oc2;q#uWeB*}I_ z7-QMbpZ)u5)3n`Xp0D>chIo3&pZ=i=fk#mC`5BlJ+J(;9`*p4j<>FBOI0&tF9gOtP3bhN5xZ~(iFJAgQI1QFBn=Q^A-!oOP)n$gg;_2p_`2!S} Vae*>tEB*ig002ovPDHLkV1i-#?EnA( literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_bunny_evil.png b/mods/mobs/textures/mobs_bunny_evil.png new file mode 100644 index 0000000000000000000000000000000000000000..683170da165cae5f4ef7e4dee44e7fc85213a0cb GIT binary patch literal 809 zcmV+^1J?YBP)F*E|M2JR@9X{R@Bi}i{rvs?@2Iab0007nNkl=uj|q-g}pa%&82_V5|*vj``vN4e_j4c zV^F`>T6ORH^I0NmD|tU!aTN7st<$EKvZdC&F7I1o0Q%!GTjr>(bME<^zToIOrw77Y zSxO#{!GTy?yvMcrLKQl~0bF)(H6D*z>!@B=+M@;zl{m!EO1tm-sCd7HGg+;fHvO1j z0t@d&bYw138=OF{Kq9!C;9TWFCDnmCQw3m~@9!$EO|TQnZs#Wbln+}>QkJ>g6zqHe46lz>3xKv}a^8-f zx-UMtyZGKwy6@ha2Z!(s5o4E?inTATVg0W_04Bw-lra`FM}vt`LS!jT#!p3L;I0`- zX_ot5Eobd~$=2D+I|Rd;Y)!J+DbMSKi?Am-kDOoj`HZfhV{{0#f`)a{m+@elJOOS< z#IPXAl@!(s5X8e(gNqLAFj zb- zm|)?+rRvEunaDj+Q08Qu@rS-5#!<#W+0ihSQzE0{DG8kv;khu)ajXx)FeRdh$Ytu~ n%I7Q4AQqX%)L@VAm_PAf3eQty8D9VV00000NkvXXu0mjf9@epa literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_bunny_grey.png b/mods/mobs/textures/mobs_bunny_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..d41d6c1865172645314879d6f5fdc75d35968cc3 GIT binary patch literal 771 zcmV+e1N{7nP)Ud$RBNVw>C`8R8|~QW-VRg zJ%mRf+Dj=W`0*ly?~AICXfav>PJBLd1yQTl%Jfz+iIGL(0*R3RzM4b4lv+#9xteNP zmt}#}!pxBO z^YjXdU0F;g@O%~}CYeA*>(l|n_0ailSwe2DpM>WL_!K+c(Z;UA6!#IH^RVBIN6PAOG?142|VYn|U2*@ZRop5#ag4w*tYtD=NgNT>mT=aC2sc&UQFRx@O$ zWi~MZn2J7GQu-N^$m?_wQ;573V9LQMWjMhO8?~e53ISzU9=78UG{#4oQ_kW5te(AB zovDU=wBgEUOVcSBSkW8m(0A&e;p6xmE@UX$y?BSRBB%dALJwO@YfNH&R0H4>coXwh ztRW`NJSXLZi)Zzn>Nfyl0RY>w#+Z(zHZGVBn@xVc1309?GbFM%vFo~qzH{JTARVo# zMCObDudgvM>FBlPQsUllVUql@@&|>HLmwBKY~EVSxxnYV9bu&#$qmZ{_j@1A=limd zm@S*!*PwheyCEJzw;gw)b432%=zKEk$ro?bW)CB@#%t%U;8bZj@4?;l;$Ick4ar6K?T002ovPDHLkV1hNA BTy6jW literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_bunny_inv.png b/mods/mobs/textures/mobs_bunny_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..762b713a51fbf7b9aefedf310e3f68da0a2d573e GIT binary patch literal 466 zcmV;@0WJQCP)XusL%V1eY`7=H z7n|l%#7(7g&gI_K!M4fyTBr(+qkvfL@Z4U%gZ;b1bFG8dAK>#168{@iKXczoPPs7#9oO0ksZ(y5$ek#TW_ketjea zPmc$2N@+$I#*0WP1SF0HSQrL-0i}h111cRfz#P0h5paTG?)&SU+jgAik@LOpXVO4? z?gI9_fB-E`OUrrYkX8ZSDggNnLWI%IvkLfe2nfi2*8VD7TrYuzK*4)$<>(xQRSLal zZAe6fRl-9`U!jl|O;p?(F#rGn07*qo IM6N<$g8MDVng9R* literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_bunny_white.png b/mods/mobs/textures/mobs_bunny_white.png new file mode 100644 index 0000000000000000000000000000000000000000..0445e8825c5867b10ea1cf92583b1db202ab6424 GIT binary patch literal 809 zcmV+^1J?YBP)F*E|M2JR@9X{R@Bi}i{rvs?OkJfy0007nNkl=uj|q-g}pa%&82_V5|*vj``vN4e_j4c zV^F`>T6ORH^I0NmD|tU!aTN7st<$EKvZdC&F7I1o0Q%!GTjr>(bME<^zToIOrw77Y zSxO#{!GTy?yvMcrLKQl~0bF)(H6D*z>!@B=+M@;zl{m!EO1tm-sCd7HGg+;fHvO1j z0t@d&bYw138=OF{Kq9!C;9TWFCDnmCQw3m~KYyyYHo;CPyPcc#Q$B1lNm=G{my2{Z z5)HrQ|Fc#QWumbtr^HyJb1R$i`WoPhQHzQuQ}!;!T6yp08a5-#7?3s>R5T%?;z20E zG_CbZ+l&=6jD-S4F@qWZ(sNehr)@g*d7Rj+B3ez#W5E7EgZJDkGQ2)kEdbh@$$2|^ z>c05o?&5n#>Arhw9vs3mM2uZlD%QTVhV{P!0hkoSQpQ-!91SK$36Z5V89x<~fxBiT zrCIKKwVbu{C0l1N?+^@YvNg$Or#!C{F2bJVJaT^7=QFy3j?p2|3L4f)U&e!J@&vdc z5yOHcS5jCnKoC2N)XU^0tszpB%Y9p7^-K95pp*>pa{{neLgJdPqB5Trt7n&7i$ZcA z*8yW{0#1tLTh{kVu&gw&hNd~B&2blLg|ia=lJ$k*<4zEbBE8{S6?m7W zm|)?+rRvEunaDj+Q08Qu@rS-5#!<#W+0ihSQzE0{DG8kv;khu)ajXx)FeRdh$Ytu~ n%I7Q4AQqX%)L@VAm_PAf2C-9Q{C4@=00000NkvXXu0mjf1PG!{ literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_chicken_egg.png b/mods/mobs/textures/mobs_chicken_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..be8a4e1cf58a4b72abec094ddfb36cef4f2e914a GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5o?Y8+9EttD(#nNp%w(dW;@5HI&7cQN@a_#c1J2&s%zw_wH!{;xbwJ=ZW1Zrn23GxeO zaCmkj4aiCJba4!kxIDMdQ>ev&gMqV0O^5N{|0qk9#c@xs`HHh1c&=EZ?5kF_VQ2dX z*}pc%Z^crMCjK!u>0bUy?8(HJs}9MAKM+(ia?5|+5~^^jmQ%rW?cd66wIv4P^41Iv iGVWjBeze}!E53Xi^Py?0mhA@G$l&Sf=d#Wzp$PyGxL^_h literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_chicken_egg_overlay.png b/mods/mobs/textures/mobs_chicken_egg_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..e81716a5964b14a0e5c309df5842a36679ecff97 GIT binary patch literal 191 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 literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_fireball.png b/mods/mobs/textures/mobs_fireball.png new file mode 100644 index 0000000000000000000000000000000000000000..d89656371e6e384c61fd5ccc69f7cb8b16e5978b GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRb*gTp~8E~OW}Et#HSMZ z|8v~`tn>SS(E0y$7iHIL`+>?BOM?7@862M7NCR^6JzX3_IIbrrB&0MjF|x6-vbiy` zxw)kZvx^H%Z&WmydeBk8WAn15tP+f&yIQ7BUuwk68gp6e)@7##p6y@y`ZkFu99HDf zN)nhBH|-Qt(uTIBjgmfGYZfx9u_cHx3ttdZ2uKiNxT(WoB>Rqqjg28TNO1dO+2_?j Ps~J39{an^LB{Ts5IfO*Y literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_kitten_ginger.png b/mods/mobs/textures/mobs_kitten_ginger.png new file mode 100644 index 0000000000000000000000000000000000000000..1707c2e2329c88bdc22d27826567ca2f44b27368 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!j01c^TrC(FEG*48*7+7yC3Ut}-d&Y2YQnDamXz3BVf!j&E@<@mbdPSfIh>K&hc f`3NIGew)AAWB%9;kF+|0Vaed>>gTe~DWM4fUB19a literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_kitten_inv.png b/mods/mobs/textures/mobs_kitten_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..6afa61f897d26e36c9f424d35d0dc3ad1b412e97 GIT binary patch literal 377 zcmV-<0fzpGP)`?Epe3axsRB5T41e2xfl`W= zrqqCNy{c-h``(#s6xo1v?L>|;_xTNIl=&`O6??5iwV(%MBzk_hH}4IxpgUXw-vh9i zv9S#ZOBZvr0XYF>dv5zwVNrK8*x{iE=V}LGYfadIj`xZ&-vOP#W&>sDF91FK!<2|*Z1nb8rVJ>jFEVlMquHd8W z0)JPNu;20000%^JJ^f9=Yohn*d|hvu>el$nwm ztdV4r0Mv}$1vzIVLf!bdS8j1pKKvb4N}Kz?@Kp-B$kCA55EXY*A7+L;}!}Vssn=;~;^~A!;Pm z-w~)r@INXMy~gEe@TtZuX2cLy7VNqvBmE7$-BG(J(x-?a*)4)Ob^V+`rvuX)7IUJZs`fEKL^$p!*x1%&`#Im8e1vPXK#}@R%yA63mUi9`bmh zhp=oswGi(!n&vAyAiVB@Tm2dbGaPte@4cO^HDA%|PF$Fl0{R0}q_C%+=TPvP*vlJD ztvF&Ku<7$zj^o(;0DPzjok&JL$FE@yTJ}Jx_j2s}ucBu6Mpwzi;#&W4Kp3=@yVNNE zwt&Q?-xjdAfj1n$0Nr` literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_leather.png b/mods/mobs/textures/mobs_leather.png new file mode 100644 index 0000000000000000000000000000000000000000..3205e5d63019297d727a5758ae0a07c36e5296c8 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZWnd6gQ&KQ9)brMt&vDVI z^EYY>F;n~&J`1RTu_VYZn8D%MjWi%9*3-o?gyVX0f&)Xc#9Px3blo()qRMfG!R$5q6 oNomWAq=2A+(1u&5j~rlNxTec@{eZvcT%bh^p00i_>zopr04TRP?f?J) literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_meat.png b/mods/mobs/textures/mobs_meat.png new file mode 100644 index 0000000000000000000000000000000000000000..4c63fdd1647ef5e9df866795f972824003841a91 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfaiF4ao-U3d7N?g^vdubdAacB(E6(QR4TXEx zF3u`ia7TIh3qvMb2mT4lB^n}c3}^mM5hQPNZ2d{j?b$^|R^^`s``T-BW~*s_Ph^k?jTf@q@XleX_U!(d zpRd@|Zl2A&s!G1?iq6}AB6~a*yo!|BkbKYbgOcN0+vUaXZ*7(MqNi+ru+{L@!kfR; xcc<9y}xJr}&S1jg>4r#17hce+c-?XfU(#Xu8o%U0?_>c)I$ztaD0e0svFmpH=_> literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_meat_raw.png b/mods/mobs/textures/mobs_meat_raw.png new file mode 100644 index 0000000000000000000000000000000000000000..0dea4ec5404cccc8820d90a5d3e1513b150d6056 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBkF8NoF4Dim2{~Kq1Kz*N775{M_8s zyb=cIqSVBa)D(sC%#sWRcTeAd@J2pypjE7%E{-7kqh6PFiLxlUdNbJa48$*Oi5{r(a(v5$LiYP)9NG@bmxw?^k=dL`2Um z7D`(3L9XHYs-Ty*(|Bvn7jqg0W$_-^y6)wi$>%H?Ph7j=z4qj}=kXQ0mwuQRa9!ly zV+NO$Z<%YS9+UWKBa`yyo`mvtfhC4+QQ4}|!Ou&Sj&L~ayU+aLqIF^D(kn57*3X|* zZ-2bB{l4CGMxU(=1+mM;WL2Inv0!UI8}o0kIGf3TAIE5{BIN89Ry&ac@UkDfQywAE(< Ph8lyXtDnm{r-UW|E48P= literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_nametag.png b/mods/mobs/textures/mobs_nametag.png new file mode 100644 index 0000000000000000000000000000000000000000..74005b3a25a37186a5e2f69cd6cc11f38f206a7f GIT binary patch literal 247 zcmVkf0oG*>Bzpoo zX%)nulCl`QF0%k^u}u-YR(8+d1{$=K$KXk;psEi8h_^^@uz$K?1dwkn`~@fN!5$nH x#9$|ww303PCpZ}5q!ryT`V*Iw9halu`2mf%NGNDlp0@x1002ovPDHLkV1h%cUM>It literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_npc.png b/mods/mobs/textures/mobs_npc.png new file mode 100644 index 0000000000000000000000000000000000000000..93563989580324581cac10eaa5a91c427eaac724 GIT binary patch literal 901 zcmV;01A6?4P)067o8=&K2l_nO4V-n|G)B{ptiksc002fl!)YT zauTX)vt?PX*QHpQtAo{27_Eh=elm_*5!U(mUnpU$)#7J>>-Fo4Be(e#Kx-v*{UZS4 zZnrN!eVvd0rIA(%q5ce@l(y3Rroo#OoDxn5BmOL6EuA(($zK3|FCzprQV97r@HlH{ zm2^;0NbQW`OsrJ87FH>1p~;c@aW={tYmmRPsHJmCYKeYwwKZ^^coFY78zHgLn5_Y% z6lh6w75dUBA?ru^zCUiakMHZToP2Q2ue+M6=C)FxuZ46k^*_!UmA9fcdTU7Z5?r*U zF-`&DZ3-66XRHDOk|_hdP@5Y3Q5dj!Ct{&5(1d2Y5f;59Yb~?@s?cxC$Y+8wD`%8( zj&FlTLs;vK+pl+w!DG;_Q-Jw+4!rL1-q&;a4*sQ?!Z3^tZ2yiShVvQkVVtIMxC6{U zIL8!T06aFP_&^Sk^AFJjcpQd%K*pwcer)$c=(GkTimIdcl3tfpK& zXw3khAQqpO6XPc$EUbPE1OzG!Fk(EHee)e4Gjtl6LBe`win(Ke)$gM(oPeEn2L3+= zc}8vni@h?yhLrohFo55qa)GEnu~FMJZQJ;kP7e)I#{+yPo5U=plpo0i&Dq={Jj)i3ekvLUQ?c>wU)9kyd?HXbb9NVJ!%#CueOw`|tk zd!{O}eeXG#_`^eTABK@hu@5RJ2caCG0)&nq>K_0l&=VHHggs&gr&G5=l?rYQFuIL# zcuJv*MaTxoDRqT-Ov8|9GZY$^s6#NuvK$$NZWpWJB82jl;y9wA%V`~VM~Y0Hy#3R!0{9|`}$00000NkvXXu0mjfYEy{n literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_npc2.png b/mods/mobs/textures/mobs_npc2.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d1a2c216d55d943556282f27e5ddb2ab381523 GIT binary patch literal 1018 zcmV3 zK#@>8fmK9ZUtE+^K5Jk(mQ+BWS45y#Kc-wnh-pWvUq_i~QiyL$P0n{DQ$O7iM;P?!Sh$-0Mo&h*6K#c>X^|Gk_H9=))R7*7$S0MuMH2Vzw7v0~l z@8vtV=w=Q=Fb>?0wNey;?{|sdQ%}V!1jLyV@x7)LY!@LnucZ;5O-NkOjbR8Cn+$C5 zT;H`!ZC2MyeI4pmJXQvP4ksu(oswQOGn2dnjA1ZWVP*{}1BaPJ@EuzBAiX|R*{0G=d81nB2UR32#$nBpZY@(MhWla$sQN)`#` zBNiY@qP!I#M|k4X8-^I07*qoM6N<$f=z4BN&o-= literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_npc_baby.png b/mods/mobs/textures/mobs_npc_baby.png new file mode 100644 index 0000000000000000000000000000000000000000..e26e450112be808a83cd019069f2f94bef5db144 GIT binary patch literal 684 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 M07*qoM6N<$g5Ewl-2eap literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_rat_inventory.png b/mods/mobs/textures/mobs_rat_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d615137ec2ef6d301d859ba36867745f55d7a6 GIT binary patch literal 565 zcmV-50?Pe~P)p=WlyCyfFW^Ktzb+n6Mdax7z^Z+nk;EMAibF zy@OVObB_0;5df{hU_htS0l>v^4HSkU-g}<+dtB^zc=&;;(r&kT*X`C#gMPmcfH8*6 zW^+c@T1#XtWm)jN-_!5+5s^CIdrtr$B9vuG9LJ&7+4T|=pz4>0QRxDR5y!Xc;MvbJ%T2%GeCCkoOc<)J)gv2?b$>cbL`C@^pRz<3+ zhzNPUBXJH9sXdA!?(e@7MG>cDWOjR7cMy>ZMT{{NMZy0p0B~PI%CaQOGENNi>FKwM z$eCBi22gD;04P3%q-k1zsw!7kNiD4@adbMMvMgT#%;&v2=d?-fE&A25Rq+7OiUCj` z)35dV;-~;7ZhGcHg*G0K5fP@-DeLtkqv7ykg>MegbPR|60aazY-7*{w09dad|5c-v zFVmj{A|gduNGohfHNal42T%hw)-0=RDXVNLCpr2DRDasLSw7KJ00000NkvXXu0mjf DJva2) literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_rotten_flesh.png b/mods/mobs/textures/mobs_rotten_flesh.png new file mode 100644 index 0000000000000000000000000000000000000000..e25c833ac3c8b9945d7e07f78d859f9e85ac9fa6 GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf$pD`aR|W>b7-@zuS%yei27d*H zFgXT4MTTGn25)5sA7utl6$W2r1}_x`9~Fi=W%deH_HuRhY;E>5J@#aM_5=g=1Vi>D zLymAKxkx9uI48vf54CJJrA&9F6i=nhc&m(LyY^_C&S=}V7@L+@>-u=h<~XbBM2pHq z`}zc{!W6rr6x;N4$NW@>jC9A!WUIV1`{qQGj0~sDESK71ueuWVzB>Q*_VDhmnC`CF z{;rfsed#;abZ=YNvTa@K$&<}@?q2!zYvup{C;$KdKkG}x381GKOM?7@862M7NCR<_ zyxm;OkH}&M25un`X1sK_?hjCqy~NYkmHiR79Gj@ng!8YefI_vNE{-7* zmy;6?aHeeGy*hD+(;cB(R%@6z7!wVnwZ%fyTqWY8V|-h}oA1sN)Kkztbu=;Y%o2vD zuU~N&-<%;W`SPPP>yl85$_k&eJ`dcqxTCTPH%lJ)$>%kx?bfU&gLQM~3eVp=XOBqC uy>ll|9%Q_Emd~$m#k_)of)oW-28J)aJiDttdb|KSgu&C*&t;ucLK6TO{+$K@ literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_shears.png b/mods/mobs/textures/mobs_shears.png new file mode 100644 index 0000000000000000000000000000000000000000..aa16f2ecb7669819952028204beead64104f8102 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5ptnzXorqMW6QfQgMo zkcDKfr%+IISWam{X39^ToS5nGi|=UbV0dp*0INP zuFe+i_*k%)OOWlB*S15}RWmJAqcd7L4kf(5nzopr0AoZ@-v9sr literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_sheep_base.png b/mods/mobs/textures/mobs_sheep_base.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c2c4a1c080c340a8cfab78d92dfdbcaf3ed7f5 GIT binary patch literal 635 zcmV->0)+jEP)^ncJvT8!J26K~m(#NO9 z$i>mguh7h@)X=Wl&#%(awa(DZ+tRn+*uMV%{3kW`tN;K20d!JMQvg8b*k%9#00Cl4 zM??UK1szBL000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2jBw%6%#g*G#Li~00B2i zL_t(I%k7fEa>F1DL=!-uN(kJc9P$zV|KIE41l*f5J!d`k!1#^WmAKtL`sm-{#2h)v zC76J{2c{TfdIyY&P7pp&U6LfMLWIrU2y6XyzjCq{uCCpa)JuaI&y$*FqK!BY*OWHxT;#I z^&k-jEuA1UI^Q|4pRx-%`% z`2d|@Aj~O-IK)bSz(C$pm>~Wz4Q70>qjdot1B~o0@8bc|J78e%Ib4I$4Sj_x?iVL` V6UHHV+;ac`002ovPDHLkV1fyW8ae;~ literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_sheep_shaved.png b/mods/mobs/textures/mobs_sheep_shaved.png new file mode 100644 index 0000000000000000000000000000000000000000..e9023a48225ca2297db15b19fae543234ed8bd6b GIT binary patch literal 983 zcmV;|11S87P)UV$(JcwsN%iiTv2h*9hmgz>q32%+dO z;5>Eo^0&C+>@W32hLL6JSj5uwmjUeG>QgquwxOd^B6F0OBenFU{&N^`o;s>fu=fHc zcz>xc$qYD89Z~vVatkLKAE){`4zY0NpN?6qhL#HtA@5MjJgh~m6xgPYkP$zSpa>AT zqMPV<<=V_!r;Y+ugJ}`CW)?-uKvPRRD!e4J;>ZX_oMb_Q87(6Tg(yYpEi%}F!JAw; zJRO;gX((J(y`;uTntnsX{;z3;Eb_INzD-ut?)%_@=@qrj#r z$xRTO)c)9CuOF<}vG4n1yRTIsJQyoi<`JZ2Tl=;>j(s5aeY@X#ujrY;9+g><)X3%# z(%v=o;{fS#>}$@g*D{9Dm7B;$1K1i#*B{r8{dm3hW3O+gz44e#XDU?-Qf&69=hM3) zJn$X6x_9l$V;J2h4%~BD5AGW_4@9tjZ>&|2&FZ5v1=)0xPA>j@_TCtE3?N!CEKBlB zSiA>+$=znkNdj=O9#m^;0X!<25Dkm(EOw>YWTM0AboKy(f7Az%!Zv8dh&bhWFXCuE zo%u2l(bvJ-C|iTr18K~A(fxl>*ga4N?|fSC16bz0_z$-qLFsQTZZZG>002ovPDHLk FV1j+*u1f#_ literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_sheep_wool.png b/mods/mobs/textures/mobs_sheep_wool.png new file mode 100644 index 0000000000000000000000000000000000000000..2dca0dc8d4571b93c7ad792ada7d91b37f94867c GIT binary patch literal 1028 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 X1a{a^?n(f`00000NkvXXu0mjfT~bfj literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_zombie_head.png b/mods/mobs/textures/mobs_zombie_head.png new file mode 100644 index 0000000000000000000000000000000000000000..bd628a74e1bb53a700aca4151a8fa72f83f21ee7 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Ht_(~J;*#8I>VoEGQnuFe zj`qs#t{R@+8UaCi;gP1X@m3ibcD1!ZElmNFC&tg3n.png` + +This mod also supports the following skin-switching mods which can be used +in conjuction with the multiskin default skins and chat commands. +``` +[mod] Skins [skins] by Zeg9 +[mod] Simple Skins [simple_skins] by TenPlus1 +[mod] Unified Skins [u_skins] by SmallJoker +[mod] Wardrobe [wardrobe] by prestidigitator +``` +Note that auto skin format detection is only available for these mods if +the multiskin mod is listed in the `secure.trusted_mods` setting. + +Configuration +------------- + +You can set the default skin by including the following settings in your +minetest.conf + +Supported formats are `1.0` and `1.8` +``` +multiskin_skin = +multiskin_format = +``` +Chat Commands +------------- + +Requires `server` priv in multiplayer mode, no privs required in singleplayer. +``` +/multiskin format +/multiskin set +/multiskin unset +/multiskin help +``` +TODO +---- + +Document the api and add support to my 3d_armor and clothing mods. + diff --git a/mods/multiskin/depends.txt b/mods/multiskin/depends.txt new file mode 100644 index 0000000..13f19e4 --- /dev/null +++ b/mods/multiskin/depends.txt @@ -0,0 +1,2 @@ +default +sfinv? diff --git a/mods/multiskin/description.txt b/mods/multiskin/description.txt new file mode 100644 index 0000000..d905ff7 --- /dev/null +++ b/mods/multiskin/description.txt @@ -0,0 +1,2 @@ +Dual skin format player model. +Supports minecraft 1.0 and 1.8 skin formats on a per-player basis. diff --git a/mods/multiskin/init.lua b/mods/multiskin/init.lua new file mode 100644 index 0000000..fa2984d --- /dev/null +++ b/mods/multiskin/init.lua @@ -0,0 +1,311 @@ +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) +local dir_list = minetest.get_dir_list(modpath.."/textures") +local birthday_suit = {"multiskin_female.png", "multiskin_male.png"} +local default_skin = function(player) + if player and player:get_meta():get_string("gender") == "male" then + return birthday_suit[2] + elseif player and player:get_meta():get_string("gender") == "female" then + return birthday_suit[1] + else + local gender = birthday_suit[math.random(2)] + if player then + player:get_meta():set_string("gender", gender:sub(11, -5)) + end + return gender + end +end +local default_format = minetest.setting_get("multiskin_format") or "1.0" +local player_skins = {} +local player_format = {} +local player_textures = {} +local skin_previews = {} +local skin_format = {[default_skin()]=default_format} + +local function get_skin_format(file) + file:seek("set", 1) + if file:read(3) == "PNG" then + file:seek("set", 16) + local ws = file:read(4) + local hs = file:read(4) + local w = ws:sub(3, 3):byte() * 256 + ws:sub(4, 4):byte() + local h = hs:sub(3, 3):byte() * 256 + hs:sub(4, 4):byte() + if w >= 64 then + if w == h then + return "1.8" + elseif w == h * 2 then + return "1.0" + end + end + end +end + +for _, fn in pairs(dir_list) do + local file = io.open(modpath.."/textures/"..fn, "rb") + if file then + skin_format[fn] = get_skin_format(file) + file:close() + end +end + +-- 3rd party skin-switcher support +-- may be removed from future versions as these mods do not +-- use the proper api method for setting player textures +-- +-- Auto skin format detection for 3rd party mods requires +-- that multiskin is included in 'trusted mods' + +local env = minetest.request_insecure_environment() +local skin_mod = modname +local skin_mods = {"skins", "u_skins", "simple_skins", "wardrobe"} +for _, mod in pairs(skin_mods) do + local path = minetest.get_modpath(mod) + if path then + local dir_list = minetest.get_dir_list(path.."/textures") + for _, fn in pairs(dir_list) do + if fn:find("_preview.png$") then + skin_previews[fn] = true + elseif env then + local file = env.io.open(path.."/textures/"..fn, "rb") + if file then + skin_format[fn] = get_skin_format(file) + file:close() + end + end + end + skin_mod = mod + end +end +env = nil + +local function get_player_skin(player) + local name = player:get_player_name() + if name then + local skin = nil + if skin_mod == "skins" or skin_mod == "simple_skins" then + skin = skins.skins[name] + elseif skin_mod == "u_skins" then + skin = u_skins.u_skins[name] + elseif skin_mod == "wardrobe" then + local skins = wardrobe.playerSkins or {} + if skins[name] then + return skins[name] + end + end + if skin then + return skin..".png" + end + for _, fn in pairs(dir_list) do + if fn == "player_"..name..".png" then + return fn + end + end + end + return default_skin(player) +end + +multiskin = { + model = "multiskin.b3d", + skins = player_skins, + textures = player_textures, +} + +multiskin.set_player_skin = function(player, skin) + local name = player:get_player_name() + local format = skin_format[skin] + if format then + player_format[name] = format + player:set_attribute("multiskin_format", format) + end + if not player_skins[name] then + player_skins[name] = {skin = skin} + else + player_skins[name].skin = skin + end + player:get_meta():set_string("multiskin_skin", skin) +end + +multiskin.set_player_format = function(player, format) + local name = player:get_player_name() + player_format[name] = format + player:set_attribute("multiskin_format", format) +end + +multiskin.add_preview = function(texture) + skin_previews[texture] = true +end + +multiskin.get_preview = function(player) + local skin = player:get_attribute("multiskin_skin") + if skin then + local preview = skin:gsub(".png$", "_preview.png") + if skin_previews[preview] then + return preview + end + end +end + +multiskin.update_player_visuals = function(player) + local name = player:get_player_name() + if not name or not player_skins[name] then + return + end + if player:get_meta():get_string("class") == "node" then + return + end + local anim = default.player_get_animation(player) or {} + if anim.model == "character.b3d" then + default.player_set_model(player, multiskin.model) + elseif anim.model ~= multiskin.model then + return + end + local textures = player_textures[name] or {} + local skin = player_skins[name].skin or "blank.png" + local cape = player_skins[name].cape + local layers = {} + for k, v in pairs(player_skins[name]) do + if k ~= "skin" and k ~= "cape" then + table.insert(layers, v) + end + end + local overlay = table.concat(layers, "^") + local format = player_format[name] or default_format + if format == "1.8" then + if overlay ~= "" then + skin = skin.."^"..overlay + end + textures[1] = cape or "blank.png" + textures[2] = skin + else + if cape then + skin = skin.."^"..cape + end + if overlay == "" then + overlay = "blank.png" + end + textures[1] = skin + textures[2] = overlay + end + default.player_set_textures(player, table.copy(textures)) +end + +default.player_register_model("multiskin.b3d", { + animation_speed = 30, + textures = { + "blank.png", + "blank.png", + }, + animations = { + stand = {x=0, y=79}, + lay = {x=162, y=166}, + walk = {x=168, y=187}, + mine = {x=189, y=198}, + walk_mine = {x=200, y=219}, + sit = {x=81, y=160}, + }, +}) + +minetest.register_on_joinplayer(function(player) + minetest.after(0, function(player) + local name = player:get_player_name() + local skin = player:get_meta():get("multiskin_skin") or + get_player_skin(player) + local anim = default.player_get_animation(player) or {} + player_textures[name] = anim.textures or {} + player_skins[name] = {skin=skin} + player_format[name] = player:get_attribute("multiskin_format") + multiskin.set_player_skin(player, skin) + multiskin.update_player_visuals(player) + end, player) +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + if name then + player_skins[name] = nil + player_format[name] = nil + player_textures[name] = nil + end +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + for field, _ in pairs(fields) do + if string.find(field, "skins_set") then + minetest.after(0, function(player) + local name = player:get_player_name() + local skin = get_player_skin(player) + multiskin.set_player_skin(player, skin) + multiskin.update_player_visuals(player) + end, player) + end + end +end) +minetest.register_chatcommand("gender", { + description = "Choose your gender", + privs = "interact", + params = "female, male", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return true, "Oh, you!" + end + if param == "" then + return true, "You are now " .. player:get_meta():get_string("gender") + elseif param == "male" then + player:get_meta():set_string("gender", "male") + if player:get_meta():get_string("multiskin_skin") == "multiskin_female.png" then + multiskin.set_player_skin(player, "multiskin_male.png") + end + multiskin.update_player_visuals(player) + return true, "You are now male." + else + player:get_meta():set_string("gender", "female") + if player:get_meta():get_string("multiskin_skin") == "multiskin_male.png" then + multiskin.set_player_skin(player, "multiskin_female.png") + end + multiskin.update_player_visuals(player) + return true, "You are now female." + end + end, +}) +minetest.register_chatcommand("multiskin", { + params = " [name] [args]", + description = "Multiskin player skin and format management", + func = function(name, param) + if not minetest.is_singleplayer() and + not minetest.check_player_privs(name, {server=true}) then + return false, "Insufficient privileges" + end + local cmd, player_name, args = string.match(param, "^([^ ]+) (.-) (.+)$") + if not args then + cmd, player_name = string.match(param, "([^ ]+) (.+)") + end + local player = nil + if player_name then + player = minetest.get_player_by_name(player_name) + else + cmd = string.match(param, "([^ ]+)") + end + if cmd == "help" then + local msg = "\nUsage: /multiskin [name] [args]\n\n".. + " format (1.0 or 1.8)\n".. + " set \n".. + " unset \n".. + " help (show this message)\n\n" + minetest.chat_send_player(name, msg) + elseif cmd == "format" and player and args then + multiskin.set_player_format(player, args) + multiskin.update_player_visuals(player) + elseif cmd == "set" and player and args then + multiskin.set_player_skin(player, args) + multiskin.update_player_visuals(player) + elseif cmd == "unset" and player then + player_skins[player_name].skin = get_player_skin(player) + player:set_attribute("multiskin_skin", nil) + multiskin.update_player_visuals(player) + else + return false, "Invalid parameters, see /multiskin help" + end + end, +}) diff --git a/mods/multiskin/mod.conf b/mods/multiskin/mod.conf new file mode 100644 index 0000000..502163d --- /dev/null +++ b/mods/multiskin/mod.conf @@ -0,0 +1 @@ +name = multiskin diff --git a/mods/multiskin/models/multiskin.b3d b/mods/multiskin/models/multiskin.b3d new file mode 100644 index 0000000000000000000000000000000000000000..44d29ce9edd479e54c9925f93c29ccf28b4ca3b2 GIT binary patch literal 113954 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

ncxLH)$S!cfxkg@ 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 literal 0 HcmV?d00001 diff --git a/mods/multiskin/screenshot.png b/mods/multiskin/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..db234e9685d938fd64dbba462895540e885c16df GIT binary patch literal 156727 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�gRR4sHj@5R|W(IH0^9j@i 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

y;{Z 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 DK;Sn2 literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_blockcolor.png b/mods/multiskin/textures/multiskin_blockcolor.png new file mode 100644 index 0000000000000000000000000000000000000000..4c78931852e0c7e2d6ebf13bd6c9048e5096ae94 GIT binary patch literal 4598 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 gnOOb#i&nsY0gs!3=w^~)9d zxuLIHLA2PqdKH#eYP7RVJgoOB?=@*Oh@usGH8V7<8XcO1ls2Zf4DGT9)%+4O{GWP? z8BH&mBTbs&S+%Lj=yZ%&t1SSkk)QTLzG0_-#9ZuV-{{SfIUA+{yDWz5FnAinRL*NJ zth3cF=R<%Nd8{|Q46GZ!3j<2;;d-}QZnMd4jy_MJ+T!km^QA6C48Z+hxpUgm=Pg$G z3i}-P9z4_NXn>5?8H)`zLe+>}g`IrkX&Hqp$^)nj_LbrE0C{lAJ+22khv?nFoO{rN zkNc~kIlyfN33FhSJTrzDj|c8OBaoMvPfO&x9o}icJ3{`WrfwO~D%|QDBmb7-BxZxB z{ZcKJr$^hQB-D*EQ$*yZ=aJ+Q z?b=utxwd<6_)@cpn_nw5H;bk>?9Z9$T1{Fe?xs|%U-!VZq&02vF%k_+QmRf~TsYYN z;i|OOEzd-wXZ~1mMHqeaNV|hC%69DAVKm5VPDEUp*Jiza`ExwZA#xhYxaBJ+qmq=u z?K(;QVtCE2$9E-P15|xPOeAVj7wF)z*D7Y{_PuTO*W&`=d*shu+UC>d^^0N-l(lD^^+`%aOS)X0mIk!R^ zZ|YfTieG&2=n?_3dpC71#*+Q7tr2iO1sV&p3N|$)31mqPVf+Y_0OIo@fhi$696l}< zADWE4kyUVH+Y_1K_nT|@5mH%RU0t3`nh@QiJ}&^Lh6E=PqE}7-^iBNFimJ<51xu@L p3xyw7E#*g4cIOI(x!slhxjdbuas6QyFok~1OHJV?H*L-l{tp#fmV5vJ literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_cheapie.png b/mods/multiskin/textures/multiskin_cheapie.png new file mode 100644 index 0000000000000000000000000000000000000000..14c79d8e913e57874a62218062fd985fa289b137 GIT binary patch literal 643 zcmV-}0(||6P) z%id0eF9RmCg1(zKfSM8aKfYixt2A`94ZaKz*$GOsbAPT&vvY{-#6Phkjx=lVySTl6 z)6?npC<+*^JK!)+wo`Y5TMn*!x$iVI&bW`M8}H1!o1u@UY1X!{kLUdRFB<1N=>Lb% zr9sDW0*$VrGazV$&H!E411*g;kn=4dgy7-v+FEXJ3N+1qT`^(|M~8{)aSC>URcDoT zu};;gwo6J&Lz||-pkQP3V|RnI;tW?Jw=+3>A)Q;f0lkJn;?zlEkzO_`7MnXZ%Ph0vtS~4BrSmI~0T+hOb0R*# ztK3T}RxKe}SY*f$6;bK@$_+5=E#80lN~!X*?tYOXT0noxgp6Yk5Bh57vUq$PEg`iK zsv~Mr2zeo&&;ON~yO;Ai2T4%0Lj da_`cYegWm3?TEXT^N|1m002ovPDHLkV1i`8FP#7Y literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_cheapie_inv.png b/mods/multiskin/textures/multiskin_cheapie_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..ec522453f78f210882f62437dec2d55e8657f576 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)S3wRSi=mQ%fk))21sKjISS)zR)PP6Ns@gm}6*hG?8mPGD#bP)KlKbKzLBkke&`>h?t( zElZa!UC6OSP(VOLBzopr0Jwfc(f|Me literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_female.png b/mods/multiskin/textures/multiskin_female.png new file mode 100644 index 0000000000000000000000000000000000000000..9c555290f81546d3825c1134a22129f03305e239 GIT binary patch literal 1164 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 literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_me_only.png b/mods/multiskin/textures/multiskin_me_only.png new file mode 100644 index 0000000000000000000000000000000000000000..ec6a21310bc20ec801aa855ed2f7e81d8feb537d GIT binary patch literal 2211 zcmV;U2weAxP)fGp6Sk@baFPY>fKXy z@A;_z`6yu}cO7~!$M#>xZ~yo@FP*u_-lc}|v}4w0+>679 zK0;U)Vkr9EE|1tv(v%abN)uwSU`{wNsv~t>@!~5NF>}nk4{I{apIv=}x~>@25eITk zgnq9QGSjws#BNhDkz_gpb0ufz^Y6cz){GaX8tb{HB#$7@X zmSU;$w9o11!vFZ$Kl9a(e~>O4=8hm#L2)l$-kkuEh^o-1$iF%B_u-|@vh&I7 z591D}&%C@_vIA_cSC1cm#LW!%4v~s4?E5+=ZiOdK!--qr@b|A=<6igjU4G)ev%TWJr_d+>_;AAIr-k4Klwn$CbcIZw!WhI?k7h?=#eG-WiZx8J)Lem-u~ z1c0DIvbUdkZc2r_ZjGF0s4Acf!k@TxXPZt_>aoNS3SP8*2ox!qp}UjPo3!mk+V&z{ zcYzR^xApO9bxacjB9QFrQtwS3AQCW3ys5X};k$?JfzXU|Qj7N*lVR=h)0)^ z{bhYrMWhs2KYyS?4z4@foF9PO_YOjDMH_kbaE%;{gK`+#0*@Zv9z(WNfP1E@RuBn@ z2q{gesufZiBO=5&!mOojFH%)Y0EDna*R3rI!@323@$C_e4et!uVByR0UrKWe>*0D~ zjn8aYvr(y6ODa-ANQ}#a@Uz)DR231yti{ZFTqp?Mwr`TsnAz+cc5%J>ORL4b&)$8C zbN4(y{D1DA=Q(@#siJ@l{0rlMw}XK5@s>1RuO|K6=F0Q!QUt}l8(cf*897f72|X$o zZRb2=t}L^bt}|lXi|&hC3IfGKzF|Ipwviv!&-Z&-Yv@?ofpSs47BGq01Qrk{RaZ|5?gpbCQ*ARLVx!L0>+C4yXB_|ml;SI>B9ute_HFuXP94kdJoN4) zD~K^J)3)bPjY!|hR;?-ZKye|nKFr0v{qsoE9HiL-!S&F(fCnDG4cQ+#chB=%3b~-X zLtBr{eW)wuUFX=Ry=^X6bKc)gWGh#6L8TATJMe&#@Eqt9pF&l&!esI(iFWvtbAA0m_<;9n|IeOtM4|D8?_n{hDY68cmKN^}a1^LU_pWnI6axNh+ lEMC`@cfcdhynID1{1?p;o6?loxieAuX*m9i1Fq-CSMW zd;^0rL&I`I!%8EgDkGyBGou<4lR6WV1`Cr0Q`1IM(`GZX77Mc$bMsbn^L7i1j#M*M z8;h<~Gc`-g?lchDn`W+-Zmwo!)t6zeo?)SGZQY*?NMQuI!Jvv_``|`%^?b3cTPKdZHR4DPul7IF8zq@vtx6iA$lg!HRuM*nV;gbd$|2(_HU10<2RFuMZBjtBuR~Bax2r070t%KX0PzRqMs$Tc$V6$ z7)C?49eJl5Q>C;M=C0TFdTRb8PCHVA;kV(c-?NTscGZ5>d1kokpF``TomC#uBAg2Y z^|lM1bc$6v@8$K>zsT{lPWW_4(?wnITilqpZ@D*t#_#$Y5;c-;lSnqK?V1AO+?Yy zp|KmEajfLg7)}2CpI^A*`j>kDQWUs@s$RZ-47eW+VONtw4Zs!bYjzR11l(-8=kAnY zg=%OQe*X^uc*CU{jB;2G5aBXKt=hLmc{qXrR0JF0t|FK_)tsR1GY&NmNQk&q+zpLg z^O)5`53o`8DHeXE9H6Rv;&(nv2w}QrW~eG}fAEc*I(5ncwzs#bwPI$35D*cDVc_n& z@4jk?9F725!pp@#7?T^6>dgQG7!C4(gn*Y!DG7}|@+~}nRQcq)AIIIPwHb4>oSE^l zyC370TW{~UF5-U1^{L4(qDElgr6l`?u&MW#4+z+I>`OZV}jOzcjs#!kuvRUAhc!$Y8&;m8Qx&00Qj zgJR$q0t~A}DV18R5gQe1Z37&Z=}{r&Y5~qLJUDMRZ4COyZQ7PZ;o+yYA#cG zi`MSZN1fsuYaVi(Tw20=^y41_;4SaE2N?5!Ib9S4ZAnsPN{+eugbYUG#GvGA2>S*% zbKITTylW(9R3`Ru`uxtHe;rRh-x%E;Km00(#!o)-_~+?n5fP!Jf(B(4LnBGKVB-N~ zgmc$N(vT4mtXgBTuleq49h$;1$bk~qM`bw_9{cDAiL=Fl*s)r8!=1m)@kK`}Hf^LT zl-jDsMjR)oGV20Et}SnlIc0IjjXD1$-$zXYHH`$P7SeKuniEzsWxb>fYjB@__wecaa5JnF{_MjaXw8vIgBq=4 ztYf^JIjPjq;4NcYwU)5V$U{D=?vvypf3p95Gsr=F8H-Tdo3_26?ayTCv7V0-rIQ_smWr@tZ_1cb5NmRuRunY{}ucFr%y_FXUM zDmUGDgWCv4QQ>{JZzDP)#GH3L`n9Vb?pGeU-E%3J86UjvR{`NYXa5)xMFd{>hp$ny zO*J`mg4LD_)Rcex(AB%UU;6Zq`Gy1qRqj1;Cy3&1V8+dN-1V}IcNr7Rr8Lh3MG&rA z1h&;VxfQwL#O%-oSL*>)<~Z=etxc>jh$Hi9~1f1jybRVjzy!X)rc`% zX^jK2y)|cdZ^du@$7voo`D-BXp0j__3}H^_6|YU%TJ|Zdgcb^iiH_4It45JZoG-8v zF{@}eQg3%q-&fysqn|l@0f6gI9A`D813w5s$M|n8C^TZRAs#>az^$a**i{T+q`!^A zE*3Mc``iz5<|m#bmr55Koi(%RH(QH2xm1EGY3wMiw!P-_*+_ZIv>$Ao)DRR@DWyzQ zx$EN87MnRw-1+xcZ-+&M^)QTczGGvPF+#N3r2Iy4Rc)Qv$n|$$T2t~q>k1)IN<~#z z{ZB&9o#VncmlNDC9&m^V`9hmt*1YPwt_OF9TfqFc)%d%~2^85g`qk5CS?MJ5A{r)`^l^-EZYq@hF%! z4p2&^^X_m1xcij3+az@(jlk$gCA)5HI;v0fQbicf<*}UkL}vO~hXw~KtJMlywXV#H zu{b^_4~04sp%4SA!aAjfy44sS)g~0yYUo^%*z!}(g|sZBb#CDjmDyaWsWOz7t70Em zmvkka4;o+t#aZ7?Lk4#rn-#}LGO<62aomlr8{suSjs#_K%@zRXUOJEU9o=Gvs&LKv z8g%;vGGr(fnJWygax;K5xaFM!SqL5|RJOLZNV}Q5S4hi5@PK)v zp=mecX?%|$!fdN2r-D@@tqL`dbzNZ1K_RcMFYYuW8^}t}8{WHlEX(x{j&mji* z_ivmznyJ2py!wqdBPxWERHmJT4Tg+oU;2_^XCSWJW?Mb!!T?*}hBrfp$q)SUD-aQmZMT8R*>e|A zRjxU{jfk-Ig)M&Qr(eO&?j9)@PF{CyJLr(uTdmn%%vlWsC$2euVBNjtij?yB{!#es z+n(j^PyFO`zm&@Ea*3NW>wC7g<^WvS*<*WqK^Qs9mmhxq>IQiF{ck1qJ@f7D12;;} ztao=CRb4FTW-Y0t^_np9@U&i&k2No>a)W2tF-pnEpmbeixm>b5JFs_tz}#7lp|V~l z*2|1+DZ@Imtiyqs-)c9F{Gc^aZ+hr9X0v{}Z)OZT4IwoQNE&m%ZoyZpMwyQwQB*H` zvvcmN&rot@@jb60bX{wCFJgiKGJal|1%YeMoZ*5jfksx=+7M8SQI|&7N0#T-tj-QBwq}%4$wMK;vF?vATAQOP wZi1geBN|{Fx}?1eM|yAYziXYXd7iK48~^|S07*qoM6N<$f|X4Z761SM literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_sam_ii_winter_inv.png b/mods/multiskin/textures/multiskin_sam_ii_winter_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..c55c79a3cd0a3f5e839c4ab8b15c69e2ad7532c6 GIT binary patch literal 1012 zcmV%f z7Ze;A6df299T^oK85JHH79SfIARHGV92g=U7$O}RA|4qd9vLqj4kRBMB_JCy9uG1e z4>BGQCLtU%9}qMk5H%nWHX#u=ArUts5ji6gIwKM~BojO(6FnvrBTFA7OdvKk>nKtr zDN`gWRV67`Br8`ZDp@8gS|%)9C@@|tFJUV#WhpOZDlcX#SXfvxX)IY;SvGAWG;J?8 zY%(@(BR6j(IB+F6aV0r%CSqb@HFYmMbtpD=Fg$iBJ9afUcriYBDm{2Ns#+pBdNXKf zXgYf|JbWlVdN@IQEIWKPJ$)!XekrY9BtCyBYinyie=0wKDnNlNL4hkifjF>XCT?zS zMuIRyge`Dza6yDSM20R!hAy;bDMN-lMTaj&hc8EoF?DryLyRm&ia$h+Ex2neMUE{+ zk1j@!E=!IyN02W^kuOM*FiMj#QJXhRpE6FMGgO{APN6hUp)^&WI!~fBP@*+fpgT~b zHBzKDQ>8b(gj!drI$NwhUavr3utCL;X2_Ik$(3u`u#elZkleD8+_RG0vyYzM$g1q2j-xIrDvIjdYD#KKswzq`6r|Z%#I264T($$ z@b~cuj>%5MP!JK}WMO9O8#X5rLr~HPzeE#yvVdD%91^(K|I2LxHD*p{~A( zgJ*!ViJq>ZgC~XpQ!Pym4INX{WK$hA4NWam3e?6z8XN1& ziz*r#lN+lG%j+8(F%(o*7U$(>6;uY4gm%)wAF zbIP=7UKSRXM&{;L)22-YMWYsps5zOg1GeN=JYt+ i3S9icfWXfMSquOmz;JD}Q+q)G0000GUiPh!a*&ggJPM$!@|%HVGzV4PI6w24M#T{|Mt0}ImSAqXDJh}4CB2r$NpG2wnJR-t={W+kh%zflaitvayv^T#mGX1&2 z&@m(pk3kCXTySU|Fc8k#FDl+vWxaWQIY7i;`l8yL5hUK0j-wq?C;Xef>i|L6-+CT)s5lLvU0;W& zgZ!j;338+I>wH=!7lcDzgvRAogg$t>N3i(mxw^>&x6Y@*U3sB0zmiICZ~Xu&JO`xH z4JvaV_7X*CZ$0Tx>r;dQ?&>FhNwn+hL4Uix?sg{l;^W1ot9W$9<`;olZMda4idxMG zejfBmP#4mkL3!0dMACVTQA%HY)s?lcu@|OJZ!6rrch!3T=1Y~7=O=5!fG@uRG8~Xr z=f}Klpp;^4ekEdzMsLYEDIOnjxHJvM2-dTPoQf0f-n&|wyY}+%z3b_8UxK*pp71+S zo!1?KMT%7dr;EKbgSF8ZtZ@3qe=wUZR|w0qcn%Pe;1}xNTlb?pAwAv~@CdGhgr0G3 zTjCDv9%C=R+rJYY)W@v3N!NJa&;n4U&4&1U+0!sI8o`zqo*`jUqi1gchQ~wiJTV@} z>o*kGHZ0!>c?>|ASWkb&UYyQaLlbZaqu1d<{WYti{;`*5VFc(FGaga`WpZ*d&|F05 zbULwUXti2-L2XVD_eE_%aoG6c+T?rZr6exqS`4uWR zZ`04&JJ$ia@^%hLT<@a!Na$xhO~O4DnXDHPXZTXmq#3dCBO`7uaP-&Ggigr;zAP)D z6&xSY-hATP?{xj~K8|(5RJB@_v^rfbm)YCf3k;9)l*{EHH?&%<)QKmirug&s-vD^? z#th9yL#NBI(EpoY)&Zu-wrDmQOx&0W+7}gO*6MdUoy`WN14KF~SpG9Wk#!^w>Ik#&6@2BNa^WS&HyAPM$kJiz$)crac> z*xlVNEL;br6z^QW2Fi%&K;$yxUAC0r9liY{y>~1Zp}Dh@FQZzm4s_DVDubtjQ4@ZC zOl9^qh(o*nBN!v;-;P83m&EtxLs+Wm%V2V4|GNJefHyw>By;7VSUEfmxY0%L^*gd1 zBzS>}z1nJF{{3z5yWGLT6aZH|N902D?mj3=$8YhkQj|8fVew;18{4!EBlew1zg5%D zpL!6w^6cW&@59AuN*mh){ingU?KLb5B?HFsP%FTw2|s-ohIRBUA*ps6k9`2kpQS2j c!? z5a{Y^>FH_d>oFW&&u|2YHZmODz;F~uZelnFM4K6oZ(%sGjs3_)fxmwR|NasD_fP0Q z2)q>X*atGJB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9Muu5)B!GhKC7!;n z?2owRSj}{2x$)Hlg*JP-IEGl9-g@z^kgI|~L!zL!-MMvsh5y5=x(@l|KA&E05?rO$ zv#QFaO1B2Oh`-JZP54DvBdXGQNd~Ug0v+sa}MLLgwz_-YP zuS_dkYv1p3WvXh>dsog-%M_Mvz+_T(ma(g$$bq|de{=Mb_>Tg0vl!urU2d{Pe R`xxka22WQ%mvv4FO#p^tj>Z50 literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/multiskin_urotsuki.png b/mods/multiskin/textures/multiskin_urotsuki.png new file mode 100644 index 0000000000000000000000000000000000000000..376b95a844d180851949417f6efbfe54b7882250 GIT binary patch literal 764 zcmVSSB1LQ9Yj-fz*hv8!hmmn0>V=^LFwZRk01gMAVsj=5gxUi0+>%cC zv|;EB__n_nryq$SauGajnGh-i$ZGdx1;8HqvVysMZj^rgH!${d-c0V8Fff9QNl z`cVV3P`I1udxB*Pm`V0!1yV<{$m9pW@^7CvPDu4-1$|jTquByrthUsVuy}nDfI+s% z3wpcA3%U*o0$Ke=vjt-Jq$34DCt@crbtGi|p2w4ikM#+5*)0g94TR4Kv0l-7?JZ5L zSA1W+)NkuUNBb~~akakIQptLk$Aqb86b5ZLPj365B=XhC%*EXX2=^@=8}mICVw zOB^N65^`5~gJhN~004gPw_V%jIUBXAgE$FtquH`-D&XQW3b2z z*zJn0N`$Ca+YUEd_Tp)l!>m*kL^)YffKlAy#3*cz0**+vrJf~yUfjE58GnCp;2YhW zS9#y`yL4g3*P)#c?;_b3U$0xnquxJI-v^94&H|9M14)BvOFd0hRix8t%YePltG!u% z>M)wi&q9$0fqh~0zyJCXnUooyzjS?T!o+6)^_^fYKkMjQxO^>CUl@Jb3=BiI{LM^py3V{#-ZoYeqY1LIx;CjJn$2Xg<4_hlg*Jbk@KmGE9`_WlN08?6C urn-T-wO(@s0I(9I8RyRZq;W6s^Y|a1FO@i7I{tY80000{XE)7O>#5w{$x4)>3=!bqS{fv1aOh{pNk z1cqiywvX_gJ6Zm_W-{ATqcaFs^#L-g;Z5* zm_(mGefuNy!ttKhdU{(unBL#Jd$;gi!;OXk;vd$@?2>{M3U#0*6 literal 0 HcmV?d00001 diff --git a/mods/multiskin/textures/skins_here.txt b/mods/multiskin/textures/skins_here.txt new file mode 100644 index 0000000..0a667b8 --- /dev/null +++ b/mods/multiskin/textures/skins_here.txt @@ -0,0 +1 @@ +Place your player skins here named as `player_.png` diff --git a/mods/player_api/README.txt b/mods/player_api/README.txt new file mode 100644 index 0000000..22d040c --- /dev/null +++ b/mods/player_api/README.txt @@ -0,0 +1,32 @@ +Minetest Game mod: player_api +============================= +See license.txt for license information. + +Provides an API to allow multiple mods to set player models and textures. +Also sets the default model, texture, and player flags. + +Authors of source code +---------------------- +Originally by celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures, models and sounds) +---------------------------------------------- +stujones11 (CC BY-SA 3.0): + character.b3d + character.blend -- Both derived from a model by MirceaKitsune (CC BY-SA 3.0) + +Jordach (CC BY-SA 3.0): + character.png + +paramat (CC BY-SA 3.0): + gui_hotbar.png + gui_hotbar_selected.png + +celeron55, Perttu Ahola (CC BY-SA 3.0): + player.png + player_back.png + +sonictechtonic (CC BY 3.0): +https://www.freesound.org/people/sonictechtonic/sounds/241872/ + player_damage.ogg diff --git a/mods/player_api/api.lua b/mods/player_api/api.lua new file mode 100644 index 0000000..e309b08 --- /dev/null +++ b/mods/player_api/api.lua @@ -0,0 +1,139 @@ +-- Minetest 0.4 mod: player +-- See README.txt for licensing and other information. + +player_api = {} + +-- Player animation blending +-- Note: This is currently broken due to a bug in Irrlicht, leave at 0 +local animation_blend = 0 + +player_api.registered_models = { } + +-- Local for speed. +local models = player_api.registered_models + +function player_api.register_model(name, def) + models[name] = def +end + +-- Player stats and animations +local player_model = {} +local player_textures = {} +local player_anim = {} +local player_sneak = {} +player_api.player_attached = {} + +function player_api.get_animation(player) + local name = player:get_player_name() + return { + model = player_model[name], + textures = player_textures[name], + animation = player_anim[name], + } +end + +-- Called when a player's appearance needs to be updated +function player_api.set_model(player, model_name) + local name = player:get_player_name() + local model = models[model_name] + if model then + if player_model[name] == model_name then + return + end + player:set_properties({ + mesh = model_name, + textures = player_textures[name] or model.textures, + visual = "mesh", + visual_size = model.visual_size or {x = 1, y = 1}, + collisionbox = model.collisionbox or {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + stepheight = model.stepheight or 0.6, + eye_height = model.eye_height or 1.47, + }) + player_api.set_animation(player, "stand") + else + player:set_properties({ + textures = {"player.png", "player_back.png"}, + visual = "upright_sprite", + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.75, 0.3}, + stepheight = 0.6, + eye_height = 1.625, + }) + end + player_model[name] = model_name +end + +function player_api.set_textures(player, textures) + local name = player:get_player_name() + local model = models[player_model[name]] + local model_textures = model and model.textures or nil + player_textures[name] = textures or model_textures + player:set_properties({textures = textures or model_textures,}) +end + +function player_api.set_animation(player, anim_name, speed) + local name = player:get_player_name() + if player_anim[name] == anim_name then + return + end + local model = player_model[name] and models[player_model[name]] + if not (model and model.animations[anim_name]) then + return + end + local anim = model.animations[anim_name] + player_anim[name] = anim_name + player:set_animation(anim, speed or model.animation_speed, animation_blend) +end + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + player_model[name] = nil + player_anim[name] = nil + player_textures[name] = nil +end) + +-- Localize for better performance. +local player_set_animation = player_api.set_animation +local player_attached = player_api.player_attached + +-- Check each player and apply animations +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local model_name = player_model[name] + local model = model_name and models[model_name] + if model and not player_attached[name] then + local controls = player:get_player_control() + local walking = false + local animation_speed_mod = model.animation_speed or 30 + + -- 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 then + animation_speed_mod = animation_speed_mod / 2 + end + + -- Apply animations based on what the player is doing + if player:get_hp() == 0 then + player_set_animation(player, "lay") + elseif walking then + if player_sneak[name] ~= controls.sneak then + player_anim[name] = nil + player_sneak[name] = controls.sneak + end + if controls.LMB then + player_set_animation(player, "walk_mine", animation_speed_mod) + else + player_set_animation(player, "walk", animation_speed_mod) + end + elseif controls.LMB then + player_set_animation(player, "mine") + else + player_set_animation(player, "stand", animation_speed_mod) + end + end + end +end) diff --git a/mods/player_api/init.lua b/mods/player_api/init.lua new file mode 100644 index 0000000..7a1f353 --- /dev/null +++ b/mods/player_api/init.lua @@ -0,0 +1,34 @@ +dofile(minetest.get_modpath("player_api") .. "/api.lua") + +-- Default player appearance +player_api.register_model("character.b3d", { + animation_speed = 30, + textures = {"character.png", }, + animations = { + -- Standard animations. + stand = {x = 0, y = 79}, + lay = {x = 162, y = 166}, + walk = {x = 168, y = 187}, + mine = {x = 189, y = 198}, + walk_mine = {x = 200, y = 219}, + sit = {x = 81, y = 160}, + }, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + stepheight = 0.6, + eye_height = 1.47, +}) + +-- Update appearance when the player joins +minetest.register_on_joinplayer(function(player) + player_api.player_attached[player:get_player_name()] = false + player_api.set_model(player, "character.b3d") + player:set_local_animation( + {x = 0, y = 79}, + {x = 168, y = 187}, + {x = 189, y = 198}, + {x = 200, y = 219}, + 30 + ) + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") +end) diff --git a/mods/player_api/license.txt b/mods/player_api/license.txt new file mode 100644 index 0000000..69bb2f8 --- /dev/null +++ b/mods/player_api/license.txt @@ -0,0 +1,84 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2018 celeron55, Perttu Ahola +Copyright (C) 2011-2018 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2011-2018 celeron55, Perttu Ahola +Copyright (C) 2012-2018 Jordach +Copyright (C) 2018 stujones11 +Copyright (C) 2018 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +------------------------------------ + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2014-2018 sonictechtonic + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ + diff --git a/mods/player_api/models/character.b3d b/mods/player_api/models/character.b3d new file mode 100644 index 0000000000000000000000000000000000000000..b3b772a4108a04c96491d1e86599bd3e977abbdc GIT binary patch literal 73433 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 literal 0 HcmV?d00001 diff --git a/mods/player_api/models/character.blend b/mods/player_api/models/character.blend new file mode 100644 index 0000000000000000000000000000000000000000..652579c152ab3ce8c535ca3cfc507cf6537550ed GIT binary patch literal 698016 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 P9ww<$r*cI+z3}&c_MMAk literal 0 HcmV?d00001 diff --git a/mods/player_api/models/character.png b/mods/player_api/models/character.png new file mode 100644 index 0000000000000000000000000000000000000000..05021781e03fbb71cb309d5ac233c6c90f332fda GIT binary patch literal 2754 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 literal 0 HcmV?d00001 diff --git a/mods/player_api/textures/gui_hotbar.png b/mods/player_api/textures/gui_hotbar.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc788755243f163c95c0f5ed028bd3d4c61db76 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0y~yUEY1>t% z&wZ1kZhiBlU)iH0zj*pxELG)7#S2+z%_zIIkXrU99dzaFhx*Nkm+>L z3bF>|G$gkm*$NUx^#+oIacfOT)AclGW;kF03MhLa!}-9{{8ab z&TEibqWl!w& rU}f~-R;g-O%k1_*>%@MOhihZx0?vo`Z!=Z~TEO7x>gTe~DWM4fSl%(n literal 0 HcmV?d00001 diff --git a/mods/player_api/textures/player_back.png b/mods/player_api/textures/player_back.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9ef05420e51ddd7ad33c13a58e21b1bb86a60a GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5$P6SE-Lv|E6kC8#h%1n0XkeK4M6m_PU@Qsp z3ubV5b|VeQG4XV94B@z*%)oSvjqMmS&l!G+8}"), + description = S("Remove Protectors around players (separate names with spaces)"), + privs = {server = true}, + func = function(name, param) + + if not param or param == "" then + + minetest.chat_send_player(name, + S("Protector Names to remove: @1", + removal_names)) + + return + end + + if param == "-" then + + minetest.chat_send_player(name, + S("Name List Reset")) + + removal_names = "" + + return + end + + removal_names = param + + end, +}) + + +minetest.register_chatcommand("protector_replace", { + params = S(" "), + description = S("Replace Protector Owner with name provided"), + privs = {server = true}, + func = function(name, param) + + -- reset list to empty + if param == "-" then + + minetest.chat_send_player(name, S("Name List Reset")) + + replace_names = "" + + return + end + + -- show name info + if param == "" + and replace_names ~= "" then + + local names = replace_names:split(" ") + + minetest.chat_send_player(name, + S("Replacing Protector name '@1' with '@2'", + names[1] or "", names[2] or "")) + + return + end + + replace_names = param + + end, +}) + + +minetest.register_abm({ + nodenames = {"protector:protect", "protector:protect2"}, + interval = 8, + chance = 1, + catch_up = false, + action = function(pos, node) + + if removal_names == "" + and replace_names == "" then + return + end + + local meta = minetest.get_meta(pos) + + if not meta then return end + + local owner = meta:get_string("owner") + + if removal_names ~= "" then + + local names = removal_names:split(" ") + + for _, n in pairs(names) do + if n == owner then + minetest.set_node(pos, {name = "air"}) + end + end + end + + if replace_names ~= "" then + + local names = replace_names:split(" ") + + if names[1] and names[2] and owner == names[1] then + meta:set_string("owner", names[2]) + meta:set_string("infotext", S("Protection (owned by @1)", names[2])) + end + + end + end +}) + +-- get protection radius +local r = tonumber(minetest.settings:get("protector_radius")) or 5 + +-- show protection areas of nearby protectors owned by you (thanks agaran) +minetest.register_chatcommand("protector_show", { + params = "", + description = S("Show protected areas of your nearby protectors"), + privs = {}, + func = function(name, param) + + local player = minetest.get_player_by_name(name) + local pos = player:get_pos() + + -- find the protector nodes + local pos = minetest.find_nodes_in_area( + {x = pos.x - r, y = pos.y - r, z = pos.z - r}, + {x = pos.x + r, y = pos.y + r, z = pos.z + r}, + {"protector:protect", "protector:protect2"}) + + local meta, owner + + -- show a maximum of 5 protected areas only + for n = 1, math.min(#pos, 5) do + + meta = minetest.get_meta(pos[n]) + owner = meta:get_string("owner") or "" + + if owner == name then + minetest.add_entity(pos[n], "protector:display") + end + end + end +}) diff --git a/mods/protector/depends.txt b/mods/protector/depends.txt new file mode 100644 index 0000000..4713add --- /dev/null +++ b/mods/protector/depends.txt @@ -0,0 +1,4 @@ +default +intllib? +lucky_block? +mesecons_mvps? diff --git a/mods/protector/description.txt b/mods/protector/description.txt new file mode 100644 index 0000000..587fee8 --- /dev/null +++ b/mods/protector/description.txt @@ -0,0 +1 @@ +Lets players craft special blocks to protect their builds or disable PVP in areas. \ No newline at end of file diff --git a/mods/protector/doors_chest.lua b/mods/protector/doors_chest.lua new file mode 100644 index 0000000..6d4408b --- /dev/null +++ b/mods/protector/doors_chest.lua @@ -0,0 +1,689 @@ + +-- Since the doors mod has changed in the latest daily builds I have taken the +-- WTFPL licenced code from the old doors mod and included an edited version +-- within this mod for local use. + +local S = protector.intllib +local F = minetest.formspec_escape + +-- Registers a door +function register_door(name, def) + def.groups.not_in_creative_inventory = 1 + + local box = {{-0.5, -0.5, -0.5, 0.5, 0.5, -0.5+1.5/16}} + + def.node_box_bottom = box + def.node_box_top = box + def.selection_box_bottom = box + def.selection_box_top = box + def.sound_close_door = "doors_door_close" + def.sound_open_door = "doors_door_open" + + minetest.register_craftitem(name, { + description = def.description, + inventory_image = def.inventory_image, + + on_place = function(itemstack, placer, pointed_thing) + if not pointed_thing.type == "node" then + return itemstack + end + + local ptu = pointed_thing.under + local nu = minetest.get_node(ptu) + if minetest.registered_nodes[nu.name] + and minetest.registered_nodes[nu.name].on_rightclick then + return minetest.registered_nodes[nu.name].on_rightclick(ptu, nu, placer, itemstack) + end + + local pt = pointed_thing.above + local pt2 = {x=pt.x, y=pt.y, z=pt.z} + pt2.y = pt2.y+1 + if + not minetest.registered_nodes[minetest.get_node(pt).name].buildable_to or + not minetest.registered_nodes[minetest.get_node(pt2).name].buildable_to or + not placer or + not placer:is_player() + then + return itemstack + end + + if minetest.is_protected(pt, placer:get_player_name()) or + minetest.is_protected(pt2, placer:get_player_name()) then + minetest.record_protection_violation(pt, placer:get_player_name()) + return itemstack + end + + local p2 = minetest.dir_to_facedir(placer:get_look_dir()) + local pt3 = {x=pt.x, y=pt.y, z=pt.z} + if p2 == 0 then + pt3.x = pt3.x-1 + elseif p2 == 1 then + pt3.z = pt3.z+1 + elseif p2 == 2 then + pt3.x = pt3.x+1 + elseif p2 == 3 then + pt3.z = pt3.z-1 + end + if minetest.get_item_group(minetest.get_node(pt3).name, "door") == 0 then + minetest.set_node(pt, {name=name.."_b_1", param2=p2}) + minetest.set_node(pt2, {name=name.."_t_1", param2=p2}) + else + minetest.set_node(pt, {name=name.."_b_2", param2=p2}) + minetest.set_node(pt2, {name=name.."_t_2", param2=p2}) + minetest.get_meta(pt):set_int("right", 1) + minetest.get_meta(pt2):set_int("right", 1) + end + + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + }) + + local tt = def.tiles_top + local tb = def.tiles_bottom + + local function after_dig_node(pos, name, digger) + local node = minetest.get_node(pos) + if node.name == name then + minetest.node_dig(pos, node, digger) + end + end + + local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) + pos.y = pos.y+dir + if minetest.get_node(pos).name ~= check_name then + return + end + local p2 = minetest.get_node(pos).param2 + p2 = params[p2+1] + + minetest.swap_node(pos, {name=replace_dir, param2=p2}) + + pos.y = pos.y-dir + minetest.swap_node(pos, {name=replace, param2=p2}) + + local snd_1 = def.sound_close_door + local snd_2 = def.sound_open_door + if params[1] == 3 then + snd_1 = def.sound_open_door + snd_2 = def.sound_close_door + end + + if minetest.get_meta(pos):get_int("right") ~= 0 then + minetest.sound_play(snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10}) + else + minetest.sound_play(snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10}) + end + end + + local function on_rotate(pos, node, dir, user, check_name, mode, new_param2) + + if mode ~= screwdriver.ROTATE_FACE then + return false + end + + pos.y = pos.y + dir + if not minetest.get_node(pos).name == check_name then + return false + end + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, user:get_player_name()) + return false + end + + local node2 = minetest.get_node(pos) + node2.param2 = (node2.param2 + 1) % 4 + minetest.swap_node(pos, node2) + + pos.y = pos.y - dir + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + return true + end + + minetest.register_node(name.."_b_1", { + tiles = {tb[2], tb[2], tb[2], tb[2], tb[1], tb[1].."^[transformfx"}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_bottom + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_bottom + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y+1 + after_dig_node(pos, name.."_t_1", digger) + end, + + on_rightclick = function(pos, node, clicker) + if not minetest.is_protected(pos, clicker:get_player_name()) then + on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) + end + end, + + on_rotate = function(pos, node, user, mode, new_param2) + return on_rotate(pos, node, 1, user, name.."_t_1", mode) + end, + + sounds = def.sounds, + sunlight_propagates = def.sunlight, + on_blast = function() end, + }) + + minetest.register_node(name.."_t_1", { + tiles = {tt[2], tt[2], tt[2], tt[2], tt[1], tt[1].."^[transformfx"}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + drop = "", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_top + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_top + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y-1 + after_dig_node(pos, name.."_b_1", digger) + end, + + on_rightclick = function(pos, node, clicker) + if not minetest.is_protected(pos, clicker:get_player_name()) then + on_rightclick(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2", {1,2,3,0}) + end + end, + + on_rotate = function(pos, node, user, mode, new_param2) + return on_rotate(pos, node, -1, user, name.."_b_1", mode) + end, + + sounds = def.sounds, + sunlight_propagates = def.sunlight, + on_blast = function() end, + }) + + minetest.register_node(name.."_b_2", { + tiles = {tb[2], tb[2], tb[2], tb[2], tb[1].."^[transformfx", tb[1]}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_bottom + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_bottom + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y+1 + after_dig_node(pos, name.."_t_2", digger) + end, + + on_rightclick = function(pos, node, clicker) + if not minetest.is_protected(pos, clicker:get_player_name()) then + on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) + end + end, + + on_rotate = function(pos, node, user, mode, new_param2) + return on_rotate(pos, node, 1, user, name.."_t_2", mode) + end, + + sounds = def.sounds, + sunlight_propagates = def.sunlight, + on_blast = function() end, + }) + + minetest.register_node(name.."_t_2", { + tiles = {tt[2], tt[2], tt[2], tt[2], tt[1].."^[transformfx", tt[1]}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + drop = "", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_top + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_top + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y-1 + after_dig_node(pos, name.."_b_2", digger) + end, + + on_rightclick = function(pos, node, clicker) + if not minetest.is_protected(pos, clicker:get_player_name()) then + on_rightclick(pos, -1, name.."_b_2", name.."_t_1", name.."_b_1", {3,0,1,2}) + end + end, + + on_rotate = function(pos, node, user, mode, new_param2) + return on_rotate(pos, node, -1, user, name.."_b_2", mode) + end, + + sounds = def.sounds, + sunlight_propagates = def.sunlight, + on_blast = function() end, + }) + +end + +-- Protected Wooden Door + +local name = "protector:door_wood" + +register_door(name, { + description = S("Protected Wooden Door"), + inventory_image = "doors_wood.png^protector_logo.png", + groups = { + snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, + unbreakable = 1, --door = 1 + }, + tiles_bottom = {"doors_wood_b.png^protector_logo.png", "doors_brown.png"}, + tiles_top = {"doors_wood_a.png", "doors_brown.png"}, + sounds = default.node_sound_wood_defaults(), + sunlight = false, +}) + +minetest.register_craft({ + output = name, + recipe = { + {"group:wood", "group:wood"}, + {"group:wood", "default:copper_ingot"}, + {"group:wood", "group:wood"} + } +}) + +minetest.register_craft({ + output = name, + recipe = { + {"doors:door_wood", "default:copper_ingot"} + } +}) + +-- Protected Steel Door + +local name = "protector:door_steel" + +register_door(name, { + description = S("Protected Steel Door"), + inventory_image = "doors_steel.png^protector_logo.png", + groups = { + snappy = 1, bendy = 2, cracky = 1, + level = 2, unbreakable = 1, -- door = 1 + }, + tiles_bottom = {"doors_steel_b.png^protector_logo.png", "doors_grey.png"}, + tiles_top = {"doors_steel_a.png", "doors_grey.png"}, + sounds = default.node_sound_wood_defaults(), + sunlight = false, +}) + +minetest.register_craft({ + output = name, + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:copper_ingot"}, + {"default:steel_ingot", "default:steel_ingot"} + } +}) + +minetest.register_craft({ + output = name, + recipe = { + {"doors:door_steel", "default:copper_ingot"} + } +}) + +----trapdoor---- + +function register_trapdoor(name, def) + local name_closed = name + local name_opened = name.."_open" + + def.on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) + if minetest.is_protected(pos, clicker:get_player_name()) then + return + end + local newname = node.name == name_closed and name_opened or name_closed + local sound = false + if node.name == name_closed then sound = "doors_door_open" end + if node.name == name_opened then sound = "doors_door_close" end + if sound then + minetest.sound_play(sound, {pos = pos, gain = 0.3, max_hear_distance = 10}) + end + minetest.swap_node(pos, {name = newname, param1 = node.param1, param2 = node.param2}) + end + + -- Common trapdoor configuration + def.drawtype = "nodebox" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.is_ground_content = false + + local def_opened = table.copy(def) + local def_closed = table.copy(def) + + def_closed.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.tiles = { def.tile_front, def.tile_front, def.tile_side, def.tile_side, + def.tile_side, def.tile_side } + + def_opened.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.tiles = { def.tile_side, def.tile_side, + def.tile_side .. '^[transform3', + def.tile_side .. '^[transform1', + def.tile_front, def.tile_front } + + def_opened.drop = name_closed + def_opened.groups.not_in_creative_inventory = 1 + + minetest.register_node(name_opened, def_opened) + minetest.register_node(name_closed, def_closed) +end + +-- Protected Wooden Trapdoor + +register_trapdoor("protector:trapdoor", { + description = S("Protected Trapdoor"), + inventory_image = "doors_trapdoor.png^protector_logo.png", + wield_image = "doors_trapdoor.png^protector_logo.png", + tile_front = "doors_trapdoor.png^protector_logo.png", + tile_side = "doors_trapdoor_side.png", + groups = { + snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, + unbreakable = 1, --door = 1 + }, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = 'protector:trapdoor 2', + recipe = { + {'group:wood', 'default:copper_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', '', ''}, + } +}) + +minetest.register_craft({ + output = "protector:trapdoor", + recipe = { + {"doors:trapdoor", "default:copper_ingot"} + } +}) + +-- Protected Steel Trapdoor + +register_trapdoor("protector:trapdoor_steel", { + description = S("Protected Steel Trapdoor"), + inventory_image = "doors_trapdoor_steel.png^protector_logo.png", + wield_image = "doors_trapdoor_steel.png^protector_logo.png", + tile_front = "doors_trapdoor_steel.png^protector_logo.png", + tile_side = "doors_trapdoor_steel_side.png", + groups = { + snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2, + unbreakable = 1, --door = 1 + }, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = 'protector:trapdoor_steel', + recipe = { + {'default:copper_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = "protector:trapdoor_steel", + recipe = { + {"doors:trapdoor_steel", "default:copper_ingot"} + } +}) + +-- Protected Chest + +minetest.register_node("protector:chest", { + description = S("Protected 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^protector_logo.png" + }, + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, unbreakable = 1}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_wood_defaults(), + + on_construct = function(pos) + + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + + meta:set_string("infotext", S("Protected Chest")) + meta:set_string("name", "") + inv:set_size("main", 8 * 4) + end, + + can_dig = function(pos,player) + + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + + if inv:is_empty("main") then + + if not minetest.is_protected(pos, player:get_player_name()) then + return true + end + end + end, + + on_metadata_inventory_put = function(pos, listname, index, stack, player) + + minetest.log("action", S("@1 moves stuff to protected chest at @2", + player:get_player_name(), minetest.pos_to_string(pos))) + end, + + on_metadata_inventory_take = function(pos, listname, index, stack, player) + + minetest.log("action", S("@1 takes stuff from protected chest at @2", + player:get_player_name(), minetest.pos_to_string(pos))) + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + + minetest.log("action", S("@1 moves stuff inside protected chest at @2", + player:get_player_name(), minetest.pos_to_string(pos))) + end, + + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + + return stack:get_count() + end, + + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + + return stack:get_count() + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + + return count + end, + + on_rightclick = function(pos, node, clicker) + + if minetest.is_protected(pos, clicker:get_player_name()) then + return + end + + local meta = minetest.get_meta(pos) + + if not meta then + return + end + + local spos = pos.x .. "," .. pos.y .. "," ..pos.z + local formspec = "size[8,9]" + .. default.gui_bg + .. default.gui_bg_img + .. default.gui_slots + .. "list[nodemeta:".. spos .. ";main;0,0.3;8,4;]" + .. "button[0,4.5;2,0.25;toup;" .. F(S("To Chest")) .. "]" + .. "field[2.3,4.8;4,0.25;chestname;;" + .. meta:get_string("name") .. "]" + .. "button[6,4.5;2,0.25;todn;" .. F(S("To Inventory")) .. "]" + .. "list[current_player;main;0,5;8,1;]" + .. "list[current_player;main;0,6.08;8,3;8]" + .. "listring[nodemeta:" .. spos .. ";main]" + .. "listring[current_player;main]" + + minetest.show_formspec( + clicker:get_player_name(), + "protector:chest_" .. minetest.pos_to_string(pos), + formspec) + end, + + on_blast = function() end, +}) + +-- Protected Chest formspec buttons + +minetest.register_on_player_receive_fields(function(player, formname, fields) + + if string.sub(formname, 0, string.len("protector:chest_")) ~= "protector:chest_" then + return + end + + local pos_s = string.sub(formname,string.len("protector:chest_") + 1) + local pos = minetest.string_to_pos(pos_s) + + if minetest.is_protected(pos, player:get_player_name()) then + return + end + + local meta = minetest.get_meta(pos) ; if not meta then return end + local chest_inv = meta:get_inventory() ; if not chest_inv then return end + local player_inv = player:get_inventory() + local leftover + + if fields.toup then + + -- copy contents of players inventory to chest + for i, v in ipairs(player_inv:get_list("main") or {}) do + + if chest_inv:room_for_item("main", v) then + + leftover = chest_inv:add_item("main", v) + + player_inv:remove_item("main", v) + + if leftover + and not leftover:is_empty() then + player_inv:add_item("main", v) + end + end + end + + elseif fields.todn then + + -- copy contents of chest to players inventory + for i, v in ipairs(chest_inv:get_list("main") or {}) do + + if player_inv:room_for_item("main", v) then + + leftover = player_inv:add_item("main", v) + + chest_inv:remove_item("main", v) + + if leftover + and not leftover:is_empty() then + chest_inv:add_item("main", v) + end + end + end + + elseif fields.chestname then + + -- change chest infotext to display name + if fields.chestname ~= "" then + + meta:set_string("name", fields.chestname) + meta:set_string("infotext", + S("Protected Chest (@1)", fields.chestname)) + else + meta:set_string("infotext", S("Protected Chest")) + end + + end +end) + +-- Protected Chest recipes + +minetest.register_craft({ + output = 'protector:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:copper_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'protector:chest', + recipe = { + {'default:chest', 'default:copper_ingot', ''}, + } +}) diff --git a/mods/protector/hud.lua b/mods/protector/hud.lua new file mode 100644 index 0000000..c74a4dc --- /dev/null +++ b/mods/protector/hud.lua @@ -0,0 +1,61 @@ + +local S = protector.intllib +local radius = (tonumber(minetest.setting_get("protector_radius")) or 5) +local hud = {} +local hud_timer = 0 + +minetest.register_globalstep(function(dtime) + + -- every 5 seconds + hud_timer = hud_timer + dtime + if hud_timer < 5 then + return + end + hud_timer = 0 + + for _, player in pairs(minetest.get_connected_players()) do + + local name = player:get_player_name() + local pos = vector.round(player:get_pos()) + local hud_text = "" + + local protectors = minetest.find_nodes_in_area( + {x = pos.x - radius , y = pos.y - radius , z = pos.z - radius}, + {x = pos.x + radius , y = pos.y + radius , z = pos.z + radius}, + {"protector:protect","protector:protect2"}) + + if #protectors > 0 then + local npos = protectors[1] + local meta = minetest.get_meta(npos) + local nodeowner = meta:get_string("owner") + + hud_text = S("Owner: @1", nodeowner) + end + + if not hud[name] then + + hud[name] = {} + + hud[name].id = player:hud_add({ + hud_elem_type = "text", + name = "Protector Area", + number = 0xFFFF22, + position = {x=0, y=0.95}, + offset = {x=8, y=-8}, + text = hud_text, + scale = {x=200, y=60}, + alignment = {x=1, y=-1}, + }) + + return + + else + + player:hud_change(hud[name].id, "text", hud_text) + end + end +end) + +minetest.register_on_leaveplayer(function(player) + hud[player:get_player_name()] = nil +end) diff --git a/mods/protector/init.lua b/mods/protector/init.lua new file mode 100644 index 0000000..c5db67a --- /dev/null +++ b/mods/protector/init.lua @@ -0,0 +1,667 @@ + +-- Load support for intllib. +local MP = minetest.get_modpath(minetest.get_current_modname()) +local S = dofile(MP .. "/intllib.lua") +local F = minetest.formspec_escape + + +protector = {} +protector.mod = "redo" +protector.modpath = MP +protector.intllib = S + +local protector_max_share_count = 12 +-- get minetest.conf settings +local protector_radius = tonumber(minetest.settings:get("protector_radius")) or 5 +local protector_flip = minetest.settings:get_bool("protector_flip") or false +local protector_hurt = tonumber(minetest.settings:get("protector_hurt")) or 0 +local protector_spawn = tonumber(minetest.settings:get("protector_spawn") + or minetest.settings:get("protector_pvp_spawn")) or 0 + +-- get static spawn position +local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoint")) + or {x = 0, y = 2, z = 0} + + +-- return list of members as a table +local get_member_list = function(meta) + + return meta:get_string("members"):split(" ") +end + + +-- write member list table in protector meta as string +local set_member_list = function(meta, list) + + meta:set_string("members", table.concat(list, " ")) +end + + +-- check for owner name +local is_owner = function(meta, name) + + return name == meta:get_string("owner") +end + + +-- check for member name +local is_member = function (meta, name) + + for _, n in pairs(get_member_list(meta)) do + + if n == name then + return true + end + end + + return false +end + + +-- add player name to table as member +local add_member = function(meta, name) + + -- Constant (20) defined by player.h + if name:len() > 25 then + return + end + + -- does name already exist? + if is_owner(meta, name) + or is_member(meta, name) then + return + end + + local list = get_member_list(meta) + + if #list >= protector_max_share_count then + return + end + + table.insert(list, name) + + set_member_list(meta, list) +end + + +-- remove player name from table +local del_member = function(meta, name) + + local list = get_member_list(meta) + + for i, n in pairs(list) do + + if n == name then + table.remove(list, i) + break + end + end + + set_member_list(meta, list) +end + + +-- protector interface +local protector_formspec = function(meta) + + local formspec = "size[8,7]" + .. default.gui_bg + .. default.gui_bg_img + .. default.gui_slots + .. "label[2.5,0;" .. F(S("-- Protector interface --")) .. "]" + .. "label[0,1;" .. F(S("PUNCH node to show protected area")) .. "]" + .. "label[0,2;" .. F(S("Members:")) .. "]" + .. "button_exit[2.5,6.2;3,0.5;close_me;" .. F(S("Close")) .. "]" + .. "field_close_on_enter[protector_add_member;false]" + + local members = get_member_list(meta) + local npp = protector_max_share_count -- max users added to protector list + local i = 0 + + for n = 1, #members do + + if i < npp then + + -- show username + formspec = formspec .. "button[" .. (i % 4 * 2) + .. "," .. math.floor(i / 4 + 3) + .. ";1.5,.5;protector_member;" .. F(members[n]) .. "]" + + -- username remove button + .. "button[" .. (i % 4 * 2 + 1.25) .. "," + .. math.floor(i / 4 + 3) + .. ";.75,.5;protector_del_member_" .. F(members[n]) .. ";X]" + end + + i = i + 1 + end + + if i < npp then + + -- user name entry field + formspec = formspec .. "field[" .. (i % 4 * 2 + 1 / 3) .. "," + .. (math.floor(i / 4 + 3) + 1 / 3) + .. ";1.433,.5;protector_add_member;;]" + + -- username add button + .."button[" .. (i % 4 * 2 + 1.25) .. "," + .. math.floor(i / 4 + 3) .. ";.75,.5;protector_submit;+]" + + end + + return formspec +end + + +-- check if pos is inside a protected spawn area +local inside_spawn = function(pos, radius) + + if protector_spawn <= 0 then + return false + end + + if pos.x < statspawn.x + radius + and pos.x > statspawn.x - radius + and pos.y < statspawn.y + radius + and pos.y > statspawn.y - radius + and pos.z < statspawn.z + radius + and pos.z > statspawn.z - radius then + + return true + end + + return false +end + + +-- Infolevel: +-- 0 for no info +-- 1 for "This area is owned by !" if you can't dig +-- 2 for "This area is owned by . +-- 3 for checking protector overlaps + +protector.can_dig = function(r, pos, digger, onlyowner, infolevel) + + if not digger or not pos then + return false + end + + -- protector_bypass privileged users can override protection + if infolevel == 1 + and minetest.check_player_privs(digger, {protection_bypass = true}) then + return true + end + + -- infolevel 3 is only used to bypass priv check, change to 1 now + if infolevel == 3 then infolevel = 1 end + + -- is spawn area protected ? + if inside_spawn(pos, protector_spawn) then + + minetest.chat_send_player(digger, + S("Spawn @1 has been protected up to a @2 block radius.", + minetest.pos_to_string(statspawn), protector_spawn)) + + return false + end + + -- find the protector nodes + local pos = minetest.find_nodes_in_area( + {x = pos.x - r, y = pos.y - r, z = pos.z - r}, + {x = pos.x + r, y = pos.y + r, z = pos.z + r}, + {"protector:protect", "protector:protect2"}) + + local meta, owner, members + + for n = 1, #pos do + + meta = minetest.get_meta(pos[n]) + owner = meta:get_string("owner") or "" + members = meta:get_string("members") or "" + + -- node change and digger isn't owner + if infolevel == 1 and owner ~= digger then + + -- and you aren't on the member list + if onlyowner or not is_member(meta, digger) then + + minetest.chat_send_player(digger, + S("This area is owned by @1", owner) .. "!") + + return false + end + end + + -- when using protector as tool, show protector information + if infolevel == 2 then + + minetest.chat_send_player(digger, + S("This area is owned by @1", owner) .. ".") + + minetest.chat_send_player(digger, + S("Protection located at: @1", minetest.pos_to_string(pos[n]))) + + if members ~= "" then + + minetest.chat_send_player(digger, S("Members: @1.", members)) + end + + return false + end + + end + + -- show when you can build on unprotected area + if infolevel == 2 then + + if #pos < 1 then + + minetest.chat_send_player(digger, S("This area is not protected.")) + end + + minetest.chat_send_player(digger, S("You can build here.")) + end + + return true +end + + +local old_is_protected = minetest.is_protected + +-- check for protected area, return true if protected and digger isn't on list +function minetest.is_protected(pos, digger) + + digger = digger or "" -- nil check + + -- is area protected against digger? + if not protector.can_dig(protector_radius, pos, digger, false, 1) then + + local player = minetest.get_player_by_name(digger) + + if player and player:is_player() then + + -- hurt player if protection violated + if protector_hurt > 0 and player:get_hp() > 0 then + player:set_hp(player:get_hp() - protector_hurt) + end + + -- flip player when protection violated + if protector_flip then + + -- yaw + 180° + local yaw = player:get_look_horizontal() + math.pi + + if yaw > 2 * math.pi then + yaw = yaw - 2 * math.pi + end + + player:set_look_horizontal(yaw) + + -- invert pitch + player:set_look_vertical(-player:get_look_vertical()) + + -- if digging below player, move up to avoid falling through hole + local pla_pos = player:get_pos() + + if pos.y < pla_pos.y then + + player:set_pos({ + x = pla_pos.x, + y = pla_pos.y + 0.8, + z = pla_pos.z + }) + end + end + end + + return true + end + + -- otherwise can dig or place + return old_is_protected(pos, digger) +end + + +-- make sure protection block doesn't overlap another protector's area +local check_overlap = function(itemstack, placer, pointed_thing) + + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.above + local name = placer:get_player_name() + + -- make sure protector doesn't overlap onto protected spawn area + if inside_spawn(pos, protector_spawn + protector_radius) then + + minetest.chat_send_player(name, + S("Spawn @1 has been protected up to a @2 block radius.", + minetest.pos_to_string(statspawn), protector_spawn)) + + return itemstack + end + + -- make sure protector doesn't overlap any other player's area + if not protector.can_dig(protector_radius * 2, pos, name, true, 3) then + + minetest.chat_send_player(name, + S("Overlaps into above players protected area")) + + return itemstack + end + + return minetest.item_place(itemstack, placer, pointed_thing) + +end + + +-- temporary pos store +local player_pos = {} + +-- protection node +minetest.register_node("protector:protect", { + description = "Protection Block" .. "\n" .. + "Swing me to see if what's pointed is protected!", + drawtype = "nodebox", + tiles = { + "ydecor_stone_rune.png", + "ydecor_stone_rune.png", + "ydecor_stone_rune.png^protector_logo.png" + }, + sounds = default.node_sound_stone_defaults(), + groups = {dig_immediate = 2, unbreakable = 1}, + is_ground_content = false, + paramtype = "light", + light_source = 4, + + node_box = { + type = "fixed", + fixed = { + {-0.5 ,-0.5, -0.5, 0.5, 0.5, 0.5}, + } + }, + + on_place = check_overlap, + + after_place_node = function(pos, placer) + + local meta = minetest.get_meta(pos) + + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Protection owned by @1!", meta:get_string("owner")) + meta:set_string("members", "") + end, + + on_use = function(itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return + end + + protector.can_dig(protector_radius, pointed_thing.under, user:get_player_name(), false, 2) + end, + + on_rightclick = function(pos, node, clicker, itemstack) + + local meta = minetest.get_meta(pos) + local name = clicker:get_player_name() + + if meta + and protector.can_dig(1, pos, name, true, 1) then + + player_pos[name] = pos + + minetest.show_formspec(name, "protector:node", protector_formspec(meta)) + end + end, + + on_punch = function(pos, node, puncher) + + if minetest.is_protected(pos, puncher:get_player_name()) then + return + end + + minetest.add_entity(pos, "protector:display") + end, + + can_dig = function(pos, player) + + return player and protector.can_dig(1, pos, player:get_player_name(), true, 1) + end, + + on_blast = function() end, + + after_destruct = function(pos, oldnode) + local objects = minetest.get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + v:remove() + end + end, +}) + +minetest.register_craft({ + output = "protector:protect", + recipe = { + {"default:stone", "default:stone", "default:stone"}, + {"default:stone", "default:mese_crystal", "default:stone"}, + {"default:stone", "default:stone", "default:stone"}, + } +}) + + +-- protection logo +minetest.register_node("protector:protect2", { + description = S("Protection Logo") .. " (" .. S("USE for area check") .. ")", + tiles = {"protector_logo.png"}, + wield_image = "protector_logo.png", + inventory_image = "protector_logo.png", + sounds = default.node_sound_stone_defaults(), + groups = {dig_immediate = 2, unbreakable = 1}, + paramtype = "light", + paramtype2 = "wallmounted", + legacy_wallmounted = true, + light_source = 4, + drawtype = "nodebox", + sunlight_propagates = true, + walkable = true, + node_box = { + type = "wallmounted", + wall_top = {-0.375, 0.4375, -0.5, 0.375, 0.5, 0.5}, + wall_bottom = {-0.375, -0.5, -0.5, 0.375, -0.4375, 0.5}, + wall_side = {-0.5, -0.5, -0.375, -0.4375, 0.5, 0.375}, + }, + selection_box = {type = "wallmounted"}, + + on_place = check_overlap, + + after_place_node = function(pos, placer) + + local meta = minetest.get_meta(pos) + + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", S("Protection (owned by @1)", meta:get_string("owner"))) + meta:set_string("members", "") + end, + + on_use = function(itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return + end + + protector.can_dig(protector_radius, pointed_thing.under, user:get_player_name(), false, 2) + end, + + on_rightclick = function(pos, node, clicker, itemstack) + + local meta = minetest.get_meta(pos) + local name = clicker:get_player_name() + + if meta + and protector.can_dig(1, pos, name, true, 1) then + + player_pos[name] = pos + + minetest.show_formspec(name, "protector:node", protector_formspec(meta)) + end + end, + + on_punch = function(pos, node, puncher) + + if minetest.is_protected(pos, puncher:get_player_name()) then + return + end + + minetest.add_entity(pos, "protector:display") + end, + + can_dig = function(pos, player) + + return player and protector.can_dig(1, pos, player:get_player_name(), true, 1) + end, + + on_blast = function() end, + + after_destruct = function(pos, oldnode) + local objects = minetest.get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + v:remove() + end + end, +}) + +-- recipes to switch between protectors +minetest.register_craft({ + type = "shapeless", + output = "protector:protect", + recipe = {"protector:protect2"} +}) + +minetest.register_craft({ + type = "shapeless", + output = "protector:protect2", + recipe = {"protector:protect"} +}) + + +-- check formspec buttons or when name entered +minetest.register_on_player_receive_fields(function(player, formname, fields) + + if formname ~= "protector:node" then + return + end + + local name = player:get_player_name() + local pos = player_pos[name] + + if not name or not pos then + return + end + + local add_member_input = fields.protector_add_member + + -- reset formspec until close button pressed + if (fields.close_me or fields.quit) + and (not add_member_input or add_member_input == "") then + player_pos[name] = nil + return + end + + -- only owner can add names + if not protector.can_dig(1, pos, player:get_player_name(), true, 1) then + return + end + + -- are we adding member to a protection node ? (csm protection) + local nod = minetest.get_node(pos).name + + if nod ~= "protector:protect" + and nod ~= "protector:protect2" then + player_pos[name] = nil + return + end + + local meta = minetest.get_meta(pos) + + if not meta then + return + end + + -- add member [+] + if add_member_input then + + for _, i in pairs(add_member_input:split(" ")) do + add_member(meta, i) + end + end + + -- remove member [x] + for field, value in pairs(fields) do + + if string.sub(field, 0, + string.len("protector_del_member_")) == "protector_del_member_" then + + del_member(meta, + string.sub(field,string.len("protector_del_member_") + 1)) + end + end + + minetest.show_formspec(name, formname, protector_formspec(meta)) +end) + + +-- display entity shown when protector node is punched +minetest.register_entity("protector:display", { + physical = false, + collisionbox = {0, 0, 0, 0, 0, 0}, + visual = "wielditem", + -- wielditem seems to be scaled to 1.5 times original node size + visual_size = {x = 1.0 / 1.5, y = 1.0 / 1.5}, + textures = {"protector:display_node"}, + timer = 0, + + on_step = function(self, dtime) + + self.timer = self.timer + dtime + + -- remove after 5 seconds + if self.timer > 5 then + self.object:remove() + end + end, +}) + + +-- Display-zone node, Do NOT place the display as a node, +-- it is made to be used as an entity (see above) + +local x = protector_radius +minetest.register_node("protector:display_node", { + tiles = {"protector_display.png"}, + use_texture_alpha = true, + walkable = false, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + -- sides + {-(x+.55), -(x+.55), -(x+.55), -(x+.45), (x+.55), (x+.55)}, + {-(x+.55), -(x+.55), (x+.45), (x+.55), (x+.55), (x+.55)}, + {(x+.45), -(x+.55), -(x+.55), (x+.55), (x+.55), (x+.55)}, + {-(x+.55), -(x+.55), -(x+.55), (x+.55), (x+.55), -(x+.45)}, + -- top + {-(x+.55), (x+.45), -(x+.55), (x+.55), (x+.55), (x+.55)}, + -- bottom + {-(x+.55), -(x+.55), -(x+.55), (x+.55), -(x+.45), (x+.55)}, + -- middle (surround protector) + {-.55,-.55,-.55, .55,.55,.55}, + }, + }, + selection_box = { + type = "regular", + }, + paramtype = "light", + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, + drop = "", +}) diff --git a/mods/protector/intllib.lua b/mods/protector/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/mods/protector/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/mods/protector/license.txt b/mods/protector/license.txt new file mode 100644 index 0000000..fec6f6a --- /dev/null +++ b/mods/protector/license.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 TenPlus1 + +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/protector/locale/de.po b/mods/protector/locale/de.po new file mode 100644 index 0000000..5f8a695 --- /dev/null +++ b/mods/protector/locale/de.po @@ -0,0 +1,196 @@ +# German translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Xanthin , 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Entferne Störschützer von bestimmten Namen in der Nähe von Spielern (trenne " +"Namen durch Leerzeichen)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "Ersetze Besitzer der Störschützer mit neuem Besitzer" + +#: admin.lua +msgid " " +msgstr " " + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "Ersetze Besitzer der Störschützer von '@1' mit '@2'" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "Zeige geschützte Bereiche der Störschützer in der Nähe" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Störschutznamen zum Entfernen: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Namensliste zurückgesetzt" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Geschützte Holztür" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Geschützte Stahltür" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Geschützte Falltür" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Geschützte Stahlfalltür" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Geschützte Truhe" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 verlagert Dinge in geschützte Truhe bei @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 nimmt Dinge aus geschützter Truhe bei @2" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 verschiebt Dinge innerhalb der geschützten Truhe bei @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Zur Truhe" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Zum Inventar" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Geschützte Truhe (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Störschutz-Interface --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "SCHLAGE Node, um geschützten Bereich anzuzeigen oder" + +#: init.lua +msgid "USE for area check" +msgstr "BENUTZE für Bereichsprüfung" + +#: init.lua +msgid "Members:" +msgstr "Mitglieder:" + +#: init.lua +msgid "Close" +msgstr "Schließen" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Störschutz befindet sich bei: @1" + +#: init.lua +msgid "Members: @1." +msgstr "Mitglieder: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Dieser Bereich ist nicht geschützt." + +#: init.lua +msgid "You can build here." +msgstr "Du kannst hier bauen." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "Überlappung im geschützen Bereich eines Spielers" + +#: init.lua +msgid "Protection Block" +msgstr "Störschutzblock" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Störschutz (gehört @1)" + +#: init.lua +msgid "Protection Logo" +msgstr "Störschutzlogo" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo geladen" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "Spawn @1 ist geschützt mit einem Radius von @2 Blöcke." + +#: init.lua +msgid "This area is owned by @1" +msgstr "Dieser Bereich gehört @1" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "on_punchplayer wurde durch \"nil objects\" aufgerufen" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "pvp_protect ist nicht aktiv, aktualisiere deine Minetestversion" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "pvp_protect ist ausgeschaltet" + +#: hud.lua +msgid "Owner: @1" +msgstr "Besitzer: @1" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" +"Störschutz Platzier-Werkzeug (stehe neben Störschutz, schaue in die " +"gewünschte Richtung und anwenden)" + +#: tool.lua +msgid "Protector already in place!" +msgstr "Störschutz is bereits platziert!" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "Keine Störschützer mehr im Inventar!" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Störschutz befindet sich bei: @1" diff --git a/mods/protector/locale/fr.po b/mods/protector/locale/fr.po new file mode 100644 index 0000000..c2fce21 --- /dev/null +++ b/mods/protector/locale/fr.po @@ -0,0 +1,198 @@ +# French translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Doloment, 2017. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Retirer les protecteurs près des joueurs avec les noms fournis (noms séparés " +"avec des espaces)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Noms de protecteurs à supprimer: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Liste de noms réinitialiser" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Porte en bois protégée" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Porte en acier protégée" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Trappe protégé" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Trap en acier protégé" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Coffre protégé" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 déplace des objets vers le coffre protégée à @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 prend des objets du coffre protégée à @2" + +#: doors_chest.lua +#, fuzzy +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 déplace des objets à l'intérieur de du coffre protégé à @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Vers le coffre" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Vers l'inventaire" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Coffre protégé (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Interface Protector --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "TAPÉ le bloc pour afficher la zone protégée" + +#: init.lua +msgid "USE for area check" +msgstr "UTILISER pour vérifier la zone" + +#: init.lua +msgid "Members:" +msgstr "Membres:" + +#: init.lua +msgid "Close" +msgstr "Fermer" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Protection située à: @1" + +#: init.lua +msgid "Members: @1." +msgstr "Membres: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Cette zone n'est pas protégée." + +#: init.lua +msgid "You can build here." +msgstr "Vous pouvez construire ici." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "Vous chevauché une zone protégé." + +#: init.lua +msgid "Protection Block" +msgstr "Bloc de protection" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Protection (détenue par @1)" + +#: init.lua +msgid "Protection Logo" +msgstr "Logo de protection" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo chargé" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +#, fuzzy +msgid "This area is owned by @1" +msgstr "Cette zone appartient à @1!" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Protector] on_punchplayer appelé avec des objets nil" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "" +"[Protector] pvp_protect est désactivé, mettez à jour votre version de " +"Minetest" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Protector] pvp_protect est désactivé" + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Protection située à: @1" diff --git a/mods/protector/locale/ru.po b/mods/protector/locale/ru.po new file mode 100644 index 0000000..149082f --- /dev/null +++ b/mods/protector/locale/ru.po @@ -0,0 +1,197 @@ +# Russian translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Doloment, 2017. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Удалить защиту рядом с игроками (перечислить имена, разделяя пробелами)" + +#: admin.lua +msgid "" +msgstr "<список имён>" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "Заменить владельца защиты новым владельцем" + +#: admin.lua +msgid " " +msgstr "<имя владельца> <имя нового владельца>" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "Заменяется владелец защиты с '@1' на '@2'" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "Показать защищенные территории с ближней защитой" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Имена защит, подлежащих удалению: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Сброс списка имен" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Защищенная яблоневая дверь" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Защищенная стальная дверь" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Защищенный яблоневый люк" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Защищенный стальной люк" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Защищенный сундук" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 перемещает вещи в защищенный сундук на координатах @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 берет вещи из защищенного сундука на координатах @2" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 перемещает вещи внутри защищенного сундука на координатах @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "В сундук" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "В инвентрарь" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Защищенный сундук (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Настройка защиты --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "СТУКНУТЬ узел для подсведки защищенной территории" + +#: init.lua +msgid "USE for area check" +msgstr "ЛКМ для проверки защищенной территории" + +#: init.lua +msgid "Members:" +msgstr "Участники:" + +#: init.lua +msgid "Close" +msgstr "Закрыть" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Защита находится на координатах @1" + +#: init.lua +msgid "Members: @1." +msgstr "Участники: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Территория свободна." + +#: init.lua +msgid "You can build here." +msgstr "Здесь можно ставить блоки." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" +"Защитный блок не может быть установлен: пересечение с областями, защищенными " +"другими игроками" + +#: init.lua +msgid "Protection Block" +msgstr "Защитный блок" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Защита игрока @1" + +#: init.lua +msgid "Protection Logo" +msgstr "Защитный знак" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Модификация \"Переделанная Защита\" загружена" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "Спаун @1 защищен в радиусе @2 блока." + +#: init.lua +msgid "This area is owned by @1" +msgstr "Эта территория пренадлежит @1" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Защита] on_punchplayer вызвана с нулевыми объектами" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "[Защита] pvp_protect не активен, обновите версию Minetest" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Защита] pvp_protect отключен" + +#: hud.lua +msgid "Owner: @1" +msgstr "Владелец: @1" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" +"Инструмент установки защиты (станьте рядом с защитой, повернитесь в нужное " +"направление и используйте)" + +#: tool.lua +msgid "Protector already in place!" +msgstr "Защита уже установлена!" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "У вас нет защитных блоков в инвентаре!" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Защита находится на координатах @1" diff --git a/mods/protector/locale/template.pot b/mods/protector/locale/template.pot new file mode 100644 index 0000000..f8e095b --- /dev/null +++ b/mods/protector/locale/template.pot @@ -0,0 +1,191 @@ +# Template for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Xanthin , 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "" + +#: admin.lua +msgid "Name List Reset" +msgstr "" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "To Chest" +msgstr "" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "" + +#: init.lua +msgid "-- Protector interface --" +msgstr "" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "" + +#: init.lua +msgid "USE for area check" +msgstr "" + +#: init.lua +msgid "Members:" +msgstr "" + +#: init.lua +msgid "Close" +msgstr "" + +#: init.lua +msgid "Protection located at: @1" +msgstr "" + +#: init.lua +msgid "Members: @1." +msgstr "" + +#: init.lua +msgid "This area is not protected." +msgstr "" + +#: init.lua +msgid "You can build here." +msgstr "" + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" + +#: init.lua +msgid "Protection Block" +msgstr "" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "" + +#: init.lua +msgid "Protection Logo" +msgstr "" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +msgid "This area is owned by @1" +msgstr "" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "" + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "" diff --git a/mods/protector/locale/tr.po b/mods/protector/locale/tr.po new file mode 100644 index 0000000..d77f9c0 --- /dev/null +++ b/mods/protector/locale/tr.po @@ -0,0 +1,195 @@ +# Turkish translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# mahmutelmas06, 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Ismi verilen oyuncuların yanındaki korumaları kaldır. (İsimleri boşlukla " +"ayır)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Silinecek korumaların isimleri: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "İsim listesini sıfırla" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Korumalı ahşap kapı" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Korumalı çelik kapı" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Korumalı tuzak kapısı" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Korumalı çelik tuzak kapısı" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Korumalı sandık" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 korumalı sandığa birşeyler koydu @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 korumalı sandıktan birşeyler aldı @2" + +#: doors_chest.lua +#, fuzzy +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 korumalı sandığa içinde bir şeyler taşındı @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Sandığa" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Envantere" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Korumalı sandık (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "Korunan alanı göstermek için yumruk" + +#: init.lua +msgid "USE for area check" +msgstr "Bölge kontrolü için kullan" + +#: init.lua +msgid "Members:" +msgstr "Üyeler" + +#: init.lua +msgid "Close" +msgstr "Kapat" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Korumanın bulunduğu yer @1" + +#: init.lua +msgid "Members: @1." +msgstr "Üyeler @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Bu alan korumalı değildir." + +#: init.lua +msgid "You can build here." +msgstr "Buraya inşaa edebilirsiniz." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" + +#: init.lua +msgid "Protection Block" +msgstr "Koruma kutusu" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Koruma (@1 sahibidir)" + +#: init.lua +msgid "Protection Logo" +msgstr "Koruma arması" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo yüklendi" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +msgid "This area is owned by @1" +msgstr "Burasının sahibi @1!" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Protector] on_punchplayer boş objelerle çağrıldı" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "[Protector] pvp_protect aktif değil, Minetest sürümünüzü güncelleyin." + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Protector] pvp_protect kapatıldı." + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Korumanın bulunduğu yer @1" diff --git a/mods/protector/lucky_block.lua b/mods/protector/lucky_block.lua new file mode 100644 index 0000000..59c52c1 --- /dev/null +++ b/mods/protector/lucky_block.lua @@ -0,0 +1,18 @@ + +-- add lucky blocks + +if minetest.get_modpath("lucky_block") then + + lucky_block:add_blocks({ + {"dro", {"protector:protect"}, 3}, + {"dro", {"protector:protect2"}, 3}, + {"dro", {"protector:door_wood"}, 1}, + {"dro", {"protector:door_steel"}, 1}, + {"exp", 5, true}, + {"dro", {"protector:trapdoor"}, 1}, + {"dro", {"protector:trapdoor_steel"}, 1}, + {"dro", {"protector:tool"}, 1}, + {"dro", {"protector:chest"}, 1}, + {"exp"}, + }) +end diff --git a/mods/protector/mod.conf b/mods/protector/mod.conf new file mode 100644 index 0000000..8eb0aa8 --- /dev/null +++ b/mods/protector/mod.conf @@ -0,0 +1 @@ +name = protector \ No newline at end of file diff --git a/mods/protector/pvp.lua b/mods/protector/pvp.lua new file mode 100644 index 0000000..0efb62a --- /dev/null +++ b/mods/protector/pvp.lua @@ -0,0 +1,72 @@ + +local S = protector.intllib + +-- get static spawn position +local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoint")) + or {x = 0, y = 2, z = 0} + +-- is spawn protected +local protector_spawn = tonumber(minetest.settings:get("protector_spawn") + or minetest.settings:get("protector_pvp_spawn")) or 0 + +-- is night-only pvp enabled +local protector_night_pvp = minetest.settings:get_bool("protector_night_pvp") + +-- disables PVP in your own protected areas +if minetest.settings:get_bool("enable_pvp") +and minetest.settings:get_bool("protector_pvp") then + + if minetest.register_on_punchplayer then + + minetest.register_on_punchplayer(function(player, hitter, + time_from_last_punch, tool_capabilities, dir, damage) + + if not player + or not hitter then + print(S("[Protector] on_punchplayer called with nil objects")) + end + + if not hitter:is_player() then + return false + end + + -- no pvp at spawn area + local pos = player:get_pos() + + if pos.x < statspawn.x + protector_spawn + and pos.x > statspawn.x - protector_spawn + and pos.y < statspawn.y + protector_spawn + and pos.y > statspawn.y - protector_spawn + and pos.z < statspawn.z + protector_spawn + and pos.z > statspawn.z - protector_spawn then + return true + end + + -- do we enable pvp at night time only ? + if protector_night_pvp then + + -- get time of day + local tod = minetest.get_timeofday() or 0 + + if tod > 0.2 and tod < 0.8 then + -- + else + return false + end + end + + -- is player being punched inside a protected area ? + if minetest.is_protected(pos, hitter:get_player_name()) then + return true + end + + return false + + end) + else + print(S("[Protector] pvp_protect not active, update your version of Minetest")) + + end +else + print(S("[Protector] pvp_protect is disabled")) +end diff --git a/mods/protector/screenshot.png b/mods/protector/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..641c5f2ef965091ffe4e17f924820576fb418c0b GIT binary patch literal 12165 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 Hu0mjfI~%Xv literal 0 HcmV?d00001 diff --git a/mods/protector/textures/license.txt b/mods/protector/textures/license.txt new file mode 100644 index 0000000..8798df4 --- /dev/null +++ b/mods/protector/textures/license.txt @@ -0,0 +1,30 @@ + +following Textures created by Fernando Zapata (CC BY-SA 3.0): + doors_wood.png + doors_wood_a.png + doors_wood_b.png + doors_brown.png + +following Textures created by BlockMen (WTFPL): + doors_trapdoor.png + +following textures created by celeron55 (CC BY-SA 3.0): + doors_trapdoor_side.png + +following textures created by PilzAdam (WTFPL): + doors_steel.png + doors_steel_a.png + doors_steel_b.png + doors_grey.png + doors_trapdoor_steel.png + doors_trapdoor_steel_side.png + +following textures by Cisoun (WTFPL): + default_chest_front.png + default_chest_side.png + default_chest_top.png + +following textures by TenPlus1 (CC BY-SA 3.0): + protector_logo.png + protector_display.png + protector_overlay.png diff --git a/mods/protector/textures/protector_display.png b/mods/protector/textures/protector_display.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7ec7d9bbdc91afbe420c129496082762a756f1 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>Ygr+Ar_~T_o)5+Z_muy!0Kf@ tY2|-=VdmC^D-D6nZoCd>dsEUg89v-+70_Ja_!y{#!PC{xWt~$(698Yh8(07U literal 0 HcmV?d00001 diff --git a/mods/protector/textures/protector_logo.png b/mods/protector/textures/protector_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f6f51bf4ebc7b91a725e6eaa5ca4c7bac98232 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUy?yr<0~3Q^fbYBob62ij zv2pYIa~IA$eDa|0`4SVL8pe_!zhDN3XE)M-90gAo#}JO|$q5R45*r*O6ITYbRdY^R jsL`T#Na}!t9s|Rhb4>3pFnezSs%7wW^>bP0l+XkKcs?!v literal 0 HcmV?d00001 diff --git a/mods/protector/textures/protector_overlay.png b/mods/protector/textures/protector_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..00261da0c46091aaf5a4bc106e3913480edf9aa6 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr_~T6C^SYbR5Z32+U^& z0pX>32?tY+6lW(kB#B?R)4=8wx5!grlF))?1%Z>E>{m(;9$;o*6=IQFtW 1.2 then + vec.y = gap -- up + elseif pit < -1.2 then + vec.y = -gap -- down + elseif dir == 0 then + vec.z = gap -- north + elseif dir == 1 then + vec.x = gap -- east + elseif dir == 2 then + vec.z = -gap -- south + elseif dir == 3 then + vec.x = -gap -- west + end + + -- new position + pos.x = pos.x + vec.x + pos.y = pos.y + vec.y + pos.z = pos.z + vec.z + + -- does placing a protector overlap existing area + if not protector.can_dig(r * 2, pos, user:get_player_name(), true, 3) then + + minetest.chat_send_player(name, + "Overlaps into above players protected area") + + return + end + + -- does a protector already exist ? + if #minetest.find_nodes_in_area( + vector.subtract(pos, 1), vector.add(pos, 1), + {"protector:protect", "protector:protect2"}) > 0 then + + minetest.chat_send_player(name, "Protector already in place!") + return + end + + -- do we have protectors to use ? + local nod + local inv = user:get_inventory() + + if not inv:contains_item("main", "protector:protect") + and not inv:contains_item("main", "protector:protect2") then + minetest.chat_send_player(name, "No protectors available to place!") + return + end + + -- take protector (block first then logo) + if inv:contains_item("main", "protector:protect") then + + inv:remove_item("main", "protector:protect") + nod = "protector:protect" + + elseif inv:contains_item("main", "protector:protect2") then + + inv:remove_item("main", "protector:protect2") + nod = "protector:protect2" + end + + -- place protector + minetest.set_node(pos, {name = nod, param2 = 1}) + + -- set protector metadata + local meta = minetest.get_meta(pos) + + meta:set_string("owner", name) + meta:set_string("infotext", "Protection (owned by " .. name .. ")") + + -- copy members across if holding sneak when using tool + if user:get_player_control().sneak then + meta:set_string("members", members) + else + meta:set_string("members", "") + end + + minetest.chat_send_player(name, + "Protector placed at " .. minetest.pos_to_string(pos)) + + end, +}) + +-- tool recipe +minetest.register_craft({ + output = "protector:tool", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "protector:protect", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + } +}) diff --git a/mods/screwdriver/README.txt b/mods/screwdriver/README.txt new file mode 100644 index 0000000..14c073e --- /dev/null +++ b/mods/screwdriver/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: screwdriver +============================== +See license.txt for license information. + +License of source code +---------------------- +Originally by RealBadAngel, Maciej Kasatkin (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +License of media (textures) +--------------------------- +Created by Gambit (CC BY-SA 3.0): + screwdriver.png diff --git a/mods/screwdriver/init.lua b/mods/screwdriver/init.lua new file mode 100644 index 0000000..7fe64a6 --- /dev/null +++ b/mods/screwdriver/init.lua @@ -0,0 +1,172 @@ +screwdriver = {} + +screwdriver.ROTATE_FACE = 1 +screwdriver.ROTATE_AXIS = 2 +screwdriver.disallow = function(pos, node, user, mode, new_param2) + return false +end +screwdriver.rotate_simple = function(pos, node, user, mode, new_param2) + if mode ~= screwdriver.ROTATE_FACE then + return false + end +end + +-- For attached wallmounted nodes: returns true if rotation is valid +-- simplified version of minetest:builtin/game/falling.lua#L148. +local function check_attached_node(pos, rotation) + local d = minetest.wallmounted_to_dir(rotation) + local p2 = vector.add(pos, d) + local n = minetest.get_node(p2).name + local def2 = minetest.registered_nodes[n] + if def2 and not def2.walkable then + return false + end + return true +end + +screwdriver.rotate = {} + +local facedir_tbl = { + [screwdriver.ROTATE_FACE] = { + [0] = 1, [1] = 2, [2] = 3, [3] = 0, + [4] = 5, [5] = 6, [6] = 7, [7] = 4, + [8] = 9, [9] = 10, [10] = 11, [11] = 8, + [12] = 13, [13] = 14, [14] = 15, [15] = 12, + [16] = 17, [17] = 18, [18] = 19, [19] = 16, + [20] = 21, [21] = 22, [22] = 23, [23] = 20, + }, + [screwdriver.ROTATE_AXIS] = { + [0] = 4, [1] = 4, [2] = 4, [3] = 4, + [4] = 8, [5] = 8, [6] = 8, [7] = 8, + [8] = 12, [9] = 12, [10] = 12, [11] = 12, + [12] = 16, [13] = 16, [14] = 16, [15] = 16, + [16] = 20, [17] = 20, [18] = 20, [19] = 20, + [20] = 0, [21] = 0, [22] = 0, [23] = 0, + }, +} + +screwdriver.rotate.facedir = function(pos, node, mode) + local rotation = node.param2 % 32 -- get first 5 bits + local other = node.param2 - rotation + rotation = facedir_tbl[mode][rotation] or 0 + return rotation + other +end + +screwdriver.rotate.colorfacedir = screwdriver.rotate.facedir + +local wallmounted_tbl = { + [screwdriver.ROTATE_FACE] = {[2] = 5, [3] = 4, [4] = 2, [5] = 3, [1] = 0, [0] = 1}, + [screwdriver.ROTATE_AXIS] = {[2] = 5, [3] = 4, [4] = 2, [5] = 1, [1] = 0, [0] = 3} +} + +screwdriver.rotate.wallmounted = function(pos, node, mode) + local rotation = node.param2 % 8 -- get first 3 bits + local other = node.param2 - rotation + rotation = wallmounted_tbl[mode][rotation] or 0 + if minetest.get_item_group(node.name, "attached_node") ~= 0 then + -- find an acceptable orientation + for i = 1, 5 do + if not check_attached_node(pos, rotation) then + rotation = wallmounted_tbl[mode][rotation] or 0 + else + break + end + end + end + return rotation + other +end + +screwdriver.rotate.colorwallmounted = screwdriver.rotate.wallmounted + +-- Handles rotation +screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses) + if pointed_thing.type ~= "node" then + return + end + + local pos = pointed_thing.under + local player_name = user and user:get_player_name() or "" + + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) + return + end + + local node = minetest.get_node(pos) + local ndef = minetest.registered_nodes[node.name] + if not ndef then + return itemstack + end + -- can we rotate this paramtype2? + local fn = screwdriver.rotate[ndef.paramtype2] + if not fn and not ndef.on_rotate then + return itemstack + end + + local should_rotate = true + local new_param2 + if fn then + new_param2 = fn(pos, node, mode) + else + new_param2 = node.param2 + end + + -- Node provides a handler, so let the handler decide instead if the node can be rotated + if ndef.on_rotate then + -- Copy pos and node because callback can modify it + local result = ndef.on_rotate(vector.new(pos), + {name = node.name, param1 = node.param1, param2 = node.param2}, + user, mode, new_param2) + if result == false then -- Disallow rotation + return itemstack + elseif result == true then + should_rotate = false + end + elseif ndef.on_rotate == false then + return itemstack + elseif ndef.can_dig and not ndef.can_dig(pos, user) then + return itemstack + end + + if should_rotate and new_param2 ~= node.param2 then + node.param2 = new_param2 + minetest.swap_node(pos, node) + minetest.check_for_falling(pos) + end + + if not (creative and creative.is_enabled_for and + creative.is_enabled_for(player_name)) then + itemstack:add_wear(65535 / ((uses or 200) - 1)) + end + + return itemstack +end + +-- Screwdriver +minetest.register_tool("screwdriver:screwdriver", { + description = "Screwdriver (left-click rotates face, right-click rotates axis)", + inventory_image = "screwdriver.png", + groups = {tool = 1}, + on_use = function(itemstack, user, pointed_thing) + screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200) + return itemstack + end, + on_place = function(itemstack, user, pointed_thing) + screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS, 200) + return itemstack + end, +}) + + +minetest.register_craft({ + output = "screwdriver:screwdriver", + recipe = { + {"default:steel_ingot"}, + {"group:stick"} + } +}) + +minetest.register_alias("screwdriver:screwdriver1", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver2", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver3", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver4", "screwdriver:screwdriver") diff --git a/mods/screwdriver/license.txt b/mods/screwdriver/license.txt new file mode 100644 index 0000000..d9b721b --- /dev/null +++ b/mods/screwdriver/license.txt @@ -0,0 +1,50 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2013-2016 RealBadAngel, Maciej Kasatkin +Copyright (C) 2013-2016 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2013-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/screwdriver/textures/screwdriver.png b/mods/screwdriver/textures/screwdriver.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a56d558b34392a3275da443c0ba32a3b4db340 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ^~o&sQRU0b$k@@HkYFhM z^5x69X=XifR^?u5D@xrjUc49=7nhrxTUlATZ{NP1>7I!|jf^Ehe!&b5&u*jvIp&@& zjv*C{$q4}o4GhZ^G@QS#WC}@<_3MBb literal 0 HcmV?d00001 diff --git a/mods/sfinv/README.txt b/mods/sfinv/README.txt new file mode 100644 index 0000000..a7ac794 --- /dev/null +++ b/mods/sfinv/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: sfinv +======================== +See license.txt for license information. + +Simple Fast Inventory. +A cleaner, simpler, solution to having an advanced inventory in Minetest. +See game_api.txt for this mod's API. +Available for use outside of MTG here: +https://forum.minetest.net/viewtopic.php?t=19765 + +Authors of source code +---------------------- +rubenwardy (MIT) diff --git a/mods/sfinv/api.lua b/mods/sfinv/api.lua new file mode 100644 index 0000000..b9ddb39 --- /dev/null +++ b/mods/sfinv/api.lua @@ -0,0 +1,178 @@ +sfinv = { + pages = {}, + pages_unordered = {}, + contexts = {}, + enabled = true +} + +function sfinv.register_page(name, def) + assert(name, "Invalid sfinv page. Requires a name") + assert(def, "Invalid sfinv page. Requires a def[inition] table") + assert(def.get, "Invalid sfinv page. Def requires a get function.") + assert(not sfinv.pages[name], "Attempt to register already registered sfinv page " .. dump(name)) + + sfinv.pages[name] = def + def.name = name + table.insert(sfinv.pages_unordered, def) +end + +function sfinv.override_page(name, def) + assert(name, "Invalid sfinv page override. Requires a name") + assert(def, "Invalid sfinv page override. Requires a def[inition] table") + local page = sfinv.pages[name] + assert(page, "Attempt to override sfinv page " .. dump(name) .. " which does not exist.") + for key, value in pairs(def) do + page[key] = value + end +end + +function sfinv.get_nav_fs(player, context, nav, current_idx) + -- Only show tabs if there is more than one page + if #nav > 1 then + return "tabheader[0,0;sfinv_nav_tabs;" .. table.concat(nav, ",") .. + ";" .. current_idx .. ";true;false]" + else + return "" + end +end + +local theme_inv = [[ + list[current_player;main;0,4.7;8,1;] + list[current_player;main;0,5.85;8,3;8] + ]] + +function sfinv.make_formspec(player, context, content, show_inv, size) + local tmp = { + size or "size[8,8.6]", + sfinv.get_nav_fs(player, context, context.nav_titles, context.nav_idx), + content + } + if show_inv then + tmp[#tmp + 1] = theme_inv + end + return table.concat(tmp, "") +end + +function sfinv.get_homepage_name(player) + return "sfinv:crafting" +end + +function sfinv.get_formspec(player, context) + -- Generate navigation tabs + local nav = {} + local nav_ids = {} + local current_idx = 1 + for i, pdef in pairs(sfinv.pages_unordered) do + if not pdef.is_in_nav or pdef:is_in_nav(player, context) then + nav[#nav + 1] = pdef.title + nav_ids[#nav_ids + 1] = pdef.name + if pdef.name == context.page then + current_idx = #nav_ids + end + end + end + context.nav = nav_ids + context.nav_titles = nav + context.nav_idx = current_idx + + -- Generate formspec + local page = sfinv.pages[context.page] or sfinv.pages["404"] + if page then + return page:get(player, context) + else + local old_page = context.page + local home_page = sfinv.get_homepage_name(player) + + if old_page == home_page then + minetest.log("error", "[sfinv] Couldn't find " .. dump(old_page) .. + ", which is also the old page") + + return "" + end + + context.page = home_page + assert(sfinv.pages[context.page], "[sfinv] Invalid homepage") + minetest.log("warning", "[sfinv] Couldn't find " .. dump(old_page) .. + " so switching to homepage") + + return sfinv.get_formspec(player, context) + end +end + +function sfinv.get_or_create_context(player) + local name = player:get_player_name() + local context = sfinv.contexts[name] + if not context then + context = { + page = sfinv.get_homepage_name(player) + } + sfinv.contexts[name] = context + end + return context +end + +function sfinv.set_context(player, context) + sfinv.contexts[player:get_player_name()] = context +end + +function sfinv.set_player_inventory_formspec(player, context) + local fs = sfinv.get_formspec(player, + context or sfinv.get_or_create_context(player)) + player:set_inventory_formspec(fs) +end + +function sfinv.set_page(player, pagename) + local context = sfinv.get_or_create_context(player) + local oldpage = sfinv.pages[context.page] + if oldpage and oldpage.on_leave then + oldpage:on_leave(player, context) + end + context.page = pagename + local page = sfinv.pages[pagename] + if page.on_enter then + page:on_enter(player, context) + end + sfinv.set_player_inventory_formspec(player, context) +end + +minetest.register_on_joinplayer(function(player) + if sfinv.enabled then + sfinv.set_player_inventory_formspec(player) + end +end) + +minetest.register_on_leaveplayer(function(player) + sfinv.contexts[player:get_player_name()] = nil +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "" or not sfinv.enabled then + return false + end + + -- Get Context + local name = player:get_player_name() + local context = sfinv.contexts[name] + if not context then + sfinv.set_player_inventory_formspec(player) + return false + end + + -- Was a tab selected? + if fields.sfinv_nav_tabs and context.nav then + local tid = tonumber(fields.sfinv_nav_tabs) + if tid and tid > 0 then + local id = context.nav[tid] + local page = sfinv.pages[id] + if id and page then + sfinv.set_page(player, id) + end + end + else + -- Pass event to page + local page = sfinv.pages[context.page] + if page and page.on_player_receive_fields then + return page:on_player_receive_fields(player, context, fields) + end + end +end) diff --git a/mods/sfinv/init.lua b/mods/sfinv/init.lua new file mode 100644 index 0000000..cfb664f --- /dev/null +++ b/mods/sfinv/init.lua @@ -0,0 +1 @@ +--dofile(minetest.get_modpath("sfinv") .. "/api.lua") diff --git a/mods/sfinv/license.txt b/mods/sfinv/license.txt new file mode 100644 index 0000000..e27dc85 --- /dev/null +++ b/mods/sfinv/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2016-2018 rubenwardy + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/shields/LICENSE.txt b/mods/shields/LICENSE.txt new file mode 100644 index 0000000..316bc89 --- /dev/null +++ b/mods/shields/LICENSE.txt @@ -0,0 +1,8 @@ +[mod] Shields [shields] +======================= + +License Source Code: Copyright (C) 2013-2017 Stuart Jones - LGPL v2.1 + +License Textures: Copyright (C) 2017 davidthecreator - CC-BY-SA 3.0 + +https://github.com/daviddoesminetest/3d-armors-new-textures diff --git a/mods/shields/README.txt b/mods/shields/README.txt new file mode 100644 index 0000000..5a72097 --- /dev/null +++ b/mods/shields/README.txt @@ -0,0 +1,16 @@ +[mod] Shields [shields] +======================= + +Adds shields to 3d_armor + +Depends: 3d_armor + +Originally a part of 3d_armor, shields have been re-included as an optional extra. +If you do not what shields then simply remove the shields folder from the modpack. + +Shields Configuration +--------------------- + +Override the following default settings by adding them to your minetest.conf file. + +shields_disable_sounds = false diff --git a/mods/shields/crafting_guide.txt b/mods/shields/crafting_guide.txt new file mode 100644 index 0000000..9b61dde --- /dev/null +++ b/mods/shields/crafting_guide.txt @@ -0,0 +1,36 @@ +Shields -- Crafting Guide +-------------------------- + ++---+---+---+ +| X | X | X | ++---+---+---+ +| X | X | X | ++---+---+---+ +| | X | | ++---+---+---+ + +[shields:shield_wood] X = [default:wood] +[shields:shield_cactus] X = [default:cactus] +[shields:shield_steel] X = [default:steel_ingot] +[shields:shield_bronze] X = [default:bronze_ingot] +[shields:shield_diamond] X = [default:diamond] +[shields:shield_gold] X = [default:gold_ingot] +[shields:shield_mithril] X = [moreores:mithril_ingot] +[shields:shield_crystal] X = [ethereal:crystal_ingot] + +Enhanced Shields +---------------- + ++---+ +| S | ++---+ +| X | ++---+ +| S | ++---+ + +[shields:shield_enhanced_wood] X = [shields:shield_wood] +[shields:shield_enhanced_cactus] X = [shields:shield_cactus] + +S = [default:steel_ingot] + diff --git a/mods/shields/depends.txt b/mods/shields/depends.txt new file mode 100644 index 0000000..585cc7a --- /dev/null +++ b/mods/shields/depends.txt @@ -0,0 +1,2 @@ +default +3d_armor diff --git a/mods/shields/description.txt b/mods/shields/description.txt new file mode 100644 index 0000000..cb378bb --- /dev/null +++ b/mods/shields/description.txt @@ -0,0 +1 @@ +Adds visible shields to 3d armor. diff --git a/mods/shields/init.lua b/mods/shields/init.lua new file mode 100644 index 0000000..ad3ff9a --- /dev/null +++ b/mods/shields/init.lua @@ -0,0 +1,235 @@ +local S = function(s) return s end +if minetest.global_exists("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + S = intllib.make_gettext_pair() + else + -- Old method using text files. + S = intllib.Getter() + end +end + +local disable_sounds = minetest.settings:get_bool("shields_disable_sounds") +local use_moreores = minetest.get_modpath("moreores") +local function play_sound_effect(player, name) + if not disable_sounds and player then + local pos = player:getpos() + if pos then + minetest.sound_play(name, { + pos = pos, + max_hear_distance = 10, + gain = 0.5, + }) + end + end +end + +if minetest.global_exists("armor") and armor.elements then + table.insert(armor.elements, "shield") + local mult = armor.config.level_multiplier or 1 + armor.config.level_multiplier = mult * 0.9 +end + +-- Regisiter Shields +--[[ +armor:register_armor("shields:shield_admin", { + description = S("Admin Shield"), + inventory_image = "shields_inv_shield_admin.png", + groups = {armor_shield=1000, armor_heal=100, armor_use=0, not_in_creative_inventory=1}, +}) + +minetest.register_alias("adminshield", "shields:shield_admin") +--]] +if armor.materials.wood then + armor:register_armor("shields:shield_wood", { + description = S("Wooden Shield"), + inventory_image = "shields_inv_shield_wood.png", + groups = {armor_shield=1, armor_heal=0, armor_use=2000, flammable=1}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_wood_footstep") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_wood_footstep") + end, + }) + armor:register_armor("shields:shield_enhanced_wood", { + description = S("Enhanced Wood Shield"), + inventory_image = "shields_inv_shield_enhanced_wood.png", + groups = {armor_shield=1, armor_heal=0, armor_use=2000}, + armor_groups = {fleshy=8}, + damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=2}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_dig_metal") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_dug_metal") + end, + }) + minetest.register_craft({ + output = "shields:shield_enhanced_wood", + recipe = { + {"default:steel_ingot"}, + {"shields:shield_wood"}, + {"default:steel_ingot"}, + }, + }) +end + +if armor.materials.cactus then + armor:register_armor("shields:shield_cactus", { + description = S("Cactus Shield"), + inventory_image = "shields_inv_shield_cactus.png", + groups = {armor_shield=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_wood_footstep") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_wood_footstep") + end, + }) + armor:register_armor("shields:shield_enhanced_cactus", { + description = S("Enhanced Cactus Shield"), + inventory_image = "shields_inv_shield_enhanced_cactus.png", + groups = {armor_shield=1, armor_heal=0, armor_use=1000}, + armor_groups = {fleshy=8}, + damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=2}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_dig_metal") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_dug_metal") + end, + }) + minetest.register_craft({ + output = "shields:shield_enhanced_cactus", + recipe = { + {"default:steel_ingot"}, + {"shields:shield_cactus"}, + {"default:steel_ingot"}, + }, + }) +end + +if armor.materials.steel then + armor:register_armor("shields:shield_steel", { + description = S("Steel Shield"), + inventory_image = "shields_inv_shield_steel.png", + groups = {armor_shield=1, armor_heal=0, armor_use=800, + physics_speed=-0.03, physics_gravity=0.03}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_dig_metal") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_dug_metal") + end, + }) +end + +if armor.materials.bronze then + armor:register_armor("shields:shield_bronze", { + description = S("Bronze Shield"), + inventory_image = "shields_inv_shield_bronze.png", + groups = {armor_shield=1, armor_heal=6, armor_use=400, + physics_speed=-0.03, physics_gravity=0.03}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_dig_metal") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_dug_metal") + end, + }) +end + +if armor.materials.diamond then + armor:register_armor("shields:shield_diamond", { + description = S("Diamond Shield"), + inventory_image = "shields_inv_shield_diamond.png", + groups = {armor_shield=1, armor_heal=12, armor_use=200}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_glass_footstep") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_break_glass") + end, + }) +end + +if armor.materials.gold then + armor:register_armor("shields:shield_gold", { + description = S("Gold Shield"), + inventory_image = "shields_inv_shield_gold.png", + groups = {armor_shield=1, armor_heal=6, armor_use=300, + physics_speed=-0.04, physics_gravity=0.04}, + armor_groups = {fleshy=10}, + damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_dig_metal") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_dug_metal") + end, + }) +end + +if armor.materials.mithril then + armor:register_armor("shields:shield_mithril", { + description = S("Mithril Shield"), + inventory_image = "shields_inv_shield_mithril.png", + groups = {armor_shield=1, armor_heal=12, armor_use=100}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_glass_footstep") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_break_glass") + end, + }) +end + +if armor.materials.crystal then + armor:register_armor("shields:shield_crystal", { + description = S("Crystal Shield"), + inventory_image = "shields_inv_shield_crystal.png", + groups = {armor_shield=1, armor_heal=12, armor_use=100, armor_fire=1}, + armor_groups = {fleshy=15}, + damage_groups = {cracky=2, snappy=1, level=3}, + reciprocate_damage = true, + on_damage = function(player, index, stack) + play_sound_effect(player, "default_glass_footstep") + end, + on_destroy = function(player, index, stack) + play_sound_effect(player, "default_break_glass") + end, + }) +end + +for k, v in pairs(armor.materials) do + minetest.register_craft({ + output = "shields:shield_"..k, + recipe = { + {v, v, v}, + {v, v, v}, + {"", v, ""}, + }, + }) +end diff --git a/mods/shields/textures/preview_index.txt b/mods/shields/textures/preview_index.txt new file mode 100644 index 0000000..4408c61 --- /dev/null +++ b/mods/shields/textures/preview_index.txt @@ -0,0 +1,11 @@ +shields/textures/shields_shield_wood.png:shield +shields/textures/shields_shield_enhanced_wood.png:shield +shields/textures/shields_shield_cactus.png:shield +shields/textures/shields_shield_enhanced_cactus.png:shield +shields/textures/shields_shield_steel.png:shield +shields/textures/shields_shield_bronze.png:shield +shields/textures/shields_shield_gold.png:shield +shields/textures/shields_shield_diamond.png:shield +shields/textures/shields_shield_mithril.png:shield +shields/textures/shields_shield_crystal.png:shield +shields/textures/shields_shield_admin.png:shield diff --git a/mods/shields/textures/shields_inv_shield_admin.png b/mods/shields/textures/shields_inv_shield_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0637e70e3dadde17df535c182299500633ca6d GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFl*!&%@FSu>8rk9V|gAZ zl;-K;7{YPg_MD?&gMxtD!=;QO4;F~}9O@A?XmUHiA;qYiz_O>}I9JMtmpygubIX5+ zKUsXHxL53|R7p$r1)+WI%EuVzaR|F5%@pj|k)(L3&Ett|rw02bv5n$f3vR}wD5LrqppB{}t`Q|Ei6yC4$wjF^iowXh&|KHhK-bVX#L&XZ#N5i*T-(6V l%D`ZgiQ)tl4Y~O#nQ4`{H5|^IsRPu&;OXk;vd$@?2>>7@jZy#r literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_bronze.png b/mods/shields/textures/shields_inv_shield_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..af47896d4c940bec4f4cde1a5ab0f710ceac56c5 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF|yJZ07&~ literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_cactus.png b/mods/shields/textures/shields_inv_shield_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..d5c9ae43cddd6d1354c49e149c67ceec081dd00a GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFiad8=Yc{co-U3d9M_W*8W`PD6_XW{ z1zFj|E(%<9*e<}x7WTPk+f3u-QU)7Vm6vQOU8ZGVu&R7ZX^9WZD#P{5l|QHmbgZgq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}oV{>f-Ln{M= iO(u#HP&DM`r(~v8;?{6DbEXbZ1B0ilpUXO@geCx8RfqZj literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_crystal.png b/mods/shields/textures/shields_inv_shield_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb73db65bb857eb0adabe8eac804940e4e7eaa6 GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFb|fr9KMp1!W^54m`S^i|)lu{;kH zO7nDa4B@zLd(Kg?K|#Rn;ZjDC2Ma`f4)q8cG`St%kYZF$VA)e~oGazS%bvRSx#hpZ zpDaF8+$(lfs-z|Rg3!Kp;Q&_>k~*NBpo#FA92@O1TaS?83{1OQKijI#g$ literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_diamond.png b/mods/shields/textures/shields_inv_shield_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..0e79d974a9368e8a9d2a06e4fbbda37773e13322 GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFVvL z|NlqV|6dHh-!go7%<$|c!}Ze)=Z-KO*~zeBIm41!4Ac7sZ*Gvu0P1Bd3GxeO zaCmkj4a7O=u<5X=vX`mo`iKnkC`$H~XA$`^NYb?(L zh0;7-978y++n#e2Y)}wzd$^QQh z@F$DU6!(f|?bKl3B(_nUYhljXuQluo z|EoV?6G~B=5M@*!1GG`K#5JNMC9x#cD!C{XNHG{07@F%E8t57thZtH|nV4G{n`;{w mS{WE@GEtm>q9HdwB{QuOw}!)+Gj)I(7(8A5T-G@yGywqXw~%@O literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_enhanced_cactus.png b/mods/shields/textures/shields_inv_shield_enhanced_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..c5dc4d077eaf3d4ce13290a25358fea3acdfa49b GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF@$Yg9>IX^PHK`sfLoQw+ebx7CEYAalvOQfKLpZJ{Cp0j+xjL%4D!MYV zxh0E>Ckv-DvZ-DEvZ=2xjg`&q`lnBux>5`lui3MQRpaTbIKET{*GrCBcN&P&%vT$93<}wdT3A|Hrn0a;SjWIH@1UHB+lvVeKxl*!&%@F zSu>8rk9V|gAZl7{YNqIiZ2kP0`iSRne7^ z%}qEtT|p=z!HAc&DS?&E?fR7sTehSum{REugxmqAOm%d0O<0zwnVOjJE@4v%y{L2G zfP#?Jv}vz6Oazz6YcR7MdMn!|;C&~EMd6yJ^uafx2@XsQx8y{Z`ad}n542RZ#5JNM zC9x#cD!C{XNHG{07@F%E8t57thZtH|nV4G{n`;{wS{WE@GEtm>q9HdwB{QuOw}!)+ SGj)I(7(8A5T-G@yGywonU3}#L literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_gold.png b/mods/shields/textures/shields_inv_shield_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..d0bd02783bb7cce8a26bb710698026d2a9819250 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF_!@hljQC0!qCAg>jC6&7I;J!GcfQS0b$0e z+I-SLLG}_)Usv{rT)aa1s_)lWo(Br~db&7aN)S{P-O!OZVbWyoDGL`hO&!X(gqQG(;Zwnmo;a~K%@ z9OgE5ZB_XWG+4F7HKHUXu_V literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_mithril.png b/mods/shields/textures/shields_inv_shield_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..a55fb00481b7df08cd131460df79e669059e70e7 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF}ZU`ZlH*-%oIPM0>+XczhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O-s2naJy z)#j513bL1Y`ns||=T>Yz_bb literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_steel.png b/mods/shields/textures/shields_inv_shield_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..54176327fc99b15abf6c0616c12129f575d61be3 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7x0Qr;B5V#`)ff8~K_IcwFLF zd5E4mG;Qkp$IYK=*W8Sl;9lOr=)CaDHtYQ=R_Yr2zgpc|gBTZ@Emdd}<6e#3UUuEUE7zi0JV|KOg`%*`d@tMf%~ z-pP<-526m#{B#M3&bHzeJNAIVqCQC4`hlOk^)j8JLyOdX&G22WQ% Jmvv4FO#mz^gqHvS literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_inv_shield_wood.png b/mods/shields/textures/shields_inv_shield_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..407533f521d14853aaf4afaae646037a90c52951 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF`gbex8*5j=`>{xLJBGYmeqS!<9N~M3~O3?V6({^o=I&29nO2Eg!{N-CIzSB! Mp00i_>zopr0Hy?l<^TWy literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_admin.png b/mods/shields/textures/shields_shield_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..764c3bb198852a208c276f88dbdeef4c705fa227 GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsMa9BC&cyt|NoT?W&gdO z{m*#)zw+HjhP&4pP99^}yP0A2N`^%X7-mmk=;>f+YhvL>4nJ@ErkR#;MwT(m+A>5>H=O_J>@&Li(!j*I1qh z3Ke_0IEGl9PEJr@kzjRPvVb9v^;DBXLX*4W1R(*9$AJ^1xL6!3M5Zidbkve#ef!iQ zpw0bY51&HD@x=*GeH3Oix*uE@>aanmzv=Ss#sqOW*79=<2Q%+*Nj!PSbWqlYOXBIh zz18It8TlEGwlW;nkYEjAWZ0mrHsSjLrC&hnRZCnWN>UO_QmvAUQh^kMk%6JPuAzah zp>c?zg_Vi9m9e?DfuWUw!6p;M2`CzJ^HVa@DsgK#oH;izz0Pp*7{lJp469c%ELy-YdjdmG2SZyULtPa^1yJ#Zs@O`PHl~sw zzhDN2vdL#HfIP+|Z+92Q|4h2~fE@M`PhVH|hg`fu`l|2OSe^$8<$Jm~hIkx*d(o2b zumO)t;KZOU`rr5GCf%5IXeP_c!{LGt-XF6}?)f?K&K~wvyXGJFWRm|PBxlkg$HW`N z;@><+;nIQ>50e$FM!Zq2PR;igTuLa(Fqy$@#qDza4jXTr@S4jZ3mf0)hS;&hKR2s? z%c*jewRPR3hu48ttCqM%l%ynUftDnm{r-UW|j5m+* literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_bronze.png b/mods/shields/textures/shields_shield_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a35612e0b9f3eb4ff9b7893507b6d4a54f73d8 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$b|fr9KMp1!W^54m`S^i|)lu{;kHiu81G46!(!oS?vDz$Gw2H0a3kwu=D)fgS-I z{Y=WLg6^uSd(<>mJ}^CK;BoR~YXg(0=q&AkL(3Z+BTP(80tEd7xVV`Z?O1z`IW!z+ zV`H1Z$+I{?B!HcPVX`*2alu}nC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6T#esDwp literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_bronze_preview.png b/mods/shields/textures/shields_shield_bronze_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..39424715017fe0f56e58da0271faec31bd856d7a GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIm# zbdl|m1f2`@UdJ;{fFiAVreZ)jrjj7PUjaa-yiI}uJcnC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6VLt#n%e literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_cactus.png b/mods/shields/textures/shields_shield_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..889ac9433c079b1f3f439dc30e9cfb8294eba5b4 GIT binary patch literal 455 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%t+C&cyt|Np0U)@JMq zi{0$yH`UIq-Qw=0HQvqk{#{N%{UBNWLtfrM#f&9Ee!&b5&u*lFI7!~_E({&4vK~MV zXMsm#F#`kN5fEmas?8@26l5>)^mS!_$i*w9uljzC<$0h`qo<2wh{fsT1O*m}sjWS& zJ+2}JS_y)@g1jZ%f(KSMT(w!8`|Qk0wjH7?%1gGCE_<}CDRA%NwTqLL< zIFrM`?8A|x8WOBa7#QX&Dr(+-bXNlC7}XNjh?11Vl2ohYqEsNoU}Ruuu4`zZYiJx| wXkleyZe?t)ZD43+V6e$VaRQ2l-29Zxv`X9>4rk8P0cv3IboFyt=akR{0JbBJTL1t6 literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_cactus_preview.png b/mods/shields/textures/shields_shield_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..1b46f1e5bbcab9c284771a6b2a40cc87b843c76d GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI#As4TZzUuommgj*&?Vc`tPq28LD!2AfP2C!lD^%}>cptHiD0aOO-Mpaup{S3j3^P6HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsMa9BC&cyt|NjixZDITV zmz?_FcI7|AieC&1Uo*_U$1wRUL(gG`jvWm3OBt$WF%(Z=$mswowi1oV1?pui3GxeO zaCmkj4a7O=u<5X=vX`mo`iKnkC`$H~XA$`^NYb?(L zg^E30978NlCnqSdNU%CCS-_CTdaB7Gp~>BGf{=j5(WzJ2Nt z(B^)yhfg8n_~L}8J_<7$-4Ct{b=V-(-*kC*V}iIGYxy~bgPC`@B%ZuuIw)(yCGqs$ z-sgTe~DWM4fPDYJn literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_crystal_preview.png b/mods/shields/textures/shields_shield_crystal_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc632ef16ee6c59ddf17c796d0587b8295df70b GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!3-pQ0$S$)DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C%fh@Ck7R(*OVeXUJ{~ z+xNfZ)c>|C{~1>NVp#Z^VfHLW ze!&b3Ws}cZ0C|i_-tI1p|Cw~}0Xgg?p1!W^54m`S^i|)lu{;kH%J+0}4DmSr_M#=< zVFMnQz==Uy^uO=VO}a7b&`g$>hr_YwNm653d8QRxNRjC`m~yNwrEYN(E93Mh1rFx`qb2hQ=X=7FH(aR>tPq28LD! j2AfP2C!lD^%}>cptHiD0aOO-Mpaup{S3j3^P6HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsMa9BC&cyt|NjhKEnfe> z=l}oF_5T;c@3#ye9y2_<$#DHN!?`02M|Lu7SkACy7Q^&DhMrcS;+q>}GJtv+OM?7@ z862M7NCR<_yxm;OkH}&M2EHR8%s5q>PZ}u5UgGKN%KngxS4dy={Tj>j zK%rt!7sn8b)5!@6EE24aOBOKXv7TyjNN93*oFF8i@i=gT6c>wQg~*hpjE-7ztZ$z> z1hlyy?BP?$IKDXHsgJ^pM)!m3LLD{;^*3GK-IyRQ$69`l;b7(+E{P}am=4O?a7jG9 zx3{`{A|pS;(N>1T8WOA_j0_u;)h2vDp!5r9y=sYTL`h0wNvc(HQ7VvPFfuSS*EKZI zH8c(}w6HQUw=y=@HZZg@FxX_GH~~dNZhlH;S|x4`hcjpD05vdpy85}Sb4q9e02`!{ AD*ylh literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_diamond_preview.png b/mods/shields/textures/shields_shield_diamond_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..87fd958b7701beb9d54373ebce532ba20e5c47ea GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!3-pQ0$S$)DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C%fh@Ck7R(*OVeXXtA2 z`u{!u|BtT!zZibMW%%%z;n_`w>!%sc9bq`KlVQVhh9$EYruQ-Qv;q|?bh)hpYGW!1 z@(X5QD4TrN0?1=b@^*J&{LiF&56EFJ@$_|Nf5^ovq_6sZjpccuP`;;&V~EG`w-+t> z4jb^e1WpXvqW^t=Zqkiehi0<8JRC0g;QcYnePI1!KH+f43inmR@^Sv@38U439q>vvas=uZipRA{ByJV zx11_hSzFgldUzdZwQ7lLL`h0wNvc(HQ7VvPFfuSS*EKZIH8c(}w6HQUw=y=@HZZg@ kFxX_GH~~dNZhlH;S|x4`hcjpD05vdpy85}Sb4q9e0POdX@c;k- literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_enhanced_cactus.png b/mods/shields/textures/shields_shield_enhanced_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..13884ff1f0cc761832e2bd175394db7e6c08f6d2 GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%k(C&cyt|Nq_H-SzeL z%a<>oJ9n;kv;EymYy7*Mg8D&HcMWRQfGQbFg8YIR9G=}s196hP-CYD4S+d0=geVQtIvO;vq)alzFY&>MTcTNM-0?wB|?mS>K zSs=4t`SR&g-XEeESu`sSFSOZfBQd|}!j%gf5^VAqShsW<%dt8&IW>7T?N}?py0}4v zfkCTCPNdXAa|h4`swJ)wB`Jv|saDBFsX&Us$iUEC*U&)M&^W}gTe~DWM4f^FE8e literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_enhanced_cactus_preview.png b/mods/shields/textures/shields_shield_enhanced_cactus_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d8227a83b817f57234f68f1a6006b688bbba240f GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIEwlsKW ztmw|>aB{e@c2VuKGn#E2qKUGyZ|ACNFuj$P4W78ACA4G#Cqrn6!fZjlkPD4j8Lrjt z+FfD_8m@)z?yl}!n;fDdqpG+jNh-AOZd2gY(ALzJ)K=V*P*E?^z{p^eqc-IQv(6r% zD^yEdBT7;dOH!?pi&B9UgOP!uxvrssuAy;=p@o%+xs|cGwt=CQfx#vd#R(`Ha`RI% Y(<*UmIGj0C2dII;)78&qol`;+0PvN4iU0rr literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_enhanced_wood.png b/mods/shields/textures/shields_shield_enhanced_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..64f533159f4b72859687573db0ccc865b16218ee GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%k(C&cyt|NpJ6t@ZWw zGiT21@9(cl^{&hG%Z+v}PH+QCxut&J4OGck666=m;PC858iv zL>4nJ@ErkR#;MwT(m+A>5>H=O_J>@&Li(!j*I1qh3YB}hIEGl9PEJr@k!TfR6$Rn~ zZ3DwHHl;gUGklyI6(Sh7bFN#Nn3;L9VvWIjjrSV)2a{W~BO;E) zt1In}nn6cP+tQ_0k2p0a*nhmiz;fuVY}=0~k`i}=SUzYa1ehJtKYzgEKtrGbR|h-8 zt!JW3dHoai0iB>);u=wsl30>zm0Xkxq!^4049#^74Rj5SLkumfOw6r}&4Es`GBDU= hqBsFXLvDUbW?Cg~4Tm#l>Hsw`c)I$ztaD0e0svy~iQxbM literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_enhanced_wood_preview.png b/mods/shields/textures/shields_shield_enhanced_wood_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..97ca37856922b308e5035c6b57d0016541754455 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI^Xy@VtH=xvu>8rk9V|gAZRPX8H7-DfcIYEMTaRY|}2WtVNVyd#La;maxOT%h! z4gp1$mb;f46pjikR9d66ch4Rc&+g-A`ew=oPu$Y7bounaw}{I*O&iIZd1nHeutI&>67;#PGiDP%m->CjSG(xKMy>Te(e8w2lc zIn_;hrwxHlQ7v(eC`m~yNwrEYN(E93Mh1rFx`qb2hQ=X=7FH(aR>tPq28LD!2AfP2 fC!lD^%}>cptHiD0aOO-Mpaup{S3j3^P6HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$yGIHyZwdlM+*+jtfC?B(g8YIR9G=}s196hP-CYeBtXzVfQy@n(T=s}m_x&H zHa4~ioIHyYL;~0u7$$3T8yD<#`vbH@wZt`|BqgyV)hf9t6-Y4{85o-D8XD*t8iyEK vSeckx8JlYx7+M(^Y%)=tfTAHcKP5A*61RrKnKN~O8W=oX{an^LB{Ts5#*%T5 literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_gold_preview.png b/mods/shields/textures/shields_shield_gold_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..103e0bc2810fe1ba14b3598f6a633a1880501813 GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIwDtQukgNmr10{lAW(#9Gy6QC98*b`sf zLoQw+ebx7CEYAal50zBLpMZRTZ1DURTCatW@OiwotzwkgNrW8g+afJYvZ!#XN ztMUW)+H)OXU^w+&cr%OIfqtN6swJ)wB`Jv|saDBFsX&Us$iUEC*U&)M&^W}gTe~DWM4fK~r|7 literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_mithril.png b/mods/shields/textures/shields_shield_mithril.png new file mode 100644 index 0000000000000000000000000000000000000000..2e14503a30bd1f6db09b740a74dc650c3a1acc18 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%$@ z2b=FG2s;|%up21iD>KCpsDQB~$S;_|;n|He5GTpo-G!lpRn`N@;VkfoEM{QfI|9Ot zQ?>b|fr9KMp1!W^54m`S^i|)lu{;kHiu81G46!(!oS?vDz$Gw2H0a3kwu=D)fgS-I z{Y=WLg6^uSd(<>mJ}^CK;BoR~YXg(0=q&AkL(3Z+BTP(80tEd7xVV`Z?O1z`IW!z+ zV`H1Z$+I{?B!HcPVX`*2alu}nC}Q!>*kacel7Ia3Fyfx*+&&t;ucLK6TPL5 z#dCkK`Hq6HqcIM~IqW5#zOL*K zxp;;2Ro}0%JP#B~^mK6yu{fQaAi=u0fkT0V^#qes*9j(vd7A_ScoZKjNm;UHNsr2d zoHbG@IX#OG-4JnY4c=5(pfRgqrRGVdV<(uJw6ZcYJ>5L~!ULI@QWzD*6#`to$#}4? z$`9OY&vk%-;naKK%`9pM`hk|ImbgZgq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}o qV{>f-Ln{M=O(u#HP&DM`r(~v8;?{6DbEXbZ1B0ilpUXO@geCx|igZo@ literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_steel.png b/mods/shields/textures/shields_shield_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..22ddb07c3e6a4bd72a410d1914e2c3b48e13251b GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2%>XrflN}QY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWsFo?o+ueoXe|!I#{XiaP zfk$L90|Va?5N4dJ%_j{MWH0gbb!C6Z#Ve$*`hJb&d7#iLPZ!6Kh{JEM81l6!2(&(w zPugT?R<>ncKL3%QIWKc~RKyu$2X)G?u>O83orRRt`xS(hYTgho#K6KJBy4cqYciL|)QOFqI~_Y23_dX~P`_@O@#wwu%y~Ll|AZHulV&`{ z%@E!Y!4`Hbty*!yk6r(ncNOpS@UNSBz^*wv?Bq{=hCBajeSfok2)Xxzhc|(NS>gZ# zn?Zw_^n;B$waq1oen3~NmbgZgq$HN4S|t~y0x1R~14DCNLjzqy;}Am&D-&}oV{>f- mLn{M=O(u#HP&DM`r(~v8;?{6DbEXbZ1B0ilpUXO@geCwSFo|mb literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_steel_preview.png b/mods/shields/textures/shields_shield_steel_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..96fbf9a0bee9a201b8bba8bf9efb4fd5c001b1a6 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!2%>Nw(nI1QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIH2c@VS8Oa7>K0w)eS5%wXYqMXxlKB;T(4Ch09~wF;u=ws zl30>zm0Xkxq!^4049#^74Rj5SLkumfOw6r}&9w~-tqcq{nJ7*`(U6;;l9^VCTf^bZ RnL0oX44$rjF6*2UngCJ4i&6jp literal 0 HcmV?d00001 diff --git a/mods/shields/textures/shields_shield_wood.png b/mods/shields/textures/shields_shield_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..129f9f046f55e5bb1c447d401445dae29663646c GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1qWs8%AtC&cyt|Nn9RmdU}k zxzWzW32s%X-gTLNK*89vGmin)FqQ=Q1v5B2yO9RsBze2LFm$lWdH^|`1s;*b3=Din zK$vl=HlH+5kiEpy*OmPt7q5`M>iad8=Yc{co-U3d7N_4%NEB^Q;9+ZIx#eKksKm*@ z{Xk>EntGOW20PvZA17CD->dnxbz9k%&9bwa3J5ghHY)!@Fv1jbJd54;mk zCA5chO1xQcpRqcFJ8R*gQr784oiA7zJzI7xtWWLZW>aZop7evG#Oi+~!_`z_=~7$U zXrTS7C9V-ADTyViR>?)FK#IZ0z|dUR&_LJFIKB*-tAfuU^jSqmVKG0EHAh4DX=?mZxfy~NYk zmHimKEFykq&QvEiw%H zQ^cTGuU^TrYE{TDL7Tk+*>_)rofdB?E!)(0u)}b@&>44yTarf{ZFr6eaO`~|?2=S| z<$6K^=YfO;i@o`o4VBk*F-n+!J>aM_`xJu@za_`l#y`K8?iOYXlb#*4Uw#456{;n! z5hW>!C8<`)MX5lF!N|bST-VS**U&h`(89{Z+{)No+rZGuz+jV!;sg{8x%nxXX_dG& U9L}7n1JuCa>FVdQ&MBb@0DHZK8~^|S literal 0 HcmV?d00001 diff --git a/mods/shop/.gitignore b/mods/shop/.gitignore new file mode 100755 index 0000000..1377554 --- /dev/null +++ b/mods/shop/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/mods/shop/README.md b/mods/shop/README.md new file mode 100644 index 0000000..17f9aa0 --- /dev/null +++ b/mods/shop/README.md @@ -0,0 +1,2 @@ +# shop +License GPL3 diff --git a/mods/shop/depends.txt b/mods/shop/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/shop/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/shop/init.lua b/mods/shop/init.lua new file mode 100644 index 0000000..53fdb05 --- /dev/null +++ b/mods/shop/init.lua @@ -0,0 +1,310 @@ +-- `Shop' mod for Minetest/DCBL +-- Copyright 2017 James Stevenson +-- Licensed GNU General Public License 3 +-- (Or higher, as you please.) +-- minetest.net + +local output = function(name, message) + minetest.chat_send_player(name, message) +end + +local function get_shop_formspec(pos, p) + local meta = minetest.get_meta(pos) + local spos = pos.x.. "," ..pos.y .. "," .. pos.z + local formspec = + "size[8,7]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "label[0,1;Item]" .. + "label[3,1;Cost]" .. + "button[0,0;2,1;ok;Buy]" .. + "button_exit[3,0;2,1;exit;Exit]" .. + "button[6,0;2,1;stock;Stock]" .. + "button[6,1;2,1;register;Register]" .. + "button[0,2;1,1;prev;<]" .. + "button[1,2;1,1;next;>]" .. + "list[nodemeta:" .. spos .. ";sell" .. p .. ";1,1;1,1;]" .. + "list[nodemeta:" .. spos .. ";buy" .. p .. ";4,1;1,1;]" .. + "list[current_player;main;0,3.25;8,4;]" + return formspec +end + +local formspec_register = + "size[8,9]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "label[0,0;Register]" .. + "list[current_name;register;0,0.75;8,4;]" .. + "list[current_player;main;0,5.25;8,4;]" .. + "listring[]" + +local formspec_stock = + "size[8,9]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "label[0,0;Stock]" .. + "list[current_name;stock;0,0.75;8,4;]" .. + "list[current_player;main;0,5.25;8,4;]" .. + "listring[]" + +minetest.register_privilege("shop_admin", { + description = "Shop administration and maintainence", + give_to_singleplayer = false, + give_to_admin = true, +}) + +minetest.register_node("shop:shop", { + description = "Shop", + tiles = { + "shop_shop_topbottom.png", + "shop_shop_topbottom.png", + "shop_shop_side.png", + "shop_shop_side.png", + "shop_shop_side.png", + "shop_shop_front.png", + }, + groups = {choppy = 3, oddly_breakable_by_hand = 1}, + paramtype2 = "facedir", + after_place_node = function(pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + meta:set_string("pos", pos.x .. "," .. pos.y .. "," .. pos.z) + local owner = placer:get_player_name() + + meta:set_string("owner", owner) + meta:set_string("infotext", "Shop (Owned by " .. owner .. ")") + meta:set_string("formspec", get_shop_formspec(pos, 1)) + meta:set_string("admin_shop", "false") + meta:set_int("pages_current", 1) + meta:set_int("pages_total", 1) + + local inv = meta:get_inventory() + inv:set_size("buy1", 1) + inv:set_size("sell1", 1) + inv:set_size("stock", 8*4) + inv:set_size("register", 8*4) + end, + on_skeleton_key_use = function(pos, player) + if not minetest.check_player_privs(player, "shop_admin") then + return + end + local meta = minetest.get_meta(pos) + if meta:get_string("admin_shop") == "false" then + output(player:get_player_name(), "Enabling infinite stocks in shop.") + meta:set_string("admin_shop", "true") + elseif meta:get_string("admin_shop") == "true" then + output(player:get_player_name(), "Disabling infinite stocks in shop.") + meta:set_string("admin_shop", "false") + end + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + local node_pos = minetest.string_to_pos(meta:get_string("pos")) + local owner = meta:get_string("owner") + local inv = meta:get_inventory() + local pg_current = meta:get_int("pages_current") + local pg_total = meta:get_int("pages_total") + local s = inv:get_list("sell" .. pg_current) + local b = inv:get_list("buy" .. pg_current) + local stk = inv:get_list("stock") + local reg = inv:get_list("register") + local player = sender:get_player_name() + local pinv = sender:get_inventory() + local admin_shop = meta:get_string("admin_shop") + + if fields.next then + if pg_total < 32 and + pg_current == pg_total and + player == owner and + not (inv:is_empty("sell" .. pg_current) or inv:is_empty("buy" .. pg_current)) then + inv:set_size("buy" .. pg_current + 1, 1) + inv:set_size("sell" .. pg_current + 1, 1) + meta:set_string("formspec", get_shop_formspec(node_pos, pg_current + 1)) + meta:set_int("pages_current", pg_current + 1) + meta:set_int("pages_total", pg_current + 1) + elseif pg_total > 1 then + if inv:is_empty("sell" .. pg_current) and inv:is_empty("buy" .. pg_current) then + if pg_current == pg_total then + meta:set_int("pages_total", pg_total - 1) + else + for i = pg_current, pg_total do + inv:set_list("buy" .. i, inv:get_list("buy" .. i + 1)) + inv:set_list("sell" .. i, inv:get_list("sell" .. i + 1)) + inv:set_list("buy" .. i + 1, nil) + inv:set_list("sell" .. i + 1, nil) + end + meta:set_int("pages_total", pg_total - 1) + pg_current = pg_current - 1 + end + end + if pg_current < pg_total then + meta:set_int("pages_current", pg_current + 1) + else + meta:set_int("pages_current", 1) + end + meta:set_string("formspec", get_shop_formspec(node_pos, meta:get_int("pages_current"))) + end + elseif fields.prev then + if pg_total > 1 then + if inv:is_empty("sell" .. pg_current) and inv:is_empty("buy" .. pg_current) then + if pg_current == pg_total then + meta:set_int("pages_total", pg_total - 1) + else + for i = pg_current, pg_total do + inv:set_list("buy" .. i, inv:get_list("buy" .. i + 1)) + inv:set_list("sell" .. i, inv:get_list("sell" .. i + 1)) + inv:set_list("buy" .. i + 1, nil) + inv:set_list("sell" .. i + 1, nil) + end + meta:set_int("pages_total", pg_total - 1) + pg_current = pg_current + 1 + end + end + if pg_current == 1 and pg_total > 1 then + meta:set_int("pages_current", pg_total) + elseif pg_current > 1 then + meta:set_int("pages_current", pg_current - 1) + end + meta:set_string("formspec", get_shop_formspec(node_pos, meta:get_int("pages_current"))) + end + elseif fields.register then + if player ~= owner and (not minetest.check_player_privs(player, "shop_admin")) then + output(player, "Only the shop owner can open the register.") + return + else + minetest.show_formspec(player, "shop:shop", formspec_register) + end + elseif fields.stock then + if player ~= owner and (not minetest.check_player_privs(player, "shop_admin")) then + output(player, "Only the shop owner can open the stock.") + return + else + minetest.show_formspec(player, "shop:shop", formspec_stock) + end + elseif fields.ok then + -- Shop's closed if not set up, or the till is full. + if inv:is_empty("sell" .. pg_current) or + inv:is_empty("buy" .. pg_current) or + (not inv:room_for_item("register", b[1])) then + output(player, "Shop closed.") + return + end + + -- Player has funds. + if pinv:contains_item("main", b[1]) then + -- Player has space for the goods. + if pinv:room_for_item("main", s[1]) then + -- There's inventory in stock. + if inv:contains_item("stock", s[1]) then + pinv:remove_item("main", b[1]) -- Take the funds. + inv:add_item("register", b[1]) -- Fill the till. + inv:remove_item("stock", s[1]) -- Take one from the stock. + pinv:add_item("main", s[1]) -- Give it to the player. + elseif admin_shop == "true" then + pinv:remove_item("main", b[1]) + inv:add_item("register", b[1]) + pinv:add_item("main", s[1]) + else + output(player, "Shop is out of inventory!") + end + else + output(player, "You're all filled up!") + end + else + output(player, "Not enough credits!") -- 32X. + end + end + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local inv = meta:get_inventory() + local pg_current = meta:get_string("pages_current") + local s = inv:get_list("sell" .. pg_current) + local n = stack:get_name() + local playername = player:get_player_name() + if playername ~= owner and + (not minetest.check_player_privs(playername, "shop_admin")) then + return 0 + else + return stack:get_count() + end + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local playername = player:get_player_name() + if playername ~= owner and + (not minetest.check_player_privs(playername, "shop_admin"))then + return 0 + else + return stack:get_count() + end + end, + allow_metadata_inventory_move = function(pos, _, _, _, _, count, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local playername = player:get_player_name() + if playername ~= owner and + (not minetest.check_player_privs(playername, "shop_admin")) then + return 0 + else + return count + end + end, + can_dig = function(pos, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local inv = meta:get_inventory() + return player:get_player_name() == owner and + inv:is_empty("register") and + inv:is_empty("stock") and + -- FIXME Make all contents in the buy/sell lists drop as items. + inv:is_empty("buy1") and + inv:is_empty("sell1") + end, + +}) + +minetest.register_craftitem("shop:coin", { + + description = "Gold Coin", + inventory_image = "shop_coin.png", +}) + +minetest.clear_craft({recipe={{"default:gold_ingot"}}}) +minetest.register_craft({ + output = "shop:coin 9", + recipe = { + {"default:gold_ingot"}, + } +}) +---[[ +minetest.register_craft({ + output = "default:skeleton_key", + type = "shapeless", + recipe = { + "default:gold_ingot", "default:gold_ingot", + } +}) +--]] + +minetest.register_craft({ + output = "default:gold_ingot", + recipe = { + {"shop:coin", "shop:coin", "shop:coin"}, + {"shop:coin", "shop:coin", "shop:coin"}, + {"shop:coin", "shop:coin", "shop:coin"} + } +}) + +minetest.register_craft({ + output = "shop:shop", + recipe = { + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "default:gold_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + } +}) diff --git a/mods/shop/textures/shop_coin.png b/mods/shop/textures/shop_coin.png new file mode 100644 index 0000000000000000000000000000000000000000..58f2500cdc62969bde32ca01e40135c2997ac5ab GIT binary patch literal 2982 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 c!Tal literal 0 HcmV?d00001 diff --git a/mods/shop/textures/shop_shop_front.png b/mods/shop/textures/shop_shop_front.png new file mode 100644 index 0000000000000000000000000000000000000000..48354a665956005cac42cfe271d76a2a21136016 GIT binary patch literal 771 zcmV+e1N{7nP)uQa1!uIRsWY1Xel(S2_e(I|Nxf1X?`=Ts{P0LIj0v z5QT0Mc6N4^c@&s>44i!roPH0Re-W339HE05poA2kgc+BJ8>XI-p`oF|rx(DiD8a8N ztE;QWu^zLlp3t-(xUi$qx+CSd1nIa5*SsRuz8%=TBEYz-+P@>%z#-_r2g16o;=>x= z#4hN^3G2oV!NI}q#}wqr9_7d?>&O}E${Xy<59rDz>&q7J%Ngy=9P-N{?9UbN&K&B` zG49YH>(M0f&?E5C9p}<8?b0Ce(I4;8CGOM_@zNmm(v`P?=4-81*!C;Z(m*Votf;U)UtF8kg!`rtJ8;w}8*H}>T(+}zy#<2>En z-TUV|{N_Xa=sWxCJN@lD<>lq?@9&ozVTu3%010qNS#tmY3ljhU3ljkVnw%H_000Mc zNliru;07KJI|S5MVg&#I0T4+0b!u8zoTvK z(>2!G)7{zS0B0hfIG(Hy_PVFG7z-niRHpPi=WcgZXE$T-j0bWR%{`tCPt1=m@90rk z0=phd=U)AbGwXZ$X}~7|<};~y_U`Cln}wNjLP7c{r!PWG)f8C^Xg-9NbSxNDydIBN zRs*s^K{WIrW6G*`TGmt+5$aP!M>9n`3Is(b{sT_eJPM>2dQJcU002ovPDHLkV1mQ~ BZ-)Q? literal 0 HcmV?d00001 diff --git a/mods/shop/textures/shop_shop_side.png b/mods/shop/textures/shop_shop_side.png new file mode 100644 index 0000000000000000000000000000000000000000..687fa302c17866a530d6341411e4a167548e9371 GIT binary patch literal 575 zcmV-F0>J%=P)&6c5#}w?#59`Yo z@5>qN&lT^^9Q4g0@X;Od(I4*A5%JO>_0uHr)gbiMBJ|ZJ^VcEu)+hJaC-vAZ_1Y!) z*)I0mDfina_S-J^+c5UsEcx6t_}wn|-zWUtF81Li`rj`5-ZlE*H22~y{NgwE zH2vc|{N_Xa=sW%GJDG1$MF0Q*32;bRa{vGf6951U69E94oEQKA00(qQO+^Rb1|AMO zJ7O_UH~;_u@kvBMR2b6@&dFkeFcd)1$6&xmI?t`OGNqvk7zK84l);>dL%%cLwDmaa1PT_vs!qe{q9i7buh)xw|IfctH+-WBnJ@j3T?DA>P^Od}qI zo*Vk%4B<)&#=PldGIayr^(dIC8g|~-^wSLk9vg!c(Hhf1Y7jIX{0Df|B*Lgv96ta6 N002ovPDHLkV1ntQ0*L?s literal 0 HcmV?d00001 diff --git a/mods/shop/textures/shop_shop_topbottom.png b/mods/shop/textures/shop_shop_topbottom.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9438a80dd96bbedf843b4724791d6c8744713f GIT binary patch literal 534 zcmV+x0_pvUP)H2vc|`{y+L=0p7GJN@lDM8>~l00009a7bBm000XU000XU z0RWnu7ytkO2XskIMF-#p9uEOIs8pI-0002#Nkl4Cz@`U2Bm36lRZIMe=oORH)ZBgy2)(I$4_Zb00wUsD;x=!XX_t+i|MOUQJ zwaL1YaULR&vYuuUr&W3J#TVCsT#~k(S$fUcN1r$r?0O+vCGs>5`^Y<4fL&c?O&Ldw zhur<7VExWAJ##;BoxlrD2(MBw=Gw=j?f9PKQZQBj?A&+z%?W%S8(<;g{)OTW4T9zY YAN8#swt1Br8vp + 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/sneak_jump/README b/mods/sneak_jump/README new file mode 100644 index 0000000..469f6e7 --- /dev/null +++ b/mods/sneak_jump/README @@ -0,0 +1,13 @@ +Minetest Sneak Jump Mod + +Allows to sneak jump while player is holding the Use key (default [E]) only. +Adds (optional) stamina. Stamina drain and fill rates are configurable, as well +as sprinting speed, jump height, and gravity. Check settingtypes.txt for the +configuration parameters, or look in the Advanced Settings tab in Minetest. + +When not sprinting, `new_move` is on and `sneak_glitch` is disabled. Sprinting +inverts these two physics overrides, allowing sneak jumping using the old move +code. + +License: LGPL 2.1+ +sneak_jump_eat.ogg is: hunger_eat.ogg - BlockMen (CC-BY 3.0) diff --git a/mods/sneak_jump/init.lua b/mods/sneak_jump/init.lua new file mode 100644 index 0000000..c7e7016 --- /dev/null +++ b/mods/sneak_jump/init.lua @@ -0,0 +1,536 @@ +-- Modified Physics (sneak_jump) +-- By James Stevenson (c) 2018 +-- GNU GPL v3 + +local regen_delay = 3 +local hunger_delay = 3.1 + +-- Make a sound on item pickup. +local old_on_step = minetest.registered_entities["__builtin:item"].on_step +minetest.registered_entities["__builtin:item"].on_step = function(self, dtime) + for _, o in ipairs(minetest.get_objects_inside_radius(self.object:get_pos(), 1)) do + local pq = o:is_player() and o:get_meta():get("class") ~= "node" + if pq then + local i = o:get_inventory() + if i and self.itemstring ~= "" and self.age > 1 then + local s = i:add_item("main", self.itemstring) + if s and not s:is_empty() then + self:set_item(s) + break + end + minetest.sound_play({name = "sneak_jump_item", gain = 0.033}, { + object = self.object, + max_hear_distance = 4, + pitch = 0.9, + }) + self.itemstring = "" + self.object:remove() + return + end + end + end + old_on_step(self, dtime) +end +minetest.registered_entities["__builtin:item"].on_punch = function(self, hitter) + if hitter:get_meta():get("class") == "node" then + return + end + local i = hitter:get_inventory() + if i and self.itemstring ~= "" then + local s = i:add_item("main", self.itemstring) + if s and not s:is_empty() then + self:set_item(s) + return + end + end + minetest.sound_play("sneak_jump_item", { + object = self.object, + max_hear_distance = 4, + gain = 0.033, + pitch = 0.9, + }) + self.itemstring = "" + self.object:remove() +end + +sneak_jump = {} +sneak_jump.sprinting = {} +sneak_jump.sneaking = {} +sneak_jump.meters = {} + +local pitch_table = { + [1] = 0.98, + [2] = 0.99, + [3] = 1, + [4] = 1.01, + [5] = 1.034, + [6] = 1.05, + [7] = 1.06, + [8] = 1.09, + [9] = 1.12, +} + +local settings = minetest.settings +local ceil = math.ceil +local floor = math.floor +local random = math.random +-- Whether player has stamina. +local stamina_drains = settings:get("sneak_jump.stamina_drains") or + settings:get("enable_damage") +stamina_drains = stamina_drains == "true" or nil +-- The rate of stamina drain while sprinting. +local drain_rate = settings:get("sneak_jump.drain_rate") or 0.075 +-- The rate of stamina fill while not sprinting. +local fill_rate = settings:get("sneak_jump.fill_rate") or 0.5 +-- Creative mode check. +local creative = settings:get("creative_mode") == "true" +-- Hunger +local hunger = settings:get("sneak_jump.hunger") or true +if hunger == "false" then + hunger = nil +end +local starve_rate = tonumber(settings:get("sneak_jump.starve_rate")) or 0.5 +local starve_timer = 0 +-- Regen +local regen_rate = tonumber(settings:get("sneak_jump.regen_rate")) or 1 +local regen_timer = 0 +-- Food governor +local eat_div = tonumber(settings:get("sneak_jump.food_governor")) or 0.5 + +-- Physics tables. +sneak_jump.default_physics = { + speed = 1, + jump = 1, + gravity = 1, + new_move = true, + sneak_glitch = false, +} +default_physics = sneak_jump.default_physics +sneak_jump.default_physics_scout = { + speed = 1.25, + jump = 1.25, + gravity = 0.95, + new_move = true, + sneak_glitch = true, +} +default_physics_scout = sneak_jump.default_physics_scout +local jump_setting = settings:get("sneak_jump.jump") or 1.25 +local modified_physics = { + speed = settings:get("sneak_jump.speed") or 1.5, + jump = jump_setting, + gravity = settings:get("gravity") or 0.95, + new_move = false, + sneak_glitch = true, +} +local modified_physics_scout = { + speed = 1.999, + jump = 1.5, + gravity = 0.89, + new_move = false, + sneak_glitch = true, +} +-- Functions +local function set_physics(player, physics_table) + player:set_physics_override(physics_table) +end + +local function eat_sound(pitch, player) + minetest.sound_play("sneak_jump_eat", { + object = player, + pitch = pitch, + }) +end + +-- Remove bubbles. +minetest.hud_replace_builtin("breath", { + hud_elem_type = "statbar", + text = "", +}) + +local function regen(player) + if not player then + return + end + if not player:get_properties() then + return minetest.after(regen_delay, regen, player) + end + local sat = player:get_meta():get_float("satiation") or 0 + local hp = player:get_hp() + local hp_max = player:get_properties().hp_max + if sat > 15 and hp ~= hp_max and hp ~= 0 then + player:set_hp(hp + 1) + end + return minetest.after(regen_delay, regen, player) +end + +local function starve(player, amount) + if not player then + return + end + local meta = player:get_meta() + local sat = meta:get_float("satiation") or 0 + sat = sat - amount + jas0.level(player, amount / 2) + if sat < 0 then + sat = 0 + end + meta:set_float("satiation", sat) + local name = player:get_player_name() + if sneak_jump.meters[name] and + sneak_jump.meters[name].satiation and + meta:get("class") ~= "node" then + player:hud_change(sneak_jump.meters[name].satiation, + "number", ceil(sat)) + end +end + +function sneak_jump.hud_update(player, repeater) + if not player then + return + end + local meta = player:get_meta() + local name = player:get_player_name() + local armor_wear_level = meta:get_int("3d_armor_wear") or 0 + if meta:get("class") == "node" then + armor_wear_level = 0 + end + if sneak_jump.meters[name] and sneak_jump.meters[name].armor then + player:hud_change(sneak_jump.meters[name].armor, + "number", ceil(armor_wear_level)) + end + if repeater then + return minetest.after(2, sneak_jump.hud_update, player, true) + end +end + +function sneak_jump.cdr(player, tbl) + if not player then + return + end + local control = player:get_player_control() + if tbl then + for i = 1, #tbl do + if control[tbl[i]] then + return true + end + end + else + return control.up or + control.down or + control.left or + control.right or + control.jumping + end +end + +local function hunger(player) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + if player:get_hp() == 0 or + player:get_meta():get("class") == "node" then + return minetest.after(hunger_delay, hunger, player) + end + if meta:get_float("satiation") < 1 then + player:set_hp(player:get_hp() - 1) + starve(player, 1) + elseif sneak_jump.cdr(player, {"LMB", "RMB"}) then + starve(player, 0.25) + elseif sneak_jump.cdr(player) then + starve(player, 0.1) + else + starve(player, 0.02) + end + return minetest.after(hunger_delay, hunger, player) +end + +local function physics(player) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + local name = player:get_player_name() + if not sneak_jump.meters[name] or + meta:get("class") == "node" then + return minetest.after(0.1, physics, player) + end + local scout = meta:get_string("class") == "scout" + local hp = player:get_hp() + if hp < 1 then + return minetest.after(0.1, physics, player) + end + local control = player:get_player_control() + local aux1 = control.aux1 + local sneaking = control.sneak + local jumping = control.jump + local sprinting = sneak_jump.sprinting[name] + local stamina = meta:get_float("stamina") + local sat = meta:get_float("satiation") + local cdr = control.up or + control.down or + control.left or + control.right or + jumping + if sat < 1 then + if stamina > 1 then + stamina = stamina - drain_rate + end + elseif aux1 and not sprinting and cdr then + if stamina_drains and stamina > 1 or + not stamina_drains then + if scout then + set_physics(player, modified_physics_scout) + else + set_physics(player, modified_physics) + end + sprinting = true + end + elseif sprinting and not aux1 or + sprinting and not cdr then + if scout then + set_physics(player, default_physics_scout) + else + set_physics(player, default_physics) + end + sprinting = false + end + if sprinting and stamina > 0 then + local new_sat = sat / 10 + if new_sat <= 0 then + new_sat = 0.1 + end + local new_drain_rate = drain_rate / new_sat + stamina = stamina - new_drain_rate + elseif sprinting and stamina < 1 then + if scout then + set_physics(player, default_physics_scout) + else + set_physics(player, default_physics) + end + elseif stamina < 20 and not sprinting then + if hunger and sat < 1 then + stamina = stamina - drain_rate + else + local new_fill_rate = fill_rate + if cdr then + new_fill_rate = fill_rate * 0.1 + end + stamina = stamina + new_fill_rate + end + end + meta:set_float("stamina", stamina) + player:hud_change(sneak_jump.meters[name].stamina, + "number", stamina) + if sneaking and not sneak_jump.sneaking[name] then + player:set_properties{makes_footstep_sound = false} + elseif sneak_jump.sneaking[name] and not sneaking then + if not scout then + player:set_properties{makes_footstep_sound = true} + end + end + sneak_jump.sprinting[name] = sprinting + sneak_jump.sneaking[name] = sneaking + return minetest.after(0.1, physics, player) +end + +minetest.register_on_newplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + --meta:set_float("stamina", 20) + meta:set_float("satiation", 20) +end) + +minetest.register_on_joinplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + if not meta then + return + end + local scout = meta:get_string("class") == "scout" + if scout then + set_physics(player, default_physics_scout) + else + set_physics(player, default_physics) + end + local name = player:get_player_name() + sneak_jump.sneaking[name] = false + sneak_jump.meters[name] = {} + + -- Add armor HUD statbar. + local armor_wear = meta:get_int("3d_armor_wear") or 0 + local class = meta:get("class") + sneak_jump.meters[name]["armor"] = player:hud_add({ + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + text = "sneak_jump_armor_sb.png", + number = armor_wear, + direction = 0, + size = {x = 24, y = 21}, + offset = {x = 25, y = -(48 + 46 + 16)}, + }) + + -- Add stamina HUD statbar. + meta:set_float("stamina", 20) + local stam = 20 + if player:get_hp() == 0 or + class == "node" then + stam = 0 + end + sneak_jump.meters[name]["stamina"] = player:hud_add({ + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + text = "sneak_jump_stamina_sb.png", + number = stam, + direction = 0, + size = {x = 24, y = 24}, + offset = {x = 25, y = -(48 + 24 + 16)}, + }) + local sat = meta:get_float("satiation") + if class == "node" then + sat = 0 + end + --[[ + if not sat then + meta:set_float("satiation", 20) + sat = 20 + end + --]] + local offset = {x = (-10 * 24) - 25, y = -(48 + 24 + 40)} + if settings:get("enable_damage") == "false" then + offset.y = -(48 + 24 + 16) + end + sneak_jump.meters[name]["satiation"] = player:hud_add({ + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + text = "sneak_jump_satiation_sb.png", + number = sat, + direction = 0, + size = {x = 24, y = 24}, + offset = offset, + }) + minetest.after(0.1, hunger, player) + minetest.after(0.2, regen, player) + minetest.after(0.3, physics, player) + --minetest.after(0.4, sneak_jump.hud_update, player, true) +end) + +minetest.register_on_dieplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + local name = player:get_player_name() + meta:set_float("satiation", 0) + player:hud_change(sneak_jump.meters[name].satiation, + "number", 0) + meta:set_float("stamina", 0) + player:hud_change(sneak_jump.meters[name].stamina, + "number", 0) +end) + +minetest.register_on_respawnplayer(function(player) + if not player then + return + end + local meta = player:get_meta() + meta:set_float("satiation", 20) + meta:set_float("stamina", 20) + if meta:get("class") == "node" then + return + end + local name = player:get_player_name() + player:hud_change(sneak_jump.meters[name].satiation, + "number", 20) + player:hud_change(sneak_jump.meters[name].stamina, + "number", 20) +end) + +minetest.register_on_leaveplayer(function(player) + if not player then + return + end + local name = player:get_player_name() + sneak_jump.sprinting[name] = nil + sneak_jump.sneaking[name] = nil + sneak_jump.meters[name] = nil +end) + +minetest.register_on_item_eat(function(hp_change, + replace_with_item, itemstack, user, pointed_thing) + if not user then + return + end + local meta = user:get_meta() + if not meta then + return + end + local sat = meta:get_float("satiation") + local hp = user:get_hp() + if hp_change < 0 then + user:set_hp(hp + hp_change * 1.5) + if hp + hp_change < 1 then + eat_sound(pitch_table[random(#pitch_table)], user) + return "" + end + end + if hp_change > 0 and ceil(sat) >= 20 then + return itemstack + end + if hp + hp_change > 1 then + if hp_change > 1 then + hp_change = ceil(hp_change / eat_div) + end + sat = sat + hp_change + if sat > 20 then + sat = 20 + end + meta:set_float("satiation", sat) + local name = user:get_player_name() + user:hud_change(sneak_jump.meters[name].satiation, + "number", ceil(sat)) + end + itemstack:take_item() + eat_sound(pitch_table[random(#pitch_table)], user) + return itemstack +end) + +minetest.register_craftitem("sneak_jump:bandage", { + description = "Bandage", + inventory_image = "sneak_jump_bandage.png", + on_use = function(itemstack, user, pointed_thing) + local hp = user:get_hp() + local hp_max = user:get_properties().hp_max + if hp < hp_max then + user:set_hp(hp + 2) + if not creative then + itemstack:take_item() + end + end + return itemstack + end +}) + +minetest.register_craft({ + output = "sneak_jump:bandage", + recipe = { + {"farming:string", "farming:cotton", "farming:string"} + } +}) + +minetest.register_craft({ + output = "sneak_jump:bandage", + recipe = { + {"farming:string", "default:paper", "farming:string"} + } +}) diff --git a/mods/sneak_jump/mod.conf b/mods/sneak_jump/mod.conf new file mode 100644 index 0000000..0ddf107 --- /dev/null +++ b/mods/sneak_jump/mod.conf @@ -0,0 +1 @@ +name = sneak_jump diff --git a/mods/sneak_jump/settingtypes.txt b/mods/sneak_jump/settingtypes.txt new file mode 100644 index 0000000..18b742f --- /dev/null +++ b/mods/sneak_jump/settingtypes.txt @@ -0,0 +1,29 @@ +# Whether the player has stamina. +sneak_jump.stamina_drains (Stamina drains) bool true + +# Stamina drain rate. +sneak_jump.drain_rate (Stamina drain rate) float 0.1 + +# Stamina fill rate. +sneak_jump.fill_rate (Stamina fill rate) float 0.25 + +# Sneak jump sprint speed. +sneak_jump.speed (Sneak jump sprint speed) float 1.5 + +# Sneak jump height. +sneak_jump.jump (Sneak jump height) float 1.25 + +# Sneak jump gravity. +sneak_jump.gravity (Sneak jump gravity) float 0.95 + +# Whether player has hunger. +sneak_jump.hunger (Hunger) bool true + +# Hunger starvation rate. Lower equals faster starvation. +sneak_jump.starve_rate (Starve rate) float 0.5 + +# Heart regeneration rate. +sneak_jump.regen_rate (Regen rate) float 15.0 + +# How much to divide item eat points by. +sneak_jump.food_governor (Item eat amount limiter) float 2.0 diff --git a/mods/sneak_jump/sounds/sneak_jump_eat.ogg b/mods/sneak_jump/sounds/sneak_jump_eat.ogg new file mode 100644 index 0000000000000000000000000000000000000000..95552049fe9abe7036dfd97aa75c9b8932d28b83 GIT binary patch literal 14073 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 M4~{n!BH4le4}{uAlmGw# literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/sounds/sneak_jump_item.1.ogg b/mods/sneak_jump/sounds/sneak_jump_item.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a25a7feabd273e44b4382534f8192aec8717c0dc GIT binary patch literal 8178 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 Mr(|T1o=V_<0VfNX5dZ)H literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/sounds/sneak_jump_item.2.ogg b/mods/sneak_jump/sounds/sneak_jump_item.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3a18055a898fca91626e1171c166df8daa3237a7 GIT binary patch literal 8522 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 literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/sounds/sneak_jump_item.3.ogg b/mods/sneak_jump/sounds/sneak_jump_item.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e055703ce7d91cd52039210a1cfe04c3fb809e3d GIT binary patch literal 7611 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 HH0yr>Q6ZtE literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/sounds/sneak_jump_item.4.ogg b/mods/sneak_jump/sounds/sneak_jump_item.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..025b11cf7d6e46fb0825ad63ee26840b3a604c5d GIT binary patch literal 7983 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 Gp$Py@9^R?| literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/textures/sneak_jump_armor_sb_bg.png b/mods/sneak_jump/textures/sneak_jump_armor_sb_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..32401003a8f42a81bb123e03be086fdda348c159 GIT binary patch literal 424 zcmV;Z0ayNsP)paFLO0b(HqY%<_pLI`0NQ0n~k zCHwvUp@bUP7-M9bCb?WL_ux5z8-{!bui60Cy4YpNUw{yTSZhV!Nt3&<(k!~%@8?sq z#&Im)!CJj6b< z>&pIsO;E^8L$1#1B~VBW k39}jzopr03*;yqW}N^ literal 0 HcmV?d00001 diff --git a/mods/sneak_jump/textures/sneak_jump_satiation_sb.png b/mods/sneak_jump/textures/sneak_jump_satiation_sb.png new file mode 100644 index 0000000000000000000000000000000000000000..a5cc2a12339c1fcba9e605fb5cae51aabcefb60c GIT binary patch literal 522 zcmV+l0`>igP)pGyh%hsRCt`NlfP?IVHAd+ivNL21xFVL|C0n#xP+i^QAlWqIyfi| zNJ(|Dv}V%5Hsp#oVkM*!2m~Z0v~q__BmSVxu^J9O+YXXFK0RD zIWOP$9wae|CK~=f0DpR6MD-+cW1&hnQ0XQr+Wh>pZvIwADLRAaxBv4?74{TPENeux5e{O2973m*1$T%o?iuPB~-Xhx1 zqUJJcrcv`2GHc-ylSjtk_{=X1%2(7bphE|J$)kh(urY^PIn>IBGQ&kc_nDm%_0}w4oO^A8-asU7T M07*qoM6N<$g3~bI#FW%0JMg|)78&qol`;+08gMY*#H0l literal 0 HcmV?d00001 diff --git a/mods/spawn/README.txt b/mods/spawn/README.txt new file mode 100644 index 0000000..fc16c2a --- /dev/null +++ b/mods/spawn/README.txt @@ -0,0 +1,7 @@ +Minetest Game mod: spawn +======================== +See license.txt for license information. + +Authors of source code +---------------------- +paramat (MIT) diff --git a/mods/spawn/depends.txt b/mods/spawn/depends.txt new file mode 100644 index 0000000..548489e --- /dev/null +++ b/mods/spawn/depends.txt @@ -0,0 +1,2 @@ +default +beds? diff --git a/mods/spawn/init.lua b/mods/spawn/init.lua new file mode 100644 index 0000000..0eb126f --- /dev/null +++ b/mods/spawn/init.lua @@ -0,0 +1,154 @@ +spawn = {} + +-- Disable by mapgen, setting or if 'static_spawnpoint' is set +-------------------------------------------------------------- + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" or mg_name == "singlenode" or + minetest.settings:get("static_spawnpoint") or + minetest.settings:get_bool("engine_spawn") then + return +end + + +-- Parameters +------------- + +-- Resolution of search grid in nodes. +local res = 64 +-- Number of points checked in the square search grid (edge * edge). +local checks = 128 * 128 +-- Starting point for biome checks. This also sets the y co-ordinate for all +-- points checked, so the suitable biomes must be active at this y. +local pos = {x = 0, y = 8, z = 0} + + +-- Table of suitable biomes + +local biome_ids = { + minetest.get_biome_id("taiga"), + minetest.get_biome_id("coniferous_forest"), + minetest.get_biome_id("deciduous_forest"), + minetest.get_biome_id("grassland"), + minetest.get_biome_id("savanna"), +} + +-- End of parameters +-------------------- + + +-- Direction table + +local dirs = { + {x = 0, y = 0, z = 1}, + {x = -1, y = 0, z = 0}, + {x = 0, y = 0, z = -1}, + {x = 1, y = 0, z = 0}, +} + + +-- Initial variables + +local edge_len = 1 +local edge_dist = 0 +local dir_step = 0 +local dir_ind = 1 +local searched = false +local success = false +local spawn_pos = {} + + +--Functions +----------- + +-- Get next position on square search spiral + +local function next_pos() + if edge_dist == edge_len then + edge_dist = 0 + dir_ind = dir_ind + 1 + if dir_ind == 5 then + dir_ind = 1 + end + dir_step = dir_step + 1 + edge_len = math.floor(dir_step / 2) + 1 + end + + local dir = dirs[dir_ind] + local move = vector.multiply(dir, res) + + edge_dist = edge_dist + 1 + + return vector.add(pos, move) +end + + +-- Spawn position search + +local function search() + for iter = 1, checks do + local biome_data = minetest.get_biome_data(pos) + -- Sometimes biome_data is nil + local biome = biome_data and biome_data.biome + for id_ind = 1, #biome_ids do + local biome_id = biome_ids[id_ind] + if biome == biome_id then + local spawn_y = minetest.get_spawn_level(pos.x, pos.z) + if spawn_y then + spawn_pos = {x = pos.x, y = spawn_y, z = pos.z} + return true + end + end + end + + pos = next_pos() + end + + return false +end + + +-- On new player spawn and player respawn + +-- Search for spawn position once per server session. If successful, store +-- position and reposition players, otherwise leave them at engine spawn +-- position. + +spawn.on_spawn = function(player) + if not searched then + success = search() + searched = true + end + if success then + player:set_pos(spawn_pos) + end +end +minetest.register_chatcommand("spawn", { + description = "Return to static server spawn position!", + privs = "interact", + params = "", + func = function(name, param) + spawn.on_spawn(minetest.get_player_by_name(name)) + return true, "You are here." + end, +}) +minetest.register_on_newplayer(function(player) + spawn.on_spawn(player) +end) + +local enable_bed_respawn = minetest.settings:get_bool("enable_bed_respawn") +if enable_bed_respawn == nil then + enable_bed_respawn = true +end + +minetest.register_on_respawnplayer(function(player) + -- Avoid respawn conflict with beds mod + if beds and enable_bed_respawn and + beds.spawn[player:get_player_name()] then + return + end + + spawn.on_spawn(player) + + return true +end) diff --git a/mods/spawn/license.txt b/mods/spawn/license.txt new file mode 100644 index 0000000..a466aab --- /dev/null +++ b/mods/spawn/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2018 paramat + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/stairs/README.txt b/mods/stairs/README.txt new file mode 100644 index 0000000..26317f7 --- /dev/null +++ b/mods/stairs/README.txt @@ -0,0 +1,27 @@ +Minetest Game mod: stairs +========================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Kahrl (LGPLv2.1+) and +celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures) +--------------------------- + +Textures +-------- +Copyright (c) 2018 Shara RedCat (CC BY-SA 3.0): + Derived from a texture by PilzAdam (CC BY-SA 3.0): + stairs_obsidian_glass_outer_stairside.png + stairs_obsidian_glass_stairside.png + +Copyright (c) 2018 TumeniNodes (CC BY-SA 3.0): + Derived from a texture by celeron55 (CC BY-SA 3.0) and + converted to bright white by Krock (CC BY-SA 3.0): + stairs_glass_stairside.png + stairs_glass_split.png + Derived from a texture by PilzAdam (CC BY-SA 3.0): + stairs_obsidian_glass_split.png 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..e2ae0f5 --- /dev/null +++ b/mods/stairs/init.lua @@ -0,0 +1,927 @@ +-- Minetest 0.4 mod: stairs +-- See README.txt for licensing and other information. + + +-- Global namespace for functions + +stairs = {} + + +-- Register aliases for new pine node names + +minetest.register_alias("stairs:stair_pinewood", "stairs:stair_pine_wood") +minetest.register_alias("stairs:slab_pinewood", "stairs:slab_pine_wood") + + +-- Get setting for replace ABM + +local replace = minetest.settings:get_bool("enable_stairs_replace_abm") + +local function rotate_and_place(itemstack, placer, pointed_thing) + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local param2 = 0 + + if placer then + local placer_pos = placer:get_pos() + if placer_pos then + param2 = minetest.dir_to_facedir(vector.subtract(p1, placer_pos)) + end + + local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing) + local fpos = finepos.y % 1 + + if p0.y - 1 == p1.y or (fpos > 0 and fpos < 0.5) + or (fpos < -0.5 and fpos > -0.999999999) then + param2 = param2 + 20 + if param2 == 21 then + param2 = 23 + elseif param2 == 23 then + param2 = 21 + end + end + end + return minetest.item_place(itemstack, placer, pointed_thing, param2) +end + + +-- Register stair +-- Node will be called stairs:stair_ + +function stairs.register_stair(subname, recipeitem, groups, images, description, + sounds, worldaligntex) + -- Set backface culling and world-aligned textures + local stair_images = {} + for i, image in ipairs(images) do + if type(image) == "string" then + stair_images[i] = { + name = image, + backface_culling = true, + } + if worldaligntex then + stair_images[i].align_style = "world" + end + else + stair_images[i] = table.copy(image) + if stair_images[i].backface_culling == nil then + stair_images[i].backface_culling = true + end + if worldaligntex and stair_images[i].align_style == nil then + stair_images[i].align_style = "world" + end + end + end + local new_groups = table.copy(groups) + new_groups.stair = 1 + minetest.register_node(":stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = stair_images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5}, + {-0.5, 0.0, 0.0, 0.5, 0.5, 0.5}, + }, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + return rotate_and_place(itemstack, placer, pointed_thing) + end, + }) + + -- for replace ABM + if replace then + minetest.register_node(":stairs:stair_" .. subname .. "upside_down", { + replace_name = "stairs:stair_" .. subname, + groups = {slabs_replace = 1}, + }) + end + + if recipeitem then + -- Recipe matches appearence in inventory + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 8', + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Use stairs to craft full blocks again (1:1) + minetest.register_craft({ + output = recipeitem .. ' 3', + recipe = { + {'stairs:stair_' .. subname, 'stairs:stair_' .. subname}, + {'stairs:stair_' .. subname, 'stairs:stair_' .. subname}, + }, + }) + + -- Fuel + local baseburntime = minetest.get_craft_result({ + method = "fuel", + width = 1, + items = {recipeitem} + }).time + if baseburntime > 0 then + minetest.register_craft({ + type = "fuel", + recipe = 'stairs:stair_' .. subname, + burntime = math.floor(baseburntime * 0.75), + }) + end + end +end + + +-- Register slab +-- Node will be called stairs:slab_ + +function stairs.register_slab(subname, recipeitem, groups, images, description, + sounds, worldaligntex) + -- Set world-aligned textures + local slab_images = {} + for i, image in ipairs(images) do + if type(image) == "string" then + slab_images[i] = { + name = image, + } + if worldaligntex then + slab_images[i].align_style = "world" + end + else + slab_images[i] = table.copy(image) + if worldaligntex and image.align_style == nil then + slab_images[i].align_style = "world" + end + end + end + local new_groups = table.copy(groups) + new_groups.slab = 1 + minetest.register_node(":stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = slab_images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + local under = minetest.get_node(pointed_thing.under) + local wield_item = itemstack:get_name() + local player_name = placer and placer:get_player_name() or "" + local creative_enabled = (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) + + if under and under.name:find("^stairs:slab_") then + -- place slab using under node orientation + local dir = minetest.dir_to_facedir(vector.subtract( + pointed_thing.above, pointed_thing.under), true) + + local p2 = under.param2 + + -- Placing a slab on an upside down slab should make it right-side up. + if p2 >= 20 and dir == 8 then + p2 = p2 - 20 + -- same for the opposite case: slab below normal slab + elseif p2 <= 3 and dir == 4 then + p2 = p2 + 20 + end + + -- else attempt to place node with proper param2 + minetest.item_place_node(ItemStack(wield_item), placer, pointed_thing, p2) + if not creative_enabled then + itemstack:take_item() + end + return itemstack + else + return rotate_and_place(itemstack, placer, pointed_thing) + end + end, + }) + + -- for replace ABM + if replace then + minetest.register_node(":stairs:slab_" .. subname .. "upside_down", { + replace_name = "stairs:slab_".. subname, + groups = {slabs_replace = 1}, + }) + end + + if recipeitem then + minetest.register_craft({ + output = 'stairs:slab_' .. subname .. ' 6', + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Use 2 slabs to craft a full block again (1:1) + minetest.register_craft({ + output = recipeitem, + recipe = { + {'stairs:slab_' .. subname}, + {'stairs:slab_' .. subname}, + }, + }) + + -- Fuel + local baseburntime = minetest.get_craft_result({ + method = "fuel", + width = 1, + items = {recipeitem} + }).time + if baseburntime > 0 then + minetest.register_craft({ + type = "fuel", + recipe = 'stairs:slab_' .. subname, + burntime = math.floor(baseburntime * 0.5), + }) + end + end +end + + +-- Optionally replace old "upside_down" nodes with new param2 versions. +-- Disabled by default. + +if replace then + minetest.register_abm({ + label = "Slab replace", + nodenames = {"group:slabs_replace"}, + interval = 16, + chance = 1, + action = function(pos, node) + node.name = minetest.registered_nodes[node.name].replace_name + node.param2 = node.param2 + 20 + if node.param2 == 21 then + node.param2 = 23 + elseif node.param2 == 23 then + node.param2 = 21 + end + minetest.set_node(pos, node) + end, + }) +end + + +-- Register inner stair +-- Node will be called stairs:stair_inner_ + +function stairs.register_stair_inner(subname, recipeitem, groups, images, + description, sounds, worldaligntex) + -- Set backface culling and world-aligned textures + local stair_images = {} + for i, image in ipairs(images) do + if type(image) == "string" then + stair_images[i] = { + name = image, + backface_culling = true, + } + if worldaligntex then + stair_images[i].align_style = "world" + end + else + stair_images[i] = table.copy(image) + if stair_images[i].backface_culling == nil then + stair_images[i].backface_culling = true + end + if worldaligntex and stair_images[i].align_style == nil then + stair_images[i].align_style = "world" + end + end + end + local new_groups = table.copy(groups) + new_groups.stair = 1 + minetest.register_node(":stairs:stair_inner_" .. subname, { + description = "Inner " .. description, + drawtype = "nodebox", + tiles = stair_images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5}, + {-0.5, 0.0, 0.0, 0.5, 0.5, 0.5}, + {-0.5, 0.0, -0.5, 0.0, 0.5, 0.0}, + }, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + return rotate_and_place(itemstack, placer, pointed_thing) + end, + }) + + if recipeitem then + minetest.register_craft({ + output = 'stairs:stair_inner_' .. subname .. ' 7', + recipe = { + { "", recipeitem, ""}, + { recipeitem, "", recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Fuel + local baseburntime = minetest.get_craft_result({ + method = "fuel", + width = 1, + items = {recipeitem} + }).time + if baseburntime > 0 then + minetest.register_craft({ + type = "fuel", + recipe = 'stairs:stair_inner_' .. subname, + burntime = math.floor(baseburntime * 0.875), + }) + end + end +end + + +-- Register outer stair +-- Node will be called stairs:stair_outer_ + +function stairs.register_stair_outer(subname, recipeitem, groups, images, + description, sounds, worldaligntex) + -- Set backface culling and world-aligned textures + local stair_images = {} + for i, image in ipairs(images) do + if type(image) == "string" then + stair_images[i] = { + name = image, + backface_culling = true, + } + if worldaligntex then + stair_images[i].align_style = "world" + end + else + stair_images[i] = table.copy(image) + if stair_images[i].backface_culling == nil then + stair_images[i].backface_culling = true + end + if worldaligntex and stair_images[i].align_style == nil then + stair_images[i].align_style = "world" + end + end + end + local new_groups = table.copy(groups) + new_groups.stair = 1 + minetest.register_node(":stairs:stair_outer_" .. subname, { + description = "Outer " .. description, + drawtype = "nodebox", + tiles = stair_images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5}, + {-0.5, 0.0, 0.0, 0.0, 0.5, 0.5}, + }, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + return rotate_and_place(itemstack, placer, pointed_thing) + end, + }) + + if recipeitem then + minetest.register_craft({ + output = 'stairs:stair_outer_' .. subname .. ' 6', + recipe = { + { "", "", ""}, + { "", recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Fuel + local baseburntime = minetest.get_craft_result({ + method = "fuel", + width = 1, + items = {recipeitem} + }).time + if baseburntime > 0 then + minetest.register_craft({ + type = "fuel", + recipe = 'stairs:stair_outer_' .. subname, + burntime = math.floor(baseburntime * 0.625), + }) + end + end +end + + +-- Stair/slab registration function. +-- Nodes will be called stairs:{stair,slab}_ + +function stairs.register_stair_and_slab(subname, recipeitem, groups, images, + desc_stair, desc_slab, sounds, worldaligntex) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair, + sounds, worldaligntex) + stairs.register_stair_inner(subname, recipeitem, groups, images, desc_stair, + sounds, worldaligntex) + stairs.register_stair_outer(subname, recipeitem, groups, images, desc_stair, + sounds, worldaligntex) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab, + sounds, worldaligntex) +end + + +-- Register default stairs and slabs + +stairs.register_stair_and_slab( + "wood", + "default:wood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_wood.png"}, + "Wooden Stair", + "Wooden Slab", + default.node_sound_wood_defaults(), + false +) + +stairs.register_stair_and_slab( + "junglewood", + "default:junglewood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_junglewood.png"}, + "Jungle Wood Stair", + "Jungle Wood Slab", + default.node_sound_wood_defaults(), + false +) + +stairs.register_stair_and_slab( + "pine_wood", + "default:pine_wood", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_pine_wood.png"}, + "Pine Wood Stair", + "Pine Wood Slab", + default.node_sound_wood_defaults(), + false +) + +stairs.register_stair_and_slab( + "acacia_wood", + "default:acacia_wood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_acacia_wood.png"}, + "Acacia Wood Stair", + "Acacia Wood Slab", + default.node_sound_wood_defaults(), + false +) + +stairs.register_stair_and_slab( + "aspen_wood", + "default:aspen_wood", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_aspen_wood.png"}, + "Aspen Wood Stair", + "Aspen Wood Slab", + default.node_sound_wood_defaults(), + false +) + +stairs.register_stair_and_slab( + "stone", + "default:stone", + {cracky = 3}, + {"default_stone.png"}, + "Stone Stair", + "Stone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "cobble", + "default:cobble", + {cracky = 3}, + {"default_cobble.png"}, + "Cobblestone Stair", + "Cobblestone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "mossycobble", + "default:mossycobble", + {cracky = 3}, + {"default_mossycobble.png"}, + "Mossy Cobblestone Stair", + "Mossy Cobblestone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "stonebrick", + "default:stonebrick", + {cracky = 2}, + {"default_stone_brick.png"}, + "Stone Brick Stair", + "Stone Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "stone_block", + "default:stone_block", + {cracky = 2}, + {"default_stone_block.png"}, + "Stone Block Stair", + "Stone Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "desert_stone", + "default:desert_stone", + {cracky = 3}, + {"default_desert_stone.png"}, + "Desert Stone Stair", + "Desert Stone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "desert_cobble", + "default:desert_cobble", + {cracky = 3}, + {"default_desert_cobble.png"}, + "Desert Cobblestone Stair", + "Desert Cobblestone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "desert_stonebrick", + "default:desert_stonebrick", + {cracky = 2}, + {"default_desert_stone_brick.png"}, + "Desert Stone Brick Stair", + "Desert Stone Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "desert_stone_block", + "default:desert_stone_block", + {cracky = 2}, + {"default_desert_stone_block.png"}, + "Desert Stone Block Stair", + "Desert Stone Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "sandstone", + "default:sandstone", + {crumbly = 1, cracky = 3}, + {"default_sandstone.png"}, + "Sandstone Stair", + "Sandstone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "sandstonebrick", + "default:sandstonebrick", + {cracky = 2}, + {"default_sandstone_brick.png"}, + "Sandstone Brick Stair", + "Sandstone Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "sandstone_block", + "default:sandstone_block", + {cracky = 2}, + {"default_sandstone_block.png"}, + "Sandstone Block Stair", + "Sandstone Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "desert_sandstone", + "default:desert_sandstone", + {crumbly = 1, cracky = 3}, + {"default_desert_sandstone.png"}, + "Desert Sandstone Stair", + "Desert Sandstone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "desert_sandstone_brick", + "default:desert_sandstone_brick", + {cracky = 2}, + {"default_desert_sandstone_brick.png"}, + "Desert Sandstone Brick Stair", + "Desert Sandstone Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "desert_sandstone_block", + "default:desert_sandstone_block", + {cracky = 2}, + {"default_desert_sandstone_block.png"}, + "Desert Sandstone Block Stair", + "Desert Sandstone Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "silver_sandstone", + "default:silver_sandstone", + {crumbly = 1, cracky = 3}, + {"default_silver_sandstone.png"}, + "Silver Sandstone Stair", + "Silver Sandstone Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "silver_sandstone_brick", + "default:silver_sandstone_brick", + {cracky = 2}, + {"default_silver_sandstone_brick.png"}, + "Silver Sandstone Brick Stair", + "Silver Sandstone Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "silver_sandstone_block", + "default:silver_sandstone_block", + {cracky = 2}, + {"default_silver_sandstone_block.png"}, + "Silver Sandstone Block Stair", + "Silver Sandstone Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "obsidian", + "default:obsidian", + {cracky = 1, level = 2}, + {"default_obsidian.png"}, + "Obsidian Stair", + "Obsidian Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "obsidianbrick", + "default:obsidianbrick", + {cracky = 1, level = 2}, + {"default_obsidian_brick.png"}, + "Obsidian Brick Stair", + "Obsidian Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "obsidian_block", + "default:obsidian_block", + {cracky = 1, level = 2}, + {"default_obsidian_block.png"}, + "Obsidian Block Stair", + "Obsidian Block Slab", + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + "brick", + "default:brick", + {cracky = 3}, + {"default_brick.png"}, + "Brick Stair", + "Brick Slab", + default.node_sound_stone_defaults(), + false +) + +stairs.register_stair_and_slab( + "steelblock", + "default:steelblock", + {cracky = 1, level = 2}, + {"default_steel_block.png"}, + "Steel Block Stair", + "Steel Block Slab", + default.node_sound_metal_defaults(), + true +) + +stairs.register_stair_and_slab( + "tinblock", + "default:tinblock", + {cracky = 1, level = 2}, + {"default_tin_block.png"}, + "Tin Block Stair", + "Tin Block Slab", + default.node_sound_metal_defaults(), + true +) + +stairs.register_stair_and_slab( + "copperblock", + "default:copperblock", + {cracky = 1, level = 2}, + {"default_copper_block.png"}, + "Copper Block Stair", + "Copper Block Slab", + default.node_sound_metal_defaults(), + true +) + +stairs.register_stair_and_slab( + "bronzeblock", + "default:bronzeblock", + {cracky = 1, level = 2}, + {"default_bronze_block.png"}, + "Bronze Block Stair", + "Bronze Block Slab", + default.node_sound_metal_defaults(), + true +) + +stairs.register_stair_and_slab( + "goldblock", + "default:goldblock", + {cracky = 1}, + {"default_gold_block.png"}, + "Gold Block Stair", + "Gold Block Slab", + default.node_sound_metal_defaults(), + true +) + +stairs.register_stair_and_slab( + "ice", + "default:ice", + {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3}, + {"default_ice.png"}, + "Ice Stair", + "Ice Slab", + default.node_sound_glass_defaults(), + true +) + +stairs.register_stair_and_slab( + "snowblock", + "default:snowblock", + {crumbly = 3, puts_out_fire = 1, cools_lava = 1, snowy = 1}, + {"default_snow.png"}, + "Snow Block Stair", + "Snow Block Slab", + default.node_sound_snow_defaults(), + true +) + +-- Glass stair nodes need to be registered individually to utilize specialized textures. + +stairs.register_stair( + "glass", + "default:glass", + {cracky = 3}, + {"stairs_glass_split.png", "default_glass.png", + "stairs_glass_stairside.png^[transformFX", "stairs_glass_stairside.png", + "default_glass.png", "stairs_glass_split.png"}, + "Glass Stair", + default.node_sound_glass_defaults(), + false +) + +stairs.register_slab( + "glass", + "default:glass", + {cracky = 3}, + {"default_glass.png", "default_glass.png", "stairs_glass_split.png"}, + "Glass Slab", + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair_inner( + "glass", + "default:glass", + {cracky = 3}, + {"stairs_glass_stairside.png^[transformR270", "default_glass.png", + "stairs_glass_stairside.png^[transformFX", "default_glass.png", + "default_glass.png", "stairs_glass_stairside.png"}, + "Glass Stair", + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair_outer( + "glass", + "default:glass", + {cracky = 3}, + {"stairs_glass_stairside.png^[transformR90", "default_glass.png", + "stairs_glass_outer_stairside.png", "stairs_glass_stairside.png", + "stairs_glass_stairside.png^[transformR90","stairs_glass_outer_stairside.png"}, + "Glass Stair", + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair( + "obsidian_glass", + "default:obsidian_glass", + {cracky = 3}, + {"stairs_obsidian_glass_split.png", "default_obsidian_glass.png", + "stairs_obsidian_glass_stairside.png^[transformFX", "stairs_obsidian_glass_stairside.png", + "default_obsidian_glass.png", "stairs_obsidian_glass_split.png"}, + "Obsidian Glass Stair", + default.node_sound_glass_defaults(), + false +) + +stairs.register_slab( + "obsidian_glass", + "default:obsidian_glass", + {cracky = 3}, + {"default_obsidian_glass.png", "default_obsidian_glass.png", "stairs_obsidian_glass_split.png"}, + "Obsidian Glass Slab", + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair_inner( + "obsidian_glass", + "default:obsidian_glass", + {cracky = 3}, + {"stairs_obsidian_glass_stairside.png^[transformR270", "default_obsidian_glass.png", + "stairs_obsidian_glass_stairside.png^[transformFX", "default_obsidian_glass.png", + "default_obsidian_glass.png", "stairs_obsidian_glass_stairside.png"}, + "Obsidian Glass Stair", + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair_outer( + "obsidian_glass", + "default:obsidian_glass", + {cracky = 3}, + {"stairs_obsidian_glass_stairside.png^[transformR90", "default_obsidian_glass.png", + "stairs_obsidian_glass_outer_stairside.png", "stairs_obsidian_glass_stairside.png", + "stairs_obsidian_glass_stairside.png^[transformR90","stairs_obsidian_glass_outer_stairside.png"}, + "Obsidian Glass Stair", + default.node_sound_glass_defaults(), + false +) diff --git a/mods/stairs/license.txt b/mods/stairs/license.txt new file mode 100644 index 0000000..57bd98c --- /dev/null +++ b/mods/stairs/license.txt @@ -0,0 +1,16 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2017 Kahrl +Copyright (C) 2011-2017 celeron55, Perttu Ahola +Copyright (C) 2012-2017 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html diff --git a/mods/stairs/textures/stairs_glass_outer_stairside.png b/mods/stairs/textures/stairs_glass_outer_stairside.png new file mode 100644 index 0000000000000000000000000000000000000000..9b298c8bfccd6308589556672b13d982d9a76d5b GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJE0F&A^XH#GfBygf|N8ao zckkZ4fB*jD$B&;refs?Q^VhFmzkU1m{rh*InqR+u{r>$MsPf;xe?Y}^CU!0aYGx@3 z@&g&huz7OYEFe|r>Eak7A<25Mld)NWfn`HPlxStk?fM&PMw>SUeSTwCHk&Dh$+toB zL80K25V1vzj1Q^bk+WE`@B+&YIfZ93#rraCPu`9$j@`O$Zs6y+`|I{uF>Em9d(e=v xq(S5li)Mn13qwORL&Lha_pa}o95eIroBFUC*85Wmb{zpZ!qe5yWt~$(69A!~d4~W1 literal 0 HcmV?d00001 diff --git a/mods/stairs/textures/stairs_glass_split.png b/mods/stairs/textures/stairs_glass_split.png new file mode 100644 index 0000000000000000000000000000000000000000..62879597850e75ff1e5258d14897c0902a4c67b7 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJE0F&D`SZ7L-~Rmh^Z)<< zw{PFRfB*i&hYz1VeFBPq`SJxQ_5J(zpFe;8`t=K_=I`IX|Ni|0s??2&&;x2_EeY}i z8OFeHD4T5~kjnCOaSV}=WIf2p)TAK7x*;@$tL8%a|HIpEehU)jzYIl+4ADv<4-u6{1-oD!MEak7A<24>F{#;sgJHuKztx9iKm0$h7r1qi+WM=qhS|Rvw>G9W_#}9n8O>?_@Yh7ML)50LT#kH}&M25w;xW@MN(M*=9wUgGKN%KnI(lUcwx z>&oIaKp`Vf7sn8e>&YCwv!qTvIPl^Chw2QO84^+w(h?InHV7G9JaB*^SpkC^>bP0l+XkKF2^tv literal 0 HcmV?d00001 diff --git a/mods/stairs/textures/stairs_obsidian_glass_split.png b/mods/stairs/textures/stairs_obsidian_glass_split.png new file mode 100644 index 0000000000000000000000000000000000000000..7647b9b0858e976a6b6dbfda04594bc1b66d0094 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$60s;c^YKGP7c6C5O z#*!evUYoHDWPgg&ebxsLQ0LSAX9smFU literal 0 HcmV?d00001 diff --git a/mods/stairs/textures/stairs_obsidian_glass_stairside.png b/mods/stairs/textures/stairs_obsidian_glass_stairside.png new file mode 100644 index 0000000000000000000000000000000000000000..850f4c61aca3b350843fc1eb162e38b01bb01c7c GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$60s;c^YKGP7c6C5O z#*!evUYh7ML)50LT#kH}&M25w;xW@MN(M*=9wUgGKN%KnI(lUZ1D zmXqa9ppdbri(?2!wC{04K?VaJ=8feOX0}XU#M$}b?FF9L67?drh-*Q5QEU0LKV=BC fEn4`Y?BvWC5f>hLm$gb=K + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/mods/terminal/depends.txt b/mods/terminal/depends.txt new file mode 100644 index 0000000..5564b38 --- /dev/null +++ b/mods/terminal/depends.txt @@ -0,0 +1,2 @@ +default +beds diff --git a/mods/terminal/init.lua b/mods/terminal/init.lua new file mode 100644 index 0000000..a98985d --- /dev/null +++ b/mods/terminal/init.lua @@ -0,0 +1,343 @@ +-- Terminal mod for Minetest `Glitchtest' game +-- (C) 2018 James Alexander Stevenson +-- GNU GPL 3 + +terminal = {} +local store = minetest.get_mod_storage() + +terminal.display = function(source, user, pos, input) + if not source or not user then + return + end + local pos = pos or user:get_pos() + local input = input or "" + local name = user:get_player_name() + + local cmd_table = { + "+", "broadcast", "bye", "channel", "echo", "guestbook", "help", + "hi", "hint", "info", "list", "name", "set", "sign", "warp", "waypoint", + } + + local term_name, hint, info, wielded, meta + if source == "item" then + wielded = user:get_wielded_item() + meta = wielded:get_meta() + elseif source == "node" then + meta = minetest.get_meta(pos) + elseif source == "mod" then + meta = store + else + return + end + minetest.sound_play("walkie_blip", {object = user}) + + -- Determine input. + input = minetest.formspec_escape(input) + term_name = meta:get_string("term_name") or "default" + hint = "There is no hint." + info = "Welcome to terminal." + + local feedback = "" + + -- Get table with command/args. + local command = input + local args = {} + if command:match("%w") then + for i in command:gmatch"%S+" do + table.insert(args, i) + end + command = args[1] + end + local output = "" + if command == "" then + command = "Yes Master?" + output = "" + feedback = "" + elseif command == "+" then + local new_args = {} + for i = 2, #args do + if type(tonumber(args[i])) == "number" then + new_args[i] = tonumber(args[i]) + else + output = "Err" + break + end + end + command = input + local math = 0 + for _, v in pairs(new_args) do + math = math + v + end + if output ~= "Err" then + output = tostring(math) + end + feedback = "" + elseif command == "say" then + feedback = function() + local chat_message = input:sub(5, -1) + end + elseif command == "broadcast" then + output = "Broadcasting to all players with a walkie talkie on any channel." + feedback = "" + elseif (command == "bye" or + command == "quit" or + command == "exit") then + output = "Shutting down..." + feedback = "" + minetest.after(1, function() + minetest.close_formspec(name, "terminal" .. source .. + minetest.pos_to_string(pos)) + end) + elseif command == "channel" then + local ch = tonumber(args[2]) + if type(ch) == "number" then + --dcbl.channels[name].channel = ch + end + --feedback = "You are on channel " .. tostring(dcbl.channels[name].channel) + feedback = "TODO: Implement chat channels." + elseif command == "echo" then + --[[ + local new_input = input + if new_input:len() >= 40 then + command = new_input:sub(1, 40) .. "$" + else + command = input + end + --]] + if type(args[2]) == "string" then + for i = 2, #args do + if output == "" then + output = args[i] + else + output = output .. " " .. args[i] + end + end + else + output = "Invalid usage, type help echo for more information." + end + feedback = "" + elseif command == "guestbook" then + command = input + output = "Guestbook entries:\n" .. meta:get_string("guestbook") or "" + feedback = "There you go!" + elseif command == "help" then + command = input + if args[2] then + output = "I don't know about " .. args[2] + feedback = "Type help for a list of commands." + else + output = "" + for i = 1, #cmd_table do + output = output .. cmd_table[i] .. " " + end + feedback = "Type help for more information" + end + elseif (command == "hi" or command == "hello") then + output = "Hello." + feedback = "" + elseif command == "hint" then + output = minetest.formspec_escape(hint) + feedback = "" + elseif command == "info" then + output = minetest.formspec_escape(info) + feedback = "" + elseif command == "list" then + local chatters = "" + for _, player in pairs(minetest.get_connected_players()) do + if player:get_inventory():contains_item("main", "walkie:talkie") then + chatters = chatters .. player:get_player_name() .. " " + end + end + if chatters == "" then + output = "No one seems to have a walkie talkie." + else + output = chatters + end + feedback = "Players on channel 1 or near intercomm listed." + elseif command == "name" then + command = input + local args = args[2] + if args then + if args == term_name then + output = "Correct!" + elseif args ~= "" then + meta:set_string("term_name", args) + if source == "item" then + user:set_wielded_item(wielded) + end + output = "Station name is now " .. args + else + output = "Invalid usage. Type help name for more information." + end + else + output = "Station name is " .. term_name + end + feedback = "" + elseif command == "set" then + if args[2] == "warp" then + --[[ + local pt_under = meta:get_string("pt_under") + if not pt_under or pt_under == "" then + return + end + if not args[3] then + return + end + local nn = minetest.string_to_pos(pt_under) + if minetest.get_node(nn).name ~= "warps:warpgoo_amethyst" or + minetest.is_protected(nn, name) then + return + end + minetest.get_meta(nn):set_string("warps_destination", args[3]) + meta:set_string("pt_under", nil) + --]] + feedback = "TODO" + end + feedback = "TODO" + elseif command == "sign" then + command = "Signed:" + local s = "" + for i = 2, 120 do + if not args[i] then + break + end + if s == "" then + s = args[i] + else + s = s .. " " .. args[i] + end + end + meta:set_string("guestbook", s) + if source == "item" then + user:set_wielded_item(wielded) + end + output = s + feedback = "[more]" + elseif command == "warp" then + local user_beds = beds.beds[name] + if user_beds and user_beds[args[2]] then + user:set_pos(user_beds[args[2]]) + end + elseif command == "waypoint" then + output = "set|display" + feedback = "Not yet implemented." + else + output = "Unknown command. Type help for a list." + feedback = "" + end + if type(feedback) == "function" then + return feedback() + end + -- Determine output. + if #output > 40 then + local old_output = output + local spos = 0 + local old_spos = 0 + local ln1 = "" + local ln2 = "" + local ln3 = "" + local new_output + for p in old_output:gmatch"." do + spos = spos + 1 + if spos >= 40 and p == " " and ln1 == "" then + ln1 = old_output:sub(1, spos) + ln2 = old_output:sub(spos + 1, -1) + old_spos = spos + end + if spos >= 80 and p == " " and ln2 ~= "" then + ln2 = old_output:sub(old_spos + 1, spos) + ln3 = old_output:sub(spos + 1, 120) + break + end + end + new_output = ln1 .. "\n" .. ln2 .. "\n" .. ln3 + if old_output:len() > 120 then + output = new_output .. + "\n\n" .. minetest.formspec_escape(feedback) .. + "\n" .. minetest.formspec_escape("[more]") + else + output = new_output .. "\n\n" .. minetest.formspec_escape(feedback) + end + else + output = output .. "\n\n\n\n" .. minetest.formspec_escape(feedback) + end + local fs_command = "label[0,0.1;> " .. command .. "]" + local fs_output = "label[0,0.6;" .. output .. "]" + if command == "echo" then + fs_command = "" + fs_output = "label[0,0.1;" .. output .. "]" + end + + -- Collect data and display. + local formspec = "size[8.8,5.9]" .. + default.gui_bg_img .. + "box[-.1,-.0;8.78,5.1;gray]" .. + fs_command .. + fs_output .. + "field[0.18,5.6;8,1;input;;]" .. + "button[7.78,5.3;1.15,1;ok;OK]" .. + "field_close_on_enter[input;false]" + + if source == "item" then + source = 1 + elseif source == "node" then + source = 2 + elseif source == "mod" then + source = 3 + end + return minetest.show_formspec(name, "terminal" .. source .. + minetest.pos_to_string(pos), formspec) +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname:sub(1, 8) ~= "terminal" or + not player or fields.quit then + return + end + local name = player:get_player_name() + local pos = minetest.string_to_pos(formname:sub(10)) + local source = tonumber(formname:sub(9, 9)) + if fields.ok and fields.input == "" then + return minetest.close_formspec(name, "terminal" .. source .. + minetest.pos_to_string(pos)) + end + local s = {"item", "node", "mod"} + source = s[source] + terminal.display(source, player, pos, fields.input) +end) +--[[ +minetest.register_on_chat_message(function(name, message) + local player = minetest.get_player_by_name(name) + if not player then + return + end + local pp = {} + for _, p in ipairs(minetest.get_connected_players()) do + local n = p:get_player_name() + pp[n] = {} + print(#pp[n]) + end + terminal.display("mod", player, player:get_pos(), "say " .. message) + return true +end) +--]] +---[[ +minetest.register_privilege("terminal", { + description = "Can use /terminal command", + give_to_singleplayer = false, + give_to_admin = true, +}) + +minetest.register_chatcommand("terminal", { + description = "Display terminal interface", + params = "[]", + privs = "terminal", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return true, "Invalid usage." + end + terminal.display("mod", player, player:get_pos(), param) + end +}) +--]] diff --git a/mods/tnt/README.txt b/mods/tnt/README.txt new file mode 100644 index 0000000..1970804 --- /dev/null +++ b/mods/tnt/README.txt @@ -0,0 +1,57 @@ +Minetest Game mod: tnt +====================== +See license.txt for license information. + +Authors of source code +---------------------- +PilzAdam (MIT) +ShadowNinja (MIT) +sofar (sofar@foo-projects.org) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +BlockMen (CC BY-SA 3.0): +All textures not mentioned below. + +ShadowNinja (CC BY-SA 3.0): +tnt_smoke.png + +Wuzzy (CC BY-SA 3.0): +All gunpowder textures except tnt_gunpowder_inventory.png. + +sofar (sofar@foo-projects.org) (CC BY-SA 3.0): +tnt_blast.png + +paramat (CC BY-SA 3.0) +tnt_tnt_stick.png - Derived from a texture by benrob0329. + +Introduction +------------ +This mod adds TNT to Minetest. TNT is a tool to help the player +in mining. + +How to use the mod: + +Craft gunpowder by placing coal and gravel in the crafting area. +The gunpowder can be used to craft TNT sticks or as a fuse trail for TNT. + +To craft 2 TNT sticks: +G_G +GPG +G_G +G = gunpowder +P = paper +The sticks are not usable as an explosive. + +Craft TNT from 9 TNT sticks. + +There are different ways to ignite TNT: + 1. Hit it with a torch. + 2. Hit a gunpowder fuse trail that leads to TNT with a torch or + flint-and-steel. + 3. Activate it with mesecons (fastest way). + +For 1 TNT: +Node destruction radius is 3 nodes. +Player and object damage radius is 6 nodes. diff --git a/mods/tnt/depends.txt b/mods/tnt/depends.txt new file mode 100644 index 0000000..5ff216f --- /dev/null +++ b/mods/tnt/depends.txt @@ -0,0 +1,3 @@ +default +fire + diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua new file mode 100644 index 0000000..9ab467c --- /dev/null +++ b/mods/tnt/init.lua @@ -0,0 +1,680 @@ +tnt = {} + +-- Default to enabled when in singleplayer +local enable_tnt = minetest.settings:get_bool("enable_tnt") +if enable_tnt == nil then + enable_tnt = minetest.is_singleplayer() +end + +-- loss probabilities array (one in X will be lost) +local loss_prob = {} + +loss_prob["default:cobble"] = 3 +loss_prob["default:dirt"] = 4 + +local tnt_radius = tonumber(minetest.settings:get("tnt_radius") or 3) + +-- Fill a list with data for content IDs, after all nodes are registered +local cid_data = {} +minetest.after(0, function() + for name, def in pairs(minetest.registered_nodes) do + cid_data[minetest.get_content_id(name)] = { + name = name, + drops = def.drops, + flammable = def.groups.flammable, + on_blast = def.on_blast, + } + end +end) + +local function rand_pos(center, pos, radius) + local def + local reg_nodes = minetest.registered_nodes + local i = 0 + repeat + -- Give up and use the center if this takes too long + if i > 4 then + pos.x, pos.z = center.x, center.z + break + end + pos.x = center.x + math.random(-radius, radius) + pos.z = center.z + math.random(-radius, radius) + def = reg_nodes[minetest.get_node(pos).name] + i = i + 1 + until def and not def.walkable +end + +local function eject_drops(drops, pos, radius) + local drop_pos = vector.new(pos) + for _, item in pairs(drops) do + local count = math.min(item:get_count(), item:get_stack_max()) + while count > 0 do + local take = math.max(1,math.min(radius * radius, + count, + item:get_stack_max())) + rand_pos(pos, drop_pos, radius) + local dropitem = ItemStack(item) + dropitem:set_count(take) + local obj = minetest.add_item(drop_pos, dropitem) + if obj then + obj:get_luaentity().collect = true + obj:set_acceleration({x = 0, y = -10, z = 0}) + obj:set_velocity({x = math.random(-3, 3), + y = math.random(0, 10), + z = math.random(-3, 3)}) + end + count = count - take + end + end +end + +local function add_drop(drops, item) + item = ItemStack(item) + local name = item:get_name() + if loss_prob[name] ~= nil and math.random(1, loss_prob[name]) == 1 then + return + end + + local drop = drops[name] + if drop == nil then + drops[name] = item + else + drop:set_count(drop:get_count() + item:get_count()) + end +end + +local basic_flame_on_construct -- cached value +local function destroy(drops, npos, cid, c_air, c_fire, + on_blast_queue, on_construct_queue, + ignore_protection, ignore_on_blast, owner) + if not ignore_protection and minetest.is_protected(npos, owner) then + return cid + end + + local def = cid_data[cid] + + if not def then + return c_air + elseif not ignore_on_blast and def.on_blast then + on_blast_queue[#on_blast_queue + 1] = { + pos = vector.new(npos), + on_blast = def.on_blast + } + return cid + elseif def.flammable then + on_construct_queue[#on_construct_queue + 1] = { + fn = basic_flame_on_construct, + pos = vector.new(npos) + } + return c_fire + else + local node_drops = minetest.get_node_drops(def.name, "") + for _, item in pairs(node_drops) do + add_drop(drops, item) + end + return c_air + end +end + +local function calc_velocity(pos1, pos2, old_vel, power) + -- Avoid errors caused by a vector of zero length + if vector.equals(pos1, pos2) then + return old_vel + end + + local vel = vector.direction(pos1, pos2) + vel = vector.normalize(vel) + vel = vector.multiply(vel, power) + + -- Divide by distance + local dist = vector.distance(pos1, pos2) + dist = math.max(dist, 1) + vel = vector.divide(vel, dist) + + -- Add old velocity + vel = vector.add(vel, old_vel) + + -- randomize it a bit + vel = vector.add(vel, { + x = math.random() - 0.5, + y = math.random() - 0.5, + z = math.random() - 0.5, + }) + + -- Limit to terminal velocity + dist = vector.length(vel) + if dist > 250 then + vel = vector.divide(vel, dist / 250) + end + return vel +end + +local function entity_physics(pos, radius, drops) + local objs = minetest.get_objects_inside_radius(pos, radius) + for _, obj in pairs(objs) do + local obj_pos = obj:get_pos() + local dist = math.max(1, vector.distance(pos, obj_pos)) + + local damage = (4 / dist) * radius + if obj:is_player() then + -- currently the engine has no method to set + -- player velocity. See #2960 + -- instead, we knock the player back 1.0 node, and slightly upwards + local dir = vector.normalize(vector.subtract(obj_pos, pos)) + local moveoff = vector.multiply(dir, dist + 1.0) + local newpos = vector.add(pos, moveoff) + newpos = vector.add(newpos, {x = 0, y = 0.2, z = 0}) + obj:set_pos(newpos) + + obj:set_hp(obj:get_hp() - damage) + else + local do_damage = true + local do_knockback = true + local entity_drops = {} + local luaobj = obj:get_luaentity() + local objdef = minetest.registered_entities[luaobj.name] + + if objdef and objdef.on_blast then + do_damage, do_knockback, entity_drops = objdef.on_blast(luaobj, damage) + end + + if do_knockback then + local obj_vel = obj:get_velocity() + obj:set_velocity(calc_velocity(pos, obj_pos, + obj_vel, radius * 10)) + end + if do_damage then + if not obj:get_armor_groups().immortal then + obj:punch(obj, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = damage}, + }, nil) + end + end + for _, item in pairs(entity_drops) do + add_drop(drops, item) + end + end + end +end + +local function add_effects(pos, radius, drops) + minetest.add_particle({ + pos = pos, + velocity = vector.new(), + acceleration = vector.new(), + expirationtime = 0.4, + size = radius * 10, + collisiondetection = false, + vertical = false, + texture = "tnt_boom.png", + glow = 15, + }) + minetest.add_particlespawner({ + amount = 64, + time = 0.5, + minpos = vector.subtract(pos, radius / 2), + maxpos = vector.add(pos, radius / 2), + minvel = {x = -10, y = -10, z = -10}, + maxvel = {x = 10, y = 10, z = 10}, + minacc = vector.new(), + maxacc = vector.new(), + minexptime = 1, + maxexptime = 2.5, + minsize = radius * 3, + maxsize = radius * 5, + texture = "tnt_smoke.png", + }) + + -- we just dropped some items. Look at the items entities and pick + -- one of them to use as texture + local texture = "tnt_blast.png" --fallback texture + local most = 0 + for name, stack in pairs(drops) do + local count = stack:get_count() + if count > most then + most = count + local def = minetest.registered_nodes[name] + if def and def.tiles and def.tiles[1] then + texture = def.tiles[1] + end + end + end + + minetest.add_particlespawner({ + amount = 64, + time = 0.1, + minpos = vector.subtract(pos, radius / 2), + maxpos = vector.add(pos, radius / 2), + minvel = {x = -3, y = 0, z = -3}, + maxvel = {x = 3, y = 5, z = 3}, + minacc = {x = 0, y = -10, z = 0}, + maxacc = {x = 0, y = -10, z = 0}, + minexptime = 0.8, + maxexptime = 2.0, + minsize = radius * 0.66, + maxsize = radius * 2, + texture = texture, + collisiondetection = true, + }) +end + +function tnt.burn(pos, nodename) + local name = nodename or minetest.get_node(pos).name + local def = minetest.registered_nodes[name] + if not def then + return + elseif def.on_ignite then + def.on_ignite(pos) + elseif minetest.get_item_group(name, "tnt") > 0 then + minetest.swap_node(pos, {name = name .. "_burning"}) + minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.get_node_timer(pos):start(1) + end +end + +local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owner, explode_center) + pos = vector.round(pos) + -- scan for adjacent TNT nodes first, and enlarge the explosion + local vm1 = VoxelManip() + local p1 = vector.subtract(pos, 2) + local p2 = vector.add(pos, 2) + local minp, maxp = vm1:read_from_map(p1, p2) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm1:get_data() + local count = 0 + local c_tnt = minetest.get_content_id("tnt:tnt") + local c_tnt_burning = minetest.get_content_id("tnt:tnt_burning") + local c_tnt_boom = minetest.get_content_id("tnt:boom") + local c_air = minetest.get_content_id("air") + -- make sure we still have explosion even when centre node isnt tnt related + if explode_center then + count = 1 + end + + for z = pos.z - 2, pos.z + 2 do + for y = pos.y - 2, pos.y + 2 do + local vi = a:index(pos.x - 2, y, z) + for x = pos.x - 2, pos.x + 2 do + local cid = data[vi] + if cid == c_tnt or cid == c_tnt_boom or cid == c_tnt_burning then + count = count + 1 + data[vi] = c_air + end + vi = vi + 1 + end + end + end + + vm1:set_data(data) + vm1:write_to_map() + + -- recalculate new radius + radius = math.floor(radius * math.pow(count, 1/3)) + + -- perform the explosion + local vm = VoxelManip() + local pr = PseudoRandom(os.time()) + p1 = vector.subtract(pos, radius) + p2 = vector.add(pos, radius) + minp, maxp = vm:read_from_map(p1, p2) + a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + data = vm:get_data() + + local drops = {} + local on_blast_queue = {} + local on_construct_queue = {} + basic_flame_on_construct = minetest.registered_nodes["fire:basic_flame"].on_construct + + local c_fire = minetest.get_content_id("fire:basic_flame") + for z = -radius, radius do + for y = -radius, radius do + local vi = a:index(pos.x + (-radius), pos.y + y, pos.z + z) + for x = -radius, radius do + local r = vector.length(vector.new(x, y, z)) + if (radius * radius) / (r * r) >= (pr:next(80, 125) / 100) then + local cid = data[vi] + local p = {x = pos.x + x, y = pos.y + y, z = pos.z + z} + if cid ~= c_air then + data[vi] = destroy(drops, p, cid, c_air, c_fire, + on_blast_queue, on_construct_queue, + ignore_protection, ignore_on_blast, owner) + end + end + vi = vi + 1 + end + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() + vm:update_liquids() + + -- call check_single_for_falling for everything within 1.5x blast radius + for y = -radius * 1.5, radius * 1.5 do + for z = -radius * 1.5, radius * 1.5 do + for x = -radius * 1.5, radius * 1.5 do + local rad = {x = x, y = y, z = z} + local s = vector.add(pos, rad) + local r = vector.length(rad) + if r / radius < 1.4 then + minetest.check_single_for_falling(s) + end + end + end + end + + for _, queued_data in pairs(on_blast_queue) do + local dist = math.max(1, vector.distance(queued_data.pos, pos)) + local intensity = (radius * radius) / (dist * dist) + local node_drops = queued_data.on_blast(queued_data.pos, intensity) + if node_drops then + for _, item in pairs(node_drops) do + add_drop(drops, item) + end + end + end + + for _, queued_data in pairs(on_construct_queue) do + queued_data.fn(queued_data.pos) + end + + --[[minetest.log("action", "TNT owned by " .. owner .. " detonated at " .. + minetest.pos_to_string(pos) .. " with radius " .. radius)]] + + return drops, radius +end + +function tnt.boom(pos, def) + def = def or {} + def.radius = def.radius or 1 + def.damage_radius = def.damage_radius or def.radius * 2 + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if not def.explode_center then + minetest.set_node(pos, {name = "tnt:boom"}) + end + local sound = def.sound or "tnt_explode" + minetest.sound_play(sound, {pos = pos, gain = 0.95, + max_hear_distance = math.min(def.radius * 20, 128)}) + local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, + def.ignore_on_blast, owner, def.explode_center) + -- append entity drops + local damage_radius = (radius / math.max(1, def.radius)) * def.damage_radius + entity_physics(pos, damage_radius, drops) + if not def.disable_drops then + eject_drops(drops, pos, radius) + end + add_effects(pos, radius, drops) + --[[minetest.log("action", "A TNT explosion occurred at " .. minetest.pos_to_string(pos) .. + " with radius " .. radius)]] +end + +minetest.register_node("tnt:boom", { + drawtype = "airlike", + light_source = default.LIGHT_MAX, + walkable = false, + drop = "", + groups = {dig_immediate = 3}, + -- unaffected by explosions + on_blast = function() end, +}) + +minetest.register_node("tnt:gunpowder", { + description = "Gun Powder", + drawtype = "raillike", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + walkable = false, + tiles = { + "tnt_gunpowder_straight.png", + "tnt_gunpowder_curved.png", + "tnt_gunpowder_t_junction.png", + "tnt_gunpowder_crossing.png" + }, + inventory_image = "tnt_gunpowder_inventory.png", + wield_image = "tnt_gunpowder_inventory.png", + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {dig_immediate = 2, attached_node = 1, flammable = 5, + connect_to_raillike = minetest.raillike_group("gunpowder")}, + sounds = default.node_sound_leaves_defaults(), + + on_punch = function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "default:torch" then + minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) + --[[minetest.log("action", puncher:get_player_name() .. + " ignites tnt:gunpowder at " .. + minetest.pos_to_string(pos))]] + end + end, + on_blast = function(pos, intensity) + minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) + end, + on_burn = function(pos) + minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) + end, + on_ignite = function(pos, igniter) + minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) + end, +}) + +minetest.register_node("tnt:gunpowder_burning", { + drawtype = "raillike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + light_source = 5, + tiles = {{ + name = "tnt_gunpowder_burning_straight_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_curved_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_t_junction_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_crossing_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }}, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + drop = "", + groups = { + dig_immediate = 2, + attached_node = 1, + connect_to_raillike = minetest.raillike_group("gunpowder") + }, + sounds = default.node_sound_leaves_defaults(), + on_timer = function(pos, elapsed) + for dx = -1, 1 do + for dz = -1, 1 do + if math.abs(dx) + math.abs(dz) == 1 then + for dy = -1, 1 do + tnt.burn({ + x = pos.x + dx, + y = pos.y + dy, + z = pos.z + dz, + }) + end + end + end + end + minetest.remove_node(pos) + end, + -- unaffected by explosions + on_blast = function() end, + on_construct = function(pos) + minetest.sound_play("tnt_gunpowder_burning", {pos = pos, gain = 0.67}) + minetest.get_node_timer(pos):start(1) + end, +}) + +minetest.register_craft({ + output = "tnt:gunpowder 5", + type = "shapeless", + recipe = {"default:coal_lump", "default:gravel"} +}) + +minetest.register_craftitem("tnt:tnt_stick", { + description = "TNT Stick", + inventory_image = "tnt_tnt_stick.png", + groups = {flammable = 5}, +}) + +if enable_tnt then + minetest.register_craft({ + output = "tnt:tnt_stick 2", + recipe = { + {"tnt:gunpowder", "", "tnt:gunpowder"}, + {"tnt:gunpowder", "default:paper", "tnt:gunpowder"}, + {"tnt:gunpowder", "", "tnt:gunpowder"}, + } + }) + + minetest.register_craft({ + output = "tnt:tnt", + recipe = { + {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"}, + {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"}, + {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"} + } + }) + + minetest.register_abm({ + label = "TNT ignition", + nodenames = {"group:tnt", "tnt:gunpowder"}, + neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"}, + interval = 4, + chance = 1, + action = function(pos, node) + tnt.burn(pos, node.name) + end, + }) +end + +function tnt.register_tnt(def) + local name + if not def.name:find(':') then + name = "tnt:" .. def.name + else + name = def.name + def.name = def.name:match(":([%w_]+)") + end + if not def.tiles then def.tiles = {} end + local tnt_top = def.tiles.top or def.name .. "_top.png" + local tnt_bottom = def.tiles.bottom or def.name .. "_bottom.png" + local tnt_side = def.tiles.side or def.name .. "_side.png" + local tnt_burning = def.tiles.burning or def.name .. "_top_burning_animated.png" + if not def.damage_radius then def.damage_radius = def.radius * 2 end + + if enable_tnt then + minetest.register_node(":" .. name, { + description = def.description, + tiles = {tnt_top, tnt_bottom, tnt_side}, + is_ground_content = false, + groups = {dig_immediate = 2, mesecon = 2, tnt = 1, flammable = 5}, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + if placer:is_player() then + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name()) + end + end, + on_punch = function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "default:torch" then + minetest.swap_node(pos, {name = name .. "_burning"}) + minetest.registered_nodes[name .. "_burning"].on_construct(pos) + --[[minetest.log("action", puncher:get_player_name() .. + " ignites " .. node.name .. " at " .. + minetest.pos_to_string(pos))]] + end + end, + on_blast = function(pos, intensity) + minetest.after(0.1, function() + tnt.boom(pos, def) + end) + end, + mesecons = {effector = + {action_on = + function(pos) + tnt.boom(pos, def) + end + } + }, + on_burn = function(pos) + minetest.swap_node(pos, {name = name .. "_burning"}) + minetest.registered_nodes[name .. "_burning"].on_construct(pos) + end, + on_ignite = function(pos, igniter) + minetest.swap_node(pos, {name = name .. "_burning"}) + minetest.registered_nodes[name .. "_burning"].on_construct(pos) + end, + }) + end + + minetest.register_node(":" .. name .. "_burning", { + tiles = { + { + name = tnt_burning, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + tnt_bottom, tnt_side + }, + light_source = 5, + drop = "", + sounds = default.node_sound_wood_defaults(), + groups = {falling_node = 1}, + on_timer = function(pos, elapsed) + tnt.boom(pos, def) + end, + -- unaffected by explosions + on_blast = function() end, + on_construct = function(pos) + minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.get_node_timer(pos):start(4) + minetest.check_for_falling(pos) + end, + }) +end + +tnt.register_tnt({ + name = "tnt:tnt", + description = "TNT", + radius = tnt_radius, +}) diff --git a/mods/tnt/license.txt b/mods/tnt/license.txt new file mode 100644 index 0000000..2c57df3 --- /dev/null +++ b/mods/tnt/license.txt @@ -0,0 +1,66 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 PilzAdam +Copyright (C) 2014-2016 ShadowNinja +Copyright (C) 2016 sofar (sofar@foo-projects.org) +Copyright (C) 2014-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 ShadowNinja +Copyright (C) 2015-2016 Wuzzy +Copyright (C) 2016 sofar (sofar@foo-projects.org) +Copyright (C) 2018 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/tnt/sounds/tnt_explode.ogg b/mods/tnt/sounds/tnt_explode.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a414ea046bf76298f6f1406d574f15741c515248 GIT binary patch literal 12808 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 U+X>QYKtmZkUHx3vIVCg!0PsFO;Q#;t literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_bottom.png b/mods/tnt/textures/tnt_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..95f66cb90fa1a27b8a6417fe621b7938194c3a65 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uDci*E-)~>VqkcY^lBDR vP}I}KF@!@lIp*Yn0|#z!s5?38a2;WYxX&Rd&U~pDsDQ!K)z4*}Q$iB}9RL{A literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..a901f7bdc200ac079018060d4267d2c12dcd398b GIT binary patch literal 612 zcmV-q0-ODbP)AI z5d?s8T8>pFTW!Da>12)bUc@n5uNExh*x0M0qynWPImXH`N7;N;HQ*uxy*GYaOH50(eT4ZNIz z8W(&pv6=XgAlNUn7;#?a|>qPN1CcPuTiHA-%`+rA)s z@__b6s~&YF7epKwrqMJ4=gZ@}`T*l-tfG+w=riy4^FZc-b1t!FafK(gZJW(H{*D!Q zUH1s_rfF!NXG|mT@oDk>^@HnN2jzs2x7LEUj2a*ZZM3&VlUR-TW2tg%sH4n4`yQ@FY zs&WzwT;AKZrNiNnEb!h_-}lLXv1`)^O3HX#3o|W_w1gl{)-qB{X}%4Ux&IfCh;Q?p zXR7*xKjFdd{y^r!W*%tayom=<8@NyY>K_cFVmN3U7rx4>T9#Q>dyQ#4w2y ytExYc4=k~0od=SUn|bh7e-OW&-r~VpfA9;n;PF(;jD(y30000J!^tCfh^ z`rlh?+3WS%IT(+}&2#VUQFu^3>rfsnb0}jBCzA<)4`{9V`TliTvE6R}@IYGnE<6aX zQ2DsbgJ5x)2Uo+bx>@qJ))D}cBx&v>j^p+nDfzeNfp_3wFz9&jJQhV!<$mxIS`UZA zLCK&!olZrksyfj!hx*}xsw(H#w=}Gjy#u2tDtIuP&BFV`7*mY*|F|E-aZHKiCZKd} z^z{2dqxXXFAW4$z6Z*XVWlqYd%k%ttk)7`cz%L&j;JqNB-h~G@wKGt^AG`!O!SQ&! ai2rZc8DC!3*65S~0000P{(@P~opePCsLL^z=i4(nHq{rv- z;wg8w&5zgbupSuOxvDA_BjAe0b@^aSN6ZJJKG5-j#8DU@%qLOgKodIqIN&n}jFGU7 zKdz?_L>=g(4~#V!h5^CLMITsU?7GgmAGG=)gq5B3fhh$7fUox-r%OoN1FP|Y7zHBY z&$n(FzWXpSGns1RHO}>M1wIfB*7B|3Wjxmhw|_5$sP*voLXbuRfH;o1ZNOQU$%=S; zJ~*9D7x^HvU8;TG(_HSrWx90DbRH=3<^zrK`ugA(1j$ky!mGjH00000NkvXXu0mjf D@G;Vr literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..a556072c01baa3ad0c0dce4719974cbac8fc7063 GIT binary patch literal 672 zcmV;R0$=@!P)DbJt>;JPk}2=WZ%IF1@no`I4ip*(|r z6vEjw%@SZd9ybFMp>xg!k)+IlAn{lVwYMW2Ju2IikVHInjhl7r1=W9%Z?vqL>#HTjo~BYrQJOGBv+<_lid!?6R}GUwz)3qL;>h_BdQ zL~q`u0Dd5jW4RvOTo=`f+~Z@u;HZAr)&rx40urYlav-c-cLUE~yXg1($g^Lx10m_b zRXq^XNemgSat_1ryvYOrzVGXSG?|MGXIc|U(*tl_mnz-(czPhUPN#F3{XnLTCplp3 z!6)Nb#hwKC^8WXIv$XHq#j>n2nlw%6=DI)}$0SX`aU9As&}cNOD)V7#&GkT3rt*HE ze2psm0Xybg6ooNgaD4ytSJVS~y)eh>tK)bT%^-`Qouqhc5U0000eyp|f0$G^M#AJ-Xhs78PfcVE!N`?GdKstPm;I+{% z=6NOnarXzgU_Q;=d6|D$g9H5QqV^K61`{CwU$~g{;Ai7vbC5*0tErzOrEm00000NkvXXu0mjfvjA$o literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_curved.png b/mods/tnt/textures/tnt_gunpowder_curved.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8b4eacff8135621086125e0034f0f01de77f86 GIT binary patch literal 268 zcmV+n0rUQeP)cU|G%*jJ0%Df7Vnzdt##MgCUU01|$jA@!smL=#_t(20T za|pu_%d)_Gk2FmYMG>TwnCF>(yxkbXT5BH1k=wRq04R!r-+H`h8dgfN)|%_O=8sml z)-nN7~!b)01xe-HUk;uT=ucLYIzBuVfq01@FlPaMbbbnP!1b3Q(f Sv?!tg0000_8x5 z%nsx%3S%q^<1LS3Xi8$}$zqt8%Q7)n?*IS)Dc7&40j*&y3GxeOaCmkj4ah0=ba4!+ zxK(=QqF9rHfNNmD^QgpS9+_^B{@16TwqEEzZ+YVSM4sZF#db@#Y@6aU;nXIt1>6lH zx7i+u$eC}r_E)j)_shHf>wnx)TxPmVm6?xWA)81;)czlWXYPNOuKV|+(!%!DF`l_i lnN3a^J!P&5J7&m89G6#lz%4UF?XNV**PgC^F6*2UngEQ!VbA~o literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_straight.png b/mods/tnt/textures/tnt_gunpowder_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab0e3c8b118ab5a2bd1eae47b1a6a070e601b7d GIT binary patch literal 225 zcmV<703QE|P)ZBLLe6pzW?KSQTTe%Qf!UJ4umWuVJDjnMCiIsfMR=GY_TlMJ=9@- zW0CW}GTSYKq9_EI_x^6OZ@l-4m|U}2e2!#P*R=pm)AY-v9WZ&ekM&kuA^2G&|a z2){?BMF7`DkaOnweBzwrd_GfEm3r^VIkQ@=*zI<#*K4(XHma&ZL`W&oGz~dtZnqnk z%Y~E@`~AK@hxvT2fG(FyO)05}=yto+qA0Z0R|~W&gWlmMpvU7ujFA{4MNx1(9?hH7 zbY4M3^m@G-fEXjzTD2xyp`<>ZrHoVR$C0#5Q ay^Ak!rCtr@ct0-y0000L^B%H{MZ=` X4>LJVxOGq&sE@(Z)z4*}Q$iB}^57uD literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_smoke.png b/mods/tnt/textures/tnt_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..488b50fe958d33fa4cd50fa383a4685db045def5 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^Fw4`$F~s6@a>4>ti^@+=>QiQE7$hEQ`G3RY@DXvHh=$u6+S=Ge zd|6pp|9|XU+`ubsmaui^1PiVPOaAGbFCN{bP0l+XkK@H9k* literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_tnt_stick.png b/mods/tnt/textures/tnt_tnt_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..bc47a291902b7251dc20e237df4d1c3af5f4184f GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eIYGP@WU7BVpGVqmzy z!0?KJ;i%8HDL_%ik|4ie28U-i(tsR2PZ!4!j_b(@4vb9!vnDz+91>tKQdD5nIwZy< r>QNfjz$GzJ>%f5|md$~TR~Z>v-m^*UJjzl5)XCuK>gTe~DWM4f67?qE literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top.png b/mods/tnt/textures/tnt_top.png new file mode 100644 index 0000000000000000000000000000000000000000..31b807cb6a8af7552054e756c51c2b9fa6f00ece GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VPh1H%OdhF1&>aW72H z0Qt_IE{-7_vaAOUc^e!USPtr*xbCsQjpb1succ^+MnkBx-kA&ARxEO!l)K!PuY_mM tddFuxe>L`X|5!80cwug!>r|DWjAtI|q_o$YOaU6l;OXk;vd$@?2>`HcEsX#G literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top_burning.png b/mods/tnt/textures/tnt_top_burning.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0d4905f628b501963c2c6fc3e0df6b159639cb GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0EsBz;JgTe~DWM4f D`zSFl literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top_burning_animated.png b/mods/tnt/textures/tnt_top_burning_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..18a270fb9a453bb62cd9d087169ddd71f6db30ab GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!3-o-7PBt_Qv3lvA+A7r7X!lu28MfQ7+x_j zq?TA60t(IYba4!+U_3kdBG(}U0hZ@^pZ?#^X)%lGvss}KCBfCGcRTU0gtB%|$C@?F zJNZ6Ud8F(MZxha9^VwrOqoW|*Lv8Y;#)P+m0$1dOBC4j?>HqUito`lCwvA^uf1lk7 zJAvu^XSV!gxKS%{O->-7`UkiC^V$>Ezdvvu_*8grxzopr0NK%5q5uE@ literal 0 HcmV?d00001 diff --git a/mods/vessels/README.txt b/mods/vessels/README.txt new file mode 100644 index 0000000..a54e330 --- /dev/null +++ b/mods/vessels/README.txt @@ -0,0 +1,22 @@ +Minetest Game mod: vessels +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Vanessa Ezekowitz (LGPLv2.1+) +Modified by Perttu Ahola (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures) +--------------------------- +All not listed below, Vanessa Ezekowitz (CC BY-SA 3.0) + +The following textures were modified by Thomas-S (CC BY-SA 3.0): + vessels_drinking_glass.png + vessels_drinking_glass_inv.png + vessels_glass_bottle.png + vessels_steel_bottle.png + +The following texture was created by Wuzzy (CC BY-SA 3.0): + vessels_shelf_slot.png (based on vessels_glass_bottle.png) 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..43d8092 --- /dev/null +++ b/mods/vessels/init.lua @@ -0,0 +1,216 @@ +-- Minetest 0.4 mod: vessels +-- See README.txt for licensing and other information. + +local vessels_shelf_formspec = + "size[8,7;]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[context;vessels;0,0.3;8,2;]" .. + "list[current_player;main;0,2.85;8,1;]" .. + "list[current_player;main;0,4.08;8,3;8]" .. + "listring[context;vessels]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 2.85) + +local function get_vessels_shelf_formspec(inv) + local formspec = vessels_shelf_formspec + local invlist = inv and inv:get_list("vessels") + -- Inventory slots overlay + local vx, vy = 0, 0.3 + for i = 1, 16 do + if i == 9 then + vx = 0 + vy = vy + 1 + end + if not invlist or invlist[i]:is_empty() then + formspec = formspec .. + "image[" .. vx .. "," .. vy .. ";1,1;vessels_shelf_slot.png]" + end + vx = vx + 1 + end + return formspec +end + +minetest.register_node("vessels:shelf", { + description = "Vessels Shelf", + tiles = {"default_wood.png", "default_wood.png", "default_wood.png", + "default_wood.png", "vessels_shelf.png", "vessels_shelf.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults(), + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", get_vessels_shelf_formspec(nil)) + local inv = meta:get_inventory() + inv:set_size("vessels", 8 * 2) + end, + can_dig = function(pos,player) + local inv = minetest.get_meta(pos):get_inventory() + return inv:is_empty("vessels") + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 then + return stack:get_count() + end + return 0 + 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 vessels shelf at ".. minetest.pos_to_string(pos)) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", get_vessels_shelf_formspec(meta:get_inventory())) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " moves stuff to vessels shelf at ".. minetest.pos_to_string(pos)) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", get_vessels_shelf_formspec(meta:get_inventory())) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name() .. + " takes stuff from vessels shelf at ".. minetest.pos_to_string(pos)) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", get_vessels_shelf_formspec(meta:get_inventory())) + end, + on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "vessels", drops) + drops[#drops + 1] = "vessels:shelf" + minetest.remove_node(pos) + return drops + end, +}) + +minetest.register_craft({ + output = "vessels:shelf", + recipe = { + {"group:wood", "group:wood", "group:wood"}, + {"group:vessel", "group:vessel", "group:vessel"}, + {"group:wood", "group:wood", "group:wood"}, + } +}) + +minetest.register_node("vessels:glass_bottle", { + description = "Empty Glass Bottle", + drawtype = "plantlike", + tiles = {"vessels_glass_bottle.png"}, + inventory_image = "vessels_glass_bottle.png", + wield_image = "vessels_glass_bottle.png", + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft( { + output = "vessels:glass_bottle 10", + recipe = { + {"default:glass", "", "default:glass"}, + {"default:glass", "", "default:glass"}, + {"", "default:glass", ""} + } +}) + +minetest.register_node("vessels:drinking_glass", { + description = "Empty Drinking Glass", + drawtype = "plantlike", + tiles = {"vessels_drinking_glass.png"}, + inventory_image = "vessels_drinking_glass_inv.png", + wield_image = "vessels_drinking_glass.png", + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +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_node("vessels:steel_bottle", { + description = "Empty Heavy Steel Bottle", + drawtype = "plantlike", + tiles = {"vessels_steel_bottle.png"}, + inventory_image = "vessels_steel_bottle.png", + wield_image = "vessels_steel_bottle.png", + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_craft( { + output = "vessels:steel_bottle 5", + recipe = { + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"", "default:steel_ingot", ""} + } +}) + + +-- Glass and steel recycling + +minetest.register_craftitem("vessels:glass_fragments", { + description = "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", +}) + +minetest.register_craft({ + type = "fuel", + recipe = "vessels:shelf", + burntime = 30, +}) diff --git a/mods/vessels/license.txt b/mods/vessels/license.txt new file mode 100644 index 0000000..de16a3b --- /dev/null +++ b/mods/vessels/license.txt @@ -0,0 +1,52 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2012-2016 Vanessa Ezekowitz +Copyright (C) 2012-2016 celeron55, Perttu Ahola +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Vanessa Ezekowitz +Copyright (C) 2016 Thomas-S + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/vessels/textures/vessels_drinking_glass.png b/mods/vessels/textures/vessels_drinking_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..d5037b8579ee9b712e6a281ee22432f5697b74b2 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNtFWLISBHxQGf+sf#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-J9H{8Fr;B5V#p$<`HgX*@5OK}F5~QNBbi%^s1>H>+znJS9;$O3O zY|iUSU=@{d(NbC)=sj`Al7m+w?#9#z2N4lfR#}Fa z_I=BL&URpy^^bY0#?LV2o{B(Ztka2-o!7rOU6c42;bNn<$#!c@`=rA!m2ARJ`cIg4 zeANf@Mg|9m+?je+A2S<1)KtFwc6x=<11Hv2m#DR(ydb&7^3rlO8zyJTCOwT|& zwdcPJ5)u*xR$m{ytd`JAa1#IV z_;s&7&o8WP_V;+<>3nAI_qUm9)yi%)xWde!!W=GMz2Jrc(6J1ju6{1-oD!M<^9FJu 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..6ea37db68861011ab68e836bf511b260367dcbe1 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVUENo{WzX4Lx1OHAe1Gqe z%g4^#*t+%1!Gl*;Z#~hG8++;c!aFFl`aBF7r5IB;M&}1kg5h!Y`qR%SCFgKLlpr<+Y QG|&_VPgg&ebxsLQ0HrfWLI3~& 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..7c6c48887e56d555e2bbfc4602ee1a1f883c3dac GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf;Q*fyS0MfH;j<4Pet-PRohpr*a{SU`0&Nvy+?rNy!-ic*|M!$x9(ZHc6(3HoZGiw{`vFo z*|WE8ZBuXEdUEdE)yBpNK=o(OK78@wU0q%8h7E@r8X6#O`10k)yLX@8ym|NR*~>Gs zJl;TWSeFF(1v4-{yfER^k;CSC!W{qJ-8jB)`^yNii1sb!+)5S4F;&SR~ccCT+5!Z{?J&w6dk~w3U zE`82yg z%|Fd9rX_CqC{P}EdA8rpCnB*advkbhYH?&!Om$f;UqURgvB+>{^q3-MBCadP1 z+#F25()H5Nw7VTJV{GHXa@$=T1hXynEHexD1+yRvcurvH-T(jq07*qoM6N<$f|F^B AV*mgE literal 0 HcmV?d00001 diff --git a/mods/vessels/textures/vessels_shelf_slot.png b/mods/vessels/textures/vessels_shelf_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..ff29082a0371748e6eb0bd656141466790085dba GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~wg8_HS0Eh_ z5Fo)l`#wmzB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9Muu5)B!GhKC7!;n z><_rv_>5J&?iRBEh4ejL977~7CnqeBOGt5f+{CbpW0jD>A>{)c>JOM!cu8EGYM|74 ji1or(g9XvdgTe~DWM4f4mvQ) 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..61d307192b05570353010fabf1b9d7113104bc9a GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNs|cH*RZMV27f?vD#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-J9H{7sr;B5V#p$<`Z1b7}1X}ESwl8VvE@0A{(q@!Fgk<^3VyQbuQScKeQlGDa$m9wOM?K@?QIvo+qwq6FH1!d&6QwVwQASHc*d*>p9_zE=!XFP!{F)a=d#Wzp$P!@^@HO8 literal 0 HcmV?d00001 diff --git a/mods/walkie/README b/mods/walkie/README new file mode 100644 index 0000000..38e3ac3 --- /dev/null +++ b/mods/walkie/README @@ -0,0 +1,3 @@ +Walkie Talkie mods for Minetest + +Wield the Walkie Talkie to display a compass with coordinates on screen. diff --git a/mods/walkie/depends.txt b/mods/walkie/depends.txt new file mode 100644 index 0000000..f9b9df0 --- /dev/null +++ b/mods/walkie/depends.txt @@ -0,0 +1 @@ +terminal diff --git a/mods/walkie/init.lua b/mods/walkie/init.lua new file mode 100644 index 0000000..4a31d3d --- /dev/null +++ b/mods/walkie/init.lua @@ -0,0 +1,272 @@ +--[[ Walkie Talkie Minetest Mod (Part of Glitchtest Game) + Copyright (C) 2018 James A. Stevenson + GNU GPL 3 ]] + +walkie = {} +walkie.players = {} +walkie.meters = {} + +local hud_elem_compass = { + hud_elem_type = "image", + position = {x = 1, y = 1}, + name = "Compass", + scale = {x = 1, y = 1}, + text = "walkie_empty.png", + alignment = {x = -1, y = -1}, + offset = {x = -20, y = -156}, +} + +local hud_elem_coords = { + hud_elem_type = "text", + position = {x = 1, y = 1}, + name = "Coordinates", + scale = {x = 200, y = 20}, + text = "", + number = 0xFFFFFF, + direction = 1, + alignment = {x = -1, y = -1}, + offset = {x = -20, y = -136}, +} + +local hud_elem_waypoint = { + hud_elem_type = "waypoint", + name = "", + text = "", + number = 0xFFFFFF, +} + +local function updater(player) + if not player then + return + end + local name = player:get_player_name() + if not walkie.players[name] then + return + end + local wielded_name = player:get_wielded_item():get_name() + if wielded_name == "walkie:talkie" then + -- Show compass & coordinates. + walkie.players[name].pos = player:get_pos() + walkie.players[name].dir = player:get_look_horizontal() + local p = vector.round(walkie.players[name].pos) + local d = math.floor(walkie.players[name].dir * math.pi) + if d >= 1 and d < 4 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_nw.png") + elseif d >= 4 and d < 6 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_n.png^[transformR270") + elseif d >= 6 and d < 9 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_nw.png^[transformR270") + elseif d >= 9 and d < 11 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_n.png^[transformR180") + elseif d >= 11 and d < 14 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_nw.png^[transformR180") + elseif d >= 14 and d < 16 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_n.png^[transformR90") + elseif d >= 16 and d < 19 then + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_nw.png^[transformR90") + else + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_compass_n.png") + end + player:hud_change(walkie.meters[name].coords, + "text", + p.x .. ", " .. p.y .. ", " .. p.z) + player:set_properties({zoom_fov = 45}) + player:hud_set_flags({minimap = true, minimap_radar = true}) + -- Add waypoint HUD. + if not walkie.meters[name].waypoint and + walkie.players[name].waypoints.pos then + local pos = walkie.players[name].waypoints.pos + if pos then + local hud_def = hud_elem_waypoint + hud_def.world_pos = pos + local id = player:hud_add(hud_def) + walkie.meters[name].waypoint = id + end + end + else + player:hud_set_flags({minimap = false, minimap_radar = false}) + -- "Remove" compass and coordinate HUDs. + player:hud_change(walkie.meters[name].coords, + "text", + "") + player:hud_change(walkie.meters[name].compass, + "text", + "walkie_empty.png") + -- Remove waypoints HUD. + if walkie.meters[name].waypoint then + player:hud_remove(walkie.meters[name].waypoint) + player:set_properties({zoom_fov = 0}) + player:hud_set_flags({minimap = false, minimap_radar = false}) + walkie.meters[name].waypoint = nil + end + end + minetest.after(0.12, updater, player) +end + +minetest.register_on_joinplayer(function(player) + if not player then + return + end + local name = player:get_player_name() + local compass = player:hud_add(hud_elem_compass) + local coords = player:hud_add(hud_elem_coords) + walkie.meters[name] = { + compass = compass, + coords = coords, + } + walkie.players[name] = {waypoints = {}} + local waypoints = minetest.deserialize(player:get_attribute("waypoints")) + if waypoints then + walkie.players[name].waypoints = waypoints + end + updater(player) +end) + +minetest.register_on_leaveplayer(function(player) + if not player then + return + end + local name = player:get_player_name() + walkie.players[name] = nil + walkie.meters[name] = nil +end) + +minetest.register_on_dieplayer(function(player) + if not player then + return + end + local name = player:get_player_name() + local pos = player:get_pos() + if not walkie.players[name] then --TODO Move to respawn? + return + end + walkie.players[name].waypoints.death = pos + walkie.players[name].waypoints.pos = pos + player:hud_change(walkie.meters[name].waypoint, "world_pos", pos) + player:set_attribute("waypoints", + minetest.serialize(walkie.players[name].waypoints)) +end) + +-- Walkie Talkie +minetest.register_craftitem("walkie:talkie", { + description = "Walkie Talkie", + inventory_image = "walkie_talkie.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + local sound = minetest.sound_play({name = "walkie_blip", gain = 0.667}, + {object = user, loop = true}) + minetest.after(0.1, function () + minetest.sound_stop(sound) + end) + + local name = user:get_player_name() + local pos = user:get_pos() + local waypoint = walkie.players[name].waypoints.pos + if waypoint then + local saved = walkie.players[name].waypoints.saved + local death = walkie.players[name].waypoints.death + if waypoint == saved and death then + walkie.players[name].waypoints.pos = death + user:hud_change(walkie.meters[name].waypoint, + "world_pos", death) + elseif waypoint == death and saved then + walkie.players[name].waypoints.pos = saved + user:hud_change(walkie.meters[name].waypoint, + "world_pos", saved) + end + end + return itemstack + end, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type == "node" then + local node = minetest.get_node(pointed_thing.under) + local pdef = minetest.registered_nodes[node.name] + if node.name == "walkie:intercomm" then + local pos = placer:get_pos() + local name = placer:get_player_name() + walkie.players[name].waypoints.saved = pos + walkie.players[name].waypoints.pos = pos + placer:hud_change(walkie.meters[name].waypoint, + "world_pos", pos) + placer:set_attribute("waypoints", + minetest.serialize(walkie.players[name].waypoints)) + elseif pdef and pdef.on_rightclick then + return pdef.on_rightclick(pointed_thing.under, + node, placer, itemstack, pointed_thing) + else + terminal.display("item", placer) + end + end + end, + on_secondary_use = function(itemstack, user, pointed_thing) + terminal.display("item", user) +end, +}) + +-- Intercomm +minetest.register_node("walkie:intercomm", { + description = "Intercomm", + drawtype = "nodebox", + tiles = {"walkie_intercomm_wall.png"}, + inventory_image = "walkie_intercomm.png", + wield_image = "walkie_intercomm.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + is_ground_content = false, + stack_max = 1, + light_source = 8, + walkable = false, + node_box = { + type = "wallmounted", + wall_top = {-0.4375, 0.5, -0.3125, 0.4375, 0.5, 0.3125}, + wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, + wall_side = {-0.5, -0.375, -0.4375, -0.4375, 0.375, 0.4375}, + }, + groups = {cracky = 3, oddly_breakable_by_hand = 1, attached_node = 1}, + legacy_wallmounted = true, + sounds = { + footstep = {name = "default_hard_footstep", gain = 0.5}, + dig = {name = "walkie_blip", gain = 1.0}, + dug = {name = "walkie_blip", gain = 1.0}, + place = {name = "walkie_blip", gain = 1.0}, + place_failed = {name = "walkie_blip", gain = 1.0} + }, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + terminal.display("node", clicker) + end, +}) + +minetest.register_craft({ + output = "walkie:talkie", + recipe = { + {"default:copper_ingot", "default:steel_ingot", "default:copper_ingot"}, + {"", "default:mese_crystal", ""}, + {"default:copper_ingot", "default:steel_ingot", "default:copper_ingot"}, + } +}) + +minetest.register_craft({ + output = "walkie:intercomm", + recipe = { + {"default:copper_ingot", "default:mese_crystal", "default:copper_ingot"}, + {"default:steel_ingot", "walkie:talkie", "default:steel_ingot"}, + {"default:copper_ingot", "default:diamond", "default:copper_ingot"}, + } +}) diff --git a/mods/walkie/mod.conf b/mods/walkie/mod.conf new file mode 100644 index 0000000..519dbd3 --- /dev/null +++ b/mods/walkie/mod.conf @@ -0,0 +1 @@ +name = walkie diff --git a/mods/walkie/sounds/walkie_blip.1.ogg b/mods/walkie/sounds/walkie_blip.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..baa7d1752c7d87042ea8898ac9bc9b9141ad9a3b GIT binary patch literal 2833 zcmbtWeN+=y7JmU$J|c~nvY`b9OWJ&a87kd^{lKtAG9cm*P?CDogpcy+2jZ@0i_0lV z3lu#pPIBZ!OE447Kn6)otYbw4f^M+Xr4W?J>b4a$QMB7*YsI7cg01KDoc(X#nR#>H zefR$Ey>ITj@2xK^%mO~(*Y@PJBk~Yg{u6u7{*@^p~_UOjZlpxq(tShvTCJa#9!A7 zw42b2OR!D+_ad^=v!q%~2PqXhD>W+1iR9}m*l8b21GuH@sNJDyx0+QtBqc&MB1aFa zoCuV|FsZ(RlUTsbV<)EAZz(?%Cu%z+yxt4{!fwZC>J{~8Ctk|(#HcxGMd$suRou0X zUqg%S9907{WdAmc_tE9XY_Fdn$&WGbb07fynauY#RC_0q7J_QPes3rH!p`uuP0_HlB5lgc)#c~vjC*y*Pm?R>s8|nm*G&hjKko8_x`30SuS^%zu#z3g zYPRa~>qlA1%=DpfRmLgl+1(~Lmswb<`ABN z`W`+yw!y*EveO#Eh!8~`^3li!H!mNTG!XU%tgdHJ2A!|=g|8;_gNyYbG7waY7xFbw zfIrQys6}pu*D#Tx$h;B$EzZFV^k&<^5osMqHG(YCR%DnN-z-E|$L{77NTks^{TY$1zD($hk^9lDujBOJP$jby#i zO&dv?I!4+`X)?BzDt1wK9@$FH^v;^d(pFOFF}fYJ+hLofZFkd-93wlRa3M)`(o}gT zRpM$Xc2FkTQbtoTXDp>2O5~vnND4y5v_hJ?GiehH(<{BgmaaKcG}l||p=T%Q`=3%J z9#Z7#6%6+xF5CTKIyU^^Yb1G$q&&@}hlI$aXOcFyKqx8(y5WMtHsP?1Y9>Xkl+b1L zI4n^2p2Jf9Ddq7PpV7IM;do1TYpSaV%Qq)-{JlE-Qh+XuFYrQ8#=VpV3NmuVZH$7^t%s*ZA zS˨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 N002ovPDHLkV1iTFV%Pux literal 0 HcmV?d00001 diff --git a/mods/walkie/textures/walkie_compass_nw.png b/mods/walkie/textures/walkie_compass_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..08751eb8df751dbf94563fdc416315dcea9037d5 GIT binary patch literal 1491 zcmV;^1uXiBP)stvfTgx03B&mSad^g zZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00lcqL_t(Y$F-JgY!qb_hM$>j z_eO2eZe0qLOSzTNrq(J-A|cXn4H06dVgecnnkY@ch{iuA5J`+A8W7v45UrAem|6HC z2vr~fi{d3v3@}SUuD#Kg0)_6jdzm@@=x*t@B~cS+{(Up&nQzWH-+Nw#`&~|^GJ}~E zlLs_V$5Cnt66If96R1G$b5}57s1Rk)%1Aa-Hl9W7jI^Dil_+6g80q*Khab|28@xet zYM43zvy>*vKst-;F=^^GA_!i**hFcdmLt?HBEO6#mZklb$Y7AlE|!D$c>DrLEJK^kQ7vNj|EjleNx=rDsAJMw zI)m=+X=v~2b3psr6wv>4g8L)E$|aB^I8H15* zKgpKYdvZlJ6l1Jxl_GgozLynJE{i3@@Sa;Cjbe#Nt2Bx&A$dg#*E99_e6PKhJC2~ei$xJztz^syI<*Zn8QR@3J!zFD$g5ZQAgci1AxNp8C+oVut z$u{u`hGG=ROz{{qrCl23Re4C3NRNnEeHfR4fk6vGk%KZ8aEdT${PM}n+|0RjF@t8V znQ?BIjb@aq<_}se`v_6a6R0SFO*LzXnl{+jD?y-Kry!7|8RtGQ$pTQ7>EGHY2*Q2 zWcGzz`mwcreh52|db)eKKnV9>j6ye%rx3x(m-j#bE-d0hh}UfWD-NY%0K&XXRHXs% z-jf4>7}k)&c`z`IwS-eKf*WX1sRLa7pJeDheVFbp9SW7fO5FN@MHf)#z|R71)0vbm zO<%>6Jcj0J)$W+75e0fB&!BQ*qE(+F&ZGHMr4|@Zq<76-x|nlRu!9~xWRjkW`G|ci zCyU8WPyZ^618P-*zzBS9$pq{Nv#_`uxE`nq9OD$uK9pBCImG6`8LsjaN}-a>P!1!2 zpaY8>rg?G}mV~uCro;4TCH$#%nZh~qnl_eZGXgxUf6m8L1>(fbcI`FVeOFBBE&eD* zQpsKw*aQ=YKNoW$#P|b?c{p{5aFaaZ`2ZH1*b(SXOwK8+VVs`O{E}XR3S7kK=2mPH zDi)1_<7^@W5IlTK=n_Cj;MWAkTUgI|4l*6Lj!gkza51TnKi^!Nm;PqwUynDMDp#~o z~8t6fvOrg|50nvF!wfz6mkap^I(1|q;b zeR)TX^MH#=HV&NqD!VB26YGp;MsN2V9;&asSoC5lI;*qRgTaf~gH43W7RrGu1PR^W zs?5=AL|67eC99K|!ER(J)c~BJjT^X767L8KHZiiNmR6h14BbYBO@bY zV`EcOQ%g%rD=RB&YioOZdq+n{CnqNt7Z)!tFK=(}prD}O;NXyukg%|@h=_=|xVWUG zq?DADjEsz&oSfX;+`PQJf`WqL;^Nxc+WPwX#>U3h*4DPRw)Xb+#fulOS+i!_wrw|W z-hBG>>Fd|8zi-QF0Xm+sB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9Muu5) zB!GhKC7!;n><>9PSmlI%L@!AN3blEyU6jW+>V&FWXL2}dO dvmGC_8Kl08R}1_&!wPf}gQu&X%Q~loCID%NhYSD! literal 0 HcmV?d00001 diff --git a/mods/walkie/textures/walkie_intercomm_wall.png b/mods/walkie/textures/walkie_intercomm_wall.png new file mode 100644 index 0000000000000000000000000000000000000000..f178303ecd53eb1c150d72a9dca1ac63976e9009 GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf#sHrXS6^RWMn*h14BbYBO@bY zV`EcOQ%g%rD=RB&YioOZdq+n{CnqNt7Z)!tFK=(}prD}O;NXyukg%|@h=_=|xVWUG zq?DADjEsz&oSfX;+`PQJf`WqL;^Nxc+WPwX#>U3h*4DPRw)Xb+#fulOS+i!_wrw|W z-hBG>>Fd|8zi-QF0Xm+sB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9Muu5) zB!GhKC7!;n><>9PSTzk#S(hpUg(i5qIEF}EPCb89sL4RUeU3)d)eo#WgeQ@M$E5nEa6tbO+V*6{*s zHr6QJ^J8~2(C=TQaiq>z@xu+Hby0@>3(P+)Pqg@ayq4*-oW;7=Jh|Ntm#y0}rD9{V o9VEZ4QVd?6{^-BVk+l!F6;>#2UHImr8qjSFp00i_>zopr0BP)M@GHKN2hKQ}iu zuY|$5C^fMpHASI3vm`^o-P1Q9ypc~FsL0vV#W95AdUApTBhw2WHxB2300YTGH}>w9 zIU{g?tCxh*rtGN-GahEF;7APdn=*$ZEyByM#Xu>M$J2s&8C%9Cg-Of|8AtilGGEJl Q1RBTS>FVdQ&MBb@01{YHX8-^I literal 0 HcmV?d00001 diff --git a/mods/walls/README.txt b/mods/walls/README.txt new file mode 100644 index 0000000..ba33bd7 --- /dev/null +++ b/mods/walls/README.txt @@ -0,0 +1,7 @@ +Minetest Game mod: walls +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Auke Kok (LGPLv2.1+) diff --git a/mods/walls/depends.txt b/mods/walls/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/walls/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/walls/init.lua b/mods/walls/init.lua new file mode 100644 index 0000000..91a89cf --- /dev/null +++ b/mods/walls/init.lua @@ -0,0 +1,50 @@ +walls = {} + +walls.register = function(wall_name, wall_desc, wall_texture_table, wall_mat, wall_sounds) + --make wall_texture_table paramenter backwards compatible for mods passing single texture + if type(wall_texture_table) ~= "table" then + wall_texture_table = { wall_texture_table } + end + -- inventory node, and pole-type wall start item + minetest.register_node(wall_name, { + description = wall_desc, + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}}, + -- connect_bottom = + connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}}, + connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}}, + connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}}, + connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}}, + }, + connects_to = { "group:wall", "group:stone", "group:fence" }, + paramtype = "light", + is_ground_content = false, + tiles = wall_texture_table, + walkable = true, + groups = { cracky = 3, wall = 1, stone = 2 }, + sounds = wall_sounds, + }) + + -- crafting recipe + minetest.register_craft({ + output = wall_name .. " 6", + recipe = { + { '', '', '' }, + { wall_mat, wall_mat, wall_mat}, + { wall_mat, wall_mat, wall_mat}, + } + }) + +end + +walls.register("walls:cobble", "Cobblestone Wall", {"default_cobble.png"}, + "default:cobble", default.node_sound_stone_defaults()) + +walls.register("walls:mossycobble", "Mossy Cobblestone Wall", {"default_mossycobble.png"}, + "default:mossycobble", default.node_sound_stone_defaults()) + +walls.register("walls:desertcobble", "Desert Cobblestone Wall", {"default_desert_cobble.png"}, + "default:desert_cobble", default.node_sound_stone_defaults()) + diff --git a/mods/walls/license.txt b/mods/walls/license.txt new file mode 100644 index 0000000..ccfaf1c --- /dev/null +++ b/mods/walls/license.txt @@ -0,0 +1,14 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2015 Auke Kok + +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 Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html diff --git a/mods/warps/LICENSE b/mods/warps/LICENSE new file mode 100644 index 0000000..249399b --- /dev/null +++ b/mods/warps/LICENSE @@ -0,0 +1,22 @@ + +warps- a minetest mod that adds more farming crops + +See spdx.org/licenses to see what the License Identifiers used below mean. + +=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ + +All source code (lua): + (C) Auke Kok + LGPL-2.1+ + +All textures, models: + (C) Auke Kok + CC-BY-3.0 + +File: warps_woosh.ogg +Original: 112837__dymewiz__whoosh-21.wav +Url: https://www.freesound.org/people/Dymewiz/sounds/112837/ +License: CC-BY-3.0 + +=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ + diff --git a/mods/warps/README b/mods/warps/README new file mode 100644 index 0000000..211de5c --- /dev/null +++ b/mods/warps/README @@ -0,0 +1,37 @@ + +"Warps" - a simple warp mod for minetest. + +======== + +/setwarp [name] +/delwarp [name] +/warp [name] +/listwarps + +priv: warp_admin - set/change/delete warps +priv: warp_user - list, and use warps + +warps are stored in the world folder file "warps.txt". + +A warpstone can be given or found in the creative inventory (item +id: warps:warpstone). This warpstone can be placed on the ground +and be programmed to warp players who punch it to a certain warp +location (one of the warps in /listwarps). Right-clicking the item +as a warp_admin user will allow you to program the warpstone. The +warpstone can be removed by shift-punching the warp stone. + +All warps are delayed by ~5 seconds. You have to stand still for +that duration, otherwise the warp will be cancelled. This may avoid +warp spamming and warping out of combat a bit. There's a bit +of variation in time due to the timer resolution in minetest +being rather large. + +======== + +Copyright (C) 2015 - Auke Kok + +"warps" 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. + diff --git a/mods/warps/depends.txt b/mods/warps/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/warps/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/warps/description.txt b/mods/warps/description.txt new file mode 100644 index 0000000..b87e447 --- /dev/null +++ b/mods/warps/description.txt @@ -0,0 +1 @@ +Warp locations and warp stones (portal stones) diff --git a/mods/warps/init.lua b/mods/warps/init.lua new file mode 100644 index 0000000..c3d5b87 --- /dev/null +++ b/mods/warps/init.lua @@ -0,0 +1,342 @@ +-- Copyright (C) 2017, 2018 James Stevenson +-- Copyright (C) 2015 - Auke Kok +-- GNU GPL 3 + +local warps = { + mese = "yellow", + --amethyst = "0x542164CC", + diamond = "blue", + --ruby = "red", + --emerald = "emerald", +} + +local function switch_class_fs(player) + local formspec = "size[8,3.5]" .. + jas0.exit_button() .. + jas0.help_button() .. + "button_exit[4.6,1.9;2,1;switch;Switch]" .. + "dropdown[2.7,2;2;class;Mage,Miner,Scout,Node;1]" .. + "" + local meta = player:get_meta() + local class = meta:get("class") + local level = jas0.level(player) + local xp = tostring(level):gsub("(.*)%.", "") + formspec = formspec .. + "label[0,0;Current Stats]" .. + "label[0.34,0.5;Class: " .. class .. "]" .. + "label[0.34,1;Level: " .. tostring(level):gsub("%.(.*)", "") .. "]" .. + "label[0.34,1.5;XP: " .. xp:sub(1, 2) .. "]" .. + "" + return formspec +end + +local selected = {} +local function warp_formspec(name) + local dest = selected[name] + if dest then + dest = minetest.get_meta(dest):get_string("destination") + end + return "size[7.76,2.9]" .. + jas0.exit_button(-0.25, -0.1) .. + "field[1.15,1.2;5.25,1;warp;Destination;" .. dest .. "]" .. + "button_exit[6,0.88;1,1;ok;OK]" .. + "field_close_on_enter[warp;true]" .. + "" +end + +local timer +local on_punch = function(pos, node, puncher, pointed_thing) + if node.name == "warps:warpstone_diamond" then + local meta = minetest.get_meta(pos) + if meta and meta:get_string("warp") ~= "" and + meta:get_string("state") == "" then + local sid = minetest.sound_play("warps_woosh", { + object = puncher, + }) + meta:set_string("state", "timeout") + local warp = minetest.deserialize(meta:get_string("warp")) + local p = puncher:get_pos() + jas0.message(puncher, "Hold still.") + timer = function(p, player, time, meta, sid, warp) + if vector.equals(p, player:get_pos()) then + if time >= 4.4 then + minetest.sound_fade(sid, -1, 0) + meta:set_string("state", "") + player:set_pos(warp) + warp.y = warp.y + 2 + jas0.message(player, "Warped to " .. meta:get_string("destination") .. ".") + return minetest.sound_play("sneak_jump_item", + {pos = warp, max_hear_distance = 64}) + end + minetest.after(0.334, timer, p, player, time + 0.334, meta, sid, warp) + else + jas0.message(puncher, "Stand still for 5 seconds after punching to warp.") + minetest.sound_fade(sid, -0.89, 0) + meta:set_string("state", "") + return + end + end + return timer(p, puncher, 0, meta, sid, warp) + elseif meta:get_string("state") == "timeout" then + jas0.message(puncher, "Waiting.") + else + jas0.message(puncher, "No destination set.") + end + end +end + +local on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = clicker:get_player_name() + selected[name] = pos + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if node.name == "warps:warpstone_diamond" then + if name ~= owner then + jas0.message(name, "Only the owner of this warpstone can set its destination.", true) + return + end + minetest.show_formspec(name, "warps:warpstone_diamond", warp_formspec(name)) + return + elseif node.name == "warps:warpstone_mese" then + if name ~= owner then + minetest.show_formspec(name, "warps:warpstone_mese_switch", + switch_class_fs(clicker)) + return + end + local codex = minetest.deserialize(meta:get_string("codex")) + local formspec = "size[8,3.5]" .. + jas0.exit_button() .. + jas0.help_button() .. + "button_exit[1.8,2.65;2,1;save;Save]" .. + "button_exit[4.7,2.65;2,1;switch;Switch]" .. + "" + for class, level in pairs(codex) do + local xp = tostring(level):gsub("(.*)%.", "") + formspec = formspec .. + "label[0,0;Saved Stats]" .. + "label[0.34,0.5;Class: " .. class .. "]" .. + "label[0.34,1;Level: " .. tostring(level):gsub("%.(.*)", "") .. "]" .. + "label[0.34,1.5;XP: " .. xp:sub(1, 2) .. "]" .. + "" + end + minetest.show_formspec(name, "warps:warpstone_mese", formspec) + end +end + +local on_blast = function() +end + +local can_dig = function(pos, player) + local meta = minetest.get_meta(pos) + if meta:get_string("owner") ~= player:get_player_name() then + jas0.message(player, "Only the owner of this warpstone may break it.") + return false + else + return true + end +end + +after_dig_node = function(pos, oldnode, oldmetadata, digger) + if oldnode.name == "warps:warpstone_mese" then + local name = digger:get_player_name() + selected[name] = oldmetadata + jas0.message(digger, "Would you like to apply the stored class and level?", true, "warps:warpstone_mese_apply") + end +end + +local after_place_node = function(pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + local name = placer:get_player_name() + if not name or not meta then + return + end + meta:set_string("owner", name) + if itemstack:get_name() == "warps:warpstone_mese" then + local p_meta = placer:get_meta() + local class = p_meta:get("class") + local level = jas0.level(placer) + meta:set_string("infotext", + "Mese Warpstone\nOwned by " .. name .. + "\n" .. class .. ": " .. tostring(level):gsub("%.(.*)", "")) + meta:set_string("codex", minetest.serialize({[class] = level})) + jas0.level(placer, -jas0.level(placer)) + jas0.message(name, "Your level and class have been preserved in the warpstone.\n" .. + "However, your level has been reset to 0.") + elseif itemstack:get_name() == "warps:warpstone_diamond" then + meta:set_string("infotext", "Uninitialized warpstone\n" .. + "Right-click to set destination.") + end +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if formname == "warps:warpstone_diamond" then + local w = fields.warp + if w then + local b = beds.beds[name] + if b[w] then + local n = minetest.get_meta(selected[name]) + selected[name] = nil + if n then + n:set_string("warp", + minetest.serialize(b[w])) + n:set_string("destination", w) + n:set_string("infotext", "Warp to " .. w .. + "\nPunch and stand still to warp") + end + return + end + for name, warps in pairs(beds.beds_public) do + for warp, pos in pairs(warps) do + if w == warp then + local n = minetest.get_meta(selected[name]) + selected[name] = nil + if n then + n:set_string("warp", + minetest.serialize(pos)) + n:set_string("destination", w) + n:set_string("infotext", "Warp to " .. w .. + "\nPunch and stand still to warp") + end + return + end + end + end + end + end + if formname == "warps:warpstone_mese" then + if fields.save then + jas0.message(name, "The cost is one mese crystal.", + true, "warps:warpstone_mese_cost") + elseif fields.switch then + minetest.show_formspec(name, + "warps:warpstone_mese_switch", + switch_class_fs(player)) + elseif fields.help then + jas0.message(name, "Placing this node resets your class level." .. + " However, your class and level are preserved " .. + "in this warpstone. Digging it will restore them" .. + " after a dialog confirmation.\n\nIf this is not " .. + "your warpstone, then you can only switch your class" .. + " here. You cannot save, nor dig the warpstone.", + true, nil, "Mese Warpstone Help", true) + end + elseif formname == "warps:warpstone_mese_switch" and fields.switch then + jas0.change_class(player, string.lower(fields.class), true) + jas0.message(player, "Switched to " .. + string.lower(fields.class) .. " class.") + elseif formname == "warps:warpstone_mese_switch" and fields.help then + jas0.message(name, "Placing this node resets your class level." .. + " However, your class and level are preserved " .. + "in this warpstone. Digging it will restore them" .. + " after a dialog confirmation.\n\nIf this is not " .. + "your warpstone, then you can only switch your class" .. + " here. You cannot save, nor dig the warpstone.", + true, nil, "Mese Warpstone Help", true) + elseif formname == "warps:warpstone_mese_cost" and fields.ok then + local inv = player:get_inventory() + if inv:contains_item("main", "default:mese_crystal") then + inv:remove_item("main", "default:mese_crystal") + local name = player:get_player_name() + local meta = minetest.get_meta(selected[name]) + selected[name] = nil + local class = player:get_meta():get("class") + local level = jas0.level(player) + meta:set_string("codex", minetest.serialize({[class] = level})) + meta:set_string("infotext", "Mese Warpstone\nOwned by " .. name .. + "\n" .. class .. ": " .. tostring(level):gsub("%.(.*)", "")) + jas0.message(player, "Your class and level have been saved.", true) + else + jas0.message(player, "You do not have a mese crystal!", true) + end + elseif formname == "warps:warpstone_mese_apply" and fields.ok then + local name = player:get_player_name() + local codex = minetest.deserialize(selected[name].fields.codex) + selected[name] = nil + for k, v in pairs(codex) do + jas0.change_class(player, k) + local level = jas0.level(player) + if v < level then + return jas0.message(name, "That is a level lower than your current one.") + end + jas0.level(player, v - level) + end + end +end) + +minetest.register_on_leaveplayer(function(player) + if not player then + return + end + selected[player:get_player_name()] = nil +end) + +for label, color in pairs(warps) do + minetest.register_node("warps:warpgoo_" .. label, { + description = label .. " Warp Goo", + drawtype = "glasslike", + sounds = default.node_sound_water_defaults(), + paramtype = "light", + drop = "vessels:glass_fragments 3", -- TODO Use bucket instead. + tiles = {{ + name = "warps_warpgoo_" .. label .. ".png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }}, + post_effect_color = color, + sunlight_propagates = true, + walkable = false, + drowning = 3, + groups = {oddly_breakable_by_hand = 1}, + light_source = 13, + -- `alpha' and `use_texture_alpha' do not seem to have an effect, + -- but removing them results in an invisible node! + alpha = 191, + use_texture_alpha = true, + }) + minetest.register_node("warps:warpstone_" .. label, { + visual = "mesh", + mesh = "warps_warpstone.obj", + description = label .. " Warp Stone", + tiles = {"warps_" .. label .. "_warpstone.png"}, + drawtype = "mesh", + wield_scale = {x = 1.5, y = 1.5, z = 1.5}, + stack_max = 1, + sunlight_propagates = true, + walkable = false, + paramtype = "light", + paramtype2 = "facedir", + use_texture_alpha = true, + groups = {cracky = 3, oddly_breakable_by_hand = 1}, + light_source = 11, + sounds = default.node_sound_glass_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25} + }, + on_rightclick = on_rightclick, + on_blast = on_blast, + after_place_node = after_place_node, + can_dig = can_dig, + after_dig_node = after_dig_node, + on_punch = on_punch, + }) + local mat + if label ~= "mese" then + mat = label .. "block" + else + mat = label + end + minetest.register_craft({ + output = "warps:warpstone_" .. label, + recipe = { + {"group:glass", "group:glass", "group:glass"}, + {"group:glass", "default:" .. mat, "group:glass"}, + {"group:glass", "group:glass", "group:glass"} + } + }) +end diff --git a/mods/warps/mod.conf b/mods/warps/mod.conf new file mode 100644 index 0000000..26992a5 --- /dev/null +++ b/mods/warps/mod.conf @@ -0,0 +1 @@ +name = warps diff --git a/mods/warps/models/warps_warpstone.obj b/mods/warps/models/warps_warpstone.obj new file mode 100644 index 0000000..5858c88 --- /dev/null +++ b/mods/warps/models/warps_warpstone.obj @@ -0,0 +1,70 @@ +# Blender v2.60 (sub 0) OBJ File: '' +# www.blender.org +mtllib warps_warpstone.mtl +o Plane +v 0.000345 -0.332211 0.238072 +v -0.238873 -0.332211 -0.000181 +v -0.187467 0.347788 0.000753 +v 0.003339 0.347788 0.186987 +v -0.000061 0.473738 -0.000013 +v -0.000061 -0.400212 -0.000013 +v 0.238345 -0.332211 0.000071 +v 0.187345 0.347788 -0.000779 +v -0.000467 -0.332211 -0.238097 +v -0.003461 0.347788 -0.187013 +vt 0.247005 0.000534 +vt 0.000000 0.000534 +vt 0.000000 0.499516 +vt 0.247005 0.499516 +vt 0.744000 0.749758 +vt 0.744000 0.501019 +vt 0.248498 0.501019 +vt 0.248498 0.749758 +vt 0.495503 0.000534 +vt 0.248498 0.000534 +vt 0.248498 0.499516 +vt 0.495503 0.499516 +vt 0.744000 1.000000 +vt 0.744000 0.751261 +vt 0.248498 0.751261 +vt 0.248498 1.000000 +vt 0.247005 1.000000 +vt 0.247005 0.752012 +vt 0.000746 1.000000 +vt 0.497742 0.249273 +vt 0.744000 0.001285 +vt 0.744000 0.249273 +vt 0.744000 0.251528 +vt 0.497742 0.499516 +vt 0.744000 0.499516 +vt 0.247005 0.749758 +vt 0.000746 0.749758 +vt 0.247005 0.501770 +vt 0.000000 0.751261 +vt 0.000000 0.999249 +vt 0.246259 0.751261 +vt 0.743254 0.000534 +vt 0.496995 0.248522 +vt 0.496995 0.000534 +vt 0.496995 0.250776 +vt 0.496995 0.498764 +vt 0.743254 0.250776 +vt 0.000000 0.501019 +vt 0.246259 0.501019 +vt 0.000000 0.749006 +g Plane_Plane_Material.001 +usemtl Material.001 +s off +f 2/1 1/2 4/3 3/4 +f 1/5 7/6 8/7 4/8 +f 7/9 9/10 10/11 8/12 +f 9/13 2/14 3/15 10/16 +s 1 +f 5/17 3/18 4/19 +f 1/20 2/21 6/22 +f 7/23 1/24 6/25 +f 5/26 4/27 8/28 +f 5/29 8/30 10/31 +f 9/32 7/33 6/34 +f 6/35 2/36 9/37 +f 5/38 10/39 3/40 diff --git a/mods/warps/screenshot.png b/mods/warps/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cae38f1c909dfd6f955052dfebcac122bf350d3a GIT binary patch literal 210874 zcmV*@KrFwBP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x010nKMsolF1GfMG0j&V`W+x2*000McNliru-~k>FI0~yE zs^$Oy010+*L1zE}2F(Bf1VI2bA5*~q0Du5VL_t(|+O+*!%q`ot9tO46FLfE?|L6SY zZLPibT5I2Y?&sL&*yo%GqBu@u84@gzfDnlC7I+9z;KA|}54`08iI*s#01^a<#6v(t zfI==NmW*XN0S7z81}Daj?KtP`efC~!&j0_%7W{xPb0 z^=rF+tu_3I{>UFD0ssIY{($@!0ss({?2|TqPngst*x`pIr55Yag|3T5J1$ zTz4B0wN|isAr^-k8@JAGKMT&ft%caRh(K#~JRY`Qn*QCo#&O*FRVlSIsGXm#Ud}DY z%bf*4B0mfUfYP05HHk<{`TF%MrR3JIyuUKuoe9ZK+?AHsjVL7%xAp*f@AAzyA2?aN zw>O%m*_vuZ?E7J{+vk1uTjM37t??ov5mZ$r1TLO-yW2Qj##rav)~|iv@ARr|+p5xA zHyC5{@h)!TBb-LDoDB-IA%u`pE{1GIV~p9FY9Ykd3i9Lo$G2%^QRdtnqB_agux{e=FN~N)IgVtIhL|s=x2y5+6e($IGvrW?|rHIIT&ojC1 z+rz`d-Qi%J0|2R{lB(;v_wPSo+Asv3sH$|OHIGdo_QUY__=JdB>u`Q49%CRPIvx%v z1Rr%o^xnV!@W|aDA^@7mYv7WL)kV}w8S9Eu&EH9>lvLw5?wpGC<-I3FxxK*IVge#o zRc);`W`unji1_m5L)(t;-+${|fdufrDRz|zq?Ae#)98H2Oe+zwu4|>#{HZWwRaGhF z`+g|$V1DBk5BA<0W43s(l=A-W?)h|D?;AuspU((zJRCgDD0t$*>4@^@yb-?EWB3&gQ&+WcyPWCnx@|8!9tYxE+1g6^_mLvnjMeF)9Dm`A^?PBb$EV0S!zK0N|r|a6ASiPzW!4k!=tNAxILh&enuDaJbkK6lGrL zwxqWrxyjdehXFh1lv1UwNPHSL4mis34U34K3ok*(CL;tf)Y9j>!K-t}gP1Dtx! zHwqzF{b!2;AachRn`egv|7XH_A&^npnr9)fY3l8%0OvNB01-afz_GKV5RsLW*?S3) z$sR#fX+E3tfr#{>s;WhUsi|=slYO!H>NxO%;6C&NdD^1uiOH>Ph*x!ACS?ng4_o7u zQt#fqE9$=I^LZS{qRM2f>HB``jZ%uL(n+;={P0*@pdD$0r5qtpN(HdPeTg@{C;IT= zgPYjmCM!WiPb7tSetz!zVNNXx77TbAvk=pw-F%b;imI-h_tx6tK-p$HvugoZ=T+3t z_S=urqO!&s*fbQgtf7>8`}W<3_wP^V)1vWclR=_QA-$>^fWEj<*nqZWpGiD8GlwPv z5sTQ!w!8I%ym8l-bGBC?V%s#AOBap}&7SSLo(P(zrfBY1OkL3)kj<*Jw!A@&xx#~U zUX`CZ1SBA$WpC3ZgxJ|#LJ055bd89HzQ4P>+ai2BJc$=>>ooFHQtBejLKHg&Nut23 zb|%@mvJ75Tl`*FH6EAMlG~yO>(KO7^kIc4-0JJbgGC$jH1_6R7`LXIOA1>TD+CfVD z$TsEwLYQ;#XQkxg_bn>|cZ^*gYqIH_lT!ZHZ~mdCsn>LMG~*V5^4<^qur)^K z9Lx=Se%?18%f7A;(M3qxoHx8t2jVmjM=A0J3I>XWoRc4# zz08BNnR3zAy&<5qPA2;(po-Jt5K8(G!mc`BKUFlB(Kq!&|BC6|pM_AnN@DBIgZ;d=LJLDs*l+s$2 z{1m~ilbv+1c2C!5`Fo4|{`PPE=8G3EhGAxeKt$%giPjO3(gBJ=p4M|4XBfQq!#LKJ zUVNXAV&CGG`k<7WTs*XCl6B6VPAB7>MD$6~fSF2}E`cb7`0)7Db={V-QPzNStxZX3 zh47vbXQmF8`=pd}0t^HsrF{S4BoL3sqf%;Ngj{Ymwx$xXkwIylBoQJyolf`n_v;NR zgs7X^T5HV}hy)_OxPS5V{Itb`qs_MPY+cvh>tX1N%#wH8WTcy4Qc5X>R!g@oKcSSe z*6s+BiRmubn-HRHH+gW#EX3J}mU=TB~lU1B+4YKteWFs7&W68oRc} za_Ks@&TWy-or9;8D*lRyjMexw#lm}%a?{MElw3ox(gYR}0Lg8iV{Ja_+GkcP*?Tp{ zY;W)I35Gq+r@|9?J|=71d(Nu!W}TzMq1hIIt_&xtl~)Ce!ezE`Vcz+zO*nacmadZP zJ&;nWZD}H!{mT=+Nj(UN?Hocb1cIqGK}xlYDP7pB=VT|&gQp!;(pp=T;E6~{`CGsB zn=f9xFvctv*L&~Xa&Eb|-uYl!Sdj=O3tit!A+*+8^!a!^R$5=W?v}H&pklDvu~N!$ zG~+n3D2#jZDIwx8j$POHL%$>2ZJ405&qB(!X{>YOFw%TstaDXC%R%nz`Fyt4-QV9S zt%Shjuv{Dub}dP%gb?F6T4$T45kfLL^wM2kym(QhS%_Fwl|V5JBkU?$M09_5-@5ks z`MG$IlExMlILJhD)VeZeT>EK)$Od4&_fdk&f3?;TfmY>7W*)pn>$lX$#Dg!FZgCI) z!~$l!vLz&ZulGJjKqQq25w+H9tkBnspeRkfZF_V@32Mt69| zj^^Qq{uAU4_A9N0Mdnz}S)R_~BwOb;arZ3?Dr=P255hGF>PJKuSD zc-i;E;_MI+V=4vAcL;*_eg`V=z3+#CiY^}vHyqmbcsT4wJ?zYbvo8M=5Zk69->qhe z*mFEz0x^!mFpRk|zj&!VbXB$_S}TEQmxptU(!h)R`@SEX_wV0-sGGWJnzm`S$d+^d zcsyJ#=b;~n=yJJet(&Gr!2P4k#tJ~N#+q>yQtsTWm45l+<>S-i77`r*tu+fFE|Ha@ z{g!{yN*QanY%hF6dG?iJbimHc7bQxzMGwQw-I9(pBL>^HElxPwB=dclzd~zejNRcP zpLk_FnDK#2mBpMDX69PNxK<(3MtFN-2wmjm0`33S)-L`JxyFy&Jr+zf?TcK+$t1rPN9d zB>}|`33ILkb*$qnw&T$R-l`sP9pBOK*h2N7>wrw+xCK18Z zPei<2Isiy9%IkU9A(2|MYF@UKt_QfoZ01B6f`n8usJeK(i-Hlqf7zdS!sUkG#nf#} z>=Ocsidr%PkaNx$BogwKe$Pb_ap`? zd-jP)2z1^T{kw=LP!xf6d`T%ea%4ld-WM?t#e83TZ0|;1K#^WH&)aBtTGVRPK$tq{-x{g4xP;uq>LX$$Hu2a+L{fTV+cx_H+Ir&- z_!I%9*s%ic&1zLuMK2qxLqpE;=WiZ{!Px@$b-$%_lLuws;blJx$C<1wqxm!1+>M+iup7otOS2P6;cS64{`y60K~SsaP`{a z!4P(&E@tnNQg9ZtwLh32WFDN)o|G!!3lODL3wOhU0q2hMMcZ4u&J&UITiHmY6gv?P zJI(fe-?pvXFn%BkYc~~<8_q~!&MBlQksDlJdS7P1`$13uuoaBNJb0Z@DPNZz#Tstg zcsU>-{|u#tMuFsJ*6I98n1i*zngrQJn?(@DN3F|8Ka%(G}cw!551~%rF7Vd6XV}%$~))SxqHij5kh+JfBMs( zwr%_R)hmd6XlG#TW2BFW`r+Xf09-DYg-MnbKG@D~!_&Rx>fX%Jk|z=Xo}Ztcb9Z;gA`fnwW^HQb9#&Pz>o!~U=`(C?^4;LB zS)5Yo*?@W8hzQ(NDFPtBJas4pZbiG|l`IxzvW&=`S%WW_C~rFT*>1VB2YAklU>0@* zZyWrD+YX!Fc~GFR-ts)G9VKZ4kSAx|A`U`sqb`CNS~3;py;_YzDy6m-WG7@f*g43T zkw-u~D$x!tnmnDQH||iOJfG;gO-|cXG+cS_y`LpM^4=w~?rA3piTDKW3lpm-`#$<% z*dcTb`CN1f5yx@-m0$j)*RNlXX6E|EfQECkY*Pr{dGEY)1waftSyHA+vkH4j-1o!d zlfOn_S?gGceOl}M8BT3d*HsddGB$PdGg+o@F=9f-E0iJpM(&7-~ZlEe|kI~??d{9J&D0N*ZWSX z;KtaJLjmCB%ZIi-JUu;{`9{eN-Ni{{k9aW{fQ8?6^40vkpTLGQnP7UFh@1-wYu8P< zXo?x^5b^Qxk%;c^@3#1Nk*=|fvI8mdKF_Q>+m{%Ch`FCH+(1MrR!0c2*v(RM#;zh# z9f-;%KF)@CC2DHEfGrLeNu7qUlD-zoljCqA>5WdgR$|&2N^TJ zt#%7zrj)U3nmBzH$fiFG@-kJjN>Al}2SgnDAv&}^4r#P2)|6-4dtX(WT{$1yruW`h zgNQ}1+s=bmea_pX*hIV+?a#@PuaxBY_2MRR&MlbGz9&9(20(7#L%aG_UDw411>!Ia z>~BV#f>3$qFlAVIrVs#zVfg*O_Nzbm!S{dq)1R%m@Amd~MJ0jnPnjl-ovY&%T+|;P zpNOc=T-WQ1$+hW*J9k#dll{nYn_zx&FgnnU1uWv zw)C`f2_c+!UElj?E+^QP3^RNIae5|zfI;6q3cM1JkB`o|L)&gC3i;qiGgP{gQtrnI zG)<$VC`xlaB+ymflDd8FZyZ1Sc57Q7R>M#>%&h&j`Nb*N(xB$EE$UiB$XzAsddgqO zdW`daDdxuy>%9~QL$^@>kG+V>`Y8L@u1?_k`ZN%79OG`wdl)pxW4_r~lB%1qs8oEg zZQHFj7YNYx{A@iauPqZBJR<-$@B-e7Ap~LVssnJ&ubs-gVS*F4ME8F6SAO~DfBxrw z{Ntajxo;6ZhJXNj$*QUey<31xv+f)I%uIf z*4PcRM8;C%f30;wh<9(_Xsw<1fdNY)o%f%xkJ&zs0>^P2jnPUU4o$7A9fQv}+N##6 zL(W-3A!WszK!DgnjwLYH<#Ks(e|O!`PvD$891h*3+n1e{Qg7e9J)KV9zW;Vjaki8s ziYYaUp+sBOR4HX#81%a-WY_8M0ide1)~f6J^+AEVVUF zUGkW+(Ypu)1-K@S72mk!m*uQIxKT^Pd*5~4p%i8ZU~YPfE|FKfCfvHk)V z#!L%8DTHY~AvZQ6R_m9Nb0X*d-e_mXaJ{*{L|W?|Z|hFf-2Or0-CK-kvesJbA_Jc3 zKWxU^@>~?rovF~TR}fcz z=|1;`02UU;n9JpY90mq>6~mlL23+5242dRscz9XYjgpd+XsR@l#mHbT2yY!>rPOG~ zBt(y+@y^kalI?e?ATa&{rXKSlAI(@*mG|CRyDxh1_I-SM)>_}+MZ5RTz!BR+>zvz4 zD9V?$maXXL%egG3ZHI_3SI7^~!jz|!TCu1=_qUE5pO&@m$bD$rX3c|n7dA~Zj^nyn zA;jb36VaX?Tzn${R8>_~o7%t@aw>RFHZR&%f+bN(fR!BcjB*^UbsSx@cq-MPECycz zz&aIk8c?vZmIj!zCEPNKh)Bfjmmq05mzygwnQ(~6EqumU&WZ&XI0vg7diy?OatpoXHjA6$)`bkM56VWd| z#d%|jYA*M4i?4ekAW~8&CG%6ow&J3#lrc?=&`eQh`L9~5Em!n7nk`+N;V-av=L;dnfL^X)g6 z%Ox*Jl5^9o>=rv@+FGlWF4ofFt+r*6^S;ax5wUHXwRMzYo~&^k7hY|C*ZF)FLKHDs z09TZ`ZB+ohr($S$6g#%oks@6P$})!H#68Z_V#h|N!ZJmw0RX4dscqXWI5Y!qw?>x< z;Io%*S&U&$*Sz(T^E4Np|fw&RxebL4U8>lNO#b``jRmbCD7)EEUC`Fzuly26HU%h%Y zn(@Pj4=hg^V}@ZU=G50Cin;U0?Kt^K7i!R7#yrCq!68lz#HX6Tg zK@}jjj$&@}08hmDNzMzuUIPBSwsaxxB}YRA1AOx(X)|9S#Sr6s_7%UX^0a zPy~4YG&)bC@jv|T;UD_VxBcLfnNT1C!e9KWkAn%acxrhV#$tX92%!PxNKT5i`AP$a zakQ|aNJ5CN>wf*$|3J=t5rOM1;YKkc6sTn};VXJiTB{;Dj0ua9^3aAVQU%vi+z9+@!bI8CoHb{xm+?%EiW!fw!4uU;Y1I@;)lOjwAv0?}5um$cxrqrnsH&=0uU_?i&#>P8z5zhj^?g6w-yLu99#vI^ zXtqSWIMsB2f8Vz4>4j;(Zt9LnXrDKP^?HTtW2ncQIslZW<&+w9anXp8??h?yi`b zfMU?#dKHAgZgBtXKmMa1d~x`2GQafw`+wj!-gLd2F-W5S(x3Que&=U>qos)+Um_s# zxyVAXt~1W_pOj~^bd9530}>H&7>2iR-@JMAdKgDFDS1DOr{)qRUJjqHHX_wY2 zRaRYg&yy75Fr_gmopD4Wx^$iQ{wf1@r3{9vw*nxZ&gY@;{VD}!@nII$y(i|r$yC0$ z?bd`CoN$N9CGZKu-Gx;6e2}kL`nrv z?l6}hF0O8o2lMeeoz4JwJWi0ML*iY|T^S&RH*=V&%<0G{h#&Ut-g@M6Z>%1>Y*0bP3 zfzG<2?+b!s**ObBN+HC%w{NwQ?7uH=QFZfHM(y{ODsshubAGdq+&?XnxGqF722w22!rrlC1Dkp?sp-l=oYc-mTTW!A zq|EX8Yxws+*o5%5Vu}Y#=BI^vjysQ4t|M&m&cYk)#3RC3$j!$71 zyuFE#@ZJ-UoVx%x_3^{Q%is9*Kfv*Uxp{9VzenHqtj?`EFb#jBhfvqmKH_H_$FA>- z!(>N$f=qL?Slcv{IJ=2uvp@Uhn*iP4d~*)@_H`}ay?vvk^a&?Ydc`fND5xMV^c^3e-*=C?Sw5`7(gn zIk(dj?|suWmDcC;iPv@UMy-|i-deZtnqbJNypFK#?4DV@}Z+#&|UE{jJXpG%TA|L(1REVh$xj~kK7bO~077~@( z38yZ~*POYfY3gDq*AB$5ATlo?r`exABUoZvtJ^>(b64gJDgU@Za?U+JpSDa#)>>=JvD!uWNMX8f?fz`rEcobF z=>;Ncn`TG-rHw?75xXR$KqXO0To4)WsjcOo`}cqL?bG<3H?6TDidu+G2hAs_zmPI; zWr7KxAcg9ef9V%<8G<6minW=SX#3 zl-9Z8+XdpcA3k(l$K%>JbYWCDzxwLSs;*}#Ca3?-S_m-oeYtmaB)}NstkqiY#waZ> zW~hg@y>z{lLR_0~cCio({oVm$!h-Ef`p!CMozj7D({?c>=E2@Mzv~i4fp>Rz0I=r4 z08rPJl-AmUXq>#ob8Z^Cfe7=Y(VuzZRu!ySCdDY&wRcL$P(Qe7s)Y`b z+>M-jE2mbtn=n#tNMQm%T&+ohwhH)_NSrknU$5 ze#wS{;!~bzD;3dB5v{Fm@RAj!H$?2Zp0S<92NO`dIKzbo0Xz|YyrXmv*;GunfPvc! zxztV)v2Gg9RWu!nUJfDL4^e?^37pPaxvhYvd0}N5WqYy%CWhNkQ z(VsGT1c@mak#`;>2;A49=X;2V$l*3PVsTkx$rGpP-#20_t+Z0hWS+Ct1t2;ek4@7& zXBoHCrL`794pWuN*<9^PWM#ukbWs;EsGGEAhX=F4XUT&J5V7xi0IKVHUg8@Op{leo zOQ}C)NhP9TBW8N7&L(*i5zQ(o6~+n&dt%V0Pq%D6JD<-&AlF4Md7Czk-t6)zjO!Bs z!MmM@>Ethw5i!4aq3W;@Vx9-|)`{Acw699TjO$tIe~Fe+mi?5x7g#cNA|Rp^(!(a# ziLY3`Xlnwu0F@LIO>B>7vr^NR=tJbnfL=gHu4wgf&fVSJsT)8~`3&=e-g^~YIDY-rm*4;TtI-%0&0@ykNSn~-lx1h#xd?sq@N=oUs^RR5am57v9D3J4L^U`lV5a|s6*L&~5XT|sk zVvUTwHoVVO;r+{6`}FwKw9SqsioX>?G)--cEoU2!w<)DwzIgHY^t2A`mr~Sq9W%5| z5u$7WWU+LC7@`>YYOPxXl9`-|8#1EJyRpZE`Q)T8gIP%em&>l}I?>S7$-1uORAmKY zW5FCGrEtFBNZUCoT5BLEIygDI>{d1jSP_w&TCJ@GM07r%o2Ds}o~YcHdZ@Jf$g==! zrYmJvfUGh>I{Aq_39-4EInn9jOWqiL-{%0jd{7)}_0eh{qZ3OrpJ2(k$dW7;n=7?( zhSz|j`GW=TKt5@U`#H2P0FrYf4WJLG#J>A*W@ zHmj>(P}i??Iqax#qpOc-GqIr)PI`P16)z2pCq8*xMwfTqK3& zhJcU-bRopc7cYi!IG-;I9xMdbbw%W3%xKB3AsPhz~j7-zR` zaLedD4CA-oe*5l@aXg>TfoYJ2Lv_b9}hH*dcB>PwgWNmsdGyj1F+cWwj{jGmrnJG*)j5dt!F z(>mvz56bka5duP-d4Dm~&T}FLsm(iDhAIJ&Qj+UfIij5{%zM4NbbZ&~zqqfeipZ4+ zO0fSZC7Y%x)O?Qnm&r#{*9dqzpP@jugb=U=xPTQZhqq4C)Wa~ivK&o9pxuDW!v1+iy#1Qq#uR={#pI1l-i1|D$C*_ zLs`lG4B))4Dy@`WXqiIb^YdAX2|kuS2q8H8dhuv%6%3BEm%SSWfdpJ+Jwl)n$T(-m z(RiwW$Yp_Th+xb>M5HR1TUi9c+0ftrW%Zx`ZvAKfcK?@tYz}&v&(iy){|g0jWbJpq z``yXl6p1#6swOxz#v;DP7&bl^s}`Qm=fxy&C>nQQU3@T`cJci5tfbsZ3&^U^Fdk37kjzWpJdf_Ql*_-tl&{%Wl?vl%3F``efpYK=^s!9*TxWJP$ z)1)YpF7Uv#QT7-S0}#H%@=JdF+d99EAX}?kEbhZfs$f?U7vEj*H8TGjRXQ12w& zOzzl{=4WUV88F*#M2N0KE5SOL<=^liUwZZG<*T>f|6cd`n`7Q_A;kI8{nP)Q|JE=5 z+OIzUssAPX?tcVT3sK}ngweqdUdrG2ZuQUo8TfPm$#_=<2F%vB0{4wpWzKjNGTFtP zXV#c;nBpub^c#t&i%Ht^L2-)EHTOltrm10uLEBh#qDpJO%O;uqpG#`eYNdbxY*yuc z!NAr+EfKYC`~B~IUu*4dC$q5)Aq1_08DfdhtfH+H;+8`(Sv{gY=bazMv97D@MI|!+ z?VMw6COLkj6!SuA%du2Sc_QmPyN6dZ8^1vSfT17AQ`0oKt&T9D?(8l*p;Cz8Jr^Kq z*(qXIRwfQZTI~;HvtBVj>LvsUNJ=S)+z#DeN)#keD5bpf&by@r3SmkbFq5{i?*{^C z>$+I|dj$yzpIhd^ZXFU$#u_D6X=sSJr!}sBO6K}C%|%3|l^IMyIwU%s&d1|%9V*Qm ztoUj~Sd@KCS6$Uv-uBIFVY{AN0cW)?s#*P^pIcP`xwQ(d>um*isH^NguLquDa1MV z^5siLv#(`Y?^EF7>_;N9c6y7FvO7PIhhKruenh995(7p7t{1O=>)Ye+`=|fp&;FS| zF%&DYR}$sJ=i}e_%-g?)txgP>2n53ONI!nEogo?hTRv1KT!}&mNNBD71ApN6zkBy~ z7zT<{fdZYiV?Qp|CE>`{-U{A1Ywnw7;41gUST5q)J>zcjneaXYB=W;xy!W_~dq2!c z2KoH@>#rYPzVzPv65?#<80Hf)F<_$1rx9Cm-f?aw_{fV0q?BeD&X-G5)wd?@33vp` z!8lT?{j62&p{camD!`Ioe2R=QQc9^5Tq9V?HLxCFdiKz^qg1E!c})%3j#0FlGQ?)% z?Pa{JKm;K+d2s0=iBf8*Q5Rw)5WM#+w=RC^yI!DZ+ol+0y9Kq|;=$f~kA7nhY$A&> zmX290pAbSS)%SgoJp;ko)`WfH&4!7ob?) z`{K-b@4x%S7sum)E$0d7Ypo-17w0%yajf^g$O5-4E?2oP^L1m)RZ@?0z-e*0xx$zy z-wz|L<DMh8$Xc5hGr^eLoE<-1zYJX8V(xL2H%plj{e$zViAhDJA=c zOUBRX(A{D^;v>BU$=>o}j;kQ0)cLI#V!pP3KijNyGtznuD!e*UjCq$=*Sob7N&%F9+F;y4UH z_~G|ozo>ubcYZhIU5Gz2CJJynLlF_GN}PX&mk)UV7W|UV_^3sA@-Jfy*tg6b(vVnJf8Dmhmx~g_-z5)Os`@l9r8n~035w{dN z!m6-eOKptPOFVd~>&&;$4CV^65<~e7MR_y$!B=h!1~FP|7qKgdc)4@{u*HM9Xu-l` z&8AU71-O>;PHtBb*rIMWnyTt*QFoFRR%BGTHEv2 zZ^u}F@a4-FMIj6T5W!liS!>5}mMCLQfQX2k zLm{M+h-j?w&R=EQ-Z^7NwzFLy|HK9g2R;GclZh#Z)C(aI{X)K@P$jf7)|7MqZYdvG zm)7?ehs?ZWjR#RmDkX;j*F3oI2SicKjm`jF=VqueMzU-Q{@(BN;Ki&85pvoUz`%%g zU0=EmW67b3d}FXiEMBCPI-Sm1S9PuP>czZjcXxMBPfx{23Ba3}N=7o>E z0-(24z+h|lI_Dpso?gFtRdh_^W`eNkgOoFOJ`pW^`k4R(3MHjh%8gkqmSCVoXWgM`zW(0V0)-`;BWgxdFr*`ZHKx)U5a~9c zBF{f_-(9g18J1rrAfL*WuL`n==)BjJet7lpozFja&Job$C;reOfymF40C>1RU7!b8wBP0{(m(xP((f?nwgppc#-=M#%ZJdxN$lTKxe=E#U8 zJx!kvhqhQ-x2>PZ|W6%8p$h4X4Xj|IIa3d2WVbsXV!s*dw5%5fUTb} z7I`c|1SSIFy&uLgsn494ByZ1o#}t5N$MuVL%xq<~@1y7Uqb>vjDP>bPLioww5#i9D zd|g#P`q2;FL^DH=QgNgiAP#XD$6*|gcX!1BrkfX_XrD);hz{)m5zT0vUrORi$y84??=AZjc}~_Z6(|->0e~Zt0JL$im6T$82iePZ z2d-VQ_=%Hm^AK{oHzIa@U+~)@cp^R9NRza*wXxUkUKVGyR@SP;@MBID@Yb)#!ft>f zQr%i-3OTn40P-qzC16wG+6e``MLAxi&|2FVoO48a%W|+*&9^$8M2fAbYisR>F%~%o z2)kVtuSn;v*!komOHz1U*IVgtui6YS!-7TctpCrN50A!l-mJnk&|35M-CL!U>3ShV zV#D4!pV1-;Io-rCjy-D~8<4%?+Y#~p{;mj+%mn3t|Ja&6PMR?{N72XfrqmyZA}k7g z`SRuGpMNIBRGlm}xhcL!QuRYYLv`B=XPsjne50!v0NS=$>%oZ! zw@vK{77-~dyX1d{F>b+1w+T0=!CLIvh`iuRWXttZstjrV z#jp4F`wnZ|`hGu*esS~Mxl;h_?56@w*M|=uoO6g`OEfQ5S>B(8l*4Z8hTLpO;S|?? zI}cBBjCuACA_}%^L}Q%yA7Svkav?4q$x>SHhoOIQkZA}2fB?qY&p-R@JD+`Ktwn*J zd|m6~@nA#jMnwCwz%9h-eC~%K$d_q=Sy-?t`4NcdcsyK#^6gCkYg32Ap&y1s3Yciz zsNLl+qFA(stwCRY@x{Z#OAdLuy;_Me=5o2D3TZn7Qy<=cXxgT#>hhMo!By+MKePwy ztQl{@J+XM6bW^3I6v9|bTd`AEcw<%7F$e6m84Z}d06BKn?W{DnHVk86fxA3dO8M~c zY8d+S`5eILE1xs~+}+(-XHTaS%<-Iv3HLE;S)h z(Zz2N^&Uh#ozJ;w$PT8=iVi&6oPX-?zGJYBLf>qMsBK$Bar@gD<+Suzht}5O(!}`y z06>5nz;)aBECPsrZ$xm0`g6LOJb_0TM_n~q1NbN$3mk{>M?d(%+qZAd=X0tlrUx{wD4cMgg7-f=9lx>AR@X<8xVI1XLkZ;iRq)!p6w z`}gl*<Ud3IYHTCmu=_wi6YQQgXO0UE8)wN}7GKp2Of)S=en5k)69qap#(l zi1_&UhyeHZ_c^^t)VXMH+4krV#hgU*`yu7pT}K(M-A)i4ctsvuReDjEg3lo*Pgr9J z81S{&gv|LWt;do)Dp2gE8!MPwgb>~Z`0TVcD|A9WfkpH(BA!mCwrw`%WWxF;3XBNG zc<*UlCvEdYgd%1)-@ko1@4PFg4d;wS-6{<`5#?A4%yKQ6RmBk|@msYT0j}%Nkd>@Q zK;z6-k#;53`b+P<6kD~cH|qdy$7^%vj$!a3)xy)oR4mF7#=O~q|*cuJ+2y<9F_4@W5_XY+DR3(m|(m9Dhb)>uvo zxMjF2&Jh#wf}4HI{}jmzv*DEidvltUR##oum|!fUmr9D=YGMo!8%8q>L$M3q`?{(= zd-v{qxtva?ToUx2ythK&A_OAJl5SDrBQQu^4dbAdUdO*D!n)9widaa*P<421VXLYN zMpzing%BSe9|7Qgt_M>F|6a^ChUz`#{0|$L6qKvlQStFExtdIttoRDuDZ#Oh|7OfJM zV<>MC%f0G(8XyegxCWRx>y%PWQ#Wm+bq!LZs>$@^4dk5?Jc zAfR;TyZ8G(?7IGSKj%K@ceV$-eu_$@a;@xhyf7arjo?cWfS#M!N7@6th+} z7`BRv=eSXT5W$={L(9&G)oc5hJ1bA|^|)Z3+Zl%tAD$2T=jIjHB0Hm>f59Izt|MRn zfPiInbKv>Vvp4{LS@Uv$qWAPGsBM@UFYF)q{7x794kvVqQre)ODqG^W53yhtAaw|H zo3MI(qLHe;(IWTX^UZhhWj_nx2U8=DwGTtTfl~Rq4!on)JtHZcj=~~`;+%^(2JXf4ejqjw&JYLRFFqEn@%MJZUbQTB<#2hH`viY(Dffw4Royv-Rm1)rvD3$JgX z%+cq;Jf)lcSyR1ru8sD1uk~M;)$%y4(B*HWh{?Fef8i?C?>q38DKj2_Uqpx9T7-p@ z2s+dy2v>v}Y}Uw*^1f_lxmjcElzzl7kwd0UrOp|4dWpC{LtkrIzk!05SA)gMhbblf z7;`cCm7it7L3kDEzx_!}0fd`W+1+LtoIYQjTc6+tf}4(>%d?~41~P&mub1?|dlK9c zAg5|jkW|i8y4wnWTW6%9@|LS!k>Oq)+*xSS?)XL1C)vr0OJTmX#~)n8M&-WoZvope zyB)Q)+$H}~#m*zp%WK!4&IdzIDnqL_=gBMU&Wv&-PlVAxqfI0EZ17d#)3B{hG%WdGxmZhbo(bRm!<5A$N6I^V)?|Go^2~ev;%c?IzuEggFHQf37TmINq+bY0jYD3TddQ9nIL*&(-L3&*=2O>6+esjw>YPh94p7U_}o$E z%at4xecF_Tx78^>-ext}pC|$lkRd@bcUwOGuPr0Ds_o?o1Rf|&DF9@2Tp9#*h3lbR z1rVYrAOk@19rKI^oh3zvg-muFb=Tw}+{F9&DAl7{U1W~2(~y&A$0Z|;e`Wj)h7?$J zdOE$@AVo6LR+}8nh#^=-r@l)1>1Zbbw!OluAv#5DWUGH;foe#8v7 zczNb9rOitN*xlaa<1L089}w5V5QFC+5Co`6r(M7y+U}p~+=nQh#n%ktL$f_r<2+*Fefj47^sIhRh%PF(6i&lmT zNPPTV(mLT&ir0{XKs=-BQ&P9!FnjH`47&AJtO&B~ln5eWy-Znp4i3bV^EYEXMp(E( z1CfYQ5TNG{OY#*ic^_mY%#jW}#{KlWPyqG;1+<~IOrT(S@WExVu32W=DeP!)h)7h- zf)W3pv7xf*E4YZ_dmw=cp?z;#dCtRVEc(;;39hm4* zo%0w$fb^r>*O|(p2M2!kXqs|~hg*JMpx$C{kK4Nq)6AG6-(vv=xKU};>$#EiY}hy& z)rV(`z1B9>ixS*k=0q*r>O)5NJ5$hBnvWlf%iqw4)2rq@6=fnpSg5IUft#Eco4?2j zCe4iZgY6PvRkHAZjh1wv-D{dMHk@FO|Y6jCsqZ z|2ulVDSMx!1^m~rRMiy&6v5wgsR$8{-_ch>05BB8M09GS3Shnj z2_(?@vTCC!@UQ0a3CYhSWD&vCF7cm#VoFhe@V*r2Gs4qE2hNDN1qR+eTp!P7l$Rr$ zJ5{~YW{pCqf9Ekr+A&x$B29&h#fc#7j-j!^JajiI7!{H(4tT!K)k_vDW~p= zAAxprJe_N$#AQltzjHd*kSx4cR5CM>jz;1LTG#5|?fzwB@(6)%`OH~pBD3(v8wv}~ z^z!n|617nhBH0;Lpsb{}<&1s<9qXSr2Fq4|W8F?%yRVD_U$06 z#No**yJV8OjW_GZ5Ud#cp7%yNg*;R3Vv*g17w#f%PU+>L>fn^i%?X)Mwzo<$rdlpO zKZcY-n&OiMiNueGqSioHvQbBehf(9h9ASIcF4+{VmH0XlXgWKIk3_L z42SQqU{WKXFnNZn=GBTJ?``cdrm^Ep`gqx{ixqTQAQvO_*$Yk*u?+GzVYCbh|pn328ygOiR#)5lk zn!9C+<6UgC-9xtt6AApPhK{skeV)2Eo4D2c*i2*58^l};roB31{^jvS!UR^9nUj-) zVA>bz!(m#CX2aJw7m5&`kduaRs>GMN8hyh2LmKcg7GTWQL|MLaI}k&%oDs4}!*Uxd zh=JI88*{T%@H74i^t}hAJr#q^yHLx1Diuq6TWVCtNl(}pfHmHKtI9hQw$~V&~@~@Xkyx`6eX!l`X2M;uI|PK?OirHB`J2L4COKD8EMft99NgHI2+#(lhYyQC7_=L7BA`uz?9};Yo^Joqw+4 z>_btTgZb>Y(25CtgbF-P)>a}V@9ZTP zaSL0;*ZN$8{}LO?0Z#q3;5LLU+_03a`=A4{6oul1bUH%GtTZ2=?f4NSkiJEFC<+kT zcBKT?(klBQZZWadARxpb_|46e>6AA7Q;uh1pu6Z73LzV~kGR|S8lrG$mln|Z8HZLz z>bSBlZBIb|Z1FRMWWyY}#77mDF{Gx};`Snx-G}cYksE3Dqx@k;U`k(4i&k&ZAw1rD zJ&xyJzSXj{ft^j7z$lP`F)R=HW!*=uTniBl?i=@Wn86?@8hm>d(MCd6XkMRDuc<;` zoPud#sNIKZprciM-PYl5Bsrag3y{ykC$_GatztWnL2n1jU`7=KR8?nwsk5-_v$y8> z%!KkWQG~J+YfF0?y7;e~7wrhKG9(*P8~=+k&^<=LW@CdN9-jG!0c8_M;Q+-TtAN1b z3dcVr5TCnEtgsh%5kZIiO5c+u<)<76dY|Fy6gC%eyTb?&ml>?%Y_Xolx~t_IZ-7!$ zaR^1mzOFq8LJ$JAr{uB^Ga#%bJQJC`(MnAJ&}h{Y9^#%_ARDTk{yio&$z!4V%hs30 z?{k)p*R1FHop}1`6(Hwz`>J4DqXis|y`B3pk%Nwt&emjTE3+OBQm6Y4*GqTJOJd;N z>Er(MJm~fKQzj-jy%X)sFDe=+et+tJ(9qHG=t6l^j;~$-gh1fN#${3hRZ7H@EUM3Bw}3M#A}Jik@uie}LL>-3=Io z#?gYmjHK_v?`GkT~X^2;iBF~8ygC;xiho*LEj^D#BTvj|KgVfde`)iq+ zq?*wIC#NTPvKzM;agM!kCif zCO7hC0A=5u+7IimPH3D`4bL;%M(ntBcH zkB+C}cuBVdrf+knksE{F$+Hv@zLi2p9+cGsSW~o@MWq<+6D!{4U3OPhoXkB>_FM~w z8j$;Jz@_}DT(0zHyX9sE@{W`3FVZUJC!)#j2hS5}7ce6*&*PX-yzEwp2lvUPP`u>* z=xOoNdRt|a@_Z*;!1)yYl^>gB(0162R08yE$nejtS_S>-qLSQ~)8iTm|2yYy!+qh1 z>K=||10X=9G?~X@r5Ucs$zWDPM;$9GII z!89dL6yS^JNG61y8AO%zAi|4On7%?4A(Q4tCuBd|`Ih9%&Xb z4!dNnH2CrJ7u(wj(SWW);YtCrfd-S^hr#+($2k6*b+{X8v(G=mzUqTT+8#4<5Z7N! z`>HueReW8!V6-MIVHFc=tV6HRi)!?PraOxQOI1THF>xJmTNVsxoQk3XrdYJGtMVvZ zb7z##wah?Z|6+M6So?wEl8rdVE$h`dcT+wleQTb@!Svbeofs8e2%mk{)sF>P-3CIq zFODyscCoy{Wmd<}yaU*RM_@V1ym=iLD z$MYHfn7?$icRjXAK3(d9{!Go+5$`_yFDLC!vA({TJT6#nJ|B&9U4~_X>EXsqW&V`~ zS;P~k;RkSXJ=~^jkNm#95f)4OI;tArG|tk|y58lt!mnJOJY33X68Qx6CQgpfeOyx?DLZ(>c2qMZB>M$dprnri4V|C6ocv3?8lAy zI))62D}Wn@{8sD=zPND6G@p#Xw}u#|%Qbu_BLM5=;VCW+d6bot7qE%Hc4tt{`$?u< z{j3^hG5r3Wi7R9@JwZdrn%j!atct6&62E183XpK_E8EBsq}S3r-oEW%_7*m$j#m&1 zt^7r-yl4O0bD1ONM9P}>Cs;%-nq$MRN{@>fKo7mZZW!~-#_zPR%XRyHPwwPYrToeF zTGIbt?6|oa8LEQ=XJ~k zN$+|27B}#s=Vj0Bz_nz`x^3&qkeWK+{%eZ3BcjwO_Z%}?qz$cGlmE@h+Ri+m4O)9o z&$xpzKx6->re`+urbzm@K)PX`yMpI0THn+EPk^C$Cad1NhrhDn1WD%wmH}~p_z=CI zm9yl<)J7XB`Jk)4WuXW1^LIM`$9hbOIoteiapQ6Q-u>ty=b5q(-PwYY9(jWmuPgA? zTLPY^yLovr-qwsfD8Eal{0!6El6B4vLvwOwMdH4E51_uJHX_J2gq7)jT$K>sLstQCj`9ktn z9vM;*c-3=<3n@!jUD^}fL?H*`nzd;)B+&PKE6qj*r7>YrEP7i1e5cx2Zzky@o$204x8+v& z-BSo4v6I%q{of<2m+2vYq8Sp%j(9^C5z)auNL2Ea*#elte3@p6yqVCGlM~nK32M?l z!XBk9av_ZPn6R+>u##}5IY_|e%YE)M^%Ir`A2KDHx9w5++%$>XQ7qpu*#~nL{y!yZ z%3Z}FcwwZHx`dx2qNIIKx0 zOu7SZCIvqWu9dD3+`g%kn>YIf!6LL5mqvH#&YCWDi$&waexN!1Hvyev@@*2waKPW8e*k<<>-qC!KfLay-c5yt13r8h zXu9Pbx16qf7%duc4wKRjUVqzpJ4fhTFW5#2VA}1TU;w6SkFoY7_eeyWp@$RdIL8LyO3{qJDNbU#RJKMxcfM8HluDq^iI9p`Wqy&?_2rdILKI5;VjWwYT)9_w6vI}7Z429ndrtr_-wW5ehHeF`LgS3XA0_R=PG zh`59}hi|{^j*C_kP@pK%V{rT>(-BPmeg@`D43rIM@O%hCa$BynRb-APSN!LTU=N{2 z266Q6CQ_4pXptuhDgIM=6&-$@eb82Y-1z=t>h=q65Y}(P4VrKoWO}8Ktw9X2l(B$2 zTt-U7^9I4|L3|7uMu`K2KQm*wkK3CFF8`+G=v5mjB*M^ZOnO#LZkK}li{7G5{y_f9 z)X70?yFi8<q}RPy1kKlkdr>G zz@zs?A=yev*N}D;6#jFEm7D+X31QWlYw_Tj<|-bT{y@MVD%-5fDZiS=SQ4a=eFb z+;9%TzZES%74V#OqczQ1+@EA2!q|mCMMHjod>O2*p1{dCUn4{+?N|V88LI^$#x zs$$Qe24(OanH6a$h}*|WLETb`c?I1kK!P5#gZP5#HiHq8Q+#! z%=3pji`|)#{8)s(bqA(!o zJ{?L-#@5`aGej$N;Lk#m!LtJjgt}Eb7*u(vk*Y(OEGY%|vtsntnOiQbISbzFvN}y_3O>3N#EhoHRiG ztvc9u^z$4p`QoIH@7=qbClIb~8yo#Y7hqVoOvsUp!OQQJ>0QXWJG8T}s%CALN17?9 zG~VjVs5x*JBDaWe(fymThYIrb4S?wjdaPCcjm|$78`syffBxehOoXybTm1QJWcM*` zl1wq-_FdvZbhNr;=@=aKQg(G{&VDRU+D%H)BUR!Y&9TadfK2Wo$k$pJz~}%Y@vtHDulOMj%KQQnq^%_uB94RKzsb zN-T?!&KF|FqBC9SQc^o&PEY~JMGRk>>ZMy04l5MU{`kD;!@;eotXuDCF(H(RGW34% z@v$R`C+hWjDb62+avG*bZ=ZGanV0q!(Iyw;_wZEgH#R09Vn5UV0d%n_WfN_kYzo3?Z4{x*VEFw8QC&e-JKUqoC|vPJ{e`#+<;(#>Js z|KM^uhCw@>F8Z7%z1mH{l6?sm%XoS;PQGlrcuuLR<|l<1;`+u$lS4(3NbWR%pWKgu z+uskPAekp#F!Q`zYOwPooEW%J+!4Fe`b~|2H^>HV z<#CwrZT{Sgh)g4|S4}$B?ldm|(}l?=-RS+@`!FTy{PwiH`rFlMP!2r7Xz?wZ(tS*j zx!CrkT_xwSNxJ@61pL`xST>RghyuVF;1)dL!M(w14dWRW9?`d3=k=Ry{>Uf%Y@T4# zcZ1a{ur*ZHQ1}o2Ic&DSee&I4EzZ(7rqBL6Zo*D%P*wQPGI-L{p4yX`m*>lX^chxD zEVR8^l5!cPV)I_l9tkq)!al>RV%y%9>WZUWhqLbAuqSxn*0m2KYzU%tK&9py)*W24 zt!jhrnr~7>dzk$y+XY!#M(=Er^oQNTDVntp24HqM5AH7mIVfEj37vi}CN9k8rVT&` z_&6Z$qN_iZBG`FB?ZVL?bJ@o|Yt_q)HNQi878N5t>X>XbPb$Jy43r7VR$phV5#Bk2 ze;G>&vltREX)8O8xBa`}gs;;X|Mhj~-P);tsU7(~;o}nu0!noCsZbw!fi6Wwlzdfm zU+sit)g*%b>Za{*g`uQTgE_X&A_g9O#Pt>;13)*uBIhpiC zq4qWz5#qT}q6O92Emx7yftY^fJ*$gB2Cmt-wB&O99gPi=Es(D^>HLC}IO!(jZM1t3 zVuqFhY3*1bV@?vVsRHvFU9oMZFBQ( z8m#tgVjbwgflV;agv$*9iQ`xgm=U4vY$Tm$coGAF&Yt))@3oI2t5I^$kk3GZ7Y0de zune!{2xeav!bhIIt)|~Ym3*zV-2?yxOv8K8G$|{Z?f$KBdNGP~CIigpxZxg-pIvTK z!d%Gv4Vu_4Y7i=%$WA`BU{y-O?E|~af<#{bgHfh1!gM!WZye4p?pH|!J&QOVjqg9p z7l}p;nX^OW12Bl_LH1VtZB|<}^LrR_77_XB>fOHH;cCtC5qsVbMf}GzbRe2|iY)fS z!P^m24o)k{w1Vm-NH7%E9zfduf;qb{{yOBUFKd6i^V#J-AZ7@>xxJGoIhAN5Qq zenES+c!g zdKZHB1Lv3wWad*TPk#BDYP^;U%43B*bh-7}UKi8KS~?I4`;Pp``?`_8GklKrfBgsx zs_h9~)q?5EQUNo!Mn)~*2IR>5CmImsu&dB?AhQPg>t_0u?V;z1$t>~@FgSsk0Z0o; z(a$673;K%pmk$2U&Je_q_pSTby%cY$^i6zbSd(l2$X$e>Z;N}U&k)dbnr_Na1>eY0 zMkbuj4a%pz{ezNBm!uB!Sh#&3rOw4wQZ$Q2@}nH>=uzVS-nHS)0fR1o|IuAPUs1}% z@UFp|_wJEe6`u!0Pf|Tvj@$JoxB=WZAEq=;RBZ`663Du z_oKMzqY=Ksx#EGSj^+UTO^c zr2ycL-zh$Brk`qbnoh@Zh+I}RT6p;PT`-IOl{gmBr=C$gsluD>ZN3x@X~fpyJsH4V zYt1pRclQbHBjiZlRO=ibwO3 zwIv#=&U*TdytRoQ3{W4_2kIgDKyZcfN4f|GOl=hi(j0d2@0IozrMV$N)(?N z1xG*~=E?2xUoCjdNk{rJO3Lf?{}{$AH>7cQvHsFPVj;3@e?y&NMoJuTTYA8R2(N(< z#)bcb>cu_TD6t^JAI)`RX0(xV?g;AfK?WLc;8YwItQ}T>J`K6W^Z}NA#W%0$=+Tkuu43>RDCm>8QPa}ilt$38Pxx(e?Xalmf(iRrFISm3{$S&*j4R@4)pv93 zZk8a>@@&BK@#|(xWMsQ~;PvYz^$XXF&1*%cB^iZ|q$uY7iHiN6m=@$^PN!y{k1b%k z$@^NLWzVKqL-$=q5@;fhoIdPF1=+sK*eV(z@sX1Ru{5hs9rIxI&_6$c)Se*qFzfN} z8XT&!;kbo_$wqNmYuvP@`Y9O*zPf|!VRQqiPP^TNuMD8z0>@8@T~|Bhw0i`y;2e4M z^NYQhf%6#;s>QfESeX*S+BZUhb3W0{48?<|fT8^h^g>m0kiueL1-yBIgHptA0G=y^ zr2-3%A1h$Or_aA{X^=5@laRvik+z?Vpqp6+?~hPqoVH%?I%;0ZOi;e3&qx7mHczsF zlJD;@Dp#l0PP^#2r1Ge_Ed8XmvZ+U4E7CemDYg!bD1LL0_iqZx=nRnoA#w5A3+hWe z$*Zpl>*|o|Cc)y}%fpl!2|5 zvt!f{P#qA&wlHK+vo92HSYdN6KCUE7-1=LXRQ6@));Y8`L!TK^hw&x*wz-@?C2vzp ztIm{=fY2@BoH&|8M?C+BFJ^GU<@e9Nb6&|Pyh37q*?0=4e(Dz7xW>B^){P`vq&<^?RJmB0g~;ZqJWQx;=*n}*50qgu4Dp+xoKSE$ zKiv;RelW6ImY`Fz3kSmMC;Z^=n>bS?8eQ@qHTRsYD@KbRUrs4I=<8?KJ!xrHvPk^Y zXD8*E*{#%q;0HE1(6mL_O(GW_MNuhrD?h78Up7#Y6S!9Tm7+f2I9xm#75CXYMxTfp zPhGRVU76@6(KdQ_Z%FLtCkeel09L_28Ir$tIIsrOqpTo`{;z9aO`bkosy_4W-?LjM z2qN&KKitObBS>PNB7+bxHQxbfyi-z{Xk7KFfonil_~+3=OUU}|ccUyT#L~RGgg;C= z@d!bEjr#W0ypxg&ET^ZZxw*OTzg5n7`1``!fx?|qsmP9jEEW^@loe+x>QtY)s+XnqVZOjuAkRBmwCXeciLD!g1^W5np?xeTw*#%%xAYf$bko| z`gnl>5(^#!LN)i#AV_KO@7u z>F~Zehch&e$UezUa1yCBodCLN2azYq?n7}C2U%JvF}ZumAd*`&XINnxe1R(-P1-uX zHt@QauOmA;CIO>pThVdk(4fxC@Xv}2X!;V>F8px9-=_%$iFUFlIhvvw2%^)=y&J0; z`MG}in^=Z23nuHLu$JX~2YA5dIP!L*`}ASThf6V{el6;uBV-}@7N(Dz_r84PyAZqt z0E_w`E5%p#X9ofrbV$t4_WULl^k5Mwi{{nhgLzpy4?k6BPPmBqifRm^b*_e|zUW zX%$CZjRe`T+;D#&t=d3Y=R^O-TLU)h9N>19o8CKe#w%~MA`lB#PI6TbD``!u8`qC?3}KO*!ILt9mjbTW)HF za3LH0FMX0qfR*JB{}2K;1bxiY=hgP0^^O)e>`!>z$8Dd#@%T?SRA7j=4@qPz`vVK~ z=lr?1sghi`BumLU0a*(=%HGQW!E7W6lzeJyBJM4d+HU8WytujGiV|2B}rY1&=CMaOAPC7N>qi#1HURobiv zv1mx`9=DIS@$)T~@hLsApnjMM`$LO(u|D~mEAdu6`ZVBt?d9A__*7B`X)GP}XGnB` zGBkREgy$`r6t*@S6#0v)%oLt$lNR zKoC<;NQBaUmn+|rL4PcRw))XQ=N%g!V%D^c)}j7lTOaG2{V|$5B@tY>Aq!5fRa}H0 z_!~Auq0GBEyV!leE_rzHcR;A<>4S3>K|(gd)S_>yPlNm4tm}0JmelgWH>&Tn{xvnj zaCUwU>6XVK+pYW9ccoU?SAr;IQJtA2ZJzFUPXR?@|BO?fU?CnAp0Dolv{=xIxeF z0+|#Y4jMgBdHgA34|`rXbXhd>gXE<=$vPyKw09^5Hble>qs-dKY8(yO>-jO=rp5aW z8v6bIpuPG)=$kBcw0Yk)(T>o~^T!F~kqngRfi12ojxg@Z#NjAKD5^B64+VzhuA&y8-MfqQI6vXG|XjTCHq4R!VoT&$lrG!?)ge4bYE4g^Im){LPn zw|#Rt;bvtdfX_wA+Fn-fE)B}#K)!gR!v>svWOI7xdYCp#qKJYU4m7oS-Yc`=xGThD zbk*HQ4t?WoeSi7h-qXx!Bdim7|R?bDqkFHLkU~4U+A&#Dmnkwn z9<^f44fy@b2;K^?|}iMOd{KZ$*CR(A#k+Bhvx=^4Pe^Gz_{U>O-&+eAw`PW3)b#eCCW$Pk)sb_+$lE&pyp#doH} zI#l%B2ez_Fq%7aoDJ1e}q>oWsgzN=IT^A8LwPR>&B&jgjX7O_g9jC&2I!CX^JJDE* zU?PH#al=A3KyDs0*I#e-hXYNan<1%pgdpSWCYY|Frnvb9QJ0L`t#Yi;tP`SkPQf*U zvq=GqgPxp2RYQ!&#d;uo*9dogfFAtbOBaljVFjBhU~@=}GWxPc;8-_A4C`7<1gxE!G8gojj5BK4J%LVFV_lKbJ zY7LpqxHs>Ck%w7b*cJwY*V^JYm0zk-lIDaDAP7D&f!B-Rt*UNlo&4a$5D#84?&D^GNk^K$#EBBWuW?OA}^i1-djLhpQ8R-}9g{ zni;e<%^%9}80fXbw>nMT6&}E^#2Y&)oBTT7rY_E;gd^;hw3MGyg!Mt9Lh~2f|74(M z+{ae>Y$ISFodK&@wed#Ql!HK(R|rd(DVd|Epr|x)O@ObjzSJ>~_GiO{kStl*6|TZa z!)OeJmmLpZ$vRr%ANXf}T`NxX@s-a9x23RXlt4x?HR5b&aza}x39ke?*fK6y$&CS& z55KI__QXrLmE&eZo#KX{csj$98I(l7mdMR@+;Q!9^Aiy=Ss$&pK`*0CeAD^dyZ@hc zxA(dlRJ0bc?G~-6cY5N7&ef4%`iv|?CQ*MrF$NI0#(usDR~+c_KZjEnLOY1UpQz&7`KxFA9N=Scc!>-SK0j4vVFkhYH52syRsd*!?VL# zUM!0nrkf`C^nI+;ktis{l2+U+N0~X6(jcLYbU+nir=mRJ`@WhN`+aU2CEi94b=IYq z7hh2wEc3d3l_-Qq)Knqvd-yPjSgddLCn7EbL&X~uJsaXhyjhVL1_Bvd@$vTx$TBHO zv~*m@yU7;(EIM6Xa2`{Elp(R3CWNDQ#-JEARbBm|4Rt8~#Y%vJrAX#o;5%}Q5Ob2w z8hI(2bOr*~HZz`YG51&N8*5Y~z6&rG3yO*D#VQS&`e?=&ZGh|B%u#zhs#Mdnd1AC5 zjZ-M^)??O{rDKzczUld7?VP3enzDbrt^YATT3NyZQddVT@RG1Ru|#WjgNb0jSd=s% z>=4UEqeF)?{%6PfUVoyDY_InG!HTGRy0N~d1!==yn>v^jnM!D1RRP0m^bmT5sS~J+ zfe`2!10fp$_1&P;H&D>)5#`Xx(F^(zIF1{lsI@%i4*5TO8}Pz|0cOQys_mg z5)P2oe%K`iqNSf+-xUhq095T-6EP8kbSnc~0^yk!G4WiLgBUj)g!*>Qm9AViU0`j; z;`7&l-Y=s&dj<#pPUlq)BW$Dq5Y_bs^rOZr*DCInQ z5a=Sqs#l3G3|d~k80Tw0sv%QWL>*iAI{7+AeSh$B|GGBOma+XgV*wKWC)(<{Peo=?~?l zlr4NVUi^7xcRl_c1E7Y;j^femeXxN}%bBidw79U!MZgxx1R|mzY9jvAWm3A{2{)pD z(teonsaE=+KB{1V0;VP9&MHc~x+6#2={nVkQq~s5a$_(x{|7YZAvx~`Zz@V_VAYel z4RUe-hw5i!`)fT}>$Yuo*o)JLT97kVDuP5C$*&wBA1UjW;G($|xswqF(+EcXWfSX{+ zZwpsBkTJokvV0V-Qqf*-4+M*L#4;1DqPI_E!S;gZCNk)JnWYB@Ak?=2A*ESiFR{0h za8sD8gvmQbx3Kd=ck?6X}dFie`?xt?9-jSbNsld5pDDLd&popN21UYR@mPpXlTMNXO z*x8ruYA=0izC#Fts@;36Ip2gnSF2B44jEIg{y_zBQ)ok2$js}73F?9Uq@|iOh(1cJ zzT91I)Gt#Tqmc?ZnntfvCiiTwg@K1PUfoIZgi&~Iy7qF#mfgHQ%LXsn=ut8=hRU=6 zl^&8ezZAY;!Fq~BMGnlPOBGN)LO_Vgca}I?mI0%sL)*XphqA-XzN$p&MgTB#O;j1|)%XnZx%FKc!j!~u-< z93KyD@vAPQrLfB|6+>wd;+pi2hdAT)gNt+v5R$u*z>HBGG1DiCf-3y_&OjG69@oJ%*)>>q4Pa&HyPTlyCsz zX=qk9-4E-TJ%8T&p3lkfE?|qe@6&jAc2jTnFy`9AC#F6Sn0Zd^J%(nbtN+i4R9-V| z$HL{H{G>!FY54bD^V`a6m`_K90zqEyrD?zk*6mU#cN&mkTVeAX;0KQMN5n%(k+s}P zd^XqsTT?CUjC83`@M-{FZOftmo1!k@&z7_I?TtgouStOe{|I3<+{G__E3v)Metmd< zmeAYMH@uSr`?APjL^b(upq`p;moKUOn{j6)tHE?(P_rStj9VTj)n90MD{#+Z`>7vD zC|C6md*e4D9#2^0rLV?BkXI@iUBT@yuh2P&J=LFyCzj$AHw*H5w`zF5@iljR){XrJ zGlwp`mey$+2NA*|DHd>d{xz_m2n0y$4`hclh(vW={v}9t z-99EP_{w}#(<@8(e}&NgWeno~F;-bbK!SRX3ezBqs`e}ty`n2X!UTUcv`dKZJ4r~= z+yqteuAM`XdFkwOZ}J_%%DnDJU7f<15eXM<#2^=bFpI3t)sQK<48I>x__P!d{AbSi zYqw!APtW9s1{>kJ;tc9KW$l>J!=M}H z)u7qC3dyZ?F$FuIwi{P>%sI+C0;OKnKl&wPT%vIp-mu5QAS#{mIcVK|{~g(gCSv9y5N zc+Rn3uC?nVhLO-h4}GaZsfeIYm=)7xKM+{ANN5M2J~ekwOwF!(UOZh*^n3B#gQajV z&f&}x)qv^M+nT1Sx`aM?9}z3xS)x)#cw(xMtjeQB$P0^O5crQx)x_R#@-*Al*2S1+ zfQH`0H1l|cz+_MlU|PVq=`945)>urh?#Y@qXi~#MitXNNuWo`3lUhu?k+9l-l>+Z@ zXU=MR43TfGCJBhDVnomV^3c-S;jYc>;OQ)~#hh?1uW(FA*}lKO^6R;szpjydTvGiG zvBiK$|E!SqNB_7mnRG=1=*uVSB5OcjK;NRxFRDB~a+lEHRKWy~B_Yt7u`g_k%hs|0 zbS>(!kzMw)z23n-Z;Z=o#l1?CmOs#jUAgv=hkAKNDHnFb^}N%V=ZO-mqLkEX8P2)iG%+Gz_(z=Q`UR>D=u#Rp9B8KO(%#iV^a9W4N zCJkanOa*~3E@@T1b;ih>7-Cl1HJ=YWRrDpr<9L*q zlfk91Ipxv=0<05>WT6IFsNm)QxF|j1YE}!_^7vlAnBQ@ZRSLNe4&@Lp=jj+jSV9YL zM;8T@IfgJk9VVh>n<+^6sXXl6l(jAd1M#tXQQxjA9Ra)JZ$fFhh7>xjac8Uj_i~Aa z>Cyw}=%5c(>0}?hfEae@BdI?z0QY+{R6$wMCE<0Y1rGaY|fO%r5OOcKW<)lk?k zXWd^5`-zj!PtQn`^I*0a?aCtfC69tu5yxvSU&_diFLMGDT?X@1wqEw~`d`cG_vW&S z=yy{;`)Au2{yHWKW5Jn1v|%3F@;nFp@RjrG7lLji|N#6_9L{{ z!~0?hx_ZGl*2t;d!{Hxq6{drk~?OX>(cK71ZOt70HX67 z6s}1S9gv9*qKn*ccq_U1R@?2M(0xw{PqIzRL%;#0A6m!=OZu8yETR|bfgQE((wmPX z*rZgdb7BQ3$YI4q(5a4_8QyKGLa+4H!(J;Cy3hNH!i!TarcMSV2%7ReD}t)p3%p9G zibf*?W^dRhgY|R#6Fpqw@lKy@a=ZMlj}|yQ;(k*u+!|frt-8W{!EUJy0=e3kXGK5Z z#;G59qC4lmL%jpC9IOsb-~~yi?l3Z2jBLWYr{F?mS&4%sHrX--kXXX+AXOcX3xM;f z#o;9KX&d|O-&3m{Z*|dO{HXiudDm59IsBY(|CH!K_DaPJP#)={me!P?3T1BCLRE}i zN0TR2L1s{)BE;w-e(<%LD(oZ6U11OQ>ru}Keff{1g#qsg+eFh{0C1R!0$5s;x<@)s z=q>K>ay2#gG6Jx6F4Zkw&2=?TieBXto?D?-xjCsm^8vn=xdn%4W5GV2_eyM>4?gp6 zNFs5T{|^Bn@&TjWaMA|^1irag8B-%2L;TLn!h_-2voaOF!f;~}Ec2Q`N9Opl7sk0< zF6nL{G{ZWA1-_8*Fe+sS*+r444gEF$$q;L2)lk!aM928*#{GhXE-C8H&n28%{-xGC z5}LDF9ilxTND|hjhlm%I)wC0`J4YE2z4U{`FBXfH%X61}U1_~$AX$D!-|@#WD{i{X z;P_rry8pfh|8V7a3`;S-jTN>S_?JxlpR1e#GPk3AixzXwL3Go!*^nT(l9*b3L8y-` zb$NcFE^_)aG(pC6Gk*6=e@L+gEf8-{jFd&llSzyp0T5=$obsGp`WKx%(P?>qVPKq} zb9fMg_NSjK=ccg4sCb)`tR;1=l=+U&#_fO{Gag=?^#sOZrV41=HkN1qxTfdj>2exo z#jSlCWA>;0q~GV+kz5)5O5Qlgea;hA?3Lq0GWz9rIMz{`BlwwKth{|(mW8PD=sf-z zRp37WEhLRXb6sH1boF@L^ zI5AMXfz`E~H%KYSlgKbv#uzDORq2$o8WEeO5fOI?u{cCs;}CKrL23|IJ6S0uaAt2~ z9Bk&b1?I{L;5u7tx2(_e{QTUuP5u@kgp`oe4g!)w24NI|1s(QMk7lGh=p7{H|FaC%BhPiJC-L$zjDTEMWnE_)hcEqvdZvkLg zCo=|cgIdo_;>kdof0;Uvp5+*%h3?LLH)TBp0I8Hfbc>j70zgPzdW1nn{!C zdttGL$0u=@miBJk_~pUjSfK0db8zFh-jU4-V0+mMezRM_skMOrvyYCh5^{UROz~DryRcv zfXub-Dk)#Te(k-#ySt0fo{w-dLo}vg$d0rhnmubc8kM&$uXf4q%fP(i1SQ5?~mHC};=e&l4%7 zj%_m-V~iDuF@6yR3i2`K00IIy>qt#)D@m zBoP3SGni&EKLkL|L97@Nv>#>_3p+Luapsm>yF!iYd;%r*vlQ15aba}gAv`~yj>kiU zs)Z=PJZg&%gi?}IfMLMR5}!M3ZEj%9Yo4Z4;G9#X52fO!zgzt`Tj*jN(wFa@&GdT zJzq|juIJOCl+qJCDg@)5&u8m4)RLIG{MEz5mtTGt0QMDMro+y=uDjemG~Q!Z9fb=t zk3iwPTTqo^r}7u=^qfj*)2EuIjuX0AE2T8XhQ!Nj0q&L&)8r59`(YTywrvrysw>26 zDMjWU38JthbzK`{o}W((2;7Yqx4;#)U5-VZt&``JBN-79$K#QKUB&Q^)oY+>8jg1~ z#(3vM7KO5SIAs)pV&Een092KhZR5ZBkgFozj)zyD|M0i}_+R-`|B^mDP#lg2n8O;7 zfCQkDk}9y)7-N&jz{WQeSXUYejI}|1h&p}XqoF7oaE&16Tw0;1BTuZCxi!azPGZGe zZvg-#LO`w5BE%=GLePgo%U$2`+VT0xC7O6JkO(TR$&;}rSAeXu8nr+%BVthC!Hcxd z0HBl_#xc<`zNf;<%sr7$Pfr{klWCcun!>DF6d+qZ@}BdCECHS7I|UI}=@xmfE;u1? zBqTT?{=@zG`_@02v7IOFTiXWs8)KH+I|`6IZz1|~4UNQ@AAkLQ-qbqSDYtTGEueGW z&l7I2Vj+cKk4G}$TWjVh$$3~XXS(oQdVS`S)mjHS6yW~gowJS$na7us=i)q*CQ1NY zEDI>F5l9Je7+u1XiE>K4K>>fBx5jp60s!CwLHxb31~|PZpCSbCsUM`2L?OKQG1W#o zxYTtQHe=(Gj(*&Q2&47ieSP=Y!*MWM9Fc?&mrK_@KUWcjCo&j>Kw+&N#-Z=~bwGUB zInGyA_2$j%w{Kn(E$f)AFChinCie}Kh!cUjT)NSiL)%=PkHyd9I1ZzMK>t4dqTPg1 z)4T*t5yOj}by};GuQhmxcTpJ&nVMh{D7(H#fN>l-i9wPwZyCUJL=n7qrMVu;!pyRw@AuvMJAb>6#_ zLJvaPeKw;7#~Mf}t+V6_1rX#Lb5aAsBtXIw#dXYBCUZ4T0zlD09e$eEVFkqV8l1XT?4q3}bxH&2-)0@3_j5mmCWe#G>6Oc?Bi6>o2fuRICBzp+} zg$zwV#1bYU+e^InjB6wUC6$zFLNWpXf%ncPgG3f4Cs1%VXzCFXQQI~w&=U|l#Zx6C zLbh9n{wl4xD?r%yU5>rtekUGJDKSRakX0$fvgpvU-b&s%;vsR#5LhvKgC|EVK5AJ z-c5uxU$&g)Ap7l0v1Ec zj)+S3<#HLup{W}{xSC^mYnD0YT1u&uPPv_LY$0dE&ih*uX(f=$-SG}$Lg0cEe*Oq^ zRw0Bn!EL65G$m}8wf5^Tzx>Hhe(&k&X|{MM0o?EY_?!CvI}aXGflTsFA74JdJXVta z>|Y&-O=koIpe6kDi4Zg(0wlyT0DGf0W{J6(6oQbP_ZTwi0U)rf%|0*+EJr$uNh|Y4 zAfx|?9tgR9T&$?b^EDlY;N}bghG_}3)+od{jv|sCM7(qz#N;^Xt=2lO4wOvg0F&Ms zRd=$MVTO>D_Jw7KbvRCOmF&a(y%Zv-w(aT1u9FJD;eB7`~QOkN=B7ht8d z8yRAjY4^*(5Xurui5T>)#If{ze zkBeR*b}LW_AD`8GM?@hK2$?u@Tv~;KHGcYkbnvtD1PBog{UM*j3E$kEQN1zb=LyKkYP{lFU;k4x~ID>|XdS;I*$RiMPDd zcq1{@vDWp&z>}FelOBtEBkc!RU2z|0el&s8IUoWhkvwD8mgH9oF^uE4-@Zo-V$*zW zfQN}FzW4Q)OCke1qh6}DQXcwY2#dv(5rro=CFcQlV575kA-O~rxC(L@+)42Lvs`TT(~meZg@%%X*8>blCA zM_pAR{&=ERn5V*EN$YaC91d+>8G*DQm|h9ZZ`ovb-YjbB2w`8t1#5_bGNxDJ@X;=E9C@@(yBP zG(R8JadgfDRTMMX<>SFn|A1VO8Bq#+f9lWuC}I{4E#T>*BOD%gGj9xT1wH+pB#aaxzYfxLRk5hB#Pq zRZMwW<}$~geQPTh^i0w~MC&{vbj}ihl8l;`{x)v6zF3N93$0QLIlbE?s^8iy#)7O} z*Kxr?`7xDrnR>Qu>zw11kXQM)K;g+d=Q`IZsie9Rf5zLZs;a80E|<%gmATDFVVwKz zpZ{Fb1BK9D5{Oa?E${y0zx6l&!e9JLdJZNhZ|l3y>zCiVtE~_+u|@zOkkd|reaK>~-M9h9~qYw1<^`aw8X6o;28?At7_JpoH-HCHuZqia6Kz`x@g#j zxJ%jEjUivN=VZ=lWu=nNx*S6Jd^(}PzlHQI!D^l#;_RomC;l>2yXEZQJCSUbYqGNzjy1Yb<24RL|3;EjN{2`7cU| z*bv+x9)3~%=nuf3`7B^avtgfX5`~!nCr}H^B=xaS2FZ z)SRi$!xSUrA;h_rSu8F7J6nXM=aotX@Y60nE<%X5X*j_it9sU1h>4>S0KluNRfiYs z3uD#SJAZd~*EX%O)|%nN@B9ttN)EV)B1@_|%|Us9Am@cO8BhB7^q8tvueq=HzS8>c zc-J(wwf1;Ca@Elyt#-~mKR;!sY2v`v+I%wEDAo6UKMd}ZoaZ07~S}YtR_x${9tgW;zta7BfYl`1>om#&~N~yKtlm+Wrn1 zmDWNE=RVFZ4HH}qDMYt>PGB@c@9Y}>gAx``JEN;Y<$#Y-(1}PXMdVY;xUCM)&?`}{ zM-=-9EIE>uQr6m#ihXuNhH*&kbERJA=7YfqyhNphC-hvcb7fg3qH!3RFRok>L;!VF zBVykVL>2*^v#2x!MVh8TL~9-AFpAbB0xoG4bUWZI+|i5{W`Moln54E~O+=gq2e}05 z0TDdgsH58^IEIy0V90ro5xVvG_(UEKht~UG7w024;gEwa=!SlPXoH%}g@l}H z#1c_e*O-;2;V)5$w$k;(XI9=xXWGL-bp1GvDPIS_k%hB`!P#1SIJ82@$x{bQZp>1$ z*81V$VUj8`A%LAb!!VpqCvHDkM@>kA9d@FWvT2%(sR9u>YiWuu3Y)=s7obuRVVqR+ zl0v%pgv%QzP;>fej$a|LoQ3+$csk*9y$A^f# zwd4|Hk0YRs9la+zbauE%RjLSgO;nh8bDX+y9J{Xb-q&@rZjeRfHCec3ak6AvvzQo%LU4SFIuFH#Oyzd8ZEaifASh20u1BWb-giTNH4m#yvsSZ z)~f8Tomrp#n$Mas_QQt{Oso%w!{XOZxO~LoCS%t}T^M32492TGhMjp0)|07HP<{y% zxhr>KndDgvfL&KKPmb1FYu)wTei`Z;E@GP!Dm4s4*)fmU52F}ORo62f93vbla}8{<41dE$_bHJP9tG8pHXU9EHIol;sPRvP@lg6sA`1Vpj>Eg5Q+ zlFq^+;wuCQN2{zre0q8!@@;#FhBaPlk(de*Ng*_+IF6P*sT3j?cXJ}j0@hfPQc6kF ztZ+EQglY~u(*x^6e6dFwHEIJ(3jOSX26I`YQl#i4Uos| zeMk=yZ8@mw%6$9&d;i`4#>1cc58i+Kcxy zMI&}L37O#=qQl!c$B`H8n&pJ;DI|bt7IWXKszNMae3?KLD1c&If7on@LM#zdA9Eo9 z=SUTZUDt8W_F}jZTRR?JzGMK$zSB2KVl%(;&dpU-jhF8Ebkf_gsZ0G6gUy*J!q$PV z${hL7g+L-0$Fc7RHWLaVl$6)8ON)jUCg|%dYIOtS+=gNB9=xZAmoJPl|`@KdHL{kN)X z=bRbMO85lEwD(=dTYo8=69GWmv^}CVCarPufhi@t_r|!;eZ;D&$@|fa5Kp?45)~R_ zD9QQ+-Z`Okg1&}qTfBYaY#>ERCul|>r4&+dnhr|sYst0^-c&;3>2wA__6IYs6he6N znM{L-sMS2s4$-5BJkL~2%N64dk}wcmYmsttU8_`?oR@crb9Sz6nuWdBxn*76l~WcF zCEJ|t?xy_G-WN&~r!91UcUM&vm!(UWKz#MueE$0Ni{JRQAN`?U_y6Dj-{E+;MUcf% z9eqq#?#UF9^?}P%=R)>cN==Ux0XRDyxI(-Zw(#g`m?LS{iY+WN$*)gk)KG)TI~qCC z?ZF2h4Hfy|ilxpxk+aTw4>9c(i`{8{Ac(kA6dgog3I7za5#eu7-Uq7*Ot^yBRVf8m zwqKYuBF7E$5?x&5l>))I|?v1hM%f;C#f`$!0D;e#|MYIXR z`pES_PCn{cxAWc`YsPVeSWM9L_WBDR;n-nG)?1_GRCe6 zm=GwX7>!MEbwt#vN=dKy0i~5SCZ(tJM8+DWl;EPX2uS2D&8mw**ycfjj+SkKLP&vG z1fQ-n7k=hG2r16zGXb?t8`&wb_GXREOBlZ=xIdll>LWSA*h+!FpU)+7w=$8{&Vql@;0x(uc-H?bw3YjbA3-RB1uf(kGj1a;YW327^ z{;hhGN?I<*nBjp!u4OkzYJB7FgsFZ^>I(B{CnkPPDbY7T*sVr%=byyn(g7Jwa%e%S664} zHzMC(F1dGmffD!LzkB=k?(U9l<5xErk-xeFrIf=kR#n}$EkxI{bq=#-Dmaw^0C3^% z{iqT1AyQImr96??fgs#|5h)Hf&mcA*$HR*wpx9%st#&vZoO4~@TVt5SaCyBe8KIZD zJSMWmYdPCtH}59`aM1}d)lRuK5;`=Bot&&f0Ij`Q~sq+}+)=au%iq zh>r`0^V^Ui0}*i+H=aCTbDb42PTySMPex;$iU4LaIcYW_0UqNO$$Rz^d2ld!*$`Ld zasfeW>B*0y6}hCIQ7_~vMGPU3F(jDT8ONJtDpt0BxgbP@D3nqJ5OHim2;i)ljHdNe*Y%70`vjhxEYzWAp&vqsO6%j@5rS=yq>w_27^seb z5VX?FFX@GZ5Pyv9LT02=PI1O@T-4XgB{}|(0NA-YyU;#w<&kr8e9M*lXiM#F>m`L) zCeI}Sb~}h^64K@Y2rg}aNf|}JDG@A(v?7|(^nIWFoSwW=>Ucbc$la-a=FF}em6Zv( zF?A+(BlkithVXX>(V7nRR)FcoOkKHiRvQBV5r<(I$1yMSMMRaZ0`xt!cYS~CM42XS zf97UHR7%C<-1OPIclUSq>_*uT0T+Mb=DT9C?Z?NbVHiID>@%jNQp!u$old75{J69& zF)^g8+_y0C=~7C`1Z4YrAwx~Qjq3)<-UQbx%-KAaYISXFgBCdi&rb8wNx$qf+|D)FKqKXlbp-aSSr@cH}V% zVV!+^d_14ecXxM9(?}^t7up#;b`}pB?zQ)bXuV}!F%Jp^@Q$1#BpQYQ`$bM1FMYG@ z-t5B+^@kiT&p#l?>oBpCDDo6p>AXuNiRPJ`2ne9kT1nCOv7{hnP#pjOBqRX>QwpqL zPi0JI2qpwX0FR0L1sDYKdzF+-Y$Xa=)y~bzHYll__l(GW`SL}a>B%&jr*+{kq!3am zV@z&9Wk}QipSpkPm2Fwl1tBwY_c0=3KGxcMpL6oun>V3u)vc?d140NSL=TBJbPzuP zn*1SpNVK84&_F^e(W~kp6)Gg83%4roBhSvW_gZt#h#14&&1jfE#~AULbFF4Zo^b{j8-`At>7-3+4zK(QR$TUH@?pbG>7y3!s7c z73cpN&|NuUtre$5Yp*YplIAcUy|zCK&=B`yFLy=ew*6UY?(yK7am1h>^qQhRs{1 zGe=e}sw%i?c0>SV_I{pcGBk|CZWuoRa$dZ#BvSc+aH_NL>z7{#H|%!1WO!T_zuuTY zUzlrs&*u6-EKcZ&D@vtlLlI~_%A3{F3FIRTr)M^ zNP{<0)tw@L01<$sSkml0$+Ow0ysf0(ymdWc-)g^=tU;HTZCtP>H@)>G%QF#WE)Mks z_Q}a5l=dwuUKe9^Ys!l;Y9iH=p~6_Z2(?;o{RM8Te7itFFOGkf)=J!1S}I-E%~P4* zauxmhmuojPiq@B3zFA+hn3JrRry#77)kODbPk-O!m}gCw=ZA* z_*diOh>GPw#K!dwK7sG1*+GIasemT)Tmb{FiOW;JtW{ zfGz~~^Q>{_3wDdCRTZ?f4h`%wRJ04J}v1#NG^GK`(f~XxNw#gAxnw% z$z@`)1Ps|fA|>2T|6O>L^^X?a+4?4G$0Y^$s$r&@8&HclG3GrmSZl1+Z_1>Fuujzi zL@D>68Fq*SB4q9U^IwUu_d#nNat#0a=hsb8FCm`iI6C?t{Bx&SfELRa;}-+`Li<1S zV^^>xkLB%noacGJ+pV6R#J*{oR1FNwzkd1ReQfi*UR(7nM_##%8`Ej$=0w$U6YDKC zOBOSbD_vgLD6Pd%BLf>>9%jW4OUjDPL0DsaHXTCe@lSKKX_@FcvN$fN7))cab{nPJbu?y$&+ALPIXH_WIffMKRdG*XrCBV{BXNK>&p1Je`YWN;kU(aY}=dN;J z{dmd8oGhk@=XuUKaqCYHhr_1jK==7D42CF_3UMV5%#Dqwhy*c~tToO$g_mZHuJ<-v zq0&ub5o^r28$*cxcwC-$Oi70}5^)HCb(Ut@C{LF0IhkB?Ju_RnAEbfte!n{$4(HRk zF=(j4P-gEnakh6}6El7M%xC9EQWWlUF+d4yK%D*TeXu8cc-W^b`8U9TNopdZVHibZ znrAh|XE#iD+9S(<`FG)e_}8|{tlY7~cec)!bvzz-`<=BGSYXWov@}pIttuU@N&gx$ z)*3%As}^dkAsGsq^s1f*SbSWpy)=I;yr36sPZ$1PT!lAoT~5n#Gvk3W3+*O^SW8Z08>eesIYNT`2-CL+FMgK6aawxV+yB=xL86wIaCkCX(_&}O%8 zj)QLFV!yW5CVXXc;q1M7qm>McCZhpfJS?POP|<+)1`f5kG|<_Vn-3Q&&}4aei3rP2 zSoc58klHPlGyn{lqD+;vlpFh36z7@!b3JN!Ul)8EL`%&fH4*;!< zF(#*-(U1FawAQl7G##&mDPJ-{>wvd^vc`<#5F;xzG5d$Q6L&st_LU zgKGEVFb;z&Z2o53q^;?Pcg~}dS)t`{)`RRF{=hJl7)G*ld z9YlPYB;j`Ye#iIO&((rW0Ly}RkmD#eCrU&Z1Q@D!t*)E^rUcPBzh*bZh^Y3=#?=2& zv0-T<+3xM?m(ABzb9b5N=0}7z(-HuL7-P)3yQ(|R0+E$M3ZmnR?#@$H@Pi|MmasfBT>R-yz9K?}bI*YerfT z&@{N!?RW`{R{9J88BCC{3;IKdQ;W_Jt>%=Jc|ZUk0#O`>QFnLJBn8gXgOMgW90 zO;ZPPkgY-22G)u8=kpXo7{{SogUfbl-V)Z5l(ceC+(U(m zweWO0d++CQ-tYE{GUk^S6LY3XzuTWqM~y#GonE7T3>M+FybhSo&ZIHIr)UtgHQkOVNGvo=WM$PpkS!IXBOo7Z%biAYiI za*?KAvKy$>K-CJJ7rm@ZRSt?Pts8j;Dq)slG>N0+`WAWV&>B)%u&7r^Onaa;<3v$Pus01k&S@_Lyz3~L+xM8xg* z^>j^fYW60pZMlJk&*yUst|^(J+7@C||E}cvxXd!ozGdi1QEuJ`7d+@8bKkr~jdwwo zf8DS3Trw4RFTZ!WN{<@0hn+^;9qsahT5h&kE@qBw8lx-bWN@0l$rz(kT8NS!$Yib8 zG$Zd0VOx&{80hcfGo^@hN;27Mf!e>d%IEQT(qc+CmLLObSmfd1@cGjxEhKUQ$FX7X zNj^cMVcZ#_jZ%2`Eg_<2k0&I097k&{2!v*U8bMi$K61s=wI$zWcmC!zD+*Fo{SEY zmJ=2EV4;*NOrVpvL?~hC(!&8@nx^EUJDr3D3C$`?U0fxaRzGynel*MMM*oGi>~R+5 z)k20HhgxOHE*OF|xN4wzUuwWK$eSzqjz?Z+*1d#@YW-b82WCIlG-~QxVj1_Ntn#!Z z=9v{_6_K+Nlj8DQR|+9iFC)S{%{rIL#jg{`oAY`WmoWsAOhlJ2Rv*pzJmp!r(R4Q6 z-roE?KR-R)nfRsYyxQ%pHAy;Qmb=A{Zsd{KIk(^M4~IjlApM>#cbx&>+Kj~p0w4mr zab)JNFJBR9x7*oVD|hLszx7lBpiEmuB*uV1%&4%D4?Cq0!CE3lEi|odshQq_50_3j5pD7!5Zol6h4%6G)ah@j4b|#SQnq|NU5|~ARa4G5n0>=;nQxBd3 zfWbLK6#HO&=&u1nM}zls4uNRc3L-NfPetVGc2s7%wmDz%C2wuTYi90y z+pR6NFh|!vnhs@)Tx$j0gm<=mW0Bop|MkB;{@?!dzx$v3Pb~lr!+=QYPAgbffL+8O+@G`o+iN$$Q`8?boeXnRL9budmZIX${$C73BI3Kma5< z?Dv}Ir+Cvo;-C>AV;=Vh>)g87$@X2VZ*2W#Wo*3NDd{XD%FjXw02sV?gBypDh*ELD zGSD7#cu6CyMv{y*nCE#I2V+d}(7cZm=d9?)pfMC8L&l@uf|UY5f_F{xfXhKgL`@3-+1OQwS`5nzwcxI`-9%%q8s7N4+Ayuz?2^ul>j!PQv=cW4rN~-A zNZpO3j~Mud`V_awsBm2mtWB+cC%6J-g7f zu<~~ysK$l>er<8NQnNk&Taw^0uBsJl;h#0(QMAN2u+vJm*M!zeX(n{iAXch~J;y%qb zqx<^j^pD-PrZgsLEb@o+28*qi)!$>(QoG&5nPUhweX062^gXlJ+K$-zHMMykw2p5< zQ%}>>K2|P>up)}-+jc@19ke@KxN`k10_wi4eUE3fPisUDNa43w>S?4Az2}vgv6flG zW-qITY7ALpS*n&80h^c$kX;V?K?e7yqjUhXS7gSVB2!+gJZ z1IfBRYLu$?ei(+sVJ|H6JQv``g*Rr7x3KCUdhbnc!!V5Fcs`#+i&V?4{%@f!owdW$ zv-kdVJ_*P?&s)C34aG_8doc6c+v~%_!{PAIf}t)=x-c7SzaA$B>KQQj$fqeFqM=GT z5I_*7>7=#>K`c-`Zc;167_GBE{qCm_LI{Dkgerxv)36IMO!K@@wxBxdv=S{KA~)bH z&{{w-QbFo>lhZ4N@7X9#53ViV#udFYxDANf^xhT|wMYt$*VyqSRtYk5;esWy8Hwk4 zhK%ossgjIjZ2?k^CPaXg(pgsgUqo^(o%C^@ed*Puv(RFtF}Dj7u$LDXtD>gqWjP;V{*nk2j;5fXL7D>9y|<_f?9wIElUr1!O{*y) zVN$p%113TdYVdQl|JaTtPhNwoy1pDqx8LMTt%i$;#!wGFQbZMYNg=Yw;O%$}F%As^ zP7~wD7-I(Dh!v^B_|$`~3X$Bq;NF7J%dN zn936wg0)|`sg%6vIo8DKKtvA@4*+mFodra7xRNk-W6UeOG_w$iwf58VCuW}J>3q&Q z;^lQM918%9F~9us%j@gw;qdVM{G6<^o3oc)=7tEN+H+L{W=YOwS-eO9L_!P*V2#ak zG?&@IysHquorQ+ z+HU)WZa?+$Guvb+u3hU1tLV2fAi6x-Uo+tGp9)ep+VV8j zpsp-N`-z!%CaNY4Rjf^HFO_GQO*$QiG-|BH9mu$4< z$n+M){AhJNl+xUb*?(_%Vp&mU7Laiq5mDo=-rkNW58~Esn>}BRQ5453B4#il2IUZ& z$?9ZPJE06v<&pikCrrfzZ?a)+hKxqXe*OCE>+8#>PoMKrZ3{72Xvkuj<%Z0|%mD)D zU1hEDeKq*9e9k%@g$Qr3;j(>7LW8BHK?4;85LRhIF?n@G5Cl6lzQfKGbvP?-s0>m$ zc+r{@VU-pShb$6ej3KJ|ms0JGY!DXFvKFPoMC3zA=ve_l(3C~JAzz)Wh$xT~UbgXa znlhIpr(Q{1IXi2&_TFEhec1dffCv%!ym4g8HfX%doBK~Ue+w~PW9B706d_4Vcs`$r zO!kSUHVk7*w_cw^^E5%J-;ng&#`BSzbFO2+BGrUbz)K?76g)-fgXAtDO}fG6yFW7J zjZSto1<gX`YYAqxXIs$6RL^qd%YLaH+p6 z^2^&a&VgBoaInZbmk{?44=pXd=R~kDAvtTUwX^q&o;bTs z!n*10Pb}Oxqtz_b`%tX=GYdxb+GaR*lCw=e-wzIUV&Y zzKo(Q5;On$>o13g2Wzdf&RX{!6`cbA^FA0N5zee}gT*4Eb2h4Ou{6BYE*Ub`*pntf zY+OwWDv6P!FpD=$EQ(&pQD#3`>vEV%X1Ihoe^4rV5IE@XF)Cq_C`_57iHM6fHvU~i zoM*48#FQ-;-jLw-A|Zsr1}@F;(q>&y(k*tnzhkpd=51r)cWsSxu^6Pf4RCiO;4_9l z0b1;{wV()Xr9oI{>(FAlCC|C!{O6M4)M~B$`RBi1^mDhf3)-+CyNHOI_#!)5i=|>s zR77OKfNyfFvX4Ku2p?U&G`1^Gz(m3~q;ruZ(Oxn;Z($?SWJ=OE&{Q01}}J8MDw6J=TmV|Do_(bjCrn%F}raD5KYru z)>Uc02*=RsN>H^6M0E-4_c}F%6sis*8lkIvv_NEXj(~ihLa)mUHe8+9{)?%A(go_; zxPhhHoU-1k{pSpA`QB}F+icQb05HZBgLep_bsMkuaCJvEZJwvs*Oz&okjRJl^76%^ zqlK{oQQc_`OpHyA8!T^3NU<8>g|+96Msg1>ddrvmz7tU?&Rt7%+v@y|cV8UT7Pu^1 zR*F2AoO_V+6_?|YanWUMbA9N72TKm99LKrP0((aQ6wrVOP(8-8_ui|C7%>@z(`vrH zzMZGDwRYjKmTYd?q?wZb{|=ItBe15)za394(_Jg#i`F6y?{9|8ez&70D>nfE?8?rj0rlQ>(g-(hFT;->V&4w07PIt+sW|NA-NOxZa^G>WfXlBV!x2v zXZ+U0T-JM&p_^p^ie3Bg4)Qkg4_Vsb{PPsEH=Ir7Omd^EB zO?LdF;>&z0*a{W)sbuhUI-SmEV+b0x1TOj>V5wF0wcH z+2+pzpmA@2AE*G>%-qFaSQMENHUOeqUD_lH#n7$G%#jO8HAGy^t+ysJCzuowYiw9~ zUN4R>8FE96VfKDE4v-1O(qoc&U4}<$9?=jp%spR7i|2~~N1o1;F@_8g(%SirS!?uu zCM08Q&l8(z&je+iRRGqY%uU7n{;`QN?846OCF>F5|GW6Nx^_(`zyJ?@`MTt zil)tLBnJ^tv>E~+(lk$?pyjNAAhN;$%gU<4ui$*hIZ`-si{b^^&;T;i?_9I%9ksq? z(PE6BKY#vD|4;wN|M~yyzjZhqzHj``_DcSimfj*(%GQ15&#(&Og2osu4UnM)N|y-3 zLics@tuf;`mLrh{lJYr6w{oz1miN2;(?>{`~p;%fA7*ZR)?UW z#(aHwJ)h5r$-UTWz-@A-VnLyVaw}ZATI-jya*tti!}}`j2T<*zRS7VkbY^K?7}|(vo~P64 zd^qfz4r}}c1HcbIe13X-prW7Lxic2Ml<3DF-`>urx3^2lt%{>lD}qCt;N@-$r7WRZFPpc#20G%-;+>5@#< zC%qrklCt)&u*R!lg2i5=S(*T3sjVUqA~T;(=Xv&su;1;hB}9_jCBAjUjrS$%ENbXm z>~#ScjTj7CxSjQ5)`BEb5y?{>R+_8U|n%fyCI2-|9Ijn7H5W@g7WUNVPe=|BVkOJxTv z7GzA2t8rALnE;>`2!;eTl&p6zM|wU_*_a~*RaoDd3$PT6a#CB=UWkH1h!SHi;n39$ zukuQovtsYt+PIfC;k(4Uk13It&ZdA^H+=ms{|^%P_nfxIKyZ6#Iqi)4EHFnB-o&|d zC=ki1Gh|`&=mk^M(x^Z}ocA9Ja;JsD4Mwpz1M5$hPSZjI&QmUzo_+tS-Fe&9E0cX? zg*Hxt#XQf@?^;Bhrup^t)mppIl~o)5{qKJF^z;;CTtpCTcI?W0BjNdUIvZnCoc%`6 z%d43=rGUP>Nh<$30Kh$!8`iHU#8l;3GdJA#fF_at@_~{ATzv?yuWuq;a_Mi!!fb>g zeS1RyjTumZF$8EJl<%D*NK!**ZxZHTzkG4l4dY;q9mh6NZU2O;;*9P&0DOIW+l?cU zv05wnBCp$NjzF|ySBm})vL6Yt7?myrS4B$6uc=P8C z<9j~6g*%FHWKG|+ zHOChX|J&L;q9K~5>3lBfesixb0ua8D0bdc!n2`ujtaF$nbVCf7m5EhV;LZMl;+_^U z;{bq2v-i_H8)M9ooO2I{1NQj=?rBA9_kLy;)tJX|w`rTb-gdj4N@VjqPt$ptrrkIK z0|T<8lo|R?7SI%dT4=gm57Gct4gd%unyIchYXv|+3>tM(GIIo8D=iwY2C5C8C+qCs z9BNQ(HzIXMfpso23nE`~Y-fKtwT*($#L||qDL(UK)4xgO;8$xiyI1IbR z3&LD;?aNk1bcG)-zM1FwcswmEejD8VzV83!+sDj|8X3QJ?_Jt#@$NT4=XDaA1mW2T zkCn%6N`)Ya!!?$JZTD`JV}z1Z$dM!i|mgq9n$?Ai#gjJy!mf|*3b!3>z3C}8X& zm*K_v+H@!rp-A%3cptnEr_=fA@zEH=cUNItj3%YboacF-jWPTEK4%=ft0^8*Zyd*Q zo~H!2fTbk|J9}#9cH$Vr>8ss8gYc&LvaG$jRS+Q%&a+?g)jClWV?2gPn5!nNLP63R zX>>eD46#9ibjwY~2=js%V8VqJ3+?uodE^L-m${Yf_eY^HQ^LRzSEsv*-z3j#^+ z?lq%M0KaUJ&bS*$l(K!urC72>GqjY!BUh)UPW3RDR6mE{>z6;D&(p%>2pSRLYi{aG z>fYK>eLS9S;#}^v=Y6Q%ZM?G6lppKE5;w1@fe^Y7fa z!yJoW$15O!JDfxGKGr-x2zZ=*h(ZW~<)3{1@_BcT%-wd#8wVxM_*0bKO$J&L17mi~ z7o+Yy+_#OgbIy&!Fbqy@pKt-VbMNLrh%90Dv-dHk$Rg?;z1MhL?z^?tDg$QbR4h+K zp`Om!;@@73YW7}hJ1=*|RSavYJ{t`n3~tEj#4laH{kye;SyxId!+P(EAdy2yWMYn&*m!+$m*xPw`yqGD8{enuzL#H1E{<8u`|Xn! zooHmlG@uqk&cZq~g>sdcWzE(J#TL-$2kJHNO)?oJR#RM}SviNk3kIaDha&d>^z+}p zzP=iwun;J}wFJv=)$X8)7gUPG8?*}U+HQRx>t3kx(tVwg(i%@z@Cqpd2ILrl$R*Y{ zyFVlWM2b%t5QHJ8&dpc{O<<55VRa^0Q^++P8;4;W2Cdoy>Wxg1r2$LON|Maha`T4&#)~zCl7E`{t$r6*; zv~DLLQAw<1Eo7CWF7$m35l`o{>gx}OgC;19F?@>>fVqs=Jk36&T1KrqGlTW5t@+fL&?yn8s9GYe{eQnD3E{j4dIwkE!y zh!$TaN2xU;5@W(xE&N!UO)_-yeG38r2xv?q)Qb)^J5oweKL}_Vjs0Hh0WAHX{Ug*! zu0d%@dT8x0BB*&~og*Y4JbOL2ApPsn5CO&z-Z8jdN&i4gW}WThoc?7IbqzrVVKGZS z?9wXs#c5`Uj8zLcC>rzSr4+jb0kFn?dU`Iry!C25R`|j1$bIX} z5UkqkHm>*w=DwFq1(;*8Ta`R1v$zd`Ntg*k3zms}=AcesYyzn_XF{db_R3r+uq9CG zVDttN6w%nT+_NmKc3`mv(Nz|!K(7Hdx>`rUseFRIMG}Mpi$xlx>Y5xQvy9`Q6jcR? z5aNEn|LMoi^X!SpIR}lJt4lM_Q;ad=9I-qtO|r12XZ)}oqZ?$?G*3l4cAM%mexwo6 zVZYay`y98u*f`tW+vKSN;C-0pxzzl?R&cr6%S%7jVhkETp|XZD_He~ zE~m)P-h($p&RQR|COxQ$=AGPqrKb{(yU|%U`#ELQW7aIne2dt%CyEFG=zKnF0&&dk z`%=s_f=2$&iqwi!^?(D-*sS#x5Fs(v#H17NOpg};0OuST!zs=6%IK&{yfLF85s7nb z2vCynnb}yQDYava*lq{e5_6>AF>7wLoc%JoJP5#`g%+v;S(EDNHELlqh7@(8GZSJh z8jX#Fo)uAa!_d&e^@?m5Kkit_e=M4%lCo``^1j`hgH{WoPH#=y3UkTD7P&0B-thGU zA|j8EkL5BV0z?rBA*vk?vNw@P3mzwmowBC4P&xn*u*Qg>pn~nx{7_tN#nK@VK6q}W z4*&WTmP9T$-ovso)ZJ}fFGxb2dhdfP-ufiJx2LFD#C2MJ{PBmw;eeP(;$q2jxO0i1 zYlNN(dc4b6aj6jk0fd$Cqqfx&Vw&Q5+knsaFoh7}VZUE&#XI}F_Omc^2+@a7Txs8A z!p?02gq6(M#%S7|@5gMAR#2&e=1|ubHNypQGeAM-ATcVp=~L>O3n-!jdWUYy7HlzTZv#8ocF1#Yw=!B zps}Xp>CA@Z#Z_Xh6@VB*jNFJU>Fnu}sV%F%re%`YiT33rOTrdFsdBrXfaKz?5H#SW zzF21|-9lPlMPy+rXjR_TK9a2zQP(!ZeRj-uJn^?_Dx3db{;z*)|HU65)8r0AejjKt zuAq6;qX*S`6hh4YC(-CW=ay+k6tG%*D6-p))>@X7j6#xejJY@tMUvK18L$-K!Wy?K zxBVssb@Y8fg7?A}#J)U&4YJme|inp+YM` z8vq99M1+O4ojvz(inYq(AVbD@LMicy&j>)b5RY5lOi*?TSP&$oJf--f+T zoA0FD*nkW0vIwDjgNTl&Q=1gUdw)D00ii8gg@}>k=TFavhll-s-_$b6q6`88oKB}{ znsOZJs$)s<<&pvALk&?v96zx;Y@$t573YsGaSK+z9g=iq4fI6B*jTNbGDzRtO5Z*b zhD3;f5F=xTx#Rs#tXmUXOj1O2p3d{^2j|EbN_ETMIsQgTRa&;+?Z#mck+-)u0hp#4 z4YU@U7~?$8<2YV~vjQR^5^Atr^27HA3DpdaQ}`0+D7Ex23yjWud7Hnyorf9+3yW71bwnBIWn3&U?pw*Z zz52!+Vq-?gDk2{q_W!T{>c9HW{?Gr9AOFdJ6pBS8tHOqen)GT2z{P>lj&@BSVWFMK zH*m!7CJB9*D9X3od|^ zy)l*$jWs1*#>b9*QK>&YKMTM#P17`m;PLKA;+hIC8_xkCN~8uW3jjp)?|(i09NwS@ z>{vrzjuT>&WD1%z5gT*Y^_+$MG!q%??BE7$GDT(CS#t$30uqr5yim4gxv1<0Nce;) z1Vd!4&2I9HGs#ybB&RHS{;er%&0Ii;Komo~y&oD1mf2k zrg~%uOTS{N!Bsxa^Xz>nC2~c?kZ&#No75zsV=iBVc##w$()m0+Jw84^J!$f|?yj|C z?6*rf@r`XYy33OBVpq!cMNs|zsFHG4tTTuFn9~iDI09v1(gRgsZlOi$e_eYtLJX;_ zLpG{o

%r&aR0duPvvOtWVI0GRpHr%ylr_=DDgAZjum12FU3+pG6px$h;E<2?Hi zf^+u6MPr-Cp+*e1`H2>A;=7*n8vqFt208PHj{7ET@<&IV_zO%a7fKR;uQ1?SNF_i3 z$nJUyku}5{5lyKG{jI0EQh$x12^^et`~6;BN=jJ}ahm2~m=`5ZuN!^Tt*E8lV~inq z74bAV%UxaTg{CMemM&Y=#gbTqjLqQ#v?k?bY%x%n%tV|$zSpcHh{zo0IaOtDY5jWL z)EBP4kQAV``E0}xf@e0y>~?!=QD5_OOHu4?cCh#Emu zy~vo&N3H%LELy~dBYR;07>6MfW+24Kay*^dI3+|HhOxYo2%&S7CQ{ydo)p>|V=T$0 zRK!kTf~NDU3Fvm%)%jh|1~BvI&!2a@G5UF}*?bUN@t1E1M7hLB0v2L{D5H8>v336U z|K!A5`cVmN-qLE0K;|eFUnO$~^*r=zVx^I!RUf!z#z(J5!|9qsO_GA2t== z{ybhO;}9cE^hj}9=(a0Lp|b~w z=;!(6uP0_xqdJrEA`R{OlXNy`lA%xDVg)fGHI|?xMY!* zo#zmZ=5b3fMiy_^XD~e~Z>M`_|0eyVWH0T}$^gK^qZ{^z{W|7Nhff9(Q-#(g5-JIB z5+j$CM2Sb2Js=Fik^|z?$q^711Zxnt@#ZvWTC`9D#cw~_f!hRg#a=Wwv zlVGpCVDTXkAj3M<$z3#S%Wy6!fk_5Z2+Lga-gJuoHBM9V8s6XZ`e~kGjNbdx>Ex^( zcRK{o%#=l~xj8-&8Hb@ug;9xK@)PHh45Jp_DwwwqkeBkzaU9_rRQH6wc9x8Y{S06J zeAlxQ6QJ4q80Kl34H@TLi=^n@Qn)RmCYdWHj`o^{MWrG#NMr~h)v5zm6kOsaN|eE3j=Jgs-wJPBm8AF%exBwsGwUiTvC= z@9U_Q%}o01G&P!8wm5p2`FuXb5HeRwT^Wa=Rb3JA<@IHr3-J=o8e1!+XNZEc4hbN; zP!S*$KM{2Mpa%=K!dAT~6+!BkaJixvy&9X02OAAU)(r3Ny;845#27;ep+#mWPeY`V zWTUP{eksQ|&oh~gn9MBYr1apuHjMQmvS{~0#t~u7LCYXu$hhYpe}4HpLE0D`M=e8m#yW2M(sCf^A53~1L4vU;y;%L6XErm!iMvgqqQ}8Jk zun!%m?HUSt9EW+HW89A0DcLO7jgW){0GN69{yckYXdH*WA9oFA{Z@dAAT8ps=3zb_ zkE*w+aqnB4#QOgB%VvJBIp$NO4XX`vTLZs*w^}a^0E7^{_nM5?=498cAGffAB>C!u zs7*DwK`Y~2^a2ToVNfBdjJE}i5K&}~A-ui4<-$tK$5gj$P713}U>3}{Xyv;`2oif; zx(LdnQV%-D+b{baTczH&e9N}8_s+1Q_iUxc5ShJ+3nBu!qnpayJ6o4aEC^+o}km|w5fHq$2Pm$q=<5B`k~ z3wV_*<)m=g)`7?@$K%Nwv)k?RyFMaisL*#lpPT0ZWN%Q6tSh8JuH#h$#r=(le*gR5 zi^$inU%mG+Mq|yTIP8oALRpC4&GM;16}B`>X^aFq5dA|d47N$W(uAy*mRSH804XPO z6Or`_3rKPv3&a?sL{8zki`kBN5r2N0!YwlC6!mk%?uZ*t|CY8K?nNl{9?rMC3O8O+A+<)9>0U<819_P)*PTp+TDJfDIOZ*ND5p)*c0 zL#?S*XUBDAr<+l=9awFn%M)^A`mmM1WMfB^pBqwh>FxixIPC%-0?-OK0WQwE*w)DGlnbfsKO4a8z3g zR;c%SOLriQ^%Rs7B+M%M&+{DOD(T}bhNYIsTrSgS1_)-Jr#UiX5nH#2xaJ|ae@hW! z3{e&I7=s#OH`5iboAp|>S%i$~;zMrn$M@p1H6>p1(cZ^=FL}9h{C49Z?(IlwUwwOf z8^%FQ&Q1 z!FstdGu4t--(cIh`kho*NBRY!jY+-4-m4Q4TWly~?CHu(R*x_WQHjz;aKteL* zW1rL>dcxQB;Wvdwe=k4i=A}}M*c}jX-K@3us>+QS8FL(beQ-8fV@2O57fYVl1~<_B zR=x$5)tWTcD2nLJVT6q%yaBr;5`l;h4~N5kF9^bo^(C(oTE+OJj~n{` zdc68y4Yw~GQcI@5$_Kn?iS89+Vvll`6tI;XYI(n_Jc`U5W00nI8b(pxS?ubCD@%>8 zFIqv}n1odMaspA{W@WYnqL2g>G{!tUJ{%4Q&gnZ)(-3W$RW>K^_3e$B2R9%Bix@*| zHsnJ%pC{ERMPxUQg_wtQOuor`8e$AF5E7)->$Ki?F%a`_>h5_VUso7Q{q@jKcgj z`7KH(pML*Op8$XSz%L_(nDmk24GuH4ZG4z)jx?9Qx|E=oyF zjF?<36}v3Tpy%KL5JkusGNv(eqS24obr&=KSyH?v6_W%JVW72fG)69vH}$bBW@6Jv zRUx}MK0#wYeiKG000=CwcL)aVdBcZsi{G&+?7hGTvKOoR{EGdco!*3FfXd`_{9RiA zi|&3rpHJl;9TjN0+4`*j0E=X2fqo;1RA_SBU(*yEvP^y!RsD{am!NL^LiBck!UBDClgw z&+s|PGqdCi+aN5toN(jnI9oSRuGK?I1ohZ)WNfR2e6%5As?Vjg^Om`w+_m{P03e!y z!VlpWX-Dn_5SZcLo#xfiN8$L_|DAt6>>uXyX+BMgb{3Hkyyl|;xayt6ELLZkzmt(M z9f7PM7m*E4=X3DhI;Y{<3V>NGqKdZosziw|M2cAYd?*)S62)XsoyHA)0S zMgeQnJVD`=DU%wOj|i!#ANfl;vzfQ=z|u^<`h0)=}~ssi9>RHdUa_so3NP>+!WI*Z{Ug4OpEK*y7gNNUUk@10qh- z974bn)GL4p(=_L@Kj}vAeN`xP()iY;tqFitt_k6FVNalyC>C4H|J*Q3|m0! zn~mNoF!wseHm5gpR}dM;@u#1DQn9#S8VHe($J2hl+wb?xjmr$vQobFJyWP$?H+#Q+ zPf^b`kU`p%XHqkJt$QaIB7gw^MVMS1KcU1$9%%LWepuftx?(%Z!ZPkSXqN>YOch9{ z^I7u&XW_fbg$UO+{FQgxQlV)3#SNoP=9f%k6X>pYyL_8=+%>g=K0Q7VQH*?^CJ>qZ zrb1aGM(%%paWepbrYVridhpft6E#6IPywi^l*1@Z2An#p0vP@5jV(Y~%oXo#POaRg zalV3egB(;+$W3OwVu(TyZy`b!RuJqk49?nG>9z%phya2$=5Tnhv!Cbb(#i?|haf$z zNm0}lpNpCRBx$K2K(x#Y(c}VczifWQ9O#HuEoy%62v5_!3manlmv6~*bG@}zoOgk$ z5tqp<@8Q|0WI_r2!p2Wg_FGff+m>TSn||tWmRCH<#soM!5CmchgE~ zGLV$T)%YSr{NeLwb!|wYJW7^@(HP{KtEa6%s%F@?x3|;j^ziT?m;6nDB0Tk3#Pd{l zv()Tu5MjLdKoAjQ$HUVP#fPoxsdC@VB-Nt)Mp;l>C8C;~+E`0&8YV~jCI7FbZCvH?E! z)`U|au<^5WSzL>1@cH zjwk%loKDBnd7_=`()frRkEd*vOxD^(ehvYcr)7*U;%V_sp#a~~T3KObVaofXT0FFS z3q^IUVc+&2-_tcnD1qV@;hyaJOBtx^X$D39I<7z{W%IDd<(*NJ@SSYUa(S@cb8%jh$-~e5RthTfqh>~{m} zgUs`+rv)IxdaGkI%}}>{5UnvG24>MrKntZXT}Gr{hSTu~i2MECkVzif<`zBknwipv zkXHOE|4n$erblWl#4GA(KOnVvbnwvniYMQP&51*|bZ1Rx6L&|;3+-=f$qNy2n}H58bIW^g=D=Xstnxmr8P28zhZ z5+f7gw#chf#H>5y_3dq*=lyP%o*;tZl zUTny8?6W{r`o$8FX_{hW)m7+nr2aR0k>o}yN|C|2X;qRekEe^rP+>V5qWB%ce(GDQ zz6GFmX-V4_5v^7ISZBe+_`$W@8eLWEi`sEX4Hc1f!oSY*GQ>5X-i!46g4; zzxXRZWR=v@r_Gtq*0hbyQ~>SR+_Q+r$(ERs`FF)mvJ)}u4mkVyJWV+xebp%zwwBgo ztv1+xS6~PcpvDUkkrsMut-cHH3tQaoWAH=Na$SIEESnJ^mB(4w9oC8Wm&Upal%+wF zUFyJh^h7m}ylUQBqFAwh(_;o3ivmDFW|ogSEd5GEAHgY5vx^Pwl=UKFW&}Fs_`|fd z44K_--&)Qa2tqA(tipFI;99YTe-|OiSqDpO4g$jLXKSrP$I@=Cq)TW)^bFF5#a>c( zJb+G*#$zpDh9?Yrhi0;@;-HA9fFjmRXuids}lLf~YVhan5N* zZ`Fwn=1_sPcTfNUowe55VHi%Q(>ix~?;fTQB9Yg%GepwsRmrF>LWD*rXE9o7ubDfx zUSUju$5r#+d#XYlvh5o+&F`EE(d89Q2{L1v~nUJM+q(5d=f{>)UjiqM>(W73dfJ zuFG&4b9EaCzx|SptB1A25mrR*E2^#^5F8boGcLV3q%=LlH6=Wah)+ zV6Cmm`dePz{ehaAUKz0Dhnob*�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

?$5^D{NeX`sF^zhRQF&lBlB+;Zfb93R5glgis3K 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

?$5^D{NeX`sF^zhRQF&lBlB+;Zfb93R5glgis3K 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

?$5^D{NeX`sF^zhRQF&lBlB+;Zfb93R5glgis3K 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 update_time then + for _,player in ipairs(minetest.get_connected_players()) do + wieldview:update_wielded_item(player) + end + time = 0 + end +end) + diff --git a/mods/wieldview/transform.lua b/mods/wieldview/transform.lua new file mode 100644 index 0000000..4d5133e --- /dev/null +++ b/mods/wieldview/transform.lua @@ -0,0 +1,24 @@ +-- Wielded Item Transformations - http://dev.minetest.net/texture + +wieldview.transform = { + ["default:torch"]="R270", + ["default:sapling"]="R270", + ["flowers:dandelion_white"]="R270", + ["flowers:dandelion_yellow"]="R270", + ["flowers:geranium"]="R270", + ["flowers:rose"]="R270", + ["flowers:tulip"]="R270", + ["flowers:viola"]="R270", + ["bucket:bucket_empty"]="R270", + ["bucket:bucket_water"]="R270", + ["bucket:bucket_lava"]="R270", + ["screwdriver:screwdriver"]="R270", + ["screwdriver:screwdriver1"]="R270", + ["screwdriver:screwdriver2"]="R270", + ["screwdriver:screwdriver3"]="R270", + ["screwdriver:screwdriver4"]="R270", + ["vessels:glass_bottle"]="R270", + ["vessels:drinking_glass"]="R270", + ["vessels:steel_bottle"]="R270", +} + diff --git a/mods/wool/README.txt b/mods/wool/README.txt new file mode 100644 index 0000000..a66677d --- /dev/null +++ b/mods/wool/README.txt @@ -0,0 +1,16 @@ +Minetest Game mod: wool +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Cisoun (CC BY-SA 3.0): + 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..4ad96d5 --- /dev/null +++ b/mods/wool/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/wool/init.lua b/mods/wool/init.lua new file mode 100644 index 0000000..3e565a4 --- /dev/null +++ b/mods/wool/init.lua @@ -0,0 +1,41 @@ +local dyes = { + {"white", "White"}, + {"grey", "Grey"}, + {"black", "Black"}, + {"red", "Red"}, + {"yellow", "Yellow"}, + {"green", "Green"}, + {"cyan", "Cyan"}, + {"blue", "Blue"}, + {"magenta", "Magenta"}, + {"orange", "Orange"}, + {"violet", "Violet"}, + {"brown", "Brown"}, + {"pink", "Pink"}, + {"dark_grey", "Dark Grey"}, + {"dark_green", "Dark Green"}, +} + +for i = 1, #dyes do + local name, desc = unpack(dyes[i]) + + minetest.register_node("wool:" .. name, { + description = desc .. " Wool", + tiles = {"wool_" .. name .. ".png"}, + is_ground_content = false, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, + flammable = 3, wool = 1}, + sounds = default.node_sound_defaults(), + }) + + minetest.register_craft{ + type = "shapeless", + output = "wool:" .. name, + recipe = {"group:dye,color_" .. name, "group:wool"}, + } +end + +-- Legacy +-- Backwards compatibility with jordach's 16-color wool mod +minetest.register_alias("wool:dark_blue", "wool:blue") +minetest.register_alias("wool:gold", "wool:yellow") diff --git a/mods/wool/license.txt b/mods/wool/license.txt new file mode 100644 index 0000000..9310163 --- /dev/null +++ b/mods/wool/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Cisoun + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/wool/textures/wool_black.png b/mods/wool/textures/wool_black.png new file mode 100644 index 0000000000000000000000000000000000000000..700d439dca261455e623c41db9b409d1f6afc46c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUm6es%*47pg5s{admynPU z5D-vTS65V2^j~5q1yobw>Eal|AN<$1EjD}1Z}m+A=U z*f=d)v*PHFEmK$7Z|O_lej@wV8pe-XJAK$czBv8b;{Q?>k$)8q(#wJNGkCiCxvX}xi1bA-H_l0C0T#wF)SFaKem{`}qRd;3jzKUKZkk$LwCuY{`Qv1>sIes0GwG)6>Nq=dwg z^5q{y3@wZzW_;x;;}G>vEa0A-mMHOS#ms}9(G#pYqxo03Wi%=^t6q0*+wD48)K|St z%W#U>@>VM;Zdaov^UUmmPrTjK^|0Y|o+Fzen<$(2@@MMDI%TUE*3_scJulYT3v?ud Mr>mdKI;Vst0I=6r;Q#;t literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_cyan.png b/mods/wool/textures/wool_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..395b6ac77404f2c244ee34a9dfe5d89f452acddf GIT binary patch literal 302 zcmV+}0nz@6P)@!$1%NF#GTsl63!7D`D_n#%qN>ziNR| z_Z|rd8;Sy0cyvJoU;s(Xs=RN|C+qbRs3Sb;oGjrg_Cm&je1Hm;2mmyR-i2*P0VwcW z<@{97(Gva;lsT)|&-KhK*T8}j^jzUPk+CWf2+<12}RljVgLXD07*qoM6N<$f?h*% A9RL6T literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_dark_green.png b/mods/wool/textures/wool_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..0e73999eae3a20fae94b07c477625f09178da6ea GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!dVo)et5ODoPCbKEG=o+ZgGvsA zLK=f?0)s>tgGwHQSO9~tHv^v|gIX!WO14}}pq5FVE{-7;jJl`2`&OF7;xjbpc3s^@fHJbBs<*0dSflQZ3B^2!{nZIz03-5C5*W?PEAk=T`{ zKaR(3PTPK5|4k_};`_nBiU)Tsex-hH<__MC8HugGdo16r;k~1>+4J7&iEXWO<}LiC zwRyJe#angve(gK;b;ifsKlRTTg$hkqbbn9!$Dm!nqWtf^>{+1e7(8A5T-G@yGywq1 CM_$JO literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_dark_grey.png b/mods/wool/textures/wool_dark_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..7253696edc72e9024268b46c95b2e445f0400cf2 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!R)9~4tF^VYt*x!Sy}h2Eo{x`@ zxw*NQmzR-|k(!#Cv9YncyStyCpPZbWqoZS5uU$P**Hljz$B+s}*)yD6E`~fz0jA!U zp5FhzYcgNRltbJ{@{XBq)S1S*<=eD72TKxvJvmf(CS^zW2BzP~7}n{rs+nH1@V&um zqQG|G{DB(%Z*0Zw_smym|6;n!ubVVy?FPMBwOP!j9Cix9_urf;5A#_6^f~i8-nByP zeA7Nyq!lsUoVE9I*87J1Pcm;*KFePScF|q+Iyv&ewteym@+^})<_4b!I*`HB)z4*} HQ$iB}LS0<` literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_green.png b/mods/wool/textures/wool_green.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb663bee440af80bc0677c6024182bf79bd2ba5 GIT binary patch literal 304 zcmV-00nh%4P)KVc;B7#2j$_9Buj>XY(9lz>%rb$FWR2Ufr!G!?>K@7k!hmPr~`;S@)(Q``rLW)0k zjfB)OWI`?tF#wi<8EAs3>}qOGe>l7MFX z)cgIJy{}60RZx3&z2oP)_a!G#p=YDtLZ26nh6#u@e8H9ZzBHFljlFEgoTPX?TSUnb zCQ-3x^zboOrmF&@Y3W^+W`!mNuSH(J)Z@0_Pp&_l*9RUjlT&K|0000bVBp&4TR{ z7IFWSy3jOlit`j_cYRhFuGP~e{BQI$95w6?Ka^|JfAD((i;v0cGns4W99(G566Q5u zSJUq4=_@Qe+eObmdHtugdw;k34x2B1pG|kJI~d*hZD;t(C1++`T@x0O-MzK@>RaFM wa$@`ieL3uR8n25V;=IV0_SflljONGh?B@!b8{hAr@(tuAPgg&ebxsLQ05|hwNdN!< literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_magenta.png b/mods/wool/textures/wool_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2c4a7aff3462660939b3d68562ae2fe9402ae1 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAh>r>VVXPJvGGMArV&N;=L z|A3`?Cv)U}=EU>NrMsD9wlRfnW(r!zNTgQ%gG(3JYH>?{}-e>=_hop%oHegN$Ps^JILtBtrcdwIP&5b-m>0ms=e3g_cyWX<%dpM sZk$_U-Yosl$t5*XvFF>HIiG$rSL(6NkC?!;0q9-^Pgg&ebxsLQ00w<=#Q*>R 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..a059f3646f4043897ef1315584cf8e3e9cdb540f GIT binary patch literal 284 zcmV+%0ptFOP)TVy=OcUZ_8^=Bm!8QxEBnI7F z8F!tAn*aa+o=HSOR2Ufr!G{3@ArJ#F+t=vu*?-tb0OrL0x*^7Hy?}NOj7&I9Bo><% zGf8aHfDyv{3Ng@TSRqic+ZeD4>3&EoYLiN?6bZV@J>h2?2_a_W`=s||6$K#2XxV4z z4YSz+qf7KOy8Y;I3X3LZ6qgC#S5{%_uW4K}?E50~UZ{8BHsn3tEal|ADwBME zY4PN=HyYc2KH#+6^gQrHYE;Ufnul?A23v3Be(znGXKM7w$yF~RW6q-f`p|mexC06- RGl5QE@O1TaS?83{1OWA}T;Koz 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..da12ecffd13a8896de8fed61dd2e929e3a556322 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJ>uE{JwZg(1MMRbh3a%Cs zIw~PCg_n1Wh{zm%{%O3t3;FqbxVX+qN!7EnPvqg*Cnna$$yvtAn#Ihlm)P42G-Q#d zi(`m{Bx42C=$0?NugD;}vHH#VoczgMN-I8pwTQn_t$Cl3 zbsd{L)A^ReiJKJIToRW)`o4ONhxPimXMK8hI+yyrvQ*o=@bj~`_Hc5!D2g0Ty1(q-@B8Ji z8dSAZ0=`d*cP{xg!+66q3+}Z~v!y<1{naU3@ou`P?;VAYhu-OJz9L^$7d7GK#=fFs zCq3_d7v5^0`F|-(^}BDqx1{re*G#k#X192qdNFche@*($KuSZ4p;8h13HVr)78&qol`;+0CON=GXMYp 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..88f1e2f55f521a97de29454eefa196df88f68efd GIT binary patch literal 243 zcmVSNKwqS;qV@o47IOAv?nNCywVEljk`K5~6QI>a99?+v`KN3%M_ zQA+K4o4;koqvF8?m_2sRA5(H84g;H3c_!q#+N?HR--@Dh%BQb&s1B$ivWJ5-n|9oH{Qm1F+#XMBX}bUb002ovPDHLkV1j#RYIOhr 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..2b0f04897e264960f4d4e59aa04d0c786afd4c00 GIT binary patch literal 255 zcmV_X?85mcu< z2}SL#tmqFMA+92jB{$bf@{+V5BIkv36lscN)9tskw|yFUEC^ZOe 0 +end + +local function connects_dir(pos, name, dir) + local aside = vector.add(pos, minetest.facedir_to_dir(dir)) + if is_pane(aside) then + return true + end + + local connects_to = minetest.registered_nodes[name].connects_to + if not connects_to then + return false + end + local list = minetest.find_nodes_in_area(aside, aside, connects_to) + + if #list > 0 then + return true + end + + return false +end + +local function swap(pos, node, name, param2) + if node.name == name and node.param2 == param2 then + return + end + + minetest.set_node(pos, {name = name, param2 = param2}) +end + +local function update_pane(pos) + if not is_pane(pos) then + return + end + local node = minetest.get_node(pos) + local name = node.name + if name:sub(-5) == "_flat" then + name = name:sub(1, -6) + end + + local any = node.param2 + local c = {} + local count = 0 + for dir = 0, 3 do + c[dir] = connects_dir(pos, name, dir) + if c[dir] then + any = dir + count = count + 1 + end + end + + if count == 0 then + swap(pos, node, name .. "_flat", any) + elseif count == 1 then + swap(pos, node, name .. "_flat", (any + 1) % 4) + elseif count == 2 then + if (c[0] and c[2]) or (c[1] and c[3]) then + swap(pos, node, name .. "_flat", (any + 1) % 4) + else + swap(pos, node, name, 0) + end + else + swap(pos, node, name, 0) + end +end +local nodes_scout_can_place = { + "default:torch", + "backpacks:backpack_leather", +} +for i = 1, #nodes_scout_can_place do + if not minetest.registered_nodes[nodes_scout_can_place[i]].groups then + break + end + local groups = minetest.registered_nodes[nodes_scout_can_place[i]].groups + groups.scout_can_place = 1 + minetest.override_item(nodes_scout_can_place[i], { + groups = groups, + }) +end +minetest.register_on_placenode(function(pos, node, placer, oldnode, itemstack, pointed_thing) + -- What in the world is minetest.registered_on_placenodes? + local class = placer:get_meta():get("class") + if placer and class == "scout" then + if minetest.get_item_group(node.name, "scout_can_place") > 0 then + return true + end + minetest.add_item(pos, node) + minetest.set_node(pos, {name = "air"}) + return false + end + -- This is always true? + if minetest.get_item_group(node, "pane") then + update_pane(pos) + end + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end +end) + +minetest.register_on_dignode(function(pos) + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end +end) + +xpanes = {} +function xpanes.register_pane(name, def) + for i = 1, 15 do + minetest.register_alias("xpanes:" .. name .. "_" .. i, "xpanes:" .. name .. "_flat") + end + + local flatgroups = table.copy(def.groups) + flatgroups.pane = 1 + minetest.register_node(":xpanes:" .. name .. "_flat", { + description = def.description, + drawtype = "nodebox", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + inventory_image = def.inventory_image, + wield_image = def.wield_image, + paramtype2 = "facedir", + tiles = {def.textures[3], def.textures[3], def.textures[1]}, + groups = flatgroups, + drop = "xpanes:" .. name .. "_flat", + sounds = def.sounds, + use_texture_alpha = def.use_texture_alpha or false, + node_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + selection_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + connect_sides = { "left", "right" }, + }) + + local groups = table.copy(def.groups) + groups.pane = 1 + groups.not_in_creative_inventory = 1 + minetest.register_node(":xpanes:" .. name, { + drawtype = "nodebox", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + description = def.description, + tiles = {def.textures[3], def.textures[3], def.textures[1]}, + groups = groups, + drop = "xpanes:" .. name .. "_flat", + sounds = def.sounds, + use_texture_alpha = def.use_texture_alpha or false, + node_box = { + type = "connected", + fixed = {{-1/32, -1/2, -1/32, 1/32, 1/2, 1/32}}, + connect_front = {{-1/32, -1/2, -1/2, 1/32, 1/2, -1/32}}, + connect_left = {{-1/2, -1/2, -1/32, -1/32, 1/2, 1/32}}, + connect_back = {{-1/32, -1/2, 1/32, 1/32, 1/2, 1/2}}, + connect_right = {{1/32, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + connects_to = {"group:pane", "group:stone", "group:glass", "group:wood", "group:tree"}, + }) + + minetest.register_craft({ + output = "xpanes:" .. name .. "_flat 8", + recipe = def.recipe + }) +end + +for k, v in ipairs(dye.dyes) do + if v[1] == "white" then + xpanes.register_pane("pane", { + description = "Glass Pane", + textures = { + "default_glass.png", + "xpanes_pane_half.png", + "xpanes_edge.png" + }, + inventory_image = "default_glass.png", + wield_image = "default_glass.png", + sounds = default.node_sound_glass_defaults(), + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + recipe = { + {"default:glass", "default:glass", "default:glass"}, + {"default:glass", "default:glass", "default:glass"} + } + }) + else + local c = v[1]:gsub("_", "") + xpanes.register_pane("pane_" .. v[1], { + description = v[2] .. " Glass Pane", + textures = { + "default_glass.png^[colorize:" .. c, + "xpanes_pane_half.png^[colorize:" .. c, + "xpanes_edge.png^[colorize:" .. c, + }, + inventory_image = "default_glass.png^[colorize:" .. c, + wield_image = "default_glass.png^[colorize:" .. c, + sounds = default.node_sound_glass_defaults(), + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + recipe = { + {"dye:" .. v[1], "dye:" .. v[1], "dye:" .. v[1]}, + {"default:glass", "default:glass", "default:glass"}, + {"default:glass", "default:glass", "default:glass"} + } + }) + end +end +xpanes.register_pane("obsidian_pane", { + description = "Obsidian Glass Pane", + textures = {"default_obsidian_glass.png","xpanes_pane_half.png","xpanes_edge_obsidian.png"}, + inventory_image = "default_obsidian_glass.png", + wield_image = "default_obsidian_glass.png", + sounds = default.node_sound_glass_defaults(), + groups = {snappy=2, cracky=3}, + recipe = { + {"default:obsidian_glass", "default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass", "default:obsidian_glass"} + } +}) + +xpanes.register_pane("bar", { + description = "Steel Bars", + textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_bar_top.png"}, + inventory_image = "xpanes_bar.png", + wield_image = "xpanes_bar.png", + groups = {cracky=2}, + sounds = default.node_sound_metal_defaults(), + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} + } +}) + +minetest.register_lbm({ + name = "xpanes:gen2", + nodenames = {"group:pane"}, + action = function(pos, node) + update_pane(pos) + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end + end +}) diff --git a/mods/xpanes/license.txt b/mods/xpanes/license.txt new file mode 100644 index 0000000..dff7227 --- /dev/null +++ b/mods/xpanes/license.txt @@ -0,0 +1,64 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 xyz +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2016 Auke Kok +Copyright (C) 2014-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 xyz +Copyright (C) 2013-2016 Gambit +Copyright (C) 2016 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/xpanes/textures/xpanes_bar.png b/mods/xpanes/textures/xpanes_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea62a9382bc1bf942cdfb1786accaadeeb516c3 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAm`Z~Df*BafCZDwc@Bm<7%FbPot|6tSb?YQe{q*BlaNr;;{*fa>So)2`w||Rc;0?{{Y>4Nwp)jc zI4a~FgSP+waqq5qjYhXcpts@i7au3;%;eTODL?=4r0JFM{QrV>e%$?;^{{Bd;g1sE zukJgr{yLx9>HT+q&AlqBzSd#-3GD<4Wn-<|vz~B?{P=LWs;u&>_NNrf*IZ`Kb9&#; zKdRssY{6`O&-vKW;~I>{9EKuyILk{?_rDS`dMEYi^R1nmtJLpB?!J6(`cwYxK^F4i z%@xZpewu8z{%**NzFVnJW{Y>8QAu=DCDPg1V3NUZSCPX@ zSKQW-R88y@U1T1Au=w-UK(%ELtT|1!u4K;N7IajkwY=@lnHWo-_@+NIU$-bN4oGKi zd*;Nnnk$bn&+fTX@g1AvtEU(gDQ`(}GH~i|e>AVSZpoa+DtS%6Czn@>K0B(+XxQtR zcjqFP!wP-h(pT2q)sxKsao%8PvP$)fNcebLFe!M~v#=R+m~X8Vf8JlBo~_NGa_C0a zNrlC%o(_(hlg!hUoBB9wxYEu!RxmRLJ#|~x?8_loAk@F{;_-}asZS60E@o8_i9X)I zCe6CRMdWAlqzTTh&0WD)S1j|~JWXPeORr&+OnS)1gruyCXC|d;YpQt8O4>9f$WOJH z&*G5D@f^M7bBZ-3wkVW1zHbs+nzN_X*X-`2wCG!(!n7_e_qr;z`f5nAZf|tPjeojk z#kyPXobs~{%A6kieaG#2-}X%Ji+R1!`?}ojuUCro)wjBSohEg6V)a}p-K^#rXUfW! zvTeVq%F_GTh22;nSy5oSBLnBzX31}xIrxj3XP)ozUC5KQgxPPgBM(ce`ZYiG-P$|D zcUn#@FMK@x#LmWd+CU<2V)c`6JX_87eSf7=_U6#SmHe{o(Fb37l+;+(9NKlB?T0mU zrp}xX?2`Pax1KGp_?mFnTmN46{|ydHj`kj%{&DrQ4beXqJbLFn;cs-~yUAy4(9?85lUTGJ$zD!q>+tIX_n~F(p4KRj(qq0O$+`1{?c|g2d$P)DnfH)bz|e zTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1qj1R9FEG$W1LtRH(?! z$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvQ?0~DO|i&7O#^i1>&bX_Yl%Z!xlxD;%PQqrt~ zT-=~W0C~1b86_nJR{Hwo<>h+i#(Mch>H3D2mX`VkM*2oZxO-9i^u0dZ`ye;a9*kN-QW%d0*JyB& z6apkE9!*`N!9`LCkfeAtbq%fH;zBf_QuBbVrgC8Oh~a;O1F&hu7T^=&nw6DRTwE-$ z!|)JLgfYq6-G!lpRn`N@;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^580SSO-!qO^V)zy zQl2i3Asp9}fBc`%*zxbGvWJ4zZt0c>F)Er2TW-jFe7^DyxFzT5>gTe~DWM4f6(M5p literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_edge.png b/mods/xpanes/textures/xpanes_edge.png new file mode 100644 index 0000000000000000000000000000000000000000..5768d66325e223045786219ecb00b985d1199bd4 GIT binary patch literal 269 zcmV+o0rLKdP)F5Ay*UoJz za&1-s7O7L7?y2g&0IaU#g>~e)>j3KRu0DL_sNMkPj9!VYy5;Kt$*k_}jkjdJaxYXH TK;|{U00000NkvXXu0mjfkVTVO literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_edge_obsidian.png b/mods/xpanes/textures/xpanes_edge_obsidian.png new file mode 100644 index 0000000000000000000000000000000000000000..abdd14e340c5bb68b8aae84d4d1600838fd87e51 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9tAK!jyqck~k&F~jMBLNG tF@)oKasmVMF*df8gab@Y8BGZc4C*%-vn#!d;(&H|6fVg?3oVGw3ym^DWND9B#o z>Fdh=kd0Z?#I)KsuMH?9n;8;O;+&tGo0?YwmdKI;Vst0FrbacK`qY literal 0 HcmV?d00001 diff --git a/mods/ydecor/depends.txt b/mods/ydecor/depends.txt new file mode 100644 index 0000000..cf9c693 --- /dev/null +++ b/mods/ydecor/depends.txt @@ -0,0 +1,2 @@ +stairs +default diff --git a/mods/ydecor/init.lua b/mods/ydecor/init.lua new file mode 100644 index 0000000..bfd9d13 --- /dev/null +++ b/mods/ydecor/init.lua @@ -0,0 +1,198 @@ +-- Coal Stone Tile +minetest.register_node("ydecor:coalstone_tile", { + description = "Coal Stone Tile", + tiles = {"ydecor_coalstone_tile.png"}, + groups = {cracky = 1, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_craft({ + output = "ydecor:coalstone_tile 8", + recipe = { + {"default:coalblock", "default:stone"}, + {"default:stone", "default:coalblock"}, + } +}) +stairs.register_stair_and_slab("coalstone", "ydecor:coalstone_tile", + {cracky = 1, stone = 1}, {"ydecor_coalstone_tile.png"}, + "Coal Stone Stair", "Coal Stone Slab", + default.node_sound_stone_defaults(), + false) + +-- Moon Brick +minetest.register_node("ydecor:moonbrick", { + description = "Moon Brick", + tiles = {"ydecor_moonbrick.png"}, + groups = {cracky = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_craft({ + output = "ydecor:moonbrick", + recipe = { + {"default:brick", "default:stone"}, + } +}) +stairs.register_stair_and_slab("moonbrick", "ydecor:moonbrick", + {cracky = 1}, {"ydecor_moonbrick.png"}, + "Moon Brick Stair", "Moon Brick Slab", + default.node_sound_stone_defaults(), + false) + +-- Runestone +minetest.register_node("ydecor:stone_rune", { + description = "Runestone", + tiles = {"ydecor_stone_rune.png"}, + groups = {cracky = 1, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_craft({ + output = "ydecor:stone_rune 8", + recipe = { + {"default:stone", "default:stone", "default:stone"}, + {"default:stone", "", "default:stone"}, + {"default:stone", "default:stone", "default:stone"}, + }, +}) +stairs.register_stair_and_slab("stone_rune", "ydecor:stone_rune", + {cracky = 1, stone = 1}, {"ydecor_stone_rune.png"}, + "Runestone Stair", "Runestone Slab", + default.node_sound_stone_defaults(), + false) + +-- Hardened Clay +minetest.register_node("ydecor:hard_clay", { + description = "Hardened Clay", + tiles = {"ydecor_hard_clay.png"}, + groups = {cracky = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_craft({ + output = "ydecor:hard_clay", + recipe = { + {"default:clay", "default:clay"}, + {"default:clay", "default:clay"} + } +}) +stairs.register_stair_and_slab("hard_clay", "ydecor:hard_clay", + {cracky = 1}, {"ydecor_hard_clay.png"}, + "Hard Clay Stair", "Hard Clay Slab", + default.node_sound_stone_defaults(), + false) + +-- Packed Ice +minetest.register_node("ydecor:packed_ice", { + description = "Packed Ice", + tiles = {"ydecor_packed_ice.png"}, + groups = {cracky = 1, slippery = 3}, + sounds = default.node_sound_glass_defaults(), +}) +minetest.register_craft({ + output = "ydecor:packed_ice", + recipe = { + {"default:ice", "default:ice"}, + {"default:ice", "default:ice"} + } +}) +stairs.register_stair_and_slab("packed_ice", "ydecor:packed_ice", + {cracky = 1, slippery = 3}, {"ydecor_packed_ice.png"}, + "Packed Ice Stair", "Packed Ice Slab", + default.node_sound_stone_defaults(), + false) + +-- Wooden Tile +minetest.register_node("ydecor:wood_tile", { + description = "Wooden Tile", + tiles = {"ydecor_wood_tile.png"}, + groups = {choppy = 1, wood = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "ydecor:wood_tile 2", + recipe = { + {"", "group:wood", ""}, + {"group:wood", "", "group:wood"}, + {"", "group:wood", ""} + } +}) +stairs.register_stair_and_slab("wood_tile", "ydecor:wood_tile", + {choppy = 1, wood = 1, flammable = 2}, {"ydecor_wood_tile.png"}, + "Wooden Tile Stair", "Wooden Tile Slab", + default.node_sound_stone_defaults(), + false) + +-- Cobweb +minetest.register_node("ydecor:cobweb", { + description = "Cobweb", + drawtype = "plantlike", + tiles = {"ydecor_cobweb.png"}, + inventory_image = "ydecor_cobweb.png", + liquid_viscosity = 8, + liquidtype = "source", + liquid_alternative_flowing = "ydecor:cobweb", + liquid_alternative_source = "ydecor:cobweb", + liquid_renewable = false, + liquid_range = 0, + walkable = false, + selection_box = {type = "regular"}, + groups = {snappy = 3, liquid = 3, flammable = 3}, + sounds = default.node_sound_leaves_defaults(), + paramtype = "light", + sunlight_propagates = true, +}) + +minetest.register_craft({ + output = "ydecor:cobweb", + recipe = { + {"farming:string", "", "farming:string"}, + {"", "farming:string", ""}, + {"farming:string", "", "farming:string"} + } +}) + +-- Baricade +minetest.register_node("ydecor:baricade", { + description = "Baricade", + drawtype = "plantlike", + paramtype = "light", + paramtype2 = "facedir", + inventory_image = "ydecor_baricade.png", + tiles = {"ydecor_baricade.png"}, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + damage_per_second = 4, + selection_box = {type = "fixed", fixed = {-0.3, -0.5, -0.3, 0.3, 0.1, 0.3}}, + collision_box = {type = "fixed", fixed = {-0.1, -0.5, -0.1, 0.1, 0.1, 0.1}}, + sunlight_propagates = true, +}) + +minetest.register_craft({ + output = "ydecor:baricade", + recipe = { + {"group:stick", "", "group:stick"}, + {"", "default:steel_ingot", ""}, + {"group:stick", "", "group:stick"} + } +}) + +-- Ivy +minetest.register_node("ydecor:ivy", { + description = "Ivy", + drawtype = "signlike", + walkable = false, + climbable = true, + groups = {snappy = 3, flora = 1, attached_node = 1, plant = 1, flammable = 3}, + paramtype = "light", + paramtype2 = "wallmounted", + selection_box = {type = "wallmounted"}, + tiles = {"ydecor_ivy.png"}, + inventory_image = "ydecor_ivy.png", + wield_image = "ydecor_ivy.png", + sounds = default.node_sound_leaves_defaults(), + sunlight_propagates = true, +}) + +minetest.register_craft({ + output = "ydecor:ivy 2", + recipe = { + {"group:leaves"}, + {"group:leaves"} + } +}) diff --git a/mods/ydecor/textures/ydecor_baricade.png b/mods/ydecor/textures/ydecor_baricade.png new file mode 100644 index 0000000000000000000000000000000000000000..87109bb5c1523b54869a2b991c0f0b2fa3cdd5f4 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;V>;M1%b3;tk)YPWO=>bU~ zJHb#G$o5g?Ta;(FqdURD!6Cy@p}#v$UK&kAU}{X44WsX%>q(Y zo-U3d65+A^7x`Kg1emv9VigJa|36!|y?STN{Dd^2rknp?DBKhDyIu5=A+Bf>@76VK z8lp^JwofcS$F%w4lSbB0dO_c08shqoEw)su&i{7cZC_dz^Dm vfAy*A67dD~f96R2J^JMF;;cz0m%qPavpJka-X&l@$Zrguu6{1-oD!M^2 zE-o!CEif=JB_$;@Gc#IRUSD5hQBhPYD=Sx5S5i_^RaI3{QBgQJIDLJAy1Kr#wYgeZ zSxQPuOiWBfL_|J5K4D>Hq@<{fjFFg_o}Qkgk&%{pd3`7-C`U&}Nl8g$WN56cu{1O^ zUS3{MP*A6*tBsA4ZEbN|TU$FjJ7QvHs;aI(KR;<{Zh(M=XJ>3wR99_na-*ZCU0hr{ zIy#k=nrmxto139PKtMb^JY-ife*gdg*-1n}R2Uf*!HYtIFcbjLJMrF)M+n)#xr=O- zKpKKM?eYH~mYxG37Eu%}k)$G$q##a`G)tfIRZ%_=i05?uqARR7W^1`2*kxL`u0sE6 znYmH$_P%${Rl;{{dL9VGhr2uA@sqcf8wtyF91m3`PMzruPXsw43dH#-P`2+b%#!Nkodo6?PEC@jpLZ7K}|@5DEYQ002ovPDHLk FV1gBgwJ87q literal 0 HcmV?d00001 diff --git a/mods/ydecor/textures/ydecor_cobweb.png b/mods/ydecor/textures/ydecor_cobweb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb1eceaf7dce0e5786745a260e37b7bf5b3403d9 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWy>jKs`}gnv|Np;i*)j-w z{zBQ^Kw0LJAirQB{j2QAJs_3s>Eal|AjL}_c%P|nn$Nc5 ze`pQ=M4gKpw!P+KR-HD#Y0Wne&R2W;GsPz4zN{2o6Bj0WuKV6(=HBme^<253Yw{E0 y%(WLEIC975Le#Hn4jFqs^M#(z1=*U7#Qo|+J%uI*OlkpH%i!ti=d#Wzp$P!~zfrLO literal 0 HcmV?d00001 diff --git a/mods/ydecor/textures/ydecor_hard_clay.png b/mods/ydecor/textures/ydecor_hard_clay.png new file mode 100644 index 0000000000000000000000000000000000000000..8abe6666db3808fadb28d80dd8b6428c6f911a44 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA=6Sj}hDcmC?KSjsHWXoD-=ck5 zFJ{RpP799dPonN9u=1vUnlLBgJ!jw_gS#S|e}57z-jHXi(P`5!c2aS8oV zv1oVlaJcE9cXrZ>M+wS&r&-Fs>f5qLGo9l~y(M$_kKS1?Y1_-aZGNg145#y)yV+Si zlMV~1ED@H@ROCwDrNQ`7>Q6k!jo{Ch%5KlCZm-T>*ihJga)+bOx%#><&P?^f9MK>b Nd%F6$taD0e0sud7Pa6OL literal 0 HcmV?d00001 diff --git a/mods/ydecor/textures/ydecor_ivy.png b/mods/ydecor/textures/ydecor_ivy.png new file mode 100644 index 0000000000000000000000000000000000000000..b85e112fa695a510dcd182f8c7c704c5695486ab GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV{r~@e!u*JT|Ni-QxVbkv z0FimTp#6_5lSiFUAEAlK5X;GZ1$C2nGJ|&06_!djB_Q9TlzzrhV%QGZq91NM2 z6FDs_=fHuKoSd9pJ46m`&@h|NkP@+NnQHUWL*2gJjy$U3({ug29AcZACUL7Oi!w}* Wm0Ymn+qZKdH+Z`GxvXkdT6mim0flo12?dFQ*>>005gwL_t&- z83n;HP6JU81;Osww|p5(gw8>opj|L>&PEmGbpku-U3Ae|N2dWudy{eM`-YzSl?nhNxZ9u4gVz*AqB!f1a&ExJV{x$GG}>Ktnpv`3DQ1KlJ6O R+JOK7002ovPDHLkV1lKUq-OvC literal 0 HcmV?d00001 diff --git a/mods/ydecor/textures/ydecor_packed_ice.png b/mods/ydecor/textures/ydecor_packed_ice.png new file mode 100644 index 0000000000000000000000000000000000000000..8c44eafd185a5b598288cbd064c605bbca839c77 GIT binary patch literal 305 zcmV-10nYx3P)Qd`&6yH6xO|M(1aUS8s5Xw;$Cb;&Y# z0jr3nhkfO=T zwopib0L#qFadG!9?#mKxes*TAu-cn@XOAqyo6e>cut8}GH*vCu6t3tgjuqBQm}SSyMtMjWIb&~A+UH)x`SA{f>?-GF{N=y zs&GkeMIwnxtcvvpe(OM4d7xr< zK2`RIToTyQerb; +See README.txt in each mod directory for information about other authors. + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +License of menu/header.png +Copyright (C) 2015 paramat CC BY-SA 3.0 + + +License of source code +---------------------- +Copyright (C) 2010-2012 celeron55, Perttu Ahola +See README.txt in each mod directory for information about other authors. + + 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/mtg.README b/mtg.README new file mode 100644 index 0000000..1af9e55 --- /dev/null +++ b/mtg.README @@ -0,0 +1,28 @@ +Minetest Game [minetest_game] +============================= +The main game for the Minetest engine +===================================== + +To use this game with the Minetest engine, insert this repository as + /games/minetest_game + +The Minetest engine can be found in: + https://github.com/minetest/minetest/ + +Compatibility +-------------- +The Minetest Game github master HEAD is generally compatible with the github +master HEAD of the Minetest engine. + +Additionally, when the Minetest engine is tagged to be a certain version (eg. +0.4.10), Minetest Game is tagged with the version too. + +When stable releases are made, Minetest Game is packaged and made available in + http://minetest.net/downloads/ +and in case the repository has grown too much, it may be reset. In that sense, +this is not a "real" git repository. (Package maintainers please note!) + +Licensing +--------- + +See LICENSE.txt [Moved to mtg.LICENSE -jas 20181123] diff --git a/schematic_tables.txt b/schematic_tables.txt new file mode 100644 index 0000000..bd101e7 --- /dev/null +++ b/schematic_tables.txt @@ -0,0 +1,2176 @@ +Minetest Game schematic tables +============================== + +This document acts as the official record of all schematic tables used in +Minetest Game, and should be updated by any commit that adds a table type +schematic. + +The following tables are for pasting into mods that contain a function to +convert the Lua tables into .mts files. Such mods often have two functions to +process two formats of the 'data' table: + +The standard table format is described in the 'Schematic specifier' section of +the lua_api.txt file in the Minetest Engine. +The 'data' table appears as a sequence of vertical slices through the structure +the schematic describes. +Each XY-plane slice has the X-rows formatted in order of increasing Y, so the +slices of the structure visually appear upside-down in the table. +In this document this format is used where 'mts_save()' appears. + +The transformed table format was created to be easier to work with. +Each XY-plane slice has the X-rows formatted in order of decreasing Y, so the +slices of the structure visually appear upright in the table. +In this document this format is used where 'mts_save_up()' appears. + + +-- This node will not replace existing world nodes + +local _ = {name = "air", prob = 0} + + +-- Mapgen Apple tree + +local M = {name = "default:leaves", prob = 255} +local N = {name = "default:leaves", prob = 223} +local F = {name = "default:apple", prob = 63} +local Y = {name = "default:tree", prob = 255, force_place = true} +local T = {name = "default:tree", prob = 255} + +mts_save("apple_tree", { + size = {x = 7, y = 8, z = 7}, + data = { + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, M, N, _, _, + _, _, _, N, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, F, M, M, _, + _, N, M, M, M, N, _, + _, _, N, M, N, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, M, Y, _, _, M, N, + _, M, M, _, Y, M, _, + _, N, M, M, M, N, _, + _, _, _, N, _, _, _, + + _, _, _, Y, _, _, _, + _, _, _, Y, _, _, _, + _, _, _, Y, _, _, _, + _, _, _, Y, _, _, _, + M, F, _, Y, _, F, M, + N, M, _, _, _, M, N, + _, M, M, M, M, M, _, + _, _, N, M, N, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, M, _, _, Y, M, N, + _, M, Y, _, M, M, _, + _, N, M, M, M, N, _, + _, _, _, N, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, F, M, M, _, + _, N, M, M, M, N, _, + _, _, N, M, N, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, M, N, _, _, + _, _, _, N, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + }, +}) + + +-- Apple tree from sapling + +mts_save("apple_tree_from_sapling", { + size = {x = 7, y = 8, z = 7}, + data = { + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, M, N, _, _, + _, _, _, N, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, F, M, M, _, + _, N, M, M, M, N, _, + _, _, N, M, N, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, M, T, _, _, M, N, + _, M, M, _, T, M, _, + _, N, M, M, M, N, _, + _, _, _, N, _, _, _, + + _, _, _, T, _, _, _, + _, _, _, Y, _, _, _, + _, _, _, T, _, _, _, + _, _, _, T, _, _, _, + M, F, _, T, _, F, M, + N, M, _, _, _, M, N, + _, M, M, M, M, M, _, + _, _, N, M, N, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, M, _, _, T, M, N, + _, M, T, _, M, M, _, + _, N, M, M, M, N, _, + _, _, _, N, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, F, M, M, _, + _, N, M, M, M, N, _, + _, _, N, M, N, _, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, M, N, _, _, + _, _, _, N, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + }, +}) + + +-- Mapgen Jungle tree + +local L = {name = "default:jungleleaves", prob = 255} +local N = {name = "default:jungleleaves", prob = 223} +local M = {name = "default:jungleleaves", prob = 191} +local B = {name = "default:jungletree", prob = 255, force_place = true} +local Y = {name = "default:jungletree", prob = 191, force_place = true} +local U = {name = "default:jungletree", prob = 127, force_place = true} +local I = {name = "default:jungletree", prob = 255} + +mts_save("jungle_tree", { + size = {x = 5, y = 17, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, L, N, _, _, + _, _, N, L, N, + _, _, _, _, _, + _, _, _, _, _, + M, N, N, N, M, + M, N, N, N, M, + _, _, _, _, _, + + _, _, B, _, _, + _, _, B, _, _, + _, _, U, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, B, L, _, _, + _, _, L, B, L, + _, _, _, _, _, + _, _, _, _, _, + N, B, L, B, N, + N, L, L, L, N, + _, N, N, N, _, + + _, B, B, B, _, + _, B, B, B, _, + _, U, B, U, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, L, N, + N, L, B, _, _, + N, L, B, _, _, + _, _, B, L, N, + _, _, B, L, N, + _, _, B, _, _, + N, L, L, L, N, + N, L, L, L, N, + _, N, L, N, _, + + _, _, B, _, _, + _, _, B, _, _, + _, _, U, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, L, B, L, + L, B, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, L, B, L, + _, _, _, _, _, + N, B, L, B, N, + N, L, L, L, N, + _, N, N, N, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, N, L, N, + N, L, N, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, N, L, N, + _, _, _, _, _, + M, N, N, N, M, + M, N, N, N, M, + _, _, _, _, _, + }, + yslice_prob = { + {ypos=6, prob=191}, + {ypos=7, prob=191}, + {ypos=8, prob=191}, + {ypos=9, prob=191}, + {ypos=10, prob=191}, + }, +}) + + +-- Jungle tree from sapling + +local B = {name = "default:jungletree", prob = 255} +local C = {name = "default:jungletree", prob = 255, force_place = true} +local Y = {name = "default:jungletree", prob = 191} +local U = {name = "default:jungletree", prob = 127} + +mts_save("jungle_tree_from_sapling", { + size = {x = 5, y = 17, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, L, N, _, _, + _, _, N, L, N, + _, _, _, _, _, + _, _, _, _, _, + M, N, N, N, M, + M, N, N, N, M, + _, _, _, _, _, + + _, _, B, _, _, + _, _, B, _, _, + _, _, U, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, B, L, _, _, + _, _, L, B, L, + _, _, _, _, _, + _, _, _, _, _, + N, B, L, B, N, + N, L, L, L, N, + _, N, N, N, _, + + _, B, B, B, _, + _, B, C, B, _, + _, U, B, U, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, L, N, + N, L, B, _, _, + N, L, B, _, _, + _, _, B, L, N, + _, _, B, L, N, + _, _, B, _, _, + N, L, L, L, N, + N, L, L, L, N, + _, N, L, N, _, + + _, _, B, _, _, + _, _, B, _, _, + _, _, U, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, L, B, L, + L, B, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, L, B, L, + _, _, _, _, _, + N, B, L, B, N, + N, L, L, L, N, + _, N, N, N, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, N, L, N, + N, L, N, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, N, L, N, + _, _, _, _, _, + M, N, N, N, M, + M, N, N, N, M, + _, _, _, _, _, + }, + yslice_prob = { + {ypos=6, prob=191}, + {ypos=7, prob=191}, + {ypos=8, prob=191}, + {ypos=9, prob=191}, + {ypos=10, prob=191}, + }, +}) + + +-- Mapgen Pine tree + +local L = {name = "default:pine_needles", prob = 255} +local M = {name = "default:pine_needles", prob = 223} +local N = {name = "default:pine_needles", prob = 191} +local T = {name = "default:pine_tree", prob = 255, force_place = true} +local B = {name = "default:pine_tree", prob = 255} + +mts_save("pine_tree", { + size = {x = 5, y = 16, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, L, L, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + {ypos = 5, prob = 127}, + {ypos = 9, prob = 127}, + {ypos = 12, prob = 127}, + }, +}) + + +-- Pine tree from sapling + +local T = {name = "default:pine_tree", prob = 255} +local U = {name = "default:pine_tree", prob = 255, force_place = true} + +mts_save("pine_tree_from_sapling", { + size = {x = 5, y = 16, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + + _, _, T, _, _, + _, _, U, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, L, L, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + {ypos = 5, prob = 127}, + {ypos = 9, prob = 127}, + {ypos = 12, prob = 127}, + }, +}) + + +-- Snowy pine tree from sapling + +local T = {name = "default:pine_tree", prob = 255} +local U = {name = "default:pine_tree", prob = 255, force_place = true} +local L = {name = "default:pine_needles", prob = 255} +local S = {name = "default:snow", prob = 255} + +mts_save("snowy_pine_tree_from_sapling", { + size = {x = 5, y = 16, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + L, L, L, L, L, + S, S, S, S, S, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + L, L, _, L, M, + S, L, L, L, _, + _, _, _, _, _, + _, L, _, L, L, + _, L, L, L, S, + _, S, S, S, _, + _, _, _, _, _, + + _, _, T, _, _, + _, _, U, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + _, L, T, L, _, + _, _, T, _, _, + L, _, T, _, L, + S, L, L, L, S, + _, S, L, S, _, + _, _, S, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + M, L, _, L, M, + _, L, L, L, _, + _, _, _, _, _, + L, L, _, L, L, + S, L, L, L, S, + _, S, S, S, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, L, + _, _, _, _, S, + _, _, _, _, _, + L, L, L, L, _, + S, S, S, S, _, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + {ypos = 8, prob = 127}, + {ypos = 11, prob = 127}, + }, +}) + + +-- Mapgen Acacia tree + +local L = {name = "default:acacia_leaves", prob = 255} +local M = {name = "default:acacia_leaves", prob = 223} +local T = {name = "default:acacia_tree", prob = 255, force_place = true} + +mts_save("acacia_tree", { + size = {x = 9, y = 9, z = 9}, + data = { + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, M, M, M, _, _, _, _, _, + _, _, _, _, M, M, M, M, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, L, L, M, _, _, _, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, T, _, _, _, _, _, _, + M, L, L, M, _, _, T, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, T, _, _, _, _, _, + _, _, _, _, _, T, _, _, _, + M, M, M, M, _, _, _, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, M, M, M, M, M, M, M, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, T, _, _, _, + _, _, _, T, _, _, _, _, _, + _, _, _, _, _, M, M, M, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, T, _, _, + _, _, T, _, _, M, L, L, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, M, L, L, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, M, M, M, M, + M, M, M, M, M, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + }, +}) + + +-- Acacia tree from sapling + +local T = {name = "default:acacia_tree", prob = 255} +local U = {name = "default:acacia_tree", prob = 255, force_place = true} + +mts_save("acacia_tree_from_sapling", { + size = {x = 9, y = 9, z = 9}, + data = { + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, M, M, M, _, _, _, _, _, + _, _, _, _, M, M, M, M, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, L, L, M, _, _, _, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, T, _, _, _, _, _, _, + M, L, L, M, _, _, T, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, T, _, _, _, _, _, + _, _, _, _, _, T, _, _, _, + M, M, M, M, _, _, _, _, _, + _, _, _, _, M, L, L, L, M, + + _, _, _, _, T, _, _, _, _, + _, _, _, _, U, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, T, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + M, M, M, M, M, M, M, M, M, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, T, _, _, _, + _, _, _, T, _, _, _, _, _, + _, _, _, _, _, M, M, M, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, T, _, _, + _, _, T, _, _, M, L, L, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, M, L, L, M, + M, L, L, L, M, _, _, _, _, + + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, + _, _, _, _, _, M, M, M, M, + M, M, M, M, M, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + }, +}) + + +-- Mapgen Aspen tree + +local T = {name = "default:aspen_tree", prob = 255, force_place = true} +local B = {name = "default:aspen_tree", prob = 255} +local L = {name = "default:aspen_leaves", prob = 255} +local M = {name = "default:aspen_leaves", prob = 223} +local N = {name = "default:aspen_leaves", prob = 127} + +mts_save("aspen_tree", { + size = {x = 5, y = 14, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + _, _, _, _, _, + + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, L, T, L, _, + L, L, T, L, L, + _, L, T, L, _, + L, L, T, L, L, + _, L, T, L, _, + L, L, T, L, L, + _, L, L, L, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + {ypos = 8, prob = 127}, + {ypos = 10, prob = 127}, + }, +}) + + +-- Aspen tree from sapling + +mts_save("aspen_tree_from_sapling", { + size = {x = 5, y = 14, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + _, _, _, _, _, + + _, _, B, _, _, + _, _, T, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, _, B, _, _, + _, L, B, L, _, + L, L, B, L, L, + _, L, B, L, _, + L, L, B, L, L, + _, L, B, L, _, + L, L, B, L, L, + _, L, L, L, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + M, L, L, L, M, + _, M, L, M, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + N, M, L, M, N, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + {ypos = 8, prob = 127}, + {ypos = 10, prob = 127}, + }, +}) + + +-- Mapgen emergent jungle tree + +local L = {name = "default:jungleleaves", prob = 255} +local N = {name = "default:jungleleaves", prob = 223} +local M = {name = "default:jungleleaves", prob = 127} +local B = {name = "default:jungletree", prob = 255, force_place = true} +local U = {name = "default:jungletree", prob = 127, force_place = true} + +mts_save("emergent_jungle_tree", { + size = {x = 7, y = 37, z = 7}, + data = { + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + U, _, _, _, _, _, U, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, M, M, M, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, U, B, _, B, U, _, + _, _, U, _, U, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + M, _, _, _, _, _, M, + N, L, _, _, _, L, N, + N, B, L, L, L, B, N, + N, L, L, L, L, L, N, + _, N, N, N, N, N, _, + + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, U, B, B, B, U, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, N, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, _, B, B, N, N, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + _, _, N, B, N, _, _, + _, _, _, B, _, _, _, + _, _, _, B, N, N, N, + N, N, B, B, _, _, _, + _, _, _, B, _, _, _, + _, _, _, B, B, N, N, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + M, _, B, B, B, _, M, + N, _, B, _, B, _, N, + N, L, L, _, L, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, B, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, B, N, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, B, B, B, B, _, _, + _, _, B, B, B, _, _, + M, _, B, _, B, _, M, + N, _, _, _, _, _, N, + N, L, _, _, _, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, U, B, B, B, U, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, _, B, _, _, _, + N, N, N, B, _, _, _, + _, _, _, B, B, N, N, + _, _, _, B, _, _, _, + N, N, B, B, _, _, _, + _, _, _, B, N, N, N, + _, _, _, B, _, _, _, + _, _, N, B, N, _, _, + _, _, _, B, _, _, _, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + M, _, B, B, B, _, M, + N, _, B, _, B, _, N, + N, L, L, _, L, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, _, _, _, _, _, + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, U, B, _, B, U, _, + _, _, U, _, U, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + M, _, _, _, _, _, M, + N, L, _, _, _, L, N, + N, B, L, L, L, B, N, + N, L, L, L, L, L, N, + _, N, N, N, N, N, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + U, _, _, _, _, _, U, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, M, M, M, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, _, _, _, _, _, _, + }, + yslice_prob = { + {ypos = 13, prob = 127}, + {ypos = 14, prob = 127}, + {ypos = 15, prob = 127}, + {ypos = 16, prob = 127}, + {ypos = 17, prob = 127}, + {ypos = 18, prob = 127}, + {ypos = 19, prob = 127}, + {ypos = 20, prob = 127}, + {ypos = 21, prob = 127}, + {ypos = 22, prob = 127}, + {ypos = 23, prob = 127}, + {ypos = 24, prob = 127}, + }, +}) + + +-- Emergent jungle tree from sapling + +local L = {name = "default:jungleleaves", prob = 255} +local N = {name = "default:jungleleaves", prob = 223} +local M = {name = "default:jungleleaves", prob = 127} +local S = {name = "default:jungletree", prob = 255, force_place = true} +local B = {name = "default:jungletree", prob = 255} +local U = {name = "default:jungletree", prob = 127} + +mts_save("emergent_jungle_tree_from_sapling", { + size = {x = 7, y = 37, z = 7}, + data = { + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + U, _, _, _, _, _, U, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, M, M, M, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, _, _, _, _, _, _, + + _, _, _, _, _, _, _, + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, U, B, _, B, U, _, + _, _, U, _, U, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + M, _, _, _, _, _, M, + N, L, _, _, _, L, N, + N, B, L, L, L, B, N, + N, L, L, L, L, L, N, + _, N, N, N, N, N, _, + + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, U, B, B, B, U, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, N, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, _, B, B, N, N, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + _, _, N, B, N, _, _, + _, _, _, B, _, _, _, + _, _, _, B, N, N, N, + N, N, B, B, _, _, _, + _, _, _, B, _, _, _, + _, _, _, B, B, N, N, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + M, _, B, B, B, _, M, + N, _, B, _, B, _, N, + N, L, L, _, L, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, B, B, B, _, _, + _, _, B, S, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, B, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, B, N, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + N, B, B, B, B, _, _, + _, _, B, B, B, _, _, + M, _, B, _, B, _, M, + N, _, _, _, _, _, N, + N, L, _, _, _, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, B, B, B, B, B, _, + _, U, B, B, B, U, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, B, B, B, _, _, + _, _, _, B, _, _, _, + N, N, N, B, _, _, _, + _, _, _, B, B, N, N, + _, _, _, B, _, _, _, + N, N, B, B, _, _, _, + _, _, _, B, N, N, N, + _, _, _, B, _, _, _, + _, _, N, B, N, _, _, + _, _, _, B, _, _, _, + N, N, N, B, _, _, _, + _, _, _, B, _, _, _, + M, _, B, B, B, _, M, + N, _, B, _, B, _, N, + N, L, L, _, L, L, N, + N, L, L, L, L, L, N, + _, N, L, L, L, N, _, + + _, _, _, _, _, _, _, + _, _, B, _, B, _, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, B, B, _, B, B, _, + _, U, B, _, B, U, _, + _, _, U, _, U, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, B, N, + _, _, _, _, _, _, _, + N, B, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, B, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + M, _, _, _, _, _, M, + N, L, _, _, _, L, N, + N, B, L, L, L, B, N, + N, L, L, L, L, L, N, + _, N, N, N, N, N, _, + + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + B, _, _, _, _, _, B, + U, _, _, _, _, _, U, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, N, N, N, + _, _, _, _, _, _, _, + N, N, N, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, N, N, N, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, _, _, _, _, _, _, + _, M, M, M, M, M, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, N, N, N, N, N, _, + _, _, _, _, _, _, _, + }, + yslice_prob = { + {ypos = 13, prob = 127}, + {ypos = 14, prob = 127}, + {ypos = 15, prob = 127}, + {ypos = 16, prob = 127}, + {ypos = 17, prob = 127}, + {ypos = 18, prob = 127}, + {ypos = 19, prob = 127}, + {ypos = 20, prob = 127}, + {ypos = 21, prob = 127}, + {ypos = 22, prob = 127}, + {ypos = 23, prob = 127}, + {ypos = 24, prob = 127}, + }, +}) + + +-- Mapgen small pine tree + +local L = {name = "default:pine_needles", prob = 255} +local M = {name = "default:pine_needles", prob = 223} +local N = {name = "default:pine_needles", prob = 191} +local T = {name = "default:pine_tree", prob = 255, force_place = true} +local B = {name = "default:pine_tree", prob = 255} +local S = {name = "default:snow", prob = 255} + +mts_save("small_pine_tree", { + size = {x = 5, y = 12, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + _, L, L, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + _, _, T, _, _, + L, _, T, _, L, + L, L, T, L, L, + _, L, T, L, _, + _, L, T, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + _, L, L, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + }, +}) + + +-- Small pine tree from sapling + +mts_save("small_pine_tree_from_sapling", { + size = {x = 5, y = 12, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + _, L, L, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, B, _, _, + _, _, T, _, _, + _, _, B, _, _, + _, _, B, _, _, + L, _, B, _, L, + L, L, B, L, L, + _, L, B, L, _, + _, L, B, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + _, L, L, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, _, L, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + {ypos = 4, prob = 127}, + }, +}) + + +-- Snowy small pine tree from sapling + +mts_save("snowy_small_pine_tree_from_sapling", { + size = {x = 5, y = 13, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, S, L, S, _, + _, _, S, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + S, L, L, L, S, + _, L, L, L, _, + _, L, L, L, _, + _, S, L, S, _, + _, _, L, _, _, + _, _, S, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, B, _, _, + _, _, T, _, _, + _, _, B, _, _, + _, _, B, _, _, + L, _, B, _, L, + L, L, B, L, L, + S, L, B, L, S, + _, L, B, L, _, + _, L, L, L, _, + _, L, L, L, _, + _, S, L, S, _, + _, _, L, _, _, + _, _, S, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + L, L, _, L, L, + S, L, L, L, S, + _, L, L, L, _, + _, L, L, L, _, + _, S, L, S, _, + _, _, L, _, _, + _, _, S, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, L, L, L, _, + _, S, L, S, _, + _, _, S, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + }, +}) + + +-- Apple tree log + +mts_save("apple_log", { + size = {x = 4, y = 2, z = 1}, + data = { + {name = "default:tree", param2 = 12, prob = 127}, + {name = "default:tree", param2 = 12}, + {name = "default:tree", param2 = 12}, + {name = "default:tree", param2 = 12}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_brown", prob = 63}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + }, +}) + + +-- Jungletree log + +mts_save("jungle_log", { + size = {x = 5, y = 2, z = 1}, + data = { + {name = "default:jungletree", param2 = 12, prob = 127}, + {name = "default:jungletree", param2 = 12}, + {name = "default:jungletree", param2 = 12}, + {name = "default:jungletree", param2 = 12}, + {name = "default:jungletree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_brown", prob = 127}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + }, +}) + + +-- Pine tree log + +mts_save("pine_log", { + size = {x = 5, y = 2, z = 1}, + data = { + {name = "default:pine_tree", param2 = 12, prob = 127}, + {name = "default:pine_tree", param2 = 12}, + {name = "default:pine_tree", param2 = 12}, + {name = "default:pine_tree", param2 = 12}, + {name = "default:pine_tree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_red", prob = 63}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + }, +}) + + +-- Acacia tree log + +mts_save("acacia_log", { + size = {x = 5, y = 1, z = 1}, + data = { + {name = "default:acacia_tree", param2 = 12, prob = 127}, + {name = "default:acacia_tree", param2 = 12}, + {name = "default:acacia_tree", param2 = 12}, + {name = "default:acacia_tree", param2 = 12}, + {name = "default:acacia_tree", param2 = 12, prob = 127}, + }, +}) + + +-- Aspen tree log + +mts_save("aspen_log", { + size = {x = 5, y = 2, z = 1}, + data = { + {name = "default:aspen_tree", param2 = 12, prob = 127}, + {name = "default:aspen_tree", param2 = 12}, + {name = "default:aspen_tree", param2 = 12}, + {name = "default:aspen_tree", param2 = 12}, + {name = "default:aspen_tree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_red", prob = 63}, + {name = "flowers:mushroom_brown", prob = 63}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + }, +}) + + +-- Large cactus + +local C = {name = "default:cactus", prob = 255, param2 = 20} +local R = {name = "default:cactus", prob = 255, param2 = 20, force_place = true} +local E = {name = "default:cactus", prob = 127, param2 = 20} + +mts_save("large_cactus", { + size = {x = 5, y = 7, z = 1}, + data = { + _, _, R, _, _, + _, _, C, _, _, + _, _, C, _, _, + C, C, C, C, C, + C, _, C, _, C, + E, _, C, _, E, + _, _, C, _, _, + }, +}) + + +-- Papyrus + +mts_save("papyrus", { + size = {x = 1, y = 7, z = 1}, + data = { + {name = "default:dirt", prob = 255, force_place = true}, + {name = "default:dirt", prob = 255, force_place = true}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + }, +}) + + +-- Bush + +local L = {name = "default:bush_leaves", prob = 255} +local M = {name = "default:bush_leaves", prob = 191} +local N = {name = "default:bush_leaves", prob = 127} +local S = {name = "default:bush_stem", prob = 255, force_place = true} + +mts_save("bush", { + size = {x = 3, y = 3, z = 3}, + data = { + _, _, _, + M, L, M, + N, M, N, + + _, _, _, + L, S, L, + M, L, M, + + _, _, _, + M, L, M, + N, M, N, + }, +}) + + +-- Blueberry bush + +local L = {name = "default:blueberry_bush_leaves_with_berries", prob = 255, force_place = true} +local M = {name = "default:blueberry_bush_leaves_with_berries", prob = 223} +local N = {name = "default:blueberry_bush_leaves_with_berries", prob = 95} + +mts_save("blueberry_bush", { + size = {x = 3, y = 1, z = 3}, + data = { + N, M, N, + + M, L, M, + + N, M, N, + }, +}) + + +-- Acacia bush + +local L = {name = "default:acacia_bush_leaves", prob = 255} +local M = {name = "default:acacia_bush_leaves", prob = 191} +local N = {name = "default:acacia_bush_leaves", prob = 127} +local S = {name = "default:acacia_bush_stem", prob = 255, force_place = true} + +mts_save("acacia_bush", { + size = {x = 3, y = 3, z = 3}, + data = { + _, _, _, + N, M, N, + M, L, M, + + _, _, _, + M, S, M, + L, L, L, + + _, _, _, + N, M, N, + M, L, M, + }, +}) + + +-- Pine bush + +local L = {name = "default:pine_bush_needles", prob = 255} +local M = {name = "default:pine_bush_needles", prob = 191} +local N = {name = "default:pine_bush_needles", prob = 127} +local S = {name = "default:pine_bush_stem", prob = 255, force_place = true} + +mts_save("pine_bush", { + size = {x = 3, y = 3, z = 3}, + data = { + _, _, _, + M, L, M, + N, M, N, + + _, _, _, + L, S, L, + M, L, M, + + _, _, _, + M, L, M, + N, M, N, + }, +}) diff --git a/settingtypes.txt b/settingtypes.txt new file mode 100644 index 0000000..7f6a12b --- /dev/null +++ b/settingtypes.txt @@ -0,0 +1,66 @@ +# This file contains settings of minetest_game that can be changed in +# minetest.conf + +# In creative mode players are able to dig all kind of blocks nearly +# instantly, and have access to unlimited resources. +# Some of the functionality is only available if this setting is present +# at startup. +creative_mode (Creative mode) bool false + +# Flammable nodes will be ignited by nearby igniters. Spreading fire may +# cause severe destruction. +# Spreading fire nodes will disappear when fire is disabled, but +# 'permanent_flame' nodes are unaffected. +enable_fire (Fire) bool true + +# Enable flame sound. +flame_sound (Flame sound) bool true + +# Enable lavacooling. +enable_lavacooling (Lavacooling) bool true + +# If enabled, steel tools, torches and cobblestone will be given to new +# players. +give_initial_stuff (Give initial items) bool false + +# If enabled, players respawn at the bed they last lay on instead of normal +# spawn. +# This setting is only read at startup. +enable_bed_respawn (Respawn at bed) bool true + +# If enabled, the night can be skipped if more than half of the players are +# in beds. +enable_bed_night_skip (Skip night when sleeping) bool true + +# When TNT explodes, it destroys nearby nodes and damages nearby players. +# This setting is disabled by default on servers. +enable_tnt (TNT) bool true + +# The radius in which nodes will be destroyed by a TNT explosion. +tnt_radius (TNT radius) int 3 0 + +# Sets the behaviour of the inventory items when a player dies. +# bones: Store items in a bone node but drop items if inside protected area. +# drop: Drop items on the ground. +# keep: Player keeps items. +bones_mode (Bones mode) enum bones bones,drop,keep + +# The time in seconds after which the bones of a dead player can be looted +# by everyone. +# Setting this to 0 will disable sharing of bones completely. +share_bones_time (Bones share time) int 1200 0 + +# How much earlier the bones of a dead player can be looted by +# everyone if the player dies in a protected area they don't own. +# 0 to disable. By default it is "share_bones_time" divide by four. +share_bones_time_early (Earlier bones share time) int 300 0 + +# Inform player of condition and location of new bones. +bones_position_message (Inform player about bones) bool false + +# Replaces old stairs with new ones. Only required for older worlds. +enable_stairs_replace_abm (Replace old stairs) bool false + +# If enabled, use the engine's spawn search which does not check for a +# suitable starting biome. +engine_spawn (Use engine spawn search) bool false

h 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 literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_amethyst_warpstone.png b/mods/warps/textures/warps_amethyst_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..5b37ff3cf89e1a4041b5a2e20b1842e62ab4276e GIT binary patch literal 2492 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 literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_diamond_warpstone.png b/mods/warps/textures/warps_diamond_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..f30aff9f742f0d5cea687776d2478b1001c4b300 GIT binary patch literal 2569 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 XFE+x;LFkcv00000NkvXXu0mjfy%qJP literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_mese_warpstone.png b/mods/warps/textures/warps_mese_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..040743969846f195a0b5aad07b84716e392c9e16 GIT binary patch literal 2530 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 literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_ruby_warpstone.png b/mods/warps/textures/warps_ruby_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..33c1f4e1b4b92e2816fd040ad7e1cd1b128aba47 GIT binary patch literal 2458 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

QJ2)-gl>xHcRQH?hRcy`U` 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 A(EtDd literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_glass_door_close.ogg b/mods/jas0/sounds/doors_glass_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9adbcabc14ccecbc559345dea53ddfe111f84d00 GIT binary patch literal 7483 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 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_glass_door_open.ogg b/mods/jas0/sounds/doors_glass_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..66e6812d1877340c2f12ddeae02eae1f7c0e1cb1 GIT binary patch literal 7288 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 JtvWFX`X7uryYB!1 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_steel_door_close.ogg b/mods/jas0/sounds/doors_steel_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..991c9812c1e9796542d9c8cb1f3155a9b2a93959 GIT binary patch literal 9832 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 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/doors_steel_door_open.ogg b/mods/jas0/sounds/doors_steel_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..eb1c073abd08732cb5a3dbf463ae3086da8396bc GIT binary patch literal 6634 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 literal 0 HcmV?d00001 diff --git a/mods/jas0/sounds/xdecor_bouncy.ogg b/mods/jas0/sounds/xdecor_bouncy.ogg new file mode 100644 index 0000000000000000000000000000000000000000..779e825d62fcfa737554dcdc122e4dd907c36d89 GIT binary patch literal 5131 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/mods/mailbox/LICENSE.xdecor b/mods/mailbox/LICENSE.xdecor new file mode 100644 index 0000000..8b744c6 --- /dev/null +++ b/mods/mailbox/LICENSE.xdecor @@ -0,0 +1,39 @@ +┌──────────────────────────────────────────────────────────────────────┐ +│ Copyright (c) 2015-2017 kilbith │ +│ │ +│ Code: BSD │ +│ Textures: WTFPL (credits: Gambit, kilbith, Cisoun) │ +│ Sounds: │ +│ - xdecor_boiling_water.ogg - by Audionautics - CC BY-SA │ +│ freesound.org/people/Audionautics/sounds/133901/ │ +│ - xdecor_enchanting.ogg - by Timbre - CC BY-SA-NC │ +│ freesound.org/people/Timbre/sounds/221683/ │ +│ - xdecor_bouncy.ogg - by Blender Foundation - CC BY 3.0 │ +│ opengameart.org/content/funny-comic-cartoon-bounce-sound │ +└──────────────────────────────────────────────────────────────────────┘ + + +Copyright (c) 1998, Regents of the University of California +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of the University of California, Berkeley nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/mods/mailbox/README b/mods/mailbox/README new file mode 100644 index 0000000..a1f9297 --- /dev/null +++ b/mods/mailbox/README @@ -0,0 +1,3 @@ +This is a Mailbox mod, featuring textures from jp's X-Decor mod (see LICENSE.xdecor). + +The code is from scratch. diff --git a/mods/mailbox/depends.txt b/mods/mailbox/depends.txt new file mode 100644 index 0000000..bfd7366 --- /dev/null +++ b/mods/mailbox/depends.txt @@ -0,0 +1 @@ +jas0 diff --git a/mods/mailbox/init.lua b/mods/mailbox/init.lua new file mode 100644 index 0000000..1e3914f --- /dev/null +++ b/mods/mailbox/init.lua @@ -0,0 +1,102 @@ +-- Mailbox mod for Glitchtest +-- Copyright 2018 James Stevenson +-- GNU GPL 3 + + +minetest.register_craft({ + output = "mailbox:mailbox", + recipe = { + {"default:clay_brick", "default:steel_ingot", "default:clay_brick"}, + {"default:steel_ingot", "default:paper", "default:steel_ingot"}, + {"default:clay_brick", "default:steel_ingot", "default:clay_brick"}, + }, +}) + +minetest.register_node("mailbox:mailbox", { + description = "Mailbox", + tiles = { + "mailbox_top.png", + "mailbox_botton.png", + "mailbox_side.png", + "mailbox_side.png", + "mailbox_logo.png", + "mailbox_logo.png", + }, + paramtype2 = "facedir", + groups = {cracky = 3}, + after_place_node = function(pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + if not meta then + return + end + local name = placer:get_player_name() + meta:set_string("owner", name) + meta:set_string("infotext", name .. "'s Mailbox") + local inv = meta:get_inventory() + if not inv then + return + end + inv:set_size("mailbox", 8 * 4) + inv:set_size("send", 1) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + if not player then + return + end + local meta = minetest.get_meta(pos) + if not meta then + return + end + local name = player:get_player_name() + if name == meta:get_string("owner") then + return + end + + local inv = meta:get_inventory() + local overflow = inv:add_item("mailbox", stack) + inv:set_list("send", {}) + if overflow:get_name() == "" then + elseif overflow then + pos.y = pos.y + 1 + minetest.add_item(pos, overflow) + minetest.chat_send_player(name, "Mailbox is full!") + end + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if not clicker then + return + end + local meta = minetest.get_meta(pos) + if not meta then + return + end + local inv = meta:get_inventory() + pos = minetest.pos_to_string(pos):sub(2, -2) + local name = clicker:get_player_name() + local owner = meta:get_string("owner") + if owner ~= name then + minetest.show_formspec(name, "mailbox:send", + "size[8,5.667;]" .. + jas0.exit_button() .. + "label[0,0;Send " .. owner .. " some mail!]" .. + "list[nodemeta:" .. pos .. ";send;3.5,0.667;1,1]" .. + "list[current_player;main;0,1.9;8,1]" .. + "list[current_player;main;0,3;8,3;8]" .. + "listring[nodemeta:" .. pos .. ";send]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 1.9) .. + "") + return + end + minetest.show_formspec(name, "mailbox:mailbox", + "size[8,8.334]" .. + "list[nodemeta:" .. pos .. ";mailbox;0,0;8,4;]" .. + "list[current_player;main;0,4.5;8,1;]" .. + "list[current_player;main;0,5.6;8,3;8]" .. + "listring[nodemeta:" .. pos .. ";mailbox]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0, 4.5) .. + "") + end, + 0 +}) diff --git a/mods/mailbox/textures/mailbox_blank16.png b/mods/mailbox/textures/mailbox_blank16.png new file mode 100644 index 0000000000000000000000000000000000000000..017d4f9383e683b2f47e1f010d25d080dee14c74 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~OeH~n!3+##lh0ZJdEA~Zjv*Yf b$qIr%jsXKB*K-dMAdA7%)z4*}Q$iB}H^~nf literal 0 HcmV?d00001 diff --git a/mods/mailbox/textures/mailbox_botton.png b/mods/mailbox/textures/mailbox_botton.png new file mode 100644 index 0000000000000000000000000000000000000000..b613863aa7d9e9be30a5b269ecf967795f9d750a GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9Ym1U(osy*X1BFvS5lv4Q z#}E!#)`O0M3}x#~VQqu0}V ziq(~MbaWbZR31M#w{Pd{+L}~epvpu~7sn6|S=ZACIU5XkS|4tAT6M5kfW3faA@`Di zI}6JB`7SP&o*gbAUvu`U{s-SlJ&8=;OcT!iRLIC~UCez{fTZ_@Uv9-w6mp00i_>zopr0I@eoga7~l literal 0 HcmV?d00001 diff --git a/mods/mailbox/textures/mailbox_side.png b/mods/mailbox/textures/mailbox_side.png new file mode 100644 index 0000000000000000000000000000000000000000..44b2a2f60b75659ff576b943e71ae4710794606d GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(ay%b=x%0^>}x$4>O!kbGw zkCewg zNh+R;8V)!}h&V2M^m6s?r9al09$o(aZZ*sGIl8ZQR_immCMbx6FeGWT{W)j(e9nLF Y;yeK+!IR89K(iS!kpjlL59Ymkc%oMKnEK z978x{Sr0l2GAM8`Y | +| | +| Code: GPL version 3 | +| Textures: WTFPL (credits: Gambit, kilbith, Cisoun) | ++----------------------------------------------------------------------+ + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 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 General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/mods/mechanisms/README.txt b/mods/mechanisms/README.txt new file mode 100644 index 0000000..fada21d --- /dev/null +++ b/mods/mechanisms/README.txt @@ -0,0 +1,22 @@ +=== +From mechanisms.lua: + +--[[ Thanks to sofar for helping with that code. +Pressure plates work better with this setting in minetest.conf (requires 0.4.14): + nodetimer_interval = 0.1 +]] +== + + + +## X-Decor ## + +##### A decoration mod meant to be simple and well-featured. ##### +##### It adds a bunch of cute cubes, various mechanisms and stuff for [cutting](https://forum.minetest.net/viewtopic.php?f=11&t=14085), [enchanting](https://forum.minetest.net/viewtopic.php?f=11&t=14087), cooking, etc. ##### +##### This mod is a lightweight alternative to Home Decor and More Blocks all together. ##### + +### Credits ### + +##### Special thanks to Gambit for the textures from the PixelBOX pack for Minetest. ##### + +![Preview](http://i.imgur.com/AVoyCQy.png) diff --git a/mods/mechanisms/depends.txt b/mods/mechanisms/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/mechanisms/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/mechanisms/init.lua b/mods/mechanisms/init.lua new file mode 100644 index 0000000..2681bc6 --- /dev/null +++ b/mods/mechanisms/init.lua @@ -0,0 +1,156 @@ +--[[ Thanks to sofar for helping with that code. +Recommended setting in minetest.conf (requires 0.4.14 or newer) : + nodetimer_interval = 0.1 +]] + +local plate = {} +screwdriver = screwdriver or {} + +local function door_toggle(pos_actuator, pos_door, player) + local actuator = minetest.get_node(pos_actuator) + local door = doors.get(pos_door) + + if actuator.name:sub(-4) == "_off" then + minetest.set_node(pos_actuator, + {name=actuator.name:gsub("_off", "_on"), param2=actuator.param2}) + end + door:open(player) + + minetest.after(2, function() + if minetest.get_node(pos_actuator).name:sub(-3) == "_on" then + minetest.set_node(pos_actuator, + {name=actuator.name, param2=actuator.param2}) + end + door:close() + end) +end + +function plate.construct(pos) + local timer = minetest.get_node_timer(pos) + timer:start(0.1) +end + +function plate.timer(pos) + local objs = minetest.get_objects_inside_radius(pos, 0.8) + if objs == {} or not doors.get then return true end + local minp = {x=pos.x-2, y=pos.y, z=pos.z-2} + local maxp = {x=pos.x+2, y=pos.y, z=pos.z+2} + local doors = minetest.find_nodes_in_area(minp, maxp, "group:door") + + for _, player in pairs(objs) do + if player:is_player() then + for i = 1, #doors do + door_toggle(pos, doors[i], player) + end + break + end + end + return true +end + +function plate.register(material, desc, def) + minetest.register_node("mechanisms:pressure_"..material.."_off", { + description = desc.." Pressure Plate", + tiles = {"mechanisms_pressure_"..material..".png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, 0.4375}} + }, + groups = def.groups, + sounds = def.sounds, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + on_rotate = screwdriver.rotate_simple, + on_construct = plate.construct, + on_timer = plate.timer + }) + minetest.register_node("mechanisms:pressure_"..material.."_on", { + tiles = {"mechanisms_pressure_"..material..".png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.4375, -0.5, -0.4375, 0.4375, -0.475, 0.4375}} + }, + groups = def.groups, + sounds = def.sounds, + drop = "mechanisms:pressure_"..material.."_off", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + on_rotate = screwdriver.rotate_simple + }) +end +--[[ +plate.register("wood", "Wooden", { + sounds = default.node_sound_wood_defaults(), + groups = {choppy=3, oddly_breakable_by_hand=2, flammable=2} +}) +]] +plate.register("stone", "Stone", { + sounds = default.node_sound_stone_defaults(), + groups = {cracky=3, oddly_breakable_by_hand=2} +}) + +minetest.register_node("mechanisms:lever_off", { + description = "Lever", + tiles = {"mechanisms_lever_off.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.375, -0.4375, 0.4375, 0.375, 0.4375, 0.5}} + }, + groups = {cracky=3, oddly_breakable_by_hand=2}, + sounds = default.node_sound_stone_defaults(), + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + on_rotate = screwdriver.rotate_simple, + on_rightclick = function(pos, node, clicker) + if not doors.get then return end + local minp = {x=pos.x-2, y=pos.y-1, z=pos.z-2} + local maxp = {x=pos.x+2, y=pos.y+1, z=pos.z+2} + local doors = minetest.find_nodes_in_area(minp, maxp, "group:door") + + for i = 1, #doors do + door_toggle(pos, doors[i], clicker) + end + end +}) + +minetest.register_node("mechanisms:lever_on", { + tiles = {"mechanisms_lever_on.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.375, -0.4375, 0.4375, 0.375, 0.4375, 0.5}} + }, + groups = {cracky=3, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + on_rotate = screwdriver.rotate_simple, + drop = "mechanisms:lever_off" +}) +--[[ +minetest.register_craft({ + type = "shapeless", + output = "mechanisms:pressure_wood_off", + recipe = {"default:wood", "default:wood"} +}) +--]] +minetest.register_craft({ + type = "shapeless", + output = "mechanisms:pressure_stone_off", + recipe = {"default:stone", "default:stone"} +}) + +minetest.register_craft({ + output = "mechanisms:lever_off", + recipe = { + {"default:stick"}, + {"default:stone"} + } +}) diff --git a/mods/mechanisms/mod.conf b/mods/mechanisms/mod.conf new file mode 100644 index 0000000..509463c --- /dev/null +++ b/mods/mechanisms/mod.conf @@ -0,0 +1 @@ +name = mechanisms diff --git a/mods/mechanisms/textures/mechanisms_lever_off.png b/mods/mechanisms/textures/mechanisms_lever_off.png new file mode 100644 index 0000000000000000000000000000000000000000..143ad8837e08515a1b72f6b8d9317cb80e723b7e GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE0B(fNeBoCnK*IU)~!2x zdnZ*^*5>9G?%K6)Rk82F49DroHgo4LnmTn>Lqls=Sk%tO@RKJ`u3EJ!H?`cyC*ULR zglM1j!C~&ywS}X|7wy*xbSuaKVBwvz|upFnR z>Mfry)p`G!Hb>v`D*Ks#OxyUthH0X6w$8g6#q&{X?c3_jmmFTONJSkBWV=3vSx-EGci0oZ#ToY+1IVqidDSt84w-Gb_)}*Y=2K-p72(L!c@G P=nw`^S3j3^P6rCskI~=H?de+O=<0vG2kR$LYy7^X4sXXlM-yiQL&3e)8nWRjXFzrk2l`F>m`n zmBm0K7)yfuf*Bm1-ADs+8a!PbLnJPT_H*(bRp4+bY-@^r`{{lCHT_;wU16V^#0VFb zRho*LCW`yw83HdBc66AZT-%toW!62$>r?kn<=bhxNkk~&ooIukL-<8Dz0KTrjW)4dwRpTCI?yZC&^l7%l6;uY%UD_C^n Tn$nAaZej3r^>bP0l+XkK!!>I@ literal 0 HcmV?d00001 diff --git a/mods/mechanisms/textures/mechanisms_pressure_stone.png b/mods/mechanisms/textures/mechanisms_pressure_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..899e8f2070907538840c3095c055fe1f125b445c GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=8!+Z_dpvEG#TdNl8C- z>g?vt+gGhxzjNo_*|X=ZUcG+8gem9FU0k?uX;V|{wr#tUy~{FzdKgQB{DK)Ap4~_T zavD5c978y+Cnp%11qGHF6(tlj8pKHS^vm(~a`J{I1#q3wTC-{bi=kXu$5+o?20LV4 z|JTq^ 0 then + num = random(0, num) + anim = anim .. (num ~= 0 and num or "") + end + + if anim == self.animation.current + or not self.animation[anim .. "_start"] + or not self.animation[anim .. "_end"] then + return + end + + self.animation.current = anim + + self.object:set_animation({ + x = self.animation[anim .. "_start"], + y = self.animation[anim .. "_end"]}, + self.animation[anim .. "_speed"] or self.animation.speed_normal or 15, + 0, self.animation[anim .. "_loop"] ~= false) +end + +-- above function exported for mount.lua +function mobs:set_animation(self, anim) + set_animation(self, anim) +end + + +-- check line of sight (by BrunoMine, tweaked by Astrobe) +local line_of_sight = function(self, pos1, pos2, stepsize) + + if not pos1 or not pos2 then return end + + stepsize = stepsize or 1 + + local stepv = vector.multiply(vector.direction(pos1, pos2), stepsize) + + local s, pos = minetest.line_of_sight(pos1, pos2, stepsize) + + -- normal walking and flying mobs can see you through air + if s == true then return true end + + -- New pos1 to be analyzed + local npos1 = {x = pos1.x, y = pos1.y, z = pos1.z} + + local r, pos = minetest.line_of_sight(npos1, pos2, stepsize) + + -- Checks the return + if r == true then return true end + + -- Nodename found + local nn = minetest.get_node(pos).name + + -- It continues to advance in the line of sight in search of a real + -- obstruction which counts as 'normal' nodebox. + while minetest.registered_nodes[nn] + and (minetest.registered_nodes[nn].walkable == false) do +-- or minetest.registered_nodes[nn].drawtype == "nodebox") do + + npos1 = vector.add(npos1, stepv) + + if get_distance(npos1, pos2) < stepsize then return true end + + -- scan again + r, pos = minetest.line_of_sight(npos1, pos2, stepsize) + + if r == true then return true end + + -- New Nodename found + nn = minetest.get_node(pos).name + end + + return false +end + +-- global function +function mobs:line_of_sight(self, pos1, pos2, stepsize) + + return line_of_sight(self, pos1, pos2, stepsize) +end + + +-- are we flying in what we are suppose to? (taikedz) +local flight_check = function(self, pos_w) + + local def = minetest.registered_nodes[self.standing_in] + + if not def then return false end -- nil check + + if type(self.fly_in) == "string" + and self.standing_in == self.fly_in then + + return true + + elseif type(self.fly_in) == "table" then + + for _,fly_in in pairs(self.fly_in) do + + if self.standing_in == fly_in then + + return true + end + end + end + + -- stops mobs getting stuck inside stairs and plantlike nodes + if def.drawtype ~= "airlike" + and def.drawtype ~= "liquid" + and def.drawtype ~= "flowingliquid" then + return true + end + + return false +end + + +-- custom particle effects +local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) + + radius = radius or 2 + min_size = min_size or 0.5 + max_size = max_size or 1 + gravity = gravity or -10 + glow = glow or 0 + + minetest.add_particlespawner({ + amount = amount, + time = 0.25, + minpos = pos, + maxpos = pos, + minvel = {x = -radius, y = -radius, z = -radius}, + maxvel = {x = radius, y = radius, z = radius}, + minacc = {x = 0, y = gravity, z = 0}, + maxacc = {x = 0, y = gravity, z = 0}, + minexptime = 0.1, + maxexptime = 1, + minsize = min_size, + maxsize = max_size, + texture = texture, + glow = glow, + }) +end + + +-- update nametag colour +local update_tag = function(self) + + local col = "#00FF00" + local qua = self.hp_max / 4 + + if self.health <= floor(qua * 3) then + col = "#FFFF00" + end + + if self.health <= floor(qua * 2) then + col = "#FF6600" + end + + if self.health <= floor(qua) then + col = "#FF0000" + end + + self.object:set_properties({ + nametag = self.nametag, + nametag_color = col + }) + +end + + +-- drop items +local item_drop = function(self) + + -- check for nil or no drops + if not self.drops or #self.drops == 0 then + return + end + + -- no drops if disabled by setting + if not mobs_drop_items then return end + + -- no drops for child mobs + if self.child then return end + + -- was mob killed by player? + local death_by_player = self.cause_of_death and self.cause_of_death.puncher + and self.cause_of_death.puncher:is_player() or nil + + local obj, item, num + local pos = self.object:get_pos() + + for n = 1, #self.drops do + + if random(1, self.drops[n].chance) == 1 then + + num = random(self.drops[n].min or 0, self.drops[n].max or 1) + item = self.drops[n].name + + -- cook items on a hot death + if self.cause_of_death.hot then + + local output = minetest.get_craft_result({ + method = "cooking", width = 1, items = {item}}) + + if output and output.item and not output.item:is_empty() then + item = output.item:get_name() + end + end + + -- only drop rare items (drops.min=0) if killed by player + if death_by_player then + obj = minetest.add_item(pos, ItemStack(item .. " " .. num)) + + elseif self.drops[n].min ~= 0 then + obj = minetest.add_item(pos, ItemStack(item .. " " .. num)) + end + + if obj and obj:get_luaentity() then + + obj:set_velocity({ + x = random(-10, 10) / 9, + y = 6, + z = random(-10, 10) / 9, + }) + + elseif obj then + obj:remove() -- item does not exist + end + end + end + + self.drops = {} +end + + +-- check if mob is dead or only hurt +local check_for_death = function(self, cmi_cause) + + -- has health actually changed? + if self.health == self.old_health and self.health > 0 then + return + end + + self.old_health = self.health + + -- still got some health? play hurt sound + if self.health > 0 then + + mob_sound(self, self.sounds.damage) + + -- make sure health isn't higher than max + if self.health > self.hp_max then + self.health = self.hp_max + end + --[[ + -- backup nametag so we can show health stats + if not self.nametag2 then + self.nametag2 = self.nametag or "" + end + + if show_health + and (cmi_cause and cmi_cause.type == "punch") then + + self.htimer = 2 + self.nametag = "♥ " .. self.health .. " / " .. self.hp_max + --]] + update_tag(self)--[[ + end + --]] + return false + end + + self.cause_of_death = cmi_cause + + -- drop items + item_drop(self) + + mob_sound(self, self.sounds.death) + + local pos = self.object:get_pos() + + -- execute custom death function + if self.on_die then + + self.on_die(self, pos) + + if use_cmi then + cmi.notify_die(self.object, cmi_cause) + end + + self.object:remove() + + return true + end + + -- default death function and die animation (if defined) + if self.animation + and self.animation.die_start + and self.animation.die_end then + + local frames = self.animation.die_end - self.animation.die_start + local speed = self.animation.die_speed or 15 + local length = max(frames / speed, 0) + + self.attack = nil + self.v_start = false + self.timer = 0 + self.blinktimer = 0 + self.passive = true + self.state = "die" + set_velocity(self, 0) + set_animation(self, "die") + + minetest.after(length, function(self) + + if use_cmi and self.object:get_luaentity() then + cmi.notify_die(self.object, cmi_cause) + end + + self.object:remove() + end, self) + else + + if use_cmi then + cmi.notify_die(self.object, cmi_cause) + end + + self.object:remove() + end + + effect(pos, 20, "tnt_smoke.png") + + return true +end + + +-- is mob facing a cliff +local is_at_cliff = function(self) + + if self.fear_height == 0 then -- 0 for no falling protection! + return false + end + + local yaw = self.object:get_yaw() + local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5) + local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5) + local pos = self.object:get_pos() + local ypos = pos.y + self.collisionbox[2] -- just above floor + + if minetest.line_of_sight( + {x = pos.x + dir_x, y = ypos, z = pos.z + dir_z}, + {x = pos.x + dir_x, y = ypos - self.fear_height, z = pos.z + dir_z} + , 1) then + + return true + end + + return false +end + + +-- get node but use fallback for nil or unknown +local node_ok = function(pos, fallback) + + fallback = fallback or mobs.fallback_node + + local node = minetest.get_node_or_nil(pos) + + if node and minetest.registered_nodes[node.name] then + return node + end + + return minetest.registered_nodes[fallback] +end + + +-- environmental damage (water, lava, fire, light etc.) +local do_env_damage = function(self) + + -- feed/tame text timer (so mob 'full' messages dont spam chat) + if self.htimer > 0 then + self.htimer = self.htimer - 1 + end + --[[ + -- reset nametag after showing health stats + if self.htimer < 1 and self.nametag2 then + + self.nametag = self.nametag2 + self.nametag2 = nil + --]] + update_tag(self) --[[ + end --]] + local pos = self.object:get_pos() + + self.time_of_day = minetest.get_timeofday() + + -- remove mob if standing inside ignore node + if self.standing_in == "ignore" then + self.object:remove() + return + end + + -- is mob light sensative, or scared of the dark :P + if self.light_damage ~= 0 then + + local light = minetest.get_node_light(pos) or 0 + + if light >= self.light_damage_min + and light <= self.light_damage_max then + + self.health = self.health - self.light_damage + + effect(pos, 5, "tnt_smoke.png") + + if check_for_death(self, {type = "light"}) then return end + end + end + + local nodef = minetest.registered_nodes[self.standing_in] + + pos.y = pos.y + 1 -- for particle effect position + + -- water + if self.water_damage + and nodef.groups.water then + + if self.water_damage ~= 0 then + + self.health = self.health - self.water_damage + + effect(pos, 5, "bubble.png", nil, nil, 1, nil) + + if check_for_death(self, {type = "environment", + pos = pos, node = self.standing_in}) then return end + end + + -- lava or fire or ignition source + elseif self.lava_damage + and nodef.groups.igniter then +-- and (nodef.groups.lava +-- or self.standing_in == node_fire +-- or self.standing_in == node_permanent_flame) then + + if self.lava_damage ~= 0 then + + self.health = self.health - self.lava_damage + + effect(pos, 5, "fire_basic_flame.png", nil, nil, 1, nil) + + if check_for_death(self, {type = "environment", + pos = pos, node = self.standing_in, hot = true}) then return end + end + + -- damage_per_second node check + elseif nodef.damage_per_second ~= 0 then + + self.health = self.health - nodef.damage_per_second + + effect(pos, 5, "tnt_smoke.png") + + if check_for_death(self, {type = "environment", + pos = pos, node = self.standing_in}) then return end + end +--[[ + --- suffocation inside solid node + if self.suffocation ~= 0 + and nodef.walkable == true + and nodef.groups.disable_suffocation ~= 1 + and nodef.drawtype == "normal" then + + self.health = self.health - self.suffocation + + if check_for_death(self, {type = "environment", + pos = pos, node = self.standing_in}) then return end + end +]] + check_for_death(self, {type = "unknown"}) +end + + +-- jump if facing a solid node (not fences or gates) +local do_jump = function(self) + + if not self.jump + or self.jump_height == 0 + or self.fly + or self.child + or self.order == "stand" then + return false + end + + self.facing_fence = false + + -- something stopping us while moving? + if self.state ~= "stand" + and get_velocity(self) > 0.5 + and self.object:get_velocity().y ~= 0 then + return false + end + + local pos = self.object:get_pos() + local yaw = self.object:get_yaw() + + -- what is mob standing on? + pos.y = pos.y + self.collisionbox[2] - 0.2 + + local nod = node_ok(pos) + +--print ("standing on:", nod.name, pos.y) + + if minetest.registered_nodes[nod.name].walkable == false then + return false + end + + -- where is front + local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5) + local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5) + + -- what is in front of mob? + local nod = node_ok({ + x = pos.x + dir_x, + y = pos.y + 0.5, + z = pos.z + dir_z + }) + + -- thin blocks that do not need to be jumped + if nod.name == node_snow then + return false + end + +--print ("in front:", nod.name, pos.y + 0.5) + + if self.walk_chance == 0 + or minetest.registered_items[nod.name].walkable then + + if not nod.name:find("fence") + and not nod.name:find("gate") then + + local v = self.object:get_velocity() + + v.y = self.jump_height + + set_animation(self, "jump") -- only when defined + + self.object:set_velocity(v) + + -- when in air move forward + minetest.after(0.3, function(self, v) + + if self.object:get_luaentity() then + + self.object:set_acceleration({ + x = v.x * 2,--1.5, + y = 0, + z = v.z * 2,--1.5 + }) + end + end, self, v) + + if get_velocity(self) > 0 then + mob_sound(self, self.sounds.jump) + end + else + self.facing_fence = true + end + + return true + end + + return false +end + + +-- blast damage to entities nearby (modified from TNT mod) +local entity_physics = function(pos, radius) + + radius = radius * 2 + + local objs = minetest.get_objects_inside_radius(pos, radius) + local obj_pos, dist + + for n = 1, #objs do + + obj_pos = objs[n]:get_pos() + + dist = get_distance(pos, obj_pos) + if dist < 1 then dist = 1 end + + local damage = floor((4 / dist) * radius) + local ent = objs[n]:get_luaentity() + + -- punches work on entities AND players + objs[n]:punch(objs[n], 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = damage}, + }, pos) + end +end + + +-- should mob follow what I'm holding ? +local follow_holding = function(self, clicker) + + if mobs.invis[clicker:get_player_name()] then + return false + end + + local item = clicker:get_wielded_item() + local t = type(self.follow) + + -- single item + if t == "string" + and item:get_name() == self.follow then + return true + + -- multiple items + elseif t == "table" then + + for no = 1, #self.follow do + + if self.follow[no] == item:get_name() then + return true + end + end + end + + return false +end + + +-- find two animals of same type and breed if nearby and horny +local breed = function(self) + + -- child takes 240 seconds before growing into adult + if self.child == true then + + self.hornytimer = self.hornytimer + 1 + + if self.hornytimer > 240 then + + self.child = false + self.hornytimer = 0 + + self.object:set_properties({ + textures = self.base_texture, + mesh = self.base_mesh, + visual_size = self.base_size, + collisionbox = self.base_colbox, + selectionbox = self.base_selbox, + }) + + -- custom function when child grows up + if self.on_grown then + self.on_grown(self) + else + -- jump when fully grown so as not to fall into ground + self.object:set_velocity({ + x = 0, + y = self.jump_height, + z = 0 + }) + end + end + + return + end + + -- horny animal can mate for 40 seconds, + -- afterwards horny animal cannot mate again for 200 seconds + if self.horny == true + and self.hornytimer < 240 then + + self.hornytimer = self.hornytimer + 1 + + if self.hornytimer >= 240 then + self.hornytimer = 0 + self.horny = false + end + end + + -- find another same animal who is also horny and mate if nearby + if self.horny == true + and self.hornytimer <= 40 then + + local pos = self.object:get_pos() + + effect({x = pos.x, y = pos.y + 1, z = pos.z}, 8, "heart.png", 3, 4, 1, 0.1) + + local objs = minetest.get_objects_inside_radius(pos, 3) + local num = 0 + local ent = nil + + for n = 1, #objs do + + ent = objs[n]:get_luaentity() + + -- check for same animal with different colour + local canmate = false + + if ent then + + if ent.name == self.name then + canmate = true + else + local entname = string.split(ent.name,":") + local selfname = string.split(self.name,":") + + if entname[1] == selfname[1] then + entname = string.split(entname[2],"_") + selfname = string.split(selfname[2],"_") + + if entname[1] == selfname[1] then + canmate = true + end + end + end + end + + if ent + and canmate == true + and ent.horny == true + and ent.hornytimer <= 40 then + num = num + 1 + end + + -- found your mate? then have a baby + if num > 1 then + + self.hornytimer = 41 + ent.hornytimer = 41 + + -- spawn baby + minetest.after(5, function(self, ent) + + if not self.object:get_luaentity() then + return + end + + -- custom breed function + if self.on_breed then + + -- when false skip going any further + if self.on_breed(self, ent) == false then + return + end + else + effect(pos, 15, "tnt_smoke.png", 1, 2, 2, 15, 5) + end + + local mob = minetest.add_entity(pos, self.name) + local ent2 = mob:get_luaentity() + local textures = self.base_texture + + -- using specific child texture (if found) + if self.child_texture then + textures = self.child_texture[1] + end + + -- and resize to half height + mob:set_properties({ + textures = textures, + visual_size = { + x = self.base_size.x * .5, + y = self.base_size.y * .5, + }, + collisionbox = { + self.base_colbox[1] * .5, + self.base_colbox[2] * .5, + self.base_colbox[3] * .5, + self.base_colbox[4] * .5, + self.base_colbox[5] * .5, + self.base_colbox[6] * .5, + }, + selectionbox = { + self.base_selbox[1] * .5, + self.base_selbox[2] * .5, + self.base_selbox[3] * .5, + self.base_selbox[4] * .5, + self.base_selbox[5] * .5, + self.base_selbox[6] * .5, + }, + }) + -- tamed and owned by parents' owner + ent2.child = true + ent2.tamed = true + ent2.owner = self.owner + end, self, ent) + + num = 0 + + break + end + end + end +end + + +-- find and replace what mob is looking for (grass, wheat etc.) +local replace = function(self, pos) + + if not mobs_griefing + or not self.replace_rate + or not self.replace_what + or self.child == true + or self.object:get_velocity().y ~= 0 + or random(1, self.replace_rate) > 1 then + return + end + + local what, with, y_offset + + if type(self.replace_what[1]) == "table" then + + local num = random(#self.replace_what) + + what = self.replace_what[num][1] or "" + with = self.replace_what[num][2] or "" + y_offset = self.replace_what[num][3] or 0 + else + what = self.replace_what + with = self.replace_with or "" + y_offset = self.replace_offset or 0 + end + + pos.y = pos.y + y_offset + + if #minetest.find_nodes_in_area(pos, pos, what) > 0 then + +-- print ("replace node = ".. minetest.get_node(pos).name, pos.y) + + local oldnode = {name = what} + local newnode = {name = with} + local on_replace_return + + if self.on_replace then + on_replace_return = self.on_replace(self, pos, oldnode, newnode) + end + + if on_replace_return ~= false then + + minetest.set_node(pos, {name = with}) + + -- when cow/sheep eats grass, replace wool and milk + if self.gotten == true then + self.gotten = false + self.object:set_properties(self) + end + end + end +end + + +-- check if daytime and also if mob is docile during daylight hours +local day_docile = function(self) + + if self.docile_by_day == false then + + return false + + elseif self.docile_by_day == true + and self.time_of_day > 0.2 + and self.time_of_day < 0.8 then + + return true + end +end + + +local los_switcher = false +local height_switcher = false + +-- path finding and smart mob routine by rnd, line_of_sight and other edits by Elkien3 +local smart_mobs = function(self, s, p, dist, dtime) + + local s1 = self.path.lastpos + + local target_pos = self.attack:get_pos() + + -- is it becoming stuck? + if abs(s1.x - s.x) + abs(s1.z - s.z) < .5 then + self.path.stuck_timer = self.path.stuck_timer + dtime + else + self.path.stuck_timer = 0 + end + + self.path.lastpos = {x = s.x, y = s.y, z = s.z} + + local use_pathfind = false + local has_lineofsight = minetest.line_of_sight( + {x = s.x, y = (s.y) + .5, z = s.z}, + {x = target_pos.x, y = (target_pos.y) + 1.5, z = target_pos.z}, .2) + + -- im stuck, search for path + if not has_lineofsight then + + if los_switcher == true then + use_pathfind = true + los_switcher = false + end -- cannot see target! + else + if los_switcher == false then + + los_switcher = true + use_pathfind = false + + minetest.after(1, function(self) + + if self.object:get_luaentity() then + + if has_lineofsight then + self.path.following = false + end + end + end, self) + end -- can see target! + end + + if (self.path.stuck_timer > stuck_timeout and not self.path.following) then + + use_pathfind = true + self.path.stuck_timer = 0 + + minetest.after(1, function(self) + + if self.object:get_luaentity() then + + if has_lineofsight then + self.path.following = false + end + end + end, self) + end + + if (self.path.stuck_timer > stuck_path_timeout and self.path.following) then + + use_pathfind = true + self.path.stuck_timer = 0 + + minetest.after(1, function(self) + + if self.object:get_luaentity() then + + if has_lineofsight then + self.path.following = false + end + end + end, self) + end + + if abs(vector.subtract(s,target_pos).y) > self.stepheight then + + if height_switcher then + use_pathfind = true + height_switcher = false + end + else + if not height_switcher then + use_pathfind = false + height_switcher = true + end + end + + if use_pathfind then + -- lets try find a path, first take care of positions + -- since pathfinder is very sensitive + local sheight = self.collisionbox[5] - self.collisionbox[2] + + -- round position to center of node to avoid stuck in walls + -- also adjust height for player models! + s.x = floor(s.x + 0.5) +-- s.y = floor(s.y + 0.5) - sheight + s.z = floor(s.z + 0.5) + + local ssight, sground = minetest.line_of_sight(s, { + x = s.x, y = s.y - 4, z = s.z}, 1) + + -- determine node above ground + if not ssight then + s.y = sground.y + 1 + end + + local p1 = self.attack:get_pos() + + p1.x = floor(p1.x + 0.5) + p1.y = floor(p1.y + 0.5) + p1.z = floor(p1.z + 0.5) + + local dropheight = 6 + if self.fear_height ~= 0 then dropheight = self.fear_height end + + self.path.way = minetest.find_path(s, p1, 16, self.stepheight, dropheight, "Dijkstra") + +--[[ + -- show path using particles + if self.path.way and #self.path.way > 0 then + print ("-- path length:" .. tonumber(#self.path.way)) + for _,pos in pairs(self.path.way) do + minetest.add_particle({ + pos = pos, + velocity = {x=0, y=0, z=0}, + acceleration = {x=0, y=0, z=0}, + expirationtime = 1, + size = 4, + collisiondetection = false, + vertical = false, + texture = "heart.png", + }) + end + end +]] + + self.state = "" + do_attack(self, self.attack) + + -- no path found, try something else + if not self.path.way then + + self.path.following = false + + -- lets make way by digging/building if not accessible + if self.pathfinding == 2 and mobs_griefing then + + -- is player higher than mob? + if s.y < p1.y then + + -- build upwards + if not minetest.is_protected(s, "") then + + local ndef1 = minetest.registered_nodes[self.standing_in] + + if ndef1 and (ndef1.buildable_to or ndef1.groups.liquid) then + + minetest.set_node(s, {name = mobs.fallback_node}) + end + end + + local sheight = math.ceil(self.collisionbox[5]) + 1 + + -- assume mob is 2 blocks high so it digs above its head + s.y = s.y + sheight + + -- remove one block above to make room to jump + if not minetest.is_protected(s, "") then + + local node1 = node_ok(s, "air").name + local ndef1 = minetest.registered_nodes[node1] + + if node1 ~= "air" + and node1 ~= "ignore" + and ndef1 + and not ndef1.groups.level + and not ndef1.groups.unbreakable + and not ndef1.groups.liquid then + + minetest.set_node(s, {name = "air"}) + minetest.add_item(s, ItemStack(node1)) + + end + end + + s.y = s.y - sheight + self.object:set_pos({x = s.x, y = s.y + 2, z = s.z}) + + else -- dig 2 blocks to make door toward player direction + + local yaw1 = self.object:get_yaw() + pi / 2 + local p1 = { + x = s.x + cos(yaw1), + y = s.y, + z = s.z + sin(yaw1) + } + + if not minetest.is_protected(p1, "") then + + local node1 = node_ok(p1, "air").name + local ndef1 = minetest.registered_nodes[node1] + + if node1 ~= "air" + and node1 ~= "ignore" + and ndef1 + and not ndef1.groups.level + and not ndef1.groups.unbreakable + and not ndef1.groups.liquid then + + minetest.add_item(p1, ItemStack(node1)) + minetest.set_node(p1, {name = "air"}) + end + + p1.y = p1.y + 1 + node1 = node_ok(p1, "air").name + ndef1 = minetest.registered_nodes[node1] + + if node1 ~= "air" + and node1 ~= "ignore" + and ndef1 + and not ndef1.groups.level + and not ndef1.groups.unbreakable + and not ndef1.groups.liquid then + + minetest.add_item(p1, ItemStack(node1)) + minetest.set_node(p1, {name = "air"}) + end + + end + end + end + + -- will try again in 2 second + self.path.stuck_timer = stuck_timeout - 2 + + -- frustration! cant find the damn path :( + mob_sound(self, self.sounds.random) + else + -- yay i found path + mob_sound(self, self.sounds.war_cry) + set_velocity(self, self.walk_velocity) + + -- follow path now that it has it + self.path.following = true + end + end +end + + +-- specific attacks +local specific_attack = function(list, what) + + -- no list so attack default (player, animals etc.) + if list == nil then + return true + end + + -- found entity on list to attack? + for no = 1, #list do + + if list[no] == what then + return true + end + end + + return false +end + + +-- general attack function for all mobs ========== +local general_attack = function(self) + + -- return if already attacking, passive or docile during day + if self.passive + or self.state == "attack" + or day_docile(self) then + return + end + + local s = self.object:get_pos() + local objs = minetest.get_objects_inside_radius(s, self.view_range) + + -- remove entities we aren't interested in + for n = 1, #objs do + + local ent = objs[n]:get_luaentity() + + -- are we a player? + if objs[n]:is_player() then + + -- if player invisible or mob not setup to attack then remove from list + if self.attack_players == false + or (self.owner and self.type ~= "monster") + or mobs.invis[objs[n]:get_player_name()] + or not specific_attack(self.specific_attack, "player") then + objs[n] = nil +--print("- pla", n) + end + + -- or are we a mob? + elseif ent and ent._cmi_is_mob then + + -- remove mobs not to attack + if self.name == ent.name + or (not self.attack_animals and ent.type == "animal") + or (not self.attack_monsters and ent.type == "monster") + or (not self.attack_npcs and ent.type == "npc") + or not specific_attack(self.specific_attack, ent.name) then + objs[n] = nil +--print("- mob", n, self.name, ent.name) + end + + -- remove all other entities + else +--print(" -obj", n) + objs[n] = nil + end + end + + local p, sp, dist, min_player + local min_dist = self.view_range + 1 + + -- go through remaining entities and select closest + for _,player in pairs(objs) do + + p = player:get_pos() + sp = s + + dist = get_distance(p, s) + + -- aim higher to make looking up hills more realistic + p.y = p.y + 1 + sp.y = sp.y + 1 + + -- choose closest player to attack that isnt self + if dist ~= 0 + and dist < min_dist + and line_of_sight(self, sp, p, 2) == true then + min_dist = dist + min_player = player + end + end + + -- attack closest player or mob + if min_player then + do_attack(self, min_player) + end +end + + +-- specific runaway +local specific_runaway = function(list, what) + + -- no list so do not run + if list == nil then + return false + end + + -- found entity on list to attack? + for no = 1, #list do + + if list[no] == what then + return true + end + end + + return false +end + + +-- find someone to runaway from +local runaway_from = function(self) + + if not self.runaway_from then + return + end + + local s = self.object:get_pos() + local p, sp, dist, pname + local player, obj, min_player, name + local min_dist = self.view_range + 1 + local objs = minetest.get_objects_inside_radius(s, self.view_range) + + for n = 1, #objs do + + if objs[n]:is_player() then + + pname = objs[n]:get_player_name() + + if mobs.invis[pname] + or self.owner == pname then + + name = "" + else + player = objs[n] + name = "player" + end + else + obj = objs[n]:get_luaentity() + + if obj then + player = obj.object + name = obj.name or "" + end + end + + -- find specific mob to runaway from + if name ~= "" and name ~= self.name + and specific_runaway(self.runaway_from, name) then + + p = player:get_pos() + sp = s + + -- aim higher to make looking up hills more realistic + p.y = p.y + 1 + sp.y = sp.y + 1 + + dist = get_distance(p, s) + + -- choose closest player/mob to runaway from + if dist < min_dist + and line_of_sight(self, sp, p, 2) == true then + min_dist = dist + min_player = player + end + end + end + + if min_player then + + local lp = player:get_pos() + local vec = { + x = lp.x - s.x, + y = lp.y - s.y, + z = lp.z - s.z + } + + local yaw = (atan(vec.z / vec.x) + 3 * pi / 2) - self.rotate + + if lp.x > s.x then + yaw = yaw + pi + end + + yaw = set_yaw(self, yaw, 4) + self.state = "runaway" + self.runaway_timer = 3 + self.following = nil + end +end + + +-- follow player if owner or holding item, if fish outta water then flop +local follow_flop = function(self) + + -- find player to follow + if (self.follow ~= "" + or self.order == "follow") + and not self.following + and self.state ~= "attack" + and self.state ~= "runaway" then + + local s = self.object:get_pos() + local players = minetest.get_connected_players() + + for n = 1, #players do + + if get_distance(players[n]:get_pos(), s) < self.view_range + and not mobs.invis[ players[n]:get_player_name() ] then + + self.following = players[n] + + break + end + end + end + + if self.type == "npc" + and self.order == "follow" + and self.state ~= "attack" + and self.owner ~= "" then + + -- npc stop following player if not owner + if self.following + and self.owner + and self.owner ~= self.following:get_player_name() then + self.following = nil + end + else + -- stop following player if not holding specific item + if self.following + and self.following:is_player() + and follow_holding(self, self.following) == false then + self.following = nil + end + + end + + -- follow that thing + if self.following then + + local s = self.object:get_pos() + local p + + if self.following:is_player() then + + p = self.following:get_pos() + + elseif self.following.object then + + p = self.following.object:get_pos() + end + + if p then + + local dist = get_distance(p, s) + + -- dont follow if out of range + if dist > self.view_range then + self.following = nil + else + local vec = { + x = p.x - s.x, + z = p.z - s.z + } + + local yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if p.x > s.x then yaw = yaw + pi end + + yaw = set_yaw(self, yaw, 6) + + -- anyone but standing npc's can move along + if dist > self.reach + and self.order ~= "stand" then + + set_velocity(self, self.walk_velocity) + + -- mob plays random sound at times + if random(1, 100) == 1 then + mob_sound(self, self.sounds.random) + end + if self.walk_chance ~= 0 then + set_animation(self, "walk") + end + else + set_velocity(self, 0) + set_animation(self, "stand") + end + + return + end + end + end + + -- swimmers flop when out of their element, and swim again when back in + if self.fly then + local s = self.object:get_pos() + if not flight_check(self, s) then + + self.state = "flop" + self.object:set_velocity({x = 0, y = -5, z = 0}) + + set_animation(self, "stand") + + return + elseif self.state == "flop" then + self.state = "stand" + end + end +end + + +-- dogshoot attack switch and counter function +local dogswitch = function(self, dtime) + + -- switch mode not activated + if not self.dogshoot_switch + or not dtime then + return 0 + end + + self.dogshoot_count = self.dogshoot_count + dtime + + if (self.dogshoot_switch == 1 + and self.dogshoot_count > self.dogshoot_count_max) + or (self.dogshoot_switch == 2 + and self.dogshoot_count > self.dogshoot_count2_max) then + + self.dogshoot_count = 0 + + if self.dogshoot_switch == 1 then + self.dogshoot_switch = 2 + else + self.dogshoot_switch = 1 + end + end + + return self.dogshoot_switch +end + + +-- execute current state (stand, walk, run, attacks) +local do_states = function(self, dtime) + + local yaw = self.object:get_yaw() or 0 + + if self.state == "stand" then + + if random(1, 4) == 1 then + + local lp = nil + local s = self.object:get_pos() + local objs = minetest.get_objects_inside_radius(s, 2) + + for n = 1, #objs do + + if objs[n]:is_player() then + lp = objs[n]:get_pos() + break + end + end + + -- look at any players nearby, otherwise turn randomly + if lp then + + local vec = { + x = lp.x - s.x, + z = lp.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if lp.x > s.x then yaw = yaw + pi end + else + yaw = yaw + random(-0.5, 0.5) + self.order = "follow" + end + + yaw = set_yaw(self, yaw, 8) + end + + set_velocity(self, 0) + set_animation(self, "stand") + + -- mobs ordered to stand stay standing + if self.order ~= "stand" + and self.walk_chance ~= 0 + and self.facing_fence ~= true + and random(1, 100) <= self.walk_chance + and is_at_cliff(self) == false then + + set_velocity(self, self.walk_velocity) + self.state = "walk" + set_animation(self, "walk") + end + + elseif self.state == "walk" then + + local s = self.object:get_pos() + local lp = nil + + -- is there something I need to avoid? + if self.water_damage > 0 + and self.lava_damage > 0 then + + lp = minetest.find_node_near(s, 1, {"group:water", "group:lava"}) + + elseif self.water_damage > 0 then + + lp = minetest.find_node_near(s, 1, {"group:water"}) + + elseif self.lava_damage > 0 then + + lp = minetest.find_node_near(s, 1, {"group:lava"}) + end + + if lp then + + -- if mob in water or lava then look for land + if (self.lava_damage + and minetest.registered_nodes[self.standing_in].groups.lava) + or (self.water_damage + and minetest.registered_nodes[self.standing_in].groups.water) then + + lp = minetest.find_node_near(s, 5, {"group:soil", "group:stone", + "group:sand", node_ice, node_snowblock}) + + -- did we find land? + if lp then + + local vec = { + x = lp.x - s.x, + z = lp.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if lp.x > s.x then yaw = yaw + pi end + + -- look towards land and jump/move in that direction + yaw = set_yaw(self, yaw, 6) + do_jump(self) + set_velocity(self, self.walk_velocity) + else + yaw = yaw + random(-0.5, 0.5) + end + + else + + local vec = { + x = lp.x - s.x, + z = lp.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if lp.x > s.x then yaw = yaw + pi end + end + + yaw = set_yaw(self, yaw, 8) + + -- otherwise randomly turn + elseif random(1, 100) <= 30 then + + yaw = yaw + random(-0.5, 0.5) + + yaw = set_yaw(self, yaw, 8) + end + + -- stand for great fall in front + local temp_is_cliff = is_at_cliff(self) + + if self.facing_fence == true + or temp_is_cliff + or random(1, 100) <= 30 then + + set_velocity(self, 0) + self.state = "stand" + set_animation(self, "stand") + else + set_velocity(self, self.walk_velocity) + + if flight_check(self) + and self.animation + and self.animation.fly_start + and self.animation.fly_end then + set_animation(self, "fly") + else + set_animation(self, "walk") + end + end + + -- runaway when punched + elseif self.state == "runaway" then + + self.runaway_timer = self.runaway_timer + 1 + + -- stop after 5 seconds or when at cliff + if self.runaway_timer > 5 + or is_at_cliff(self) + or self.order == "stand" then + self.runaway_timer = 0 + set_velocity(self, 0) + self.state = "stand" + set_animation(self, "stand") + else + set_velocity(self, self.run_velocity) + set_animation(self, "walk") + end + + -- attack routines (explode, dogfight, shoot, dogshoot) + elseif self.state == "attack" then + + -- calculate distance from mob and enemy + local s = self.object:get_pos() + local p = self.attack:get_pos() or s + local dist = get_distance(p, s) + + -- stop attacking if player invisible or out of range + if dist > self.view_range + or not self.attack + or not self.attack:get_pos() + or self.attack:get_hp() <= 0 + or (self.attack:is_player() and mobs.invis[ self.attack:get_player_name() ]) then + +-- print(" ** stop attacking **", dist, self.view_range) + self.state = "stand" + set_velocity(self, 0) + set_animation(self, "stand") + self.attack = nil + self.v_start = false + self.timer = 0 + self.blinktimer = 0 + self.path.way = nil + + return + end + + if self.attack_type == "explode" then + + local vec = { + x = p.x - s.x, + z = p.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if p.x > s.x then yaw = yaw + pi end + + yaw = set_yaw(self, yaw) + + local node_break_radius = self.explosion_radius or 1 + local entity_damage_radius = self.explosion_damage_radius + or (node_break_radius * 2) + + -- start timer when in reach and line of sight + if not self.v_start + and dist <= self.reach + and line_of_sight(self, s, p, 2) then + + self.v_start = true + self.timer = 0 + self.blinktimer = 0 + mob_sound(self, self.sounds.fuse) +-- print ("=== explosion timer started", self.explosion_timer) + + -- stop timer if out of reach or direct line of sight + elseif self.allow_fuse_reset + and self.v_start + and (dist > self.reach + or not line_of_sight(self, s, p, 2)) then + self.v_start = false + self.timer = 0 + self.blinktimer = 0 + self.blinkstatus = false + self.object:settexturemod("") + end + + -- walk right up to player unless the timer is active + if self.v_start and (self.stop_to_explode or dist < 1.5) then + set_velocity(self, 0) + else + set_velocity(self, self.run_velocity) + end + + if self.animation and self.animation.run_start then + set_animation(self, "run") + else + set_animation(self, "walk") + end + + if self.v_start then + + self.timer = self.timer + dtime + self.blinktimer = (self.blinktimer or 0) + dtime + + if self.blinktimer > 0.2 then + + self.blinktimer = 0 + + if self.blinkstatus then + self.object:settexturemod("") + else + self.object:settexturemod("^[brighten") + end + + self.blinkstatus = not self.blinkstatus + end + +-- print ("=== explosion timer", self.timer) + + if self.timer > self.explosion_timer then + + local pos = self.object:get_pos() + + -- dont damage anything if area protected or next to water + if minetest.find_node_near(pos, 1, {"group:water"}) + or minetest.is_protected(pos, "") then + + node_break_radius = 1 + end + + self.object:remove() + + if minetest.get_modpath("tnt") and tnt and tnt.boom + and not minetest.is_protected(pos, "") then + + tnt.boom(pos, { + radius = node_break_radius, + damage_radius = entity_damage_radius, + sound = self.sounds.explode, + }) + else + + minetest.sound_play(self.sounds.explode, { + pos = pos, + gain = 0.9, + max_hear_distance = self.sounds.distance or 64 + }) + + entity_physics(pos, entity_damage_radius) + effect(pos, 32, "tnt_smoke.png", nil, nil, node_break_radius, 1, 0) + end + + return + end + end + + elseif self.attack_type == "dogfight" + or (self.attack_type == "dogshoot" and dogswitch(self, dtime) == 2) + or (self.attack_type == "dogshoot" and dist <= self.reach and dogswitch(self) == 0) then + + if self.fly + and dist > self.reach then + + local p1 = s + local me_y = floor(p1.y) + local p2 = p + local p_y = floor(p2.y + 1) + local v = self.object:get_velocity() + + if flight_check(self, s) then + + if me_y < p_y then + + self.object:set_velocity({ + x = v.x, + y = 1 * self.walk_velocity, + z = v.z + }) + + elseif me_y > p_y then + + self.object:set_velocity({ + x = v.x, + y = -1 * self.walk_velocity, + z = v.z + }) + end + else + if me_y < p_y then + + self.object:set_velocity({ + x = v.x, + y = 0.01, + z = v.z + }) + + elseif me_y > p_y then + + self.object:set_velocity({ + x = v.x, + y = -0.01, + z = v.z + }) + end + end + + end + + -- rnd: new movement direction + if self.path.following + and self.path.way + and self.attack_type ~= "dogshoot" then + + -- no paths longer than 50 + if #self.path.way > 50 + or dist < self.reach then + self.path.following = false + return + end + + local p1 = self.path.way[1] + + if not p1 then + self.path.following = false + return + end + + if abs(p1.x-s.x) + abs(p1.z - s.z) < 0.6 then + -- reached waypoint, remove it from queue + table.remove(self.path.way, 1) + end + + -- set new temporary target + p = {x = p1.x, y = p1.y, z = p1.z} + end + + local vec = { + x = p.x - s.x, + z = p.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if p.x > s.x then yaw = yaw + pi end + + yaw = set_yaw(self, yaw) + + -- move towards enemy if beyond mob reach + if dist > self.reach then + + -- path finding by rnd + if self.pathfinding -- only if mob has pathfinding enabled + and enable_pathfinding then + + smart_mobs(self, s, p, dist, dtime) + end + + if is_at_cliff(self) then + + set_velocity(self, 0) + set_animation(self, "stand") + else + + if self.path.stuck then + set_velocity(self, self.walk_velocity) + else + set_velocity(self, self.run_velocity) + end + + if self.animation and self.animation.run_start then + set_animation(self, "run") + else + set_animation(self, "walk") + end + end + + else -- rnd: if inside reach range + + self.path.stuck = false + self.path.stuck_timer = 0 + self.path.following = false -- not stuck anymore + + set_velocity(self, 0) + + if not self.custom_attack then + + if self.timer > 1 then + + self.timer = 0 + +-- if self.double_melee_attack +-- and random(1, 2) == 1 then +-- set_animation(self, "punch2") +-- else + set_animation(self, "punch") +-- end + + local p2 = p + local s2 = s + + p2.y = p2.y + .5 + s2.y = s2.y + .5 + + if line_of_sight(self, p2, s2) == true then + + -- play attack sound + mob_sound(self, self.sounds.attack) + + -- punch player (or what player is attached to) + local attached = self.attack:get_attach() + if attached then + self.attack = attached + end + self.attack:punch(self.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = self.damage} + }, nil) + end + end + else -- call custom attack every second + if self.custom_attack + and self.timer > 1 then + + self.timer = 0 + + self.custom_attack(self, p) + end + end + end + + elseif self.attack_type == "shoot" + or (self.attack_type == "dogshoot" and dogswitch(self, dtime) == 1) + or (self.attack_type == "dogshoot" and dist > self.reach and dogswitch(self) == 0) then + + p.y = p.y - .5 + s.y = s.y + .5 + + local dist = get_distance(p, s) + local vec = { + x = p.x - s.x, + y = p.y - s.y, + z = p.z - s.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if p.x > s.x then yaw = yaw + pi end + + yaw = set_yaw(self, yaw) + + set_velocity(self, 0) + + if self.shoot_interval + and self.timer > self.shoot_interval + and random(1, 100) <= 60 then + + self.timer = 0 + set_animation(self, "shoot") + + -- play shoot attack sound + mob_sound(self, self.sounds.shoot_attack) + + local p = self.object:get_pos() + + p.y = p.y + (self.collisionbox[2] + self.collisionbox[5]) / 2 + + if minetest.registered_entities[self.arrow] then + + local obj = minetest.add_entity(p, self.arrow) + local ent = obj:get_luaentity() + local amount = (vec.x * vec.x + vec.y * vec.y + vec.z * vec.z) ^ 0.5 + local v = ent.velocity or 1 -- or set to default + + ent.switch = 1 + ent.owner_id = tostring(self.object) -- add unique owner id to arrow + + -- offset makes shoot aim accurate + vec.y = vec.y + self.shoot_offset + vec.x = vec.x * (v / amount) + vec.y = vec.y * (v / amount) + vec.z = vec.z * (v / amount) + + obj:set_velocity(vec) + end + end + end + end +end + + +-- falling and fall damage +local falling = function(self, pos) + + if self.fly then + return + end + + -- floating in water (or falling) + local v = self.object:get_velocity() + + if v.y > 0 then + + -- apply gravity when moving up + self.object:set_acceleration({ + x = 0, + y = -10, + z = 0 + }) + + elseif v.y <= 0 and v.y > self.fall_speed then + + -- fall downwards at set speed + self.object:set_acceleration({ + x = 0, + y = self.fall_speed, + z = 0 + }) + else + -- stop accelerating once max fall speed hit + self.object:set_acceleration({x = 0, y = 0, z = 0}) + end + + -- in water then float up + if self.standing_in + and minetest.registered_nodes[self.standing_in].groups.water then + + if self.floats == 1 then + + self.object:set_acceleration({ + x = 0, + y = -self.fall_speed / (max(1, v.y) ^ 8), -- 8 was 2 + z = 0 + }) + end + else + + -- fall damage onto solid ground + if self.fall_damage == 1 + and self.object:get_velocity().y == 0 then + + local d = (self.old_y or 0) - self.object:get_pos().y + + if d > 5 then + + self.health = self.health - floor(d - 5) + + effect(pos, 5, "tnt_smoke.png", 1, 2, 2, nil) + + if check_for_death(self, {type = "fall"}) then + return + end + end + + self.old_y = self.object:get_pos().y + end + end +end + + +-- is Took Ranks mod active? +local tr = minetest.get_modpath("toolranks") + +-- deal damage and effects when mob punched +local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) + + -- mob health check + if self.health <= 0 then + return + end + + -- custom punch function + if self.do_punch + and self.do_punch(self, hitter, tflp, tool_capabilities, dir) == false then + return + end + + -- error checking when mod profiling is enabled + if not tool_capabilities then + minetest.log("warning", "[mobs] Mod profiling enabled, damage not enabled") + return + end + + -- is mob protected? + if self.protected and hitter:is_player() + and minetest.is_protected(self.object:get_pos(), hitter:get_player_name()) then + minetest.chat_send_player(hitter:get_player_name(), S("Mob has been protected!")) + return + end + + local weapon = hitter:get_wielded_item() + local weapon_def = weapon:get_definition() or {} + local punch_interval = 1.4 + + -- calculate mob damage + local damage = 0 + local armor = self.object:get_armor_groups() or {} + local tmp + + -- quick error check incase it ends up 0 (serialize.h check test) + if tflp == 0 then + tflp = 0.2 + end + + if use_cmi then + damage = cmi.calculate_damage(self.object, hitter, tflp, tool_capabilities, dir) + else + + for group,_ in pairs( (tool_capabilities.damage_groups or {}) ) do + + tmp = tflp / (tool_capabilities.full_punch_interval or 1.4) + + if tmp < 0 then + tmp = 0.0 + elseif tmp > 1 then + tmp = 1.0 + end + + damage = damage + (tool_capabilities.damage_groups[group] or 0) + * tmp * ((armor[group] or 0) / 100.0) + end + end + + -- check for tool immunity or special damage + for n = 1, #self.immune_to do + + if self.immune_to[n][1] == weapon_def.name then + + damage = self.immune_to[n][2] or 0 + break + + -- if "all" then no tool does damage unless it's specified in list + elseif self.immune_to[n][1] == "all" then + damage = self.immune_to[n][2] or 0 + end + end + + -- healing + if damage <= -1 then + self.health = self.health - floor(damage) + return + end + +-- print ("Mob Damage is", damage) + + if use_cmi + and cmi.notify_punch(self.object, hitter, tflp, tool_capabilities, dir, damage) then + return + end + + -- add weapon wear + punch_interval = tool_capabilities.full_punch_interval or 1.4 + + -- toolrank support + local wear = floor((punch_interval / 75) * 9000) + + if mobs.is_creative(hitter:get_player_name()) then + + if tr then + wear = 1 + else + wear = 0 + end + end + + if tr then + if weapon_def.original_description then + weapon:add_wear(toolranks.new_afteruse(weapon, hitter, nil, {wear = wear})) + end + else + weapon:add_wear(wear) + end + + hitter:set_wielded_item(weapon) + + -- only play hit sound and show blood effects if damage is 1 or over + if damage >= 1 then + + -- weapon sounds + if weapon_def.sounds then + + local s = random(0, #weapon_def.sounds) + + minetest.sound_play(weapon_def.sounds[s], { + object = self.object, + max_hear_distance = 64 + }) + else + minetest.sound_play("mobs_punch", { + object = self.object, + max_hear_distance = 64 + }) + end + --[[ + -- blood_particles + if not disable_blood and self.blood_amount > 0 then + + local pos = self.object:get_pos() + + pos.y = pos.y + (-self.collisionbox[2] + self.collisionbox[5]) * .5 + + -- do we have a single blood texture or multiple? + if type(self.blood_texture) == "table" then + + local blood = self.blood_texture[random(1, #self.blood_texture)] + + effect(pos, self.blood_amount, blood, nil, nil, 1, nil) + else + effect(pos, self.blood_amount, self.blood_texture, nil, nil, 1, nil) + end + end + --]] + -- do damage + self.health = self.health - floor(damage) + + -- exit here if dead, check for tools with fire damage + local hot = tool_capabilities and tool_capabilities.damage_groups + and tool_capabilities.damage_groups.fire + + if check_for_death(self, {type = "punch", + puncher = hitter, hot = hot}) then + return + end + + --[[ add healthy afterglow when hit (can cause hit lag with larger textures) + minetest.after(0.1, function() + + if not self.object:get_luaentity() then return end + + self.object:settexturemod("^[colorize:#c9900070") + + core.after(0.3, function() + self.object:settexturemod("") + end) + end) ]] + + end -- END if damage + + -- knock back effect (only on full punch) + if self.knock_back + and tflp >= punch_interval then + + local v = self.object:get_velocity() + local kb = damage or 1 + local up = 2 + + -- if already in air then dont go up anymore when hit + if v.y > 0 + or self.fly then + up = 0 + end + + -- direction error check + dir = dir or {x = 0, y = 0, z = 0} + + -- use tool knockback value or default + kb = tool_capabilities.damage_groups["knockback"] or (kb * 1.5) + + self.object:set_velocity({ + x = dir.x * kb, + y = up, + z = dir.z * kb + }) + + self.pause_timer = 0.25 + end + + -- if skittish then run away + if self.runaway == true + and self.order ~= "stand" then + + local lp = hitter:get_pos() + local s = self.object:get_pos() + local vec = { + x = lp.x - s.x, + y = lp.y - s.y, + z = lp.z - s.z + } + + local yaw = (atan(vec.z / vec.x) + 3 * pi / 2) - self.rotate + + if lp.x > s.x then + yaw = yaw + pi + end + + yaw = set_yaw(self, yaw, 6) + self.state = "runaway" + self.runaway_timer = 0 + self.following = nil + end + + local name = hitter:get_player_name() or "" + + -- attack puncher and call other mobs for help + if self.passive == false + and self.state ~= "flop" + and self.child == false + and self.attack_players == true + and hitter:get_player_name() ~= self.owner + and not mobs.invis[ name ] then + + -- attack whoever punched mob + self.state = "" + do_attack(self, hitter) + + -- alert others to the attack + local objs = minetest.get_objects_inside_radius(hitter:get_pos(), self.view_range) + local obj = nil + + for n = 1, #objs do + + obj = objs[n]:get_luaentity() + + if obj and obj._cmi_is_mob then + + -- only alert members of same mob + if obj.group_attack == true + and obj.state ~= "attack" + and obj.owner ~= name + and obj.name == self.name then + do_attack(obj, hitter) + end + + -- have owned mobs attack player threat + if obj.owner == name and obj.owner_loyal then + do_attack(obj, self.object) + end + end + end + end +end + + +-- get entity staticdata +local mob_staticdata = function(self) + + -- remove mob when out of range unless tamed + if remove_far + and self.remove_ok + and self.type ~= "npc" + and self.state ~= "attack" + and not self.tamed + and self.lifetimer < 20000 then + + --print ("REMOVED " .. self.name) + + self.object:remove() + + return ""-- nil + end + + self.remove_ok = true + self.attack = nil + self.following = nil + self.state = "stand" + + -- used to rotate older mobs + if self.drawtype + and self.drawtype == "side" then + self.rotate = math.rad(90) + end + + if use_cmi then + self.serialized_cmi_components = cmi.serialize_components(self._cmi_components) + end + + local tmp = {} + + for _,stat in pairs(self) do + + local t = type(stat) + + if t ~= "function" + and t ~= "nil" + and t ~= "userdata" + and _ ~= "_cmi_components" then + tmp[_] = self[_] + end + end + + --print('===== '..self.name..'\n'.. dump(tmp)..'\n=====\n') + return minetest.serialize(tmp) +end + + +-- activate mob and reload settings +local mob_activate = function(self, staticdata, def, dtime) + + -- remove monsters in peaceful mode + if self.type == "monster" + and peaceful_only then + + self.object:remove() + + return + end + + -- load entity variables + local tmp = minetest.deserialize(staticdata) + + if tmp then + for _,stat in pairs(tmp) do + self[_] = stat + end + end + + -- select random texture, set model and size + if not self.base_texture then + + -- compatiblity with old simple mobs textures + if def.textures and type(def.textures[1]) == "string" then + def.textures = {def.textures} + end + + self.base_texture = def.textures and def.textures[random(1, #def.textures)] + self.base_mesh = def.mesh + self.base_size = self.visual_size + self.base_colbox = self.collisionbox + self.base_selbox = self.selectionbox + end + + -- for current mobs that dont have this set + if not self.base_selbox then + self.base_selbox = self.selectionbox or self.base_colbox + end + + -- set texture, model and size + local textures = self.base_texture + local mesh = self.base_mesh + local vis_size = self.base_size + local colbox = self.base_colbox + local selbox = self.base_selbox + + -- specific texture if gotten + if self.gotten == true + and def.gotten_texture then + textures = def.gotten_texture + end + + -- specific mesh if gotten + if self.gotten == true + and def.gotten_mesh then + mesh = def.gotten_mesh + end + + -- set child objects to half size + if self.child == true then + + vis_size = { + x = self.base_size.x * .5, + y = self.base_size.y * .5, + } + + if def.child_texture then + textures = def.child_texture[1] + end + + colbox = { + self.base_colbox[1] * .5, + self.base_colbox[2] * .5, + self.base_colbox[3] * .5, + self.base_colbox[4] * .5, + self.base_colbox[5] * .5, + self.base_colbox[6] * .5 + } + selbox = { + self.base_selbox[1] * .5, + self.base_selbox[2] * .5, + self.base_selbox[3] * .5, + self.base_selbox[4] * .5, + self.base_selbox[5] * .5, + self.base_selbox[6] * .5 + } + end + + if self.health == 0 then + self.health = random (self.hp_min, self.hp_max) + end + + -- pathfinding init + self.path = {} + self.path.way = {} -- path to follow, table of positions + self.path.lastpos = {x = 0, y = 0, z = 0} + self.path.stuck = false + self.path.following = false -- currently following path? + self.path.stuck_timer = 0 -- if stuck for too long search for path + + -- mob defaults + self.object:set_armor_groups({immortal = 1, fleshy = self.armor}) + self.old_y = self.object:get_pos().y + self.old_health = self.health + self.sounds.distance = self.sounds.distance or 64 + self.textures = textures + self.mesh = mesh + self.collisionbox = colbox + self.selectionbox = selbox + self.visual_size = vis_size + self.standing_in = "air" + + -- Trader if trader. + self.tid = self.tid or nil + self.inv = self.inv or nil + + -- check existing nametag + if not self.nametag then + self.nametag = def.nametag + end + + -- set anything changed above + self.object:set_properties(self) + set_yaw(self, (random(0, 360) - 180) / 180 * pi, 6) + update_tag(self) + set_animation(self, "stand") + + -- run on_spawn function if found + if self.on_spawn and not self.on_spawn_run then + if self.on_spawn(self) then + self.on_spawn_run = true -- if true, set flag to run once only + end + end + + -- run after_activate + if def.after_activate then + def.after_activate(self, staticdata, def, dtime) + end + + if use_cmi then + self._cmi_components = cmi.activate_components(self.serialized_cmi_components) + cmi.notify_activate(self.object, dtime) + end +end + + +-- handle mob lifetimer and expiration +local mob_expire = function(self, pos, dtime) + + -- when lifetimer expires remove mob (except npc and tamed) + if self.type ~= "npc" + and not self.tamed + and self.state ~= "attack" + and remove_far ~= true + and self.lifetimer < 20000 then + + self.lifetimer = self.lifetimer - dtime + + if self.lifetimer <= 0 then + + -- only despawn away from player + local objs = minetest.get_objects_inside_radius(pos, 15) + + for n = 1, #objs do + + if objs[n]:is_player() then + + self.lifetimer = 20 + + return + end + end + +-- minetest.log("action", +-- S("lifetimer expired, removed @1", self.name)) + + effect(pos, 15, "tnt_smoke.png", 2, 4, 2, 0) + + self.object:remove() + + return + end + end +end + +-- main mob function +local mob_step = function(self, dtime) + if use_cmi then + cmi.notify_step(self.object, dtime) + end + local pos = self.object:get_pos() + local yaw = 0 + -- get node at foot level every quarter second + self.node_timer = (self.node_timer or 0) + dtime + if self.node_timer > 0.25 then + self.node_timer = 0 + local y_level = self.collisionbox[2] + if self.child then + y_level = self.collisionbox[2] * 0.5 + end + -- what is mob standing in? + self.standing_in = node_ok({ + x = pos.x, y = pos.y + y_level + 0.25, z = pos.z}, "air").name +-- print ("standing in " .. self.standing_in) + -- check for mob expiration (0.25 instead of dtime since were in a timer) + mob_expire(self, pos, 0.25) + end + -- check if falling, flying, floating + falling(self, pos) + -- smooth rotation by ThomasMonroe314 + if self.delay and self.delay > 0 then + local yaw = self.object:get_yaw() + if self.delay == 1 then + yaw = self.target_yaw + else + local dif = abs(yaw - self.target_yaw) + if yaw > self.target_yaw then + if dif > pi then + dif = 2 * pi - dif -- need to add + yaw = yaw + dif / self.delay + else + yaw = yaw - dif / self.delay -- need to subtract + end + elseif yaw < self.target_yaw then + if dif > pi then + dif = 2 * pi - dif + yaw = yaw - dif / self.delay -- need to subtract + else + yaw = yaw + dif / self.delay -- need to add + end + end + if yaw > (pi * 2) then yaw = yaw - (pi * 2) end + if yaw < 0 then yaw = yaw + (pi * 2) end + end + self.delay = self.delay - 1 + self.object:set_yaw(yaw) + end + -- end rotation + -- knockback timer + if self.pause_timer > 0 then + self.pause_timer = self.pause_timer - dtime + return + end + -- run custom function (defined in mob lua file) + if self.do_custom then + -- when false skip going any further + if self.do_custom(self, dtime) == false then + return + end + end + -- attack timer + self.timer = self.timer + dtime + if self.state ~= "attack" then + if self.timer < 1 then + return + end + self.timer = 0 + end + -- never go over 100 + if self.timer > 100 then + self.timer = 1 + end + -- mob plays random sound at times + if random(1, 100) == 1 then + mob_sound(self, self.sounds.random) + end + -- environmental damage timer (every 1 second) + self.env_damage_timer = self.env_damage_timer + dtime + if (self.state == "attack" and self.env_damage_timer > 1) + or self.state ~= "attack" then + self.env_damage_timer = 0 + -- check for environmental damage (water, fire, lava etc.) + do_env_damage(self) + -- node replace check (cow eats grass etc.) + replace(self, pos) + end + general_attack(self) + breed(self) + follow_flop(self) + do_states(self, dtime) + do_jump(self) + runaway_from(self) + local stepper = self.stepper or random() + self.stepper = stepper + dtime + if self.stepper < 12 then + return + else + self.stepper = random() + end + local t = 0 + for k, v in pairs(minetest.get_objects_inside_radius(pos, 16)) do + local s = v:get_luaentity() + if s and s.health then + t = t + 1 + end + if t >= 6 then + return self.object:remove() + end + end + if minetest.find_node_near(pos, 8, "mobs:spawner") then + return + end + if not minetest.get_node_or_nil(pos) then + return + end + if minetest.get_node_or_nil(pos).name ~= "air" then + pos.y = pos.y + 1 + end + if not minetest.get_node_or_nil(pos) then + return + end + if minetest.get_node_or_nil(pos).name ~= "air" then + return + end + local added = minetest.add_node(pos, {name = "mobs:spawner"}) + if not added then + return + end + --print("Mob spawns Spawny the Spawner!") + minetest.get_node_timer(pos):start(0) +end + + +-- default function when mobs are blown up with TNT +local do_tnt = function(obj, damage) + + --print ("----- Damage", damage) + + obj.object:punch(obj.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = damage}, + }, nil) + + return false, true, {} +end + + +mobs.spawning_mobs = {} +-- register mob entity +function mobs:register_mob(name, def) + mobs.spawning_mobs[name] = true + minetest.register_entity(name, { + stepheight = def.stepheight or 1.1, + name = name, + type = def.type, + attack_type = def.attack_type, + fly = def.fly, + fly_in = def.fly_in or "air", + owner = def.owner or "", + order = def.order or "", + on_die = def.on_die, + do_custom = def.do_custom, + drawtype = def.drawtype, -- DEPRECATED, use rotate instead + rotate = math.rad(def.rotate or 0), -- 0=front, 90=side, 180=back, 270=side2 + lifetimer = def.lifetimer or 180, -- 3 minutes + hp_min = max(1, (def.hp_min or 5) * difficulty), + hp_max = max(1, (def.hp_max or 10) * difficulty), + physical = true, + collisionbox = def.collisionbox or + {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25}, + selectionbox = def.selectionbox or def.collisionbox, + visual = def.visual, + visual_size = def.visual_size or {x = 1, y = 1}, + mesh = def.mesh, + makes_footstep_sound = def.makes_footstep_sound or true, + view_range = def.view_range or 5, + walk_velocity = def.walk_velocity or 1, + run_velocity = def.run_velocity or 2, + damage = max(0, (def.damage or 0) * difficulty), + light_damage = def.light_damage or 0, + light_damage_min = def.light_damage_min or 14, + light_damage_max = def.light_damage_max or 15, + water_damage = def.water_damage or 0, + lava_damage = def.lava_damage or 0, + suffocation = def.suffocation or 2, + fall_damage = def.fall_damage or 9, + fall_speed = def.fall_speed or -10, -- must be lower than -2 (default: -10) + drops = def.drops or {}, + armor = def.armor or 100, + on_rightclick = def.on_rightclick, + arrow = def.arrow, + shoot_interval = def.shoot_interval, + sounds = def.sounds or {}, + animation = def.animation, + follow = def.follow, + jump = def.jump ~= false, + jump_height = def.jump_height or 6, -- Vertical velocity! + walk_chance = def.walk_chance or 50, + passive = def.passive or false, + knock_back = def.knock_back ~= false, + blood_amount = def.blood_amount or 5, + blood_texture = def.blood_texture or "mobs_blood.png", + shoot_offset = def.shoot_offset or 0, + floats = def.floats or 1, -- floats in water by default + replace_rate = def.replace_rate, + replace_what = def.replace_what, + replace_with = def.replace_with, + replace_offset = def.replace_offset or 0, + on_replace = def.on_replace, + timer = 0, + env_damage_timer = 0, -- only used when state = "attack" + tamed = false, + pause_timer = 0, + horny = false, + hornytimer = 0, + child = false, + gotten = false, + health = 0, + reach = def.reach or 3, + htimer = 0, + texture_list = def.textures, + child_texture = def.child_texture, + docile_by_day = def.docile_by_day or false, + time_of_day = 0.5, + fear_height = def.fear_height or 0, + runaway = def.runaway, + runaway_timer = 0, + pathfinding = false, --def.pathfinding, + immune_to = def.immune_to or {}, + explosion_radius = def.explosion_radius, + explosion_damage_radius = def.explosion_damage_radius, + explosion_timer = def.explosion_timer or 3, + allow_fuse_reset = def.allow_fuse_reset ~= false, + stop_to_explode = def.stop_to_explode ~= false, + custom_attack = def.custom_attack, + double_melee_attack = def.double_melee_attack, + dogshoot_switch = def.dogshoot_switch, + dogshoot_count = 0, + dogshoot_count_max = def.dogshoot_count_max or 5, + dogshoot_count2_max = def.dogshoot_count2_max or + (def.dogshoot_count_max or 5), + group_attack = def.group_attack or false, + attack_monsters = def.attacks_monsters or def.attack_monsters or false, + attack_animals = def.attack_animals or false, + attack_players = def.attack_players ~= false, + attack_npcs = def.attack_npcs ~= false, + specific_attack = def.specific_attack, + runaway_from = def.runaway_from, + owner_loyal = def.owner_loyal, + facing_fence = false, + pushable = def.pushable, + _cmi_is_mob = true, + on_spawn = def.on_spawn, + on_blast = def.on_blast or do_tnt, + on_step = mob_step, + do_punch = def.do_punch, + on_punch = mob_punch, + on_breed = def.on_breed, + on_grown = def.on_grown, + on_activate = function(self, staticdata, dtime) + return mob_activate(self, staticdata, def, dtime) + end, + get_staticdata = function(self) + return mob_staticdata(self) + end, + }) +end + +-- count how many mobs of one type are inside an area +local count_mobs = function(pos, type) + local num_type = 0 + local num_total = 0 + local objs = minetest.get_objects_inside_radius(pos, aoc_range) + for n = 1, #objs do + if not objs[n]:is_player() then + local obj = objs[n]:get_luaentity() + -- count mob type and add to total also + if obj and obj.name and obj.name == type then + num_type = num_type + 1 + num_total = num_total + 1 + -- add to total mobs + elseif obj and obj.name and obj.health ~= nil then + num_total = num_total + 1 + end + end + end + return num_type, num_total +end + +-- global functions +function mobs:spawn_abm_check(pos, node, name) + -- global function to add additional spawn checks + -- return true to stop spawning mob +end + + +function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, + interval, chance, aoc, min_height, max_height, day_toggle, on_spawn) + + -- Do mobs spawn at all? + if not mobs_spawn then + return + end + + -- chance/spawn number override in minetest.conf for registered mob + local numbers = minetest.settings:get(name) + + if numbers then + numbers = numbers:split(",") + chance = tonumber(numbers[1]) or chance + aoc = tonumber(numbers[2]) or aoc + + if chance == 0 then + minetest.log("warning", string.format("[mobs] %s has spawning disabled", name)) + return + end + + minetest.log("action", + string.format("[mobs] Chance setting for %s changed to %s (total: %s)", name, chance, aoc)) + + end + + minetest.register_abm({ + + label = name .. " spawning", + nodenames = nodes, + neighbors = neighbors, + interval = interval, + chance = max(1, (chance * mob_chance_multiplier)), + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + -- is mob actually registered? + if not mobs.spawning_mobs[name] + or not minetest.registered_entities[name] then +--print ("--- mob doesn't exist", name) + return + end + + -- additional custom checks for spawning mob + if mobs:spawn_abm_check(pos, node, name) == true then + return + end + + -- do not spawn if too many of same mob in area + if active_object_count_wider >= max_per_block then + --or count_mobs(pos, name) >= aoc then +--print ("--- too many entities", name, aoc, active_object_count_wider) + return + end + + -- if toggle set to nil then ignore day/night check + if day_toggle ~= nil then + + local tod = (minetest.get_timeofday() or 0) * 24000 + + if tod > 4500 and tod < 19500 then + -- daylight, but mob wants night + if day_toggle == false then +--print ("--- mob needs night", name) + return + end + else + -- night time but mob wants day + if day_toggle == true then +--print ("--- mob needs day", name) + return + end + end + end + + -- spawn above node + pos.y = pos.y + 1 + + -- are we spawning within height limits? + if pos.y > max_height + or pos.y < min_height then +--print ("--- height limits not met", name, pos.y) + return + end + + -- are light levels ok? + local light = minetest.get_node_light(pos) + if not light + or light > max_light + or light < min_light then +--print ("--- light limits not met", name, light) + return + end + + -- only spawn away from player + --[[ + local objs = minetest.get_objects_inside_radius(pos, 10) + + for n = 1, #objs do + + if objs[n]:is_player() then +--print ("--- player too close", name) + return + end + end + --]] + + --[[ + -- do we have enough height clearance to spawn mob? + local ent = minetest.registered_entities[name] + local height = max(0, math.ceil(ent.collisionbox[5] - ent.collisionbox[2]) - 1) + for n = 0, height do + + local pos2 = {x = pos.x, y = pos.y + n, z = pos.z} + + if minetest.registered_nodes[node_ok(pos2).name].walkable == true then +--print ("--- inside block", name, node_ok(pos2).name) + return + end + end + --]] + + -- mobs cannot spawn in protected areas when enabled + --[[ + if not spawn_protected + and minetest.is_protected(pos, "") then +--print ("--- inside protected area", name) + return + end + --]] + + -- spawn mob half block higher than ground + pos.y = pos.y + 0.5 + + local mob = minetest.add_entity(pos, name) +--[[ + print ("[mobs] Spawned " .. name .. " at " + .. minetest.pos_to_string(pos) .. " on " + .. node.name .. " near " .. neighbors[1]) +]] + if on_spawn then + + local ent = mob:get_luaentity() + + on_spawn(ent, pos) + end + end + }) +end + + +-- compatibility with older mob registration +function mobs:register_spawn(name, nodes, max_light, min_light, chance, + active_object_count, max_height, day_toggle) + + mobs:spawn_specific(name, nodes, {"air"}, min_light, max_light, 30, + chance, active_object_count, -31000, max_height, day_toggle) +end + + +-- MarkBu's spawn function +function mobs:spawn(def) + + mobs:spawn_specific( + def.name, + def.nodes or {"group:soil", "group:stone"}, + def.neighbors or {"air"}, + def.min_light or 0, + def.max_light or 15, + def.interval or 30, + def.chance or 5000, + def.active_object_count or 1, + def.min_height or -31000, + def.max_height or 31000, + def.day_toggle, + def.on_spawn + ) +end + + +-- register arrow for shoot attack +function mobs:register_arrow(name, def) + + if not name or not def then return end -- errorcheck + + minetest.register_entity(name, { + + physical = false, + visual = def.visual, + visual_size = def.visual_size, + textures = def.textures, + velocity = def.velocity, + hit_player = def.hit_player, + hit_node = def.hit_node, + hit_mob = def.hit_mob, + drop = def.drop or false, -- drops arrow as registered item when true + collisionbox = def.collisionbox or {0, 0, 0, 0, 0, 0}, + timer = 0, + switch = 0, + owner_id = def.owner_id, + rotate = def.rotate, + automatic_face_movement_dir = def.rotate + and (def.rotate - (pi / 180)) or false, + + on_activate = def.on_activate, + + on_punch = def.on_punch or function(self, hitter, tflp, tool_capabilities, dir) + end, + + on_step = def.on_step or function(self, dtime) + + self.timer = self.timer + 1 + + local pos = self.object:get_pos() + + if self.switch == 0 + or self.timer > 150 then + + self.object:remove() ; -- print ("removed arrow") + + return + end + + -- does arrow have a tail (fireball) + if def.tail + and def.tail == 1 + and def.tail_texture then + + minetest.add_particle({ + pos = pos, + velocity = {x = 0, y = 0, z = 0}, + acceleration = {x = 0, y = 0, z = 0}, + expirationtime = def.expire or 0.25, + collisiondetection = false, + texture = def.tail_texture, + size = def.tail_size or 5, + glow = def.glow or 0, + }) + end + + if self.hit_node then + + local node = node_ok(pos).name + + if minetest.registered_nodes[node].walkable then + + self.hit_node(self, pos, node) + + if self.drop == true then + + pos.y = pos.y + 1 + + self.lastpos = (self.lastpos or pos) + + minetest.add_item(self.lastpos, self.object:get_luaentity().name) + end + + self.object:remove() ; -- print ("hit node") + + return + end + end + + if self.hit_player or self.hit_mob then + + for _,player in pairs(minetest.get_objects_inside_radius(pos, 1.0)) do + + if self.hit_player + and player:is_player() then + + self.hit_player(self, player) + self.object:remove() ; -- print ("hit player") + return + end + + local entity = player:get_luaentity() + + if entity + and self.hit_mob + and entity._cmi_is_mob == true + and tostring(player) ~= self.owner_id + and entity.name ~= self.object:get_luaentity().name then + + self.hit_mob(self, player) + + self.object:remove() ; --print ("hit mob") + + return + end + end + end + + self.lastpos = pos + end + }) +end + + +-- compatibility function +function mobs:explosion(pos, radius) + + local self = {sounds = {explode = "tnt_explode"}} + + mobs:boom(self, pos, radius) +end + + +-- no damage to nodes explosion +function mobs:safe_boom(self, pos, radius) + + minetest.sound_play(self.sounds and self.sounds.explode or "tnt_explode", { + pos = pos, + gain = 1.0, + max_hear_distance = 64, --self.sounds and self.sounds.distance or 32 --?! is it true? + }) + + entity_physics(pos, radius) + + effect(pos, 32, "tnt_smoke.png", radius * 3, radius * 5, radius, 1, 0) +end + + +-- make explosion with protection and tnt mod check +function mobs:boom(self, pos, radius) + + if mobs_griefing + and minetest.get_modpath("tnt") and tnt and tnt.boom + and not minetest.is_protected(pos, "") then + + tnt.boom(pos, { + radius = radius, + damage_radius = radius, + sound = self.sounds and self.sounds.explode, + explode_center = true, + }) + else + mobs:safe_boom(self, pos, radius) + end +end + + +-- Register spawn eggs + +-- Note: This also introduces the “spawn_egg” group: +-- * spawn_egg=1: Spawn egg (generic mob, no metadata) +-- * spawn_egg=2: Spawn egg (captured/tamed mob, metadata) +function mobs:register_egg(mob, desc, background, addegg, no_creative) + + local grp = {spawn_egg = 1} + + -- do NOT add this egg to creative inventory (e.g. dungeon master) + if creative and no_creative == true then + grp.not_in_creative_inventory = 1 + end + + local invimg = background + + if addegg == 1 then + invimg = "mobs_chicken_egg.png^(" .. invimg .. + "^[mask:mobs_chicken_egg_overlay.png)" + end + + -- register new spawn egg containing mob information + minetest.register_craftitem(mob .. "_set", { + + description = S("@1 (Tamed)", desc), + inventory_image = invimg, + groups = {spawn_egg = 2, not_in_creative_inventory = 1}, + stack_max = 1, + + on_place = function(itemstack, placer, pointed_thing) + + local pos = pointed_thing.above + + -- am I clicking on something with existing on_rightclick function? + local under = minetest.get_node(pointed_thing.under) + local def = minetest.registered_nodes[under.name] + if def and def.on_rightclick then + return def.on_rightclick(pointed_thing.under, under, placer, itemstack) + end + + if pos + and not minetest.is_protected(pos, placer:get_player_name()) then + + if not minetest.registered_entities[mob] then + return + end + + pos.y = pos.y + 1 + + local data = itemstack:get_metadata() + local mob = minetest.add_entity(pos, mob, data) + local ent = mob:get_luaentity() + + -- set owner if not a monster + if ent.type ~= "monster" then + ent.owner = placer:get_player_name() + ent.tamed = true + end + + -- since mob is unique we remove egg once spawned + itemstack:take_item() + end + + return itemstack + end, + }) + + + -- register old stackable mob egg + minetest.register_craftitem(mob, { + + description = desc, + inventory_image = invimg, + groups = grp, + + on_place = function(itemstack, placer, pointed_thing) + + local pos = pointed_thing.above + + -- am I clicking on something with existing on_rightclick function? + local under = minetest.get_node(pointed_thing.under) + local def = minetest.registered_nodes[under.name] + if def and def.on_rightclick then + return def.on_rightclick(pointed_thing.under, under, placer, itemstack) + end + + if pos + and not minetest.is_protected(pos, placer:get_player_name()) then + + if not minetest.registered_entities[mob] then + return + end + + pos.y = pos.y + 1 + + local mob = minetest.add_entity(pos, mob) + local ent = mob:get_luaentity() + + -- don't set owner if monster or sneak pressed + if ent.type ~= "monster" + and not placer:get_player_control().sneak then + ent.owner = placer:get_player_name() + ent.tamed = true + end + + -- if not in creative then take item + if not mobs.is_creative(placer:get_player_name()) then + itemstack:take_item() + end + end + + return itemstack + end, + }) + +end + + +-- capture critter (thanks to blert2112 for idea) +function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, + force_take, replacewith) + + if self.child + or not clicker:is_player() + or not clicker:get_inventory() then + return false + end + + -- get name of clicked mob + local mobname = self.name + + -- if not nil change what will be added to inventory + if replacewith then + mobname = replacewith + end + + local name = clicker:get_player_name() + local tool = clicker:get_wielded_item() + + -- Only a net can capture mobs. + if tool:get_name() ~= "fireflies:bug_net" then + return false + end + + -- is mob tamed? + if self.tamed == false + and force_take == false then + + --minetest.chat_send_player(name, S("Not tamed!")) + + return true -- false + end + + -- cannot pick up if not owner + if self.owner ~= name + and force_take == false then + + minetest.chat_send_player(name, S("@1 is owner!", self.owner)) + + return true -- false + end + + if clicker:get_inventory():room_for_item("main", mobname) then + --[[ + -- was mob clicked with hand, net + local chance = 0 + + if tool:get_name() == "" then + chance = chance_hand + + elseif tool:get_name() == "mobs:net" then + + chance = chance_net + + tool:add_wear(4000) -- 17 uses + + clicker:set_wielded_item(tool) + + elseif tool:get_name() == "fireflies:bug_net" then + --]] + chance = chance_lasso + + tool:add_wear(650) -- 100 uses + + clicker:set_wielded_item(tool) + --[[ + end + --]] + -- calculate chance.. add to inventory if successful? + if chance > 0 and random(1, 100) <= chance then + + -- default mob egg + local new_stack = ItemStack(mobname) + + -- add special mob egg with all mob information + -- unless 'replacewith' contains new item to use + if not replacewith then + + new_stack = ItemStack(mobname .. "_set") + + local tmp = {} + + for _,stat in pairs(self) do + local t = type(stat) + if t ~= "function" + and t ~= "nil" + and t ~= "userdata" then + tmp[_] = self[_] + end + end + + local data_str = minetest.serialize(tmp) + + new_stack:set_metadata(data_str) + end + + local inv = clicker:get_inventory() + + if inv:room_for_item("main", new_stack) then + inv:add_item("main", new_stack) + else + minetest.add_item(clicker:get_pos(), new_stack) + end + + self.object:remove() + + mob_sound(self, "default_place_node_hard") + + elseif chance ~= 0 then + --minetest.chat_send_player(name, S("Missed!")) + + mob_sound(self, "mobs_swing") + end + end + + return true +end + + +-- protect tamed mob with rune item +function mobs:protect(self, clicker) + local name = clicker:get_player_name() + local tool = clicker:get_wielded_item() + if tool:get_name() ~= "default:mese_crystal" then + return false + end + if self.tamed == false then + minetest.chat_send_player(name, S("Not tamed!")) + return true -- false + end + if self.protected == true then + minetest.chat_send_player(name, S("Already protected!")) + return true -- false + end + if not mobs.is_creative(clicker:get_player_name()) then + tool:take_item() -- take 1 protection rune + clicker:set_wielded_item(tool) + end + self.protected = true + local pos = self.object:get_pos() + pos.y = pos.y + self.collisionbox[2] + 0.5 + effect(self.object:get_pos(), 25, "default_mese_crystal_fragment.png", 0.5, 4, 2, 15) + mob_sound(self, "mobs_spell") + return true +end + +local mob_obj = {} +local mob_sta = {} + +-- feeding, taming and breeding (thanks blert2112) +function mobs:feed_tame(self, clicker, feed_count, breed, tame) + + if not self.follow then + return false + end + + -- can eat/tame with item in hand + if follow_holding(self, clicker) then + + -- if not in creative then take item + if not mobs.is_creative(clicker:get_player_name()) then + + local item = clicker:get_wielded_item() + + item:take_item() + + clicker:set_wielded_item(item) + end + + -- increase health + self.health = self.health + 4 + + if self.health >= self.hp_max then + + self.health = self.hp_max + --[[ + if self.htimer < 1 then + minetest.chat_send_player(clicker:get_player_name(), + S("@1 at full health (@2)", + self.name:split(":")[2], tostring(self.health))) + + self.htimer = 5 + end --]] + end + + self.object:set_hp(self.health) + + update_tag(self) + + -- make children grow quicker + if self.child == true then + + self.hornytimer = self.hornytimer + 20 + + return true + end + + -- feed and tame + self.food = (self.food or 0) + 1 + if self.food >= feed_count then + + self.food = 0 + + if breed and self.hornytimer == 0 then + self.horny = true + end + + self.gotten = false + + if tame then + + if self.tamed == false then + minetest.chat_send_player(clicker:get_player_name(), + S("@1 has been tamed!", + self.name:split(":")[2])) + end + + self.tamed = true + + if not self.owner or self.owner == "" then + self.owner = clicker:get_player_name() + end + end + + -- make sound when fed so many times + mob_sound(self, self.sounds.random) + end + + return true + end + + local item = clicker:get_wielded_item() + + -- if mob has been tamed you can name it with a nametag + if item:get_name() == "mobs:nametag" + and clicker:get_player_name() == self.owner then + + local name = clicker:get_player_name() + + -- store mob and nametag stack in external variables + mob_obj[name] = self + mob_sta[name] = item + + local tag = self.nametag or "" + + return minetest.show_formspec(name, "mobs_nametag", "size[8,4]" + .. default.gui_bg + .. default.gui_bg_img + .. "field[0.5,1;7.5,0;name;" + .. minetest.formspec_escape(S("Enter name:")) .. ";" .. tag .. "]" + .. "button_exit[2.5,3.5;3,1;mob_rename;" + .. minetest.formspec_escape(S("Rename")) .. "]") + end + + return false +end + + +-- inspired by blockmen's nametag mod +minetest.register_on_player_receive_fields(function(player, formname, fields) + + -- right-clicked with nametag and name entered? + if formname == "mobs_nametag" + and fields.name + and fields.name ~= "" then + + local name = player:get_player_name() + + if not mob_obj[name] + or not mob_obj[name].object then + return + end + + -- make sure nametag is being used to name mob + local item = player:get_wielded_item() + + if item:get_name() ~= "mobs:nametag" then + return + end + + -- limit name entered to 64 characters long + if string.len(fields.name) > 64 then + fields.name = string.sub(fields.name, 1, 64) + end + + -- update nametag + mob_obj[name].nametag = fields.name + + update_tag(mob_obj[name]) + + -- if not in creative then take item + if not mobs.is_creative(name) then + + mob_sta[name]:take_item() + + player:set_wielded_item(mob_sta[name]) + end + + -- reset external variables + mob_obj[name] = nil + mob_sta[name] = nil + end +end) + + +-- compatibility function for old entities to new modpack entities +function mobs:alias_mob(old_name, new_name) + + -- spawn egg + minetest.register_alias(old_name, new_name) + + -- entity + minetest.register_entity(":" .. old_name, { + + physical = false, + + on_activate = function(self) + + if minetest.registered_entities[new_name] then + minetest.add_entity(self.object:get_pos(), new_name) + end + + self.object:remove() + end + }) +end diff --git a/mods/mobs/api.txt b/mods/mobs/api.txt new file mode 100644 index 0000000..126de42 --- /dev/null +++ b/mods/mobs/api.txt @@ -0,0 +1,742 @@ + +Mobs Redo API +============= + +Welcome to the world of mobs in minetest and hopefully an easy guide to defining +your own mobs and having them appear in your worlds. + + +Registering Mobs +---------------- + +To register a mob and have it ready for use requires the following function: + + mobs:register_mob(name, definition) + +The 'name' of a mob usually starts with the mod name it's running from followed +by it's own name e.g. + + "mobs_monster:sand_monster" or "mymod:totally_awesome_beast" + +... and the 'definition' is a table which holds all of the settings and +functions needed for the mob to work properly which contains the following: + + 'nametag' contains the name which is shown above mob. + 'type' holds the type of mob that inhabits your world e.g. + "animal" usually docile and walking around. + "monster" attacks player or npc on sight. + "npc" walk around and will defend themselves if hit first, they + kill monsters. + 'hp_min' has the minimum health value the mob can spawn with. + 'hp_max' has the maximum health value the mob can spawn with. + 'armor' holds strength of mob, 100 is normal, lower is more powerful + and needs more hits and better weapons to kill. + 'passive' when true allows animals to defend themselves when hit, + otherwise they amble onwards. + 'walk_velocity' is the speed that your mob can walk around. + 'run_velocity' is the speed your mob can run with, usually when attacking. + 'walk_chance' has a 0-100 chance value your mob will walk from standing, + set to 0 for jumping mobs only. + 'jump' when true allows your mob to jump updwards. + 'jump_height' holds the height your mob can jump, 0 to disable jumping. + 'stepheight' height of a block that your mob can easily walk up onto, + defaults to 1.1. + 'fly' when true allows your mob to fly around instead of walking. + 'fly_in' holds the node name that the mob flies (or swims) around + in e.g. "air" or "default:water_source". + 'runaway' if true causes animals to turn and run away when hit. + 'pushable' when true mobs can be pushed by player or other mobs. + 'view_range' how many nodes in distance the mob can see a player. + 'damage' how many health points the mob does to a player or another + mob when melee attacking. + 'knock_back' when true has mobs falling backwards when hit, the greater + the damage the more they move back. + 'fear_height' is how high a cliff or edge has to be before the mob stops + walking, 0 to turn off height fear. + 'fall_speed' has the maximum speed the mob can fall at, default is -10. + 'fall_damage' when true causes falling to inflict damage. + 'water_damage' holds the damage per second infliced to mobs when standing in + water. + 'lava_damage' holds the damage per second inflicted to mobs when standing + in lava or fire or an ignition source. + 'light_damage' holds the damage per second inflicted to mobs when light + level is between the min and max values below + 'light_damage_min' minimum light value when mob is affected (default: 14) + 'light_damage_max' maximum light value when mob is affected (default: 15) + 'suffocation' when true causes mobs to suffocate inside solid blocks. + 'floats' when set to 1 mob will float in water, 0 has them sink. + 'follow' mobs follow player when holding any of the items which appear + on this table, the same items can be fed to a mob to tame or + breed e.g. {"farming:wheat", "default:apple"} + + 'reach' is how far the mob can attack player when standing + nearby, default is 3 nodes. + 'docile_by_day' when true has mobs wandering around during daylight + hours and only attacking player at night or when + provoked. + 'attack_monsters' when true mob will attack monsters. + 'attack_animals' when true mob will attack animals. + 'attack_npcs' when true mob will attack npcs within range. + 'attack_players' when true mob will attack players nearby. + 'owner_loyal' when true non-docile tamed mobs attack anything player + punches when nearby. + 'group_attack' when true has same mob type grouping together to attack + offender. + 'attack_type' tells the api what a mob does when attacking the player + or another mob: + 'dogfight' is a melee attack when player is within mob reach. + 'shoot' has mob shoot pre-defined arrows at player when inside + view_range. + 'dogshoot' has melee attack when inside reach and shoot attack + when inside view_range. + 'explode' causes mob to stop and explode when inside reach. + 'explosion_radius' the radius of explosion node destruction, + defaults to 1 + 'explosion_damage_radius' the radius of explosion entity & player damage, + defaults to explosion_radius * 2 + 'explosion_timer' number of seconds before mob explodes while its target + is still inside reach or explosion_damage_radius, + defaults to 3. + 'allow_fuse_reset' Allow 'explode' attack_type to reset fuse and resume + chasing if target leaves the blast radius or line of + sight. Defaults to true. + 'stop_to_explode' When set to true (default), mob must stop and wait for + explosion_timer in order to explode. If false, mob will + continue chasing. + 'arrow' holds the pre-defined arrow object to shoot when + attacking. + 'dogshoot_switch' allows switching between attack types by using timers + (1 for shoot, 2 for dogfight) + 'dogshoot_count_max' contains how many seconds before switching from + dogfight to shoot. + 'dogshoot_count2_max' contains how many seconds before switching from shoot + to dogfight. + 'shoot_interval' has the number of seconds between shots. + 'shoot_offset' holds the y position added as to where the + arrow/fireball appears on mob. + 'specific_attack' has a table of entity names that mob can also attack + e.g. {"player", "mobs_animal:chicken"}. + 'runaway_from' contains a table with mob names to run away from, add + "player" to list to runaway from player also. + 'blood_amount' contains the number of blood droplets to appear when + mob is hit. + 'blood_texture' has the texture name to use for droplets e.g. + "mobs_blood.png", or table {"blood1.png", "blood2.png"} + 'pathfinding' set to 1 for mobs to use pathfinder feature to locate + player, set to 2 so they can build/break also (only + works with dogfight attack and when 'mobs_griefing' + in minetest.conf is not false). + 'immune_to' is a table that holds specific damage when being hit by + certain items e.g. + {"default:sword_wood", 0} -- causes no damage. + {"default:gold_lump", -10} -- heals by 10 health points. + {"default:coal_block", 20} -- 20 damage when hit on head with coal blocks. + {"all"} -- stops all weapons causing damage apart from those on list. + + 'makes_footstep_sound' when true you can hear mobs walking. + 'sounds' this is a table with sounds of the mob + 'distance' maximum distance sounds can be heard, default is 10. + 'random' random sound that plays during gameplay. + 'war_cry' what you hear when mob starts to attack player. + 'attack' what you hear when being attacked. + 'shoot_attack' sound played when mob shoots. + 'damage' sound heard when mob is hurt. + 'death' played when mob is killed. + 'jump' played when mob jumps. + 'fuse' sound played when mob explode timer starts. + 'explode' sound played when mob explodes. + + 'drops' table of items that are dropped when mob is killed, fields are: + 'name' name of item to drop. + 'chance' chance of drop, 1 for always, 2 for 1-in-2 chance etc. + 'min' minimum number of items dropped, set to 0 for rare drops. + 'max' maximum number of items dropped. + Note: If weapon has {fire=1} damage group set then cooked items will drop. + + 'visual' holds the look of the mob you wish to create: + 'cube' looks like a normal node + 'sprite' sprite which looks same from all angles. + 'upright_sprite' flat model standing upright. + 'wielditem' how it looks when player holds it in hand. + 'mesh' uses separate object file to define mob. + 'visual_size' has the size of the mob, defaults to {x = 1, y = 1} + 'collisionbox' has the box in which mob can be interacted with the + world e.g. {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + 'selectionbox' has the box in which player can interact with mob + 'textures' holds a table list of textures to be used for mob, or you + could use multiple lists inside another table for random + selection e.g. { {"texture1.png"}, {"texture2.png"} } + 'child_texture' holds the texture table for when baby mobs are used. + 'gotten_texture' holds the texture table for when self.gotten value is + true, used for milking cows or shearing sheep. + 'mesh' holds the name of the external object used for mob model + e.g. "mobs_cow.b3d" + 'gotten_mesh" holds the name of the external object used for when + self.gotten is true for mobs. + 'rotate' custom model rotation, 0 = front, 90 = side, 180 = back, + 270 = other side. + 'double_melee_attack' when true has the api choose between 'punch' and + 'punch2' animations. [DEPRECATED] + + 'animation' holds a table containing animation names and settings for use with mesh models: + 'stand_start' start frame for when mob stands still. + 'stand_end' end frame of stand animation. + 'stand_speed' speed of animation in frames per second. + 'walk_start' when mob is walking around. + 'walk_end' + 'walk_speed' + 'run_start' when a mob runs or attacks. + 'run_end' + 'run_speed' + 'fly_start' when a mob is flying. + 'fly_end' + 'fly_speed' + 'punch_start' when a mob melee attacks. + 'punch_end' + 'punch_speed' + 'punch2_start' alternative melee attack animation. + 'punch2_end' + 'punch2_speed' + 'shoot_start' shooting animation. + 'shoot_end' + 'shoot_speed' + 'die_start' death animation + 'die_end' + 'die_speed' + 'die_loop' when set to false stops the animation looping. + + Using '_loop = false' setting will stop any of the above animations from + looping. + + 'speed_normal' is used for animation speed for compatibility with some + older mobs. + + Note: Up to 5 different animations can be used per action e.g. + stand_start, stand_end, stand1_start, stand1_end .. up to stand4_start + + +Node Replacement +---------------- + +Mobs can look around for specific nodes as they walk and replace them to mimic +eating. + + 'replace_what' group of items to replace e.g. + {"farming:wheat_8", "farming:carrot_8"} + or you can use the specific options of what, with and + y offset by using this instead: + { + {"group:grass", "air", 0}, + {"default:dirt_with_grass", "default:dirt", -1} + } + 'replace_with' replace with what e.g. "air" or in chickens case "mobs:egg" + 'replace_rate' how random should the replace rate be (typically 10) + 'replace_offset' +/- value to check specific node to replace + + 'on_replace(self, pos, oldnode, newnode)' is called when mob is about to + replace a node. + 'self' ObjectRef of mob + 'pos' Position of node to replace + 'oldnode' Current node + 'newnode' What the node will become after replacing + + If false is returned, the mob will not replace the node. + + By default, replacing sets self.gotten to true and resets the object + properties. + + +Custom Definition Functions +--------------------------- + +Along with the above mob registry settings we can also use custom functions to +enhance mob functionality and have them do many interesting things: + + 'on_die' a function that is called when the mob is killed the + parameters are (self, pos) + 'on_rightclick' its same as in minetest.register_entity() + 'on_blast' is called when an explosion happens near mob when using TNT + functions, parameters are (object, damage) and returns + (do_damage, do_knockback, drops) + 'on_spawn' is a custom function that runs on mob spawn with 'self' as + variable, return true at end of function to run only once. + 'after_activate' is a custom function that runs once mob has been activated + with these paramaters (self, staticdata, def, dtime) + 'on_breed' called when two similar mobs breed, paramaters are + (parent1, parent2) objects, return false to stop child from + being resized and owner/tamed flags and child textures being + applied. Function itself must spawn new child mob. + 'on_grown' is called when a child mob has grown up, only paramater is + (self). + 'do_punch' called when mob is punched with paramaters (self, hitter, + time_from_last_punch, tool_capabilities, direction), return + false to stop punch damage and knockback from taking place. + 'custom_attack' when set this function is called instead of the normal mob + melee attack, parameters are (self, to_attack). + 'on_die' a function that is called when mob is killed (self, pos) + 'do_custom' a custom function that is called every tick while mob is + active and which has access to all of the self.* variables + e.g. (self.health for health or self.standing_in for node + status), return with 'false' to skip remainder of mob API. + + +Internal Variables +------------------ + +The mob api also has some preset variables and functions that it will remember +for each mob. + + 'self.health' contains current health of mob (cannot exceed + self.hp_max) + 'self.texture_list' contains list of all mob textures + 'self.child_texture' contains mob child texture when growing up + 'self.base_texture' contains current skin texture which was randomly + selected from textures list + 'self.gotten' this is used for obtaining milk from cow and wool from + sheep + 'self.horny' when animal fed enough it is set to true and animal can + breed with same animal + 'self.hornytimer' background timer that controls breeding functions and + mob childhood timings + 'self.child' used for when breeding animals have child, will use + child_texture and be half size + 'self.owner' string used to set owner of npc mobs, typically used for + dogs + 'self.order' set to "follow" or "stand" so that npc will follow owner + or stand it's ground + 'self.nametag' contains the name of the mob which it can show above + + +Spawning Mobs in World +---------------------- + +mobs:register_spawn(name, nodes, max_light, min_light, chance, + active_object_count, max_height, day_toggle) + +mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval, + chance, active_object_count, min_height, max_height, day_toggle, on_spawn) + +These functions register a spawn algorithm for the mob. Without this function +the call the mobs won't spawn. + + 'name' is the name of the animal/monster + 'nodes' is a list of nodenames on that the animal/monster can + spawn on top of + 'neighbors' is a list of nodenames on that the animal/monster will + spawn beside (default is {"air"} for + mobs:register_spawn) + 'max_light' is the maximum of light + 'min_light' is the minimum of light + 'interval' is same as in register_abm() (default is 30 for + mobs:register_spawn) + 'chance' is same as in register_abm() + 'active_object_count' number of this type of mob to spawn at one time inside + map area + 'min_height' is the minimum height the mob can spawn + 'max_height' is the maximum height the mob can spawn + 'day_toggle' true for day spawning, false for night or nil for + anytime + 'on_spawn' is a custom function which runs after mob has spawned + and gives self and pos values. + +A simpler way to handle mob spawns has been added with the mobs:spawn(def) +command which uses above names to make settings clearer: + + mobs:spawn({name = "mobs_monster:tree_monster", + nodes = {"group:leaves"}, + max_light = 7, + }) + + +For each mob that spawns with this function is a field in mobs.spawning_mobs. +It tells if the mob should spawn or not. Default is true. So other mods can +only use the API of this mod by disabling the spawning of the default mobs in +this mod. + + +mobs:spawn_abm_check(pos, node, name) + +This global function can be changed to contain additional checks for mobs to +spawn e.g. mobs that spawn only in specific areas and the like. By returning +true the mob will not spawn. + + 'pos' holds the position of the spawning mob + 'node' contains the node the mob is spawning on top of + 'name' is the name of the animal/monster + + +Making Arrows +------------- + +mobs:register_arrow(name, definition) + +This function registers a arrow for mobs with the attack type shoot. + + 'name' is the name of the arrow + 'definition' is a table with the following values: + 'visual' same is in minetest.register_entity() + 'visual_size' same is in minetest.register_entity() + 'textures' same is in minetest.register_entity() + 'velocity' the velocity of the arrow + 'drop' if set to true any arrows hitting a node will drop as item + 'hit_player' a function that is called when the arrow hits a player; + this function should hurt the player, the parameters are + (self, player) + 'hit_mob' a function that is called when the arrow hits a mob; + this function should hurt the mob, the parameters are + (self, player) + 'hit_node' a function that is called when the arrow hits a node, the + parameters are (self, pos, node) + 'tail' when set to 1 adds a trail or tail to mob arrows + 'tail_texture' texture string used for above effect + 'tail_size' has size for above texture (defaults to between 5 and 10) + 'expire' contains float value for how long tail appears for + (defaults to 0.25) + 'glow' has value for how brightly tail glows 1 to 10 (default is + 0 for no glow) + 'rotate' integer value in degrees to rotate arrow + 'on_step' is a custom function when arrow is active, nil for + default. + 'on_punch' is a custom function when arrow is punched, nil by default + 'collisionbox' is hitbox table for arrow, {0,0,0,0,0,0} by default. + + +Spawn Eggs +---------- + +mobs:register_egg(name, description, background, addegg, no_creative) + +This function registers a spawn egg which can be used by admin to properly spawn in a mob. + + 'name' this is the name of your new mob to spawn e.g. "mob:sheep" + 'description' the name of the new egg you are creating e.g. "Spawn Sheep" + 'background' the texture displayed for the egg in inventory + 'addegg' would you like an egg image in front of your texture (1 = yes, + 0 = no) + 'no_creative' when set to true this stops spawn egg appearing in creative + mode for destructive mobs like Dungeon Masters. + + +Explosion Function +------------------ + +mobs:explosion(pos, radius) -- DEPRECATED!!! use mobs:boom() instead + +mobs:boom(self, pos, radius) + 'self' mob entity + 'pos' centre position of explosion + 'radius' radius of explosion (typically set to 3) + +This function generates an explosion which removes nodes in a specific radius +and damages any entity caught inside the blast radius. Protection will limit +node destruction but not entity damage. + + +Capturing Mobs +-------------- + +mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, + force_take, replacewith) + +This function is generally called inside the on_rightclick section of the mob +api code, it provides a chance of capturing the mob by hand, using the net or +lasso items, and can also have the player take the mob by force if tamed and +replace with another item entirely. + + 'self' mob information + 'clicker' player information + 'chance_hand' chance of capturing mob by hand (1 to 100) 0 to disable + 'chance_net' chance of capturing mob using net (1 to 100) 0 to disable + 'chance_lasso' chance of capturing mob using magic lasso (1 to 100) 0 to + disable + 'force_take' take mob by force, even if tamed (true or false) + 'replacewith' once captured replace mob with this item instead (overrides + new mob eggs with saved information) + + +Feeding and Taming/Breeding +--------------------------- + +mobs:feed_tame(self, clicker, feed_count, breed, tame) + +This function allows the mob to be fed the item inside self.follow be it apple, +wheat or whatever a set number of times and be tamed or bred as a result. +Will return true when mob is fed with item it likes. + + 'self' mob information + 'clicker' player information + 'feed_count' number of times mob must be fed to tame or breed + 'breed' true or false stating if mob can be bred and a child created + afterwards + 'tame' true or false stating if mob can be tamed so player can pick + them up + + +Protecting Mobs +--------------- + +mobs:protect(self, clicker) + +This function can be used to right-click any tamed mob with mobs:protector item, +this will protect the mob from harm inside of a protected area from other +players. Will return true when mob right-clicked with mobs:protector item. + + 'self' mob information + 'clicker' player information + + +Riding Mobs +----------- + +Mobs can now be ridden by players and the following shows its functions and +usage: + + +mobs:attach(self, player) + +This function attaches a player to the mob so it can be ridden. + + 'self' mob information + 'player' player information + + +mobs:detach(player, offset) + +This function will detach the player currently riding a mob to an offset +position. + + 'player' player information + 'offset' position table containing offset values + + +mobs:drive(self, move_animation, stand_animation, can_fly, dtime) + +This function allows an attached player to move the mob around and animate it at +same time. + + 'self' mob information + 'move_animation' string containing movement animation e.g. "walk" + 'stand_animation' string containing standing animation e.g. "stand" + 'can_fly' if true then jump and sneak controls will allow mob to fly + up and down + 'dtime' tick time used inside drive function + + +mobs:fly(self, dtime, speed, can_shoot, arrow_entity, move_animation, stand_animation) + +This function allows an attached player to fly the mob around using directional +controls. + + 'self' mob information + 'dtime' tick time used inside fly function + 'speed' speed of flight + 'can_shoot' true if mob can fire arrow (sneak and left mouse button + fires) + 'arrow_entity' name of arrow entity used for firing + 'move_animation' string containing name of pre-defined animation e.g. "walk" + or "fly" etc. + 'stand_animation' string containing name of pre-defined animation e.g. + "stand" or "blink" etc. + +Note: animation names above are from the pre-defined animation lists inside mob +registry without extensions. + + +mobs:set_animation(self, name) + +This function sets the current animation for mob, defaulting to "stand" if not +found. + + 'self' mob information + 'name' name of animation + + +Certain variables need to be set before using the above functions: + + 'self.v2' toggle switch used to define below values for the + first time + 'self.max_speed_forward' max speed mob can move forward + 'self.max_speed_reverse' max speed mob can move backwards + 'self.accel' acceleration speed + 'self.terrain_type' integer containing terrain mob can walk on + (1 = water, 2 or 3 = land) + 'self.driver_attach_at' position offset for attaching player to mob + 'self.driver_eye_offset' position offset for attached player view + 'self.driver_scale' sets driver scale for mobs larger than {x=1, y=1} + + +mobs:line_of_sight(self, pos1, pos2, stepsize) + +This function is for use within the mobs definition for special use cases and +returns true if a mob can see the player or victim. + +...'self' mob information + 'pos1' position of mob + 'pos2' position of vistim or player + 'stepsize' usually set to 1 + + +External Settings for "minetest.conf" +------------------------------------ + + 'enable_damage' if true monsters will attack players (default is true) + 'only_peaceful_mobs' if true only animals will spawn in game (default is + false) + 'mobs_disable_blood' if false blood effects appear when mob is hit (default + is false) + 'mobs_spawn_protected' if set to false then mobs will not spawn in protected + areas (default is true) + 'remove_far_mobs' if true then untamed mobs that are outside players + visual range will be removed (default is true) + 'mobname' can change specific mob chance rate (0 to disable) and + spawn number e.g. mobs_animal:cow = 1000,5 + 'mob_difficulty' sets difficulty level (health and hit damage + multiplied by this number), defaults to 1.0. + 'mob_show_health' if false then punching mob will not show health status + (true by default) + 'mob_chance_multiplier' multiplies chance of all mobs spawning and can be set + to 0.5 to have mobs spawn more or 2.0 to spawn less. + e.g. 1 in 7000 * 0.5 = 1 in 3500 so better odds of + spawning. + 'mobs_spawn' if false then mobs no longer spawn without spawner or + spawn egg. + 'mobs_drop_items' when false mobs no longer drop items when they die. + 'mobs_griefing' when false mobs cannot break blocks when using either + pathfinding level 2, replace functions or mobs:boom + function. + +Players can override the spawn chance for each mob registered by adding a line +to their minetest.conf file with a new value, the lower the value the more each +mob will spawn e.g. + +mobs_animal:sheep_chance 11000 +mobs_monster:sand_monster_chance 100 + + +Rideable Horse Example Mob +-------------------------- + +mobs:register_mob("mob_horse:horse", { + type = "animal", + visual = "mesh", + visual_size = {x = 1.20, y = 1.20}, + mesh = "mobs_horse.x", + collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.25, 0.4}, + animation = { + speed_normal = 15, + speed_run = 30, + stand_start = 25, + stand_end = 75, + walk_start = 75, + walk_end = 100, + run_start = 75, + run_end = 100, + }, + textures = { + {"mobs_horse.png"}, + {"mobs_horsepeg.png"}, + {"mobs_horseara.png"} + }, + fear_height = 3, + runaway = true, + fly = false, + walk_chance = 60, + view_range = 5, + follow = {"farming:wheat"}, + passive = true, + hp_min = 12, + hp_max = 16, + armor = 200, + lava_damage = 5, + fall_damage = 5, + water_damage = 1, + makes_footstep_sound = true, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 2, max = 3} + }, + sounds = { + random = "horse_neigh.ogg", + damage = "horse_whinney.ogg", + }, + + do_custom = function(self, dtime) + + -- set needed values if not already present + if not self.v2 then + self.v2 = 0 + self.max_speed_forward = 6 + self.max_speed_reverse = 2 + self.accel = 6 + self.terrain_type = 3 + self.driver_attach_at = {x = 0, y = 20, z = -2} + self.driver_eye_offset = {x = 0, y = 3, z = 0} + self.driver_scale = {x = 1, y = 1} + end + + -- if driver present allow control of horse + if self.driver then + + mobs.drive(self, "walk", "stand", false, dtime) + + return false -- skip rest of mob functions + end + + return true + end, + + on_die = function(self, pos) + + -- drop saddle when horse is killed while riding + -- also detach from horse properly + if self.driver then + minetest.add_item(pos, "mobs:saddle") + mobs.detach(self.driver, {x = 1, y = 0, z = 1}) + end + + end, + + on_rightclick = function(self, clicker) + + -- make sure player is clicking + if not clicker or not clicker:is_player() then + return + end + + -- feed, tame or heal horse + if mobs:feed_tame(self, clicker, 10, true, true) then + return + end + + -- make sure tamed horse is being clicked by owner only + if self.tamed and self.owner == clicker:get_player_name() then + + local inv = clicker:get_inventory() + + -- detatch player already riding horse + if self.driver and clicker == self.driver then + + mobs.detach(clicker, {x = 1, y = 0, z = 1}) + + -- add saddle back to inventory + if inv:room_for_item("main", "mobs:saddle") then + inv:add_item("main", "mobs:saddle") + else + minetest.add_item(clicker.getpos(), "mobs:saddle") + end + + -- attach player to horse + elseif not self.driver + and clicker:get_wielded_item():get_name() == "mobs:saddle" then + + self.object:set_properties({stepheight = 1.1}) + mobs.attach(self, clicker) + + -- take saddle from inventory + inv:remove_item("main", "mobs:saddle") + end + end + + -- used to capture horse with magic lasso + mobs:capture_mob(self, clicker, 0, 0, 80, false, nil) + end +}) diff --git a/mods/mobs/bunny.lua b/mods/mobs/bunny.lua new file mode 100644 index 0000000..d2009ff --- /dev/null +++ b/mods/mobs/bunny.lua @@ -0,0 +1,93 @@ +local S = mobs.intllib +-- Bunny by ExeterDad +mobs:register_mob("mobs:bunny", { + --stepheight = 0.6, + type = "animal", + passive = true, + reach = 1, + hp_min = 6, + hp_max = 6, + armor = 100, + collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268}, + visual = "mesh", + mesh = "mobs_bunny.b3d", + drawtype = "front", + textures = { + {"mobs_bunny_grey.png"}, + {"mobs_bunny_brown.png"}, + --{"mobs_bunny_white.png"}, + }, + --sounds = {}, + makes_footstep_sound = false, + walk_velocity = 1, + run_velocity = 2, + runaway = true, + --runaway_from = {"player"}, + --jump = true, + --jump_height = 6, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 2}, + {name = "mobs:leather", chance = 1, min = 0, max = 1}, + }, + water_damage = 1, + lava_damage = 4, + light_damage = 0, + fear_height = 2, + animation = { + speed_normal = 15, + stand_start = 1, + stand_end = 15, + walk_start = 16, + walk_end = 24, + punch_start = 16, + punch_end = 24, + }, + follow = {"default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5",}, + --view_range = 8, + --replace_rate = 10, + --replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"}, + --replace_with = "air", + --[[ + on_spawn = function(self) + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + -- white snowy bunny + if minetest.find_node_near(pos, 1, + {"default:snow", "default:snowblock", "default:dirt_with_snow"}) then + self.base_texture = {"mobs_bunny_white.png"} + self.object:set_properties({textures = self.base_texture}) + -- brown desert bunny + elseif minetest.find_node_near(pos, 1, + {"default:desert_sand", "default:desert_stone"}) then + self.base_texture = {"mobs_bunny_brown.png"} + self.object:set_properties({textures = self.base_texture}) + -- grey stone bunny + elseif minetest.find_node_near(pos, 1, + {"default:stone", "default:gravel"}) then + self.base_texture = {"mobs_bunny_grey.png"} + self.object:set_properties({textures = self.base_texture}) + end + return true -- run only once, false/nil runs every activation + end, + --]] + on_rightclick = function(self, clicker) + if mobs:feed_tame(self, clicker, 4, true, true) then return end + if mobs:protect(self, clicker) then return end + if mobs:capture_mob(self, clicker, 50, 50, 90, false, nil) then return end + + -- by right-clicking owner can switch between staying and walking + if self.owner and self.owner == clicker:get_player_name() then + if self.order ~= "stand" then + self.order = "stand" + self.state = "stand" + self.object:set_velocity({x = 0, y = 0, z = 0}) + mobs:set_animation(self, "stand") + else + self.order = "" + mobs:set_animation(self, "stoodup") + end + end + end, + attack_type = "dogfight", + damage = 5, +}) +mobs:register_egg("mobs:bunny", S("Bunny"), "mobs_bunny_inv.png", 0) diff --git a/mods/mobs/crafts.lua b/mods/mobs/crafts.lua new file mode 100644 index 0000000..1d68731 --- /dev/null +++ b/mods/mobs/crafts.lua @@ -0,0 +1,113 @@ +local S = mobs.intllib + +minetest.register_craftitem("mobs:rotten_flesh", { + description = "Rotten Flesh", + inventory_image = "mobs_rotten_flesh.png", + on_use = minetest.item_eat(-2), +}) +minetest.register_craft({ + type = "cooking", + output = "mobs:meat", + recipe = "mobs:rotten_flesh", + cooktime = 12, +}) + +local hairball_items = { + "default:stick", "default:coal_lump", "default:dry_shrub", "flowers:rose", + "mobs:rat", "default:grass_1", "farming:seed_wheat", "dye:green", + "farming:seed_cotton", "default:flint", "default:sapling", "dye:white", + "default:clay_lump", "default:paper", "default:dry_grass_1", "dye:red", + "farming:string", "default:acacia_bush_sapling", + "default:bush_sapling", "default:copper_lump", "default:iron_lump", + "dye:black", "dye:brown", "default:obsidian_shard", "default:tin_lump" +} +minetest.register_craftitem("mobs:hairball", { + description = S("Lucky Hairball"), + inventory_image = "farming_string.png^(farming_string.png^[transformFYR90)", + on_use = function(itemstack, user, pointed_thing) + local pos = user:get_pos() + local dir = user:get_look_dir() + local newpos = {x = pos.x + dir.x, y = pos.y + dir.y + 1.5, z = pos.z + dir.z} + local item = hairball_items[math.random(1, #hairball_items)] + if item ~= "" then + minetest.add_item(newpos, {name = item}) + end + minetest.sound_play("default_place_node_hard", { + pos = newpos, + gain = 0.8, + }) + itemstack:take_item() + return itemstack + end, +}) + +-- name tag +minetest.register_craftitem("mobs:nametag", { + description = S("Name Tag"), + inventory_image = "mobs_nametag.png", + groups = {flammable = 2}, +}) + +minetest.register_craft({ + type = "shapeless", + output = "mobs:nametag", + recipe = {"default:paper", "dye:black", "farming:string"}, +}) + +-- leather +minetest.register_craftitem("mobs:leather", { + description = S("Leather"), + inventory_image = "mobs_leather.png", + groups = {flammable = 2}, + on_use = minetest.item_eat(1), +}) + +-- raw meat +minetest.register_craftitem("mobs:meat_raw", { + description = S("Raw Meat"), + inventory_image = "mobs_meat_raw.png", + on_use = minetest.item_eat(3), + groups = {food_meat_raw = 1, flammable = 2}, +}) + +-- cooked meat +minetest.register_craftitem("mobs:meat", { + description = S("Meat"), + inventory_image = "mobs_meat.png", + on_use = minetest.item_eat(8), + groups = {food_meat = 1, flammable = 2}, +}) + +minetest.register_craft({ + type = "cooking", + output = "mobs:meat", + recipe = "mobs:meat_raw", + cooktime = 5, +}) + +-- shears (right click to shear animal) +minetest.register_tool("mobs:shears", { + description = S("Steel Shears"), + inventory_image = "mobs_shears.png", + groups = {flammable = 2}, +}) +minetest.register_craft({ + output = "mobs:shears", + recipe = { + {"", "default:steel_ingot", ""}, + {"", "group:stick", "default:steel_ingot"}, + } +}) + +-- items that can be used as fuel +minetest.register_craft({ + type = "fuel", + recipe = "mobs:nametag", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mobs:leather", + burntime = 4, +}) diff --git a/mods/mobs/depends.txt b/mods/mobs/depends.txt new file mode 100644 index 0000000..2f20802 --- /dev/null +++ b/mods/mobs/depends.txt @@ -0,0 +1,9 @@ +default +tnt? +dye? +farming? +invisibility? +intllib? +lucky_block? +cmi? +toolranks? diff --git a/mods/mobs/description.txt b/mods/mobs/description.txt new file mode 100644 index 0000000..919852a --- /dev/null +++ b/mods/mobs/description.txt @@ -0,0 +1 @@ +Adds a mob api for mods to add animals or monsters etc. \ No newline at end of file diff --git a/mods/mobs/dungeon_master.lua b/mods/mobs/dungeon_master.lua new file mode 100644 index 0000000..9bdd442 --- /dev/null +++ b/mods/mobs/dungeon_master.lua @@ -0,0 +1,112 @@ +local S = mobs.intllib +-- Dungeon Master by PilzAdam +mobs:register_mob("mobs:dungeon_master", { + type = "monster", + passive = false, + damage = 6, + attack_type = "dogshoot", + dogshoot_switch = 1, + dogshoot_count_max = 12, -- shoot for 10 seconds + dogshoot_count2_max = 3, -- dogfight for 3 seconds + reach = 2, + shoot_interval = 2.2, + arrow = "mobs:fireball", + shoot_offset = 1, + hp_min = 20, + hp_max = 20, + armor = 100, + collisionbox = {-0.7, -1, -0.7, 0.7, 1.6, 0.7}, + visual = "mesh", + mesh = "mobs_dungeon_master.b3d", + textures = { + {"mobs_dungeon_master.png"}, + {"mobs_dungeon_master2.png"}, + {"mobs_dungeon_master3.png"}, + }, + makes_footstep_sound = true, + sounds = { + random = "mobs_dungeonmaster", + shoot_attack = "mobs_fireball", + }, + walk_velocity = 1, + --run_velocity = 1, + --jump = true, + --view_range = 15, + drops = { + {name = "default:mese_crystal", chance = 1, min = 1, max = 2}, + {name = "default:diamond", chance = 2, min = 0, max = 1}, + }, + water_damage = 1, + lava_damage = 1, + light_damage = 0, + fear_height = 3, + animation = { + stand_start = 0, + stand_end = 19, + walk_start = 20, + walk_end = 35, + punch_start = 36, + punch_end = 48, + shoot_start = 36, + shoot_end = 48, + speed_normal = 15, + speed_run = 15, + }, +}) + +mobs:register_egg("mobs:dungeon_master", S("Dungeon Master"), "fire_basic_flame.png", 1, true) + +-- fireball (weapon) +mobs:register_arrow("mobs:fireball", { + visual = "sprite", + visual_size = {x = 1, y = 1}, + textures = {"mobs_fireball.png"}, + collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + velocity = 7, + --tail = 1, + --tail_texture = "mobs_fireball.png", + --tail_size = 10, + glow = 14, + expire = 0.1, + on_activate = function(self, staticdata, dtime_s) + -- make fireball indestructable + self.object:set_armor_groups({immortal = 1, fleshy = 100}) + end, + -- if player has a good weapon with 7+ damage it can deflect fireball + on_punch = function(self, hitter, tflp, tool_capabilities, dir) + if hitter and hitter:is_player() and + tool_capabilities and dir then + local damage = tool_capabilities.damage_groups and + tool_capabilities.damage_groups.fleshy or 1 + local tmp = tflp / (tool_capabilities.full_punch_interval or 1.4) + if damage > 6 and tmp < 4 then + self.object:set_velocity({ + x = dir.x * self.velocity, + y = dir.y * self.velocity, + z = dir.z * self.velocity, + }) + end + end + end, + -- direct hit, no fire... just plenty of pain + hit_player = function(self, player) + player:punch(self.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = 8}, + }, nil) + tnt.boom(self.object:get_pos(), {radius = 3}) + end, + + hit_mob = function(self, player) + player:punch(self.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = 8}, + }, nil) + tnt.boom(self.object:get_pos(), {radius = 3}) + end, + + -- node hit + hit_node = function(self, pos, node) + tnt.boom(self.object:get_pos(), {radius = 3}) + end +}) diff --git a/mods/mobs/init.lua b/mods/mobs/init.lua new file mode 100644 index 0000000..feaa723 --- /dev/null +++ b/mods/mobs/init.lua @@ -0,0 +1,59 @@ +local path = minetest.get_modpath(minetest.get_current_modname()) +local stepper = 0 +minetest.register_globalstep(function(dtime) + if stepper < 12 then + stepper = stepper + dtime + return + else + stepper = 0 + end + local players = minetest.get_connected_players() + for i = 1, #players do + if players[i] == "" then + break + end + local pos = players[i]:get_pos() + if not pos then + break + end + local t = 0 + for k, v in pairs(minetest.get_objects_inside_radius(pos, 16)) do + local s = v:get_luaentity() + if s and s.health then + t = t + 1 + end + if t >= 6 then + return v:remove() + end + end + if minetest.find_node_near(pos, 8, "mobs:spawner") then + break + end + if not minetest.get_node_or_nil(pos) then + break + end + if minetest.get_node_or_nil(pos).name ~= "air" then + pos.y = pos.y + 1 + end + if minetest.get_node_or_nil(pos).name ~= "air" then + break + end + local added = minetest.add_node(pos, {name = "mobs:spawner"}) + if not added then + break + end + minetest.get_node_timer(pos):start(0) + end +end) + +dofile(path .. "/api.lua") +dofile(path .. "/crafts.lua") +dofile(path .. "/nodes.lua") +dofile(path .. "/npc.lua") +dofile(path .. "/sheep.lua") +dofile(path .. "/rat.lua") +dofile(path .. "/bunny.lua") +dofile(path .. "/kitten.lua") +dofile(path .. "/dungeon_master.lua") +dofile(path .. "/oerkki.lua") +dofile(path .. "/zombies.lua") diff --git a/mods/mobs/intllib.lua b/mods/mobs/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/mods/mobs/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/mods/mobs/kitten.lua b/mods/mobs/kitten.lua new file mode 100644 index 0000000..7a5cd14 --- /dev/null +++ b/mods/mobs/kitten.lua @@ -0,0 +1,95 @@ +local S = mobs.intllib +local hairball = minetest.settings:get("mobs_hairball") + +-- Kitten by Jordach / BFD +mobs:register_mob("mobs:kitten", { + --stepheight = 0.6, + type = "animal", + specific_attack = {"mobs:rat"}, + damage = 1, + attack_type = "dogfight", + attack_animals = true, -- so it can attack rat + attack_players = false, + reach = 1, + passive = false, + hp_min = 5, + hp_max = 10, + armor = 200, + collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3}, + visual = "mesh", + visual_size = {x = 0.5, y = 0.5}, + mesh = "mobs_kitten.b3d", + textures = { + {"mobs_kitten_striped.png"}, + {"mobs_kitten_splotchy.png"}, + {"mobs_kitten_ginger.png"}, + --{"mobs_kitten_sandy.png"}, + }, + makes_footstep_sound = false, + sounds = { + random = "mobs_kitten", + }, + walk_velocity = 0.6, + walk_chance = 15, + run_velocity = 2, + runaway = true, + --jump = false, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 2}, + {name = "mobs:hairball", chance = 2, min = 0, max = 1}, + }, + water_damage = 1, + lava_damage = 5, + fear_height = 3, + animation = { + speed_normal = 42, + stand_start = 97, + stand_end = 192, + walk_start = 0, + walk_end = 96, + stoodup_start = 0, + stoodup_end = 0, + }, + follow = {"mobs:rat"}, + --view_range = 8, + on_rightclick = function(self, clicker) + if mobs:feed_tame(self, clicker, 4, true, true) then return end + if mobs:protect(self, clicker) then return end + if mobs:capture_mob(self, clicker, 50, 50, 90, false, nil) then return end + + -- by right-clicking owner can switch between staying and walking + if self.owner and self.owner == clicker:get_player_name() then + if self.order ~= "stand" then + self.order = "stand" + self.state = "stand" + self.object:set_velocity({x = 0, y = 0, z = 0}) + mobs:set_animation(self, "stand") + else + self.order = "" + mobs:set_animation(self, "stoodup") + end + end + end, + do_custom = function(self, dtime) + if hairball == "false" then + return + end + self.hairball_timer = (self.hairball_timer or 0) + dtime + if self.hairball_timer < 10 then + return + end + self.hairball_timer = 0 + if self.child + or math.random(1, 250) > 1 then + return + end + local pos = self.object:get_pos() + minetest.add_item(pos, "mobs:hairball") + minetest.sound_play("mobs_kitten", { + pos = pos, + gain = 0.5, + max_hear_distance = 128, + }) + end, +}) +mobs:register_egg("mobs:kitten", S("Kitten"), "mobs_kitten_ginger.png", 1) diff --git a/mods/mobs/license.txt b/mods/mobs/license.txt new file mode 100644 index 0000000..fec6f6a --- /dev/null +++ b/mods/mobs/license.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 TenPlus1 + +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/mobs/locale/de_DE.po b/mods/mobs/locale/de_DE.po new file mode 100644 index 0000000..210990d --- /dev/null +++ b/mods/mobs/locale/de_DE.po @@ -0,0 +1,131 @@ +# Mobs Redo translation. +# Copyright (C) 2017 TenPlus1 +# This file is distributed under the same license as the mobs package. +# Wuzzy , 2017 +# +msgid "" +msgstr "" +"Project-Id-Version: mobs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-02 16:48+0200\n" +"PO-Revision-Date: 2017-07-02 14:27+0200\n" +"Last-Translator: Wuzzy \n" +"Language-Team: \n" +"Language: de_DE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "Kreatur wurde geschützt!" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (Gezähmt)" + +#: api.lua +msgid "Not tamed!" +msgstr "Nicht gezähmt!" + +#: api.lua +msgid "@1 is owner!" +msgstr "@1 ist der Besitzer!" + +#: api.lua +msgid "Missed!" +msgstr "Daneben!" + +#: api.lua +msgid "Already protected!" +msgstr "Bereits geschützt!" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 bei voller Gesundheit (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 wurde gezähmt!" + +#: api.lua +msgid "Enter name:" +msgstr "Namen eingeben:" + +#: api.lua +msgid "Rename" +msgstr "Umbenennen" + +#: crafts.lua +msgid "Name Tag" +msgstr "Namensschild" + +#: crafts.lua +msgid "Leather" +msgstr "Leder" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Rohes Fleisch" + +#: crafts.lua +msgid "Meat" +msgstr "Fleisch" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Lasso (Rechtsklick auf Tier, um es zu nehmen)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Netz (Rechtsklick auf Tier, um es zu nehmen)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Stahlschere (Rechtsklick zum Scheren)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Kreaturschutzrune" + +#: crafts.lua +msgid "Saddle" +msgstr "Sattel" + +#: crafts.lua +msgid "Mob Fence" +msgstr "Kreaturen Zaun" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Kreaturenspawner" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Kreatur MinLicht MaxLicht Menge SpielerEntfng" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Nicht aktiv (Einstellungen eingeben)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Spawner aktiv (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Kreaturenspawner-Einstellungen gescheitert!" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" +"Syntax: „name min_licht[0-14] max_licht[0-14] max_mobs_im_gebiet[0 zum " +"Deaktivieren] distanz[1-20] y_versatz[-10 bis 10]“" diff --git a/mods/mobs/locale/es.po b/mods/mobs/locale/es.po new file mode 100644 index 0000000..849db66 --- /dev/null +++ b/mods/mobs/locale/es.po @@ -0,0 +1,128 @@ +# Mobs Redo translation. +# Copyright (C) 2017 TenPlus1 +# This file is distributed under the same license as the mobs package. +# Wuzzy , 2017 +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-16 16:48+0200\n" +"PO-Revision-Date: 2017-07-16 16:48+0200\n" +"Last-Translator: Aleks \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "El mob ha sido protegido!" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (Domesticado)" + +#: api.lua +msgid "Not tamed!" +msgstr "No domesticado!" + +#: api.lua +msgid "@1 is owner!" +msgstr "@1 es el dueño!" + +#: api.lua +msgid "Missed!" +msgstr "Perdido!" + +#: api.lua +msgid "Already protected!" +msgstr "Ya está protegido!" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 con salud llena (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 ha sido domesticado!" + +#: api.lua +msgid "Enter name:" +msgstr "Ingrese nombre:" + +#: api.lua +msgid "Rename" +msgstr "Renombrar" + +#: crafts.lua +msgid "Name Tag" +msgstr "Nombrar etiqueta" + +#: crafts.lua +msgid "Leather" +msgstr "Cuero" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Carne cruda" + +#: crafts.lua +msgid "Meat" +msgstr "Carne" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Lazo (click derecho en animal para colocar en inventario)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Red (click derecho en animal para colocar en inventario)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Tijera de acero (click derecho para esquilar)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Runa de protección de Mob" + +#: crafts.lua +msgid "Saddle" +msgstr "Montura" + +#: crafts.lua +msgid "Mob Fence" +msgstr "" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Generador de Mob" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob LuzMin LuzMax Cantidad DistJugador" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Generador no activo (ingrese config)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Generador activo (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Configuracion de generador de Mob falló!" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "Sintaxis: “nombre luz_min[0-14] luz_max[0-14] max_mobs_en_area[0 para deshabilitar] " +"distancia[1-20] compensacion[-10 a 10]”" diff --git a/mods/mobs/locale/fr.po b/mods/mobs/locale/fr.po new file mode 100644 index 0000000..25b920c --- /dev/null +++ b/mods/mobs/locale/fr.po @@ -0,0 +1,129 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-29 09:13+0200\n" +"PO-Revision-Date: 2017-07-29 09:20+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Last-Translator: fat115 \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: fr\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "** Mode pacifique activé - Aucun monstre ne sera généré" + +#: api.lua +msgid "Mob has been protected!" +msgstr "L'animal a été protégé !" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (apprivoisé)" + +#: api.lua +msgid "Not tamed!" +msgstr "Non-apprivoisé !" + +#: api.lua +msgid "@1 is owner!" +msgstr "Appartient à @1 !" + +#: api.lua +msgid "Missed!" +msgstr "Raté !" + +#: api.lua +msgid "Already protected!" +msgstr "Déjà protégé !" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 est en pleine forme (@2) " + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 a été apprivoisé ! " + +#: api.lua +msgid "Enter name:" +msgstr "Saisissez un nom :" + +#: api.lua +msgid "Rename" +msgstr "Renommer" + +#: crafts.lua +msgid "Name Tag" +msgstr "Étiquette pour collier" + +#: crafts.lua +msgid "Leather" +msgstr "Cuir" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Viande crue" + +#: crafts.lua +msgid "Meat" +msgstr "Viande" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Lasso (clic droit sur l'animal pour le mettre dans l'inventaire)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Filet (clic droit sur l'animal pour le mettre dans l'inventaire)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Ciseaux à laine (clic droit pour tondre)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Rune de protection des animaux" + +#: crafts.lua +msgid "Saddle" +msgstr "Selle" + +#: crafts.lua +msgid "Mob Fence" +msgstr "Clôture à animaux" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Générateur de mob" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob MinLumière MaxLumière Quantité DistanceJoueur" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Générateur non actif (entrez les paramètres)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Générateur actif (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Echec des paramètres du générateur" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "Syntaxe : “nom min_lumière[0-14] max_lumière[0-14] max_mobs_dans_zone[0 pour désactiver] distance[1-20] décalage_y[-10 à 10]“" diff --git a/mods/mobs/locale/it.po b/mods/mobs/locale/it.po new file mode 100644 index 0000000..a439f6d --- /dev/null +++ b/mods/mobs/locale/it.po @@ -0,0 +1,131 @@ +# ITALIAN LOCALE FILE FOR THE MOBS REDO MODULE +# Copyright (c) 2014 Krupnov Pavel and 2016 TenPlus1 +# This file is distributed under the same license as the MOBS REDO package. +# Hamlet , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Italian locale file for the Mobs Redo module\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-02 16:48+0200\n" +"PO-Revision-Date: 2017-08-18 12:18+0100\n" +"Last-Translator: H4mlet \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.6.10\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "Il mob è stato protetto!" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (Addomesticat*)" + +#: api.lua +msgid "Not tamed!" +msgstr "Non addomesticat*!" + +#: api.lua +msgid "@1 is owner!" +msgstr "Proprietari* @1!" + +#: api.lua +msgid "Missed!" +msgstr "Mancat*!" + +#: api.lua +msgid "Already protected!" +msgstr "Già protett*!" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 in piena salute (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 è stat* addomesticat*!" + +#: api.lua +msgid "Enter name:" +msgstr "Inserire il nome:" + +#: api.lua +msgid "Rename" +msgstr "Rinominare" + +#: crafts.lua +msgid "Name Tag" +msgstr "Targhetta" + +#: crafts.lua +msgid "Leather" +msgstr "Pelle" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Carne cruda" + +#: crafts.lua +msgid "Meat" +msgstr "Carne" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Lazo (click di destro per mettere l'animale nell'inventario)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Rete (click destro per mettere l'animale nell'inventario)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Cesoie d'acciaio (click destro per tosare)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Runa di protezione per mob" + +#: crafts.lua +msgid "Saddle" +msgstr "Sella" + +#: crafts.lua +msgid "Mob Fence" +msgstr "" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Generatore di mob" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob LuceMin LuceMax Ammontare DistGiocat." + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Generatore inattivo (inserire le impostazioni)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Generatore attivo (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Impostazioni del generatore di mob fallite!" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" +"Sintassi: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 per " +"disabilitare] distance[1-20] y_offset[-10 to 10]”" diff --git a/mods/mobs/locale/ms.po b/mods/mobs/locale/ms.po new file mode 100644 index 0000000..a2a31f3 --- /dev/null +++ b/mods/mobs/locale/ms.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-05 23:40+0800\n" +"PO-Revision-Date: 2018-02-05 23:51+0800\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: MuhdNurHidayat (MNH48) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ms\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "** Mod Aman Diaktifkan - Tiada Raksasa Akan Muncul" + +#: api.lua +msgid "Mob has been protected!" +msgstr "Mob telah pun dilindungi!" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (Jinak)" + +#: api.lua +msgid "Not tamed!" +msgstr "Belum dijinakkan!" + +#: api.lua +msgid "@1 is owner!" +msgstr "Ini hak milik @1!" + +#: api.lua +msgid "Missed!" +msgstr "Terlepas!" + +#: api.lua +msgid "Already protected!" +msgstr "Telah dilindungi!" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "Mata kesihatan @1 telah penuh (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 telah dijinakkan!" + +#: api.lua +msgid "Enter name:" +msgstr "Masukkan nama:" + +#: api.lua +msgid "Rename" +msgstr "Namakan semula" + +#: crafts.lua +msgid "Name Tag" +msgstr "Tanda Nama" + +#: crafts.lua +msgid "Leather" +msgstr "Kulit" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Daging Mentah" + +#: crafts.lua +msgid "Meat" +msgstr "Daging Bakar" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Tanjul (klik-kanan haiwan untuk masukkan ke inventori)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Jaring (klik-kanan haiwan untuk masukkan ke inventori)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Ketam Keluli (klik-kanan untuk mengetam bulu biri-biri)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Rune Perlindungan Mob" + +#: crafts.lua +msgid "Saddle" +msgstr "Pelana" + +#: crafts.lua +msgid "Mob Fence" +msgstr "Pagar Mob" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Pewujud Mob" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob CahayaMin CahayaMax Amaun JarakPemain" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Pewujud Mob Tidak Aktif (masukkan tetapan)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Pewujud Mob Aktif (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Penetapan Pewujud Mob gagal!" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" +"Sintaks: \"nama cahaya_minimum[0-14] cahaya_maksimum[0-14] " +"amaun_mob_maksimum[0 untuk lumpuhkan] jarak[1-20] ketinggian[-10 hingga 10]\"" diff --git a/mods/mobs/locale/pt.po b/mods/mobs/locale/pt.po new file mode 100644 index 0000000..b52afd6 --- /dev/null +++ b/mods/mobs/locale/pt.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: mobs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-02 16:48+0200\n" +"PO-Revision-Date: 2017-07-02 14:55+0200\n" +"Last-Translator: Wuzzy \n" +"Language-Team: \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "" + +#: api.lua +msgid "Not tamed!" +msgstr "Indomesticado!" + +#: api.lua +msgid "@1 is owner!" +msgstr "Dono @1!" + +#: api.lua +msgid "Missed!" +msgstr "Faltou!" + +#: api.lua +msgid "Already protected!" +msgstr "" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 em plena saude (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 foi domesticado!" + +#: api.lua +msgid "Enter name:" +msgstr "Insira um nome:" + +#: api.lua +msgid "Rename" +msgstr "Renomear" + +#: crafts.lua +msgid "Name Tag" +msgstr "Etiqueta" + +#: crafts.lua +msgid "Leather" +msgstr "Couro" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Carne crua" + +#: crafts.lua +msgid "Meat" +msgstr "Carne" + +#: crafts.lua +#, fuzzy +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Laço (clique-direito no animal para por no inventario)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Net (clique-direito no animal para por no inventario)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Tesoura de Aço (clique-direito para tosquiar)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "" + +#: crafts.lua +msgid "Saddle" +msgstr "" + +#: crafts.lua +msgid "Mob Fence" +msgstr "" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Spawnador de Mob" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob LuzMinima LuzMaxima Valor DistJogador" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Spawnador Inativo (configurar)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Spawnador Ativo (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Configuraçao de Spawnador do Mob falhou!" + +#: spawner.lua +#, fuzzy +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" +"> nome luz_min[0-14] luz_max[0-14] max_mobs_na_area[0 para desabilitar] " +"distancia[1-20] y_offset[-10 a 10]" diff --git a/mods/mobs/locale/ru.po b/mods/mobs/locale/ru.po new file mode 100644 index 0000000..6cde7ef --- /dev/null +++ b/mods/mobs/locale/ru.po @@ -0,0 +1,129 @@ +# Russian translation for the mobs_redo mod. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the mobs_redo package. +# Oleg720 , 2017. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-13 15:47+0200\n" +"PO-Revision-Date: 2018-03-23 22:22+0100\n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "** Мирный модус активирован - монстры не спаунятся" + +#: api.lua +msgid "Mob has been protected!" +msgstr "Моб защищен!" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "@1 (Прирученный)" + +#: api.lua +msgid "Not tamed!" +msgstr "Не прирученный" + +#: api.lua +msgid "@1 is owner!" +msgstr "@1 владелец" + +#: api.lua +msgid "Missed!" +msgstr "Промазал!" + +#: api.lua +msgid "Already protected!" +msgstr "Уже защищен!" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 при полном здоровье (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 приручен" + +#: api.lua +msgid "Enter name:" +msgstr "Введите имя:" + +#: api.lua +msgid "Rename" +msgstr "Переименовать" + +#: crafts.lua +msgid "Name Tag" +msgstr "Новый тэг" + +#: crafts.lua +msgid "Leather" +msgstr "Кожа" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Сырое мясо" + +#: crafts.lua +msgid "Meat" +msgstr "Мясо" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Лассо (Правый клик - положить животное в инвентарь)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Сеть (Правый клик - положить животное в инвентарь)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Ножницы (Правый клик - подстричь)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "Защитная руна мобов" + +#: crafts.lua +msgid "Saddle" +msgstr "Седло" + +#: crafts.lua +msgid "Mob Fence" +msgstr "Забор от мобов" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Спаунер моба" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Спаунер не активен (введите настройки)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Активные спаунер (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Настройки спаунера моба провалились" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" diff --git a/mods/mobs/locale/template.pot b/mods/mobs/locale/template.pot new file mode 100644 index 0000000..af31440 --- /dev/null +++ b/mods/mobs/locale/template.pot @@ -0,0 +1,128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-02 16:48+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "" + +#: api.lua +msgid "Not tamed!" +msgstr "" + +#: api.lua +msgid "@1 is owner!" +msgstr "" + +#: api.lua +msgid "Missed!" +msgstr "" + +#: api.lua +msgid "Already protected!" +msgstr "" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "" + +#: api.lua +msgid "Enter name:" +msgstr "" + +#: api.lua +msgid "Rename" +msgstr "" + +#: crafts.lua +msgid "Name Tag" +msgstr "" + +#: crafts.lua +msgid "Leather" +msgstr "" + +#: crafts.lua +msgid "Raw Meat" +msgstr "" + +#: crafts.lua +msgid "Meat" +msgstr "" + +#: crafts.lua +msgid "Lasso (right-click animal to put in inventory)" +msgstr "" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "" + +#: crafts.lua +msgid "Saddle" +msgstr "" + +#: crafts.lua +msgid "Mob Fence" +msgstr "" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "" + +#: spawner.lua +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" diff --git a/mods/mobs/locale/tr.po b/mods/mobs/locale/tr.po new file mode 100644 index 0000000..10688e2 --- /dev/null +++ b/mods/mobs/locale/tr.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: mobs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-02 16:48+0200\n" +"PO-Revision-Date: 2017-07-02 14:56+0200\n" +"Last-Translator: Wuzzy \n" +"Language-Team: \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: api.lua +msgid "** Peaceful Mode Active - No Monsters Will Spawn" +msgstr "" + +#: api.lua +msgid "Mob has been protected!" +msgstr "" + +#: api.lua +msgid "@1 (Tamed)" +msgstr "" + +#: api.lua +msgid "Not tamed!" +msgstr "Evcil değil!" + +#: api.lua +msgid "@1 is owner!" +msgstr "Sahibi @1!" + +#: api.lua +msgid "Missed!" +msgstr "Kaçırdın!" + +#: api.lua +msgid "Already protected!" +msgstr "" + +#: api.lua +msgid "@1 at full health (@2)" +msgstr "@1 tam canında (@2)" + +#: api.lua +msgid "@1 has been tamed!" +msgstr "@1 tamamen evcilleştirilmiştir!" + +#: api.lua +msgid "Enter name:" +msgstr "İsim gir:" + +#: api.lua +msgid "Rename" +msgstr "Yeniden adlandır" + +#: crafts.lua +msgid "Name Tag" +msgstr "İsim etiketi" + +#: crafts.lua +msgid "Leather" +msgstr "Deri" + +#: crafts.lua +msgid "Raw Meat" +msgstr "Çiğ et" + +#: crafts.lua +msgid "Meat" +msgstr "Et" + +#: crafts.lua +#, fuzzy +msgid "Lasso (right-click animal to put in inventory)" +msgstr "Kement (hayvana sağ tıklayarak envantere koy)" + +#: crafts.lua +msgid "Net (right-click animal to put in inventory)" +msgstr "Ağ (hayvana sağ tıklayarak envantere koy)" + +#: crafts.lua +msgid "Steel Shears (right-click to shear)" +msgstr "Çelik makas (sağ tıklayarak kes)" + +#: crafts.lua +msgid "Mob Protection Rune" +msgstr "" + +#: crafts.lua +msgid "Saddle" +msgstr "" + +#: crafts.lua +msgid "Mob Fence" +msgstr "Canavar Yaratıcı" + +#: spawner.lua +msgid "Mob Spawner" +msgstr "Canavar Yaratıcı" + +#: spawner.lua +msgid "Mob MinLight MaxLight Amount PlayerDist" +msgstr "Mob MinIşık MaxIşık Miktar OyuncuMesafesi" + +#: spawner.lua +msgid "Spawner Not Active (enter settings)" +msgstr "Yaratıcı aktif değil (ayarlara gir)" + +#: spawner.lua +msgid "Spawner Active (@1)" +msgstr "Yaratıcı aktif (@1)" + +#: spawner.lua +msgid "Mob Spawner settings failed!" +msgstr "Yaratıcı ayarları uygulanamadı." + +#: spawner.lua +#, fuzzy +msgid "" +"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] " +"distance[1-20] y_offset[-10 to 10]”" +msgstr "" +"> isim min_isik[0-14] max_isik[0-14] alandaki_max_canavar_sayisi[kapatmak " +"icin 0] mesafe[1-20] y_cikinti[-10 ve 10 arası]" diff --git a/mods/mobs/mod.conf b/mods/mobs/mod.conf new file mode 100644 index 0000000..f3a3ad7 --- /dev/null +++ b/mods/mobs/mod.conf @@ -0,0 +1 @@ +name = mobs diff --git a/mods/mobs/models/Zombie.blend b/mods/mobs/models/Zombie.blend new file mode 100644 index 0000000000000000000000000000000000000000..e7ea31bacd539b43518e92d0479c6bec2999250e GIT binary patch literal 577280 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­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 literal 0 HcmV?d00001 diff --git a/mods/mobs/models/Zombie_base.blend b/mods/mobs/models/Zombie_base.blend new file mode 100644 index 0000000000000000000000000000000000000000..1830d61ad497bd693853f59ac1c7424edbccac95 GIT binary patch literal 689864 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 z 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